cancel
Showing results for 
Search instead for 
Did you mean: 

Missing events

Former Member
0 Kudos

Hi,

I was wondering if someone has the same situation as us and if there is a 'standard' way of fixing this

We have a situation where the events are stored in the /SAPTRX/EVM_HDR table, but are not linked to the event handler, i.e. they are not in the /SAPTRX/EH_EVMSG table. (and therefore not visible in the EH_LIST report)

We checked the /SAPTRX/LOCKEDEH table, but there are no entries in that table.

I can see the event guid that is in the EVM_HDR table, but not in the EH_EVMSG table, but not sure how to link them again (without writing a custom program).

Any help is appreciated.

Thanks.

JP

Accepted Solutions (0)

Answers (1)

Answers (1)

Berthold_vH
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi JP,

normally all Event Messages should be processed if an Event Handler exists or if an Event Handler is created (and the Message was sent before).

Without knowing your scenario it's quite difficult but here are some points I can think of:

  • Check the report under Monitoring and Lists -> Event Message Processing Status List. Make sure to choose All for Message Status. Maybe there is an problem with your Event Handler (like Event Handler already inactive) or with your Event Message (Event Code does not exist).
  • You wrote that you have checked the locked Event Handlers - do you also use Event Handler Sets? If so please run the report /SAPTRX/PROCESS_LOCKED_SETS
  • Is your tracking ID and tracking ID code set correct? Do you use a validation date and time?

If you already have checked all these points can you please specify a little bit under which cases the Messages not processed?

Best regards

Berthold

Former Member
0 Kudos

Hi,

Thanks for your quick response.

Yes, if I run the status report, I see the events that are not processed. (yellow icon).

Do you know what the process is to get them processed from here?

FYI - We don't use EH sets. (also checked the application log etc.and did not find anything).

I think the root cause is the following (and did not find any relevant correction notes):

- The EH was locked when the event posted

- The event was put into the LOCKEDEH table

- Then when the job to reprocess the locked EHs ran, the EH was still locked, so instead of keeping the event, it deleted it from the LOCKEDEH table

Thanks for your help!

JP

Berthold_vH
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi JP,

within the report /SAPTRX/PROCESS_LOCKED_EHS there is a check if the Event Handler is still locked. If this is the case the entry is not deleted from table LOCKEDEH. So this cannot be the root cause of your unprocessed messages.

Have you checked if your Event Handler is active? You can search using the Tracking ID of your unprocessed messages. If the Event Handlers are acitve do you have a scenario where Event Messages are posted before the Event Handler exists?

If this is not the case I guess you need to open an OSS message. The normal behaviour is that an Event Message is processed when it is posted to the system and an Event Handler is active. If you post an Event Handler at a later point of time then the Message is processed during Event Handler posting.

There is no report to process unprocessed messages again.

Best regards

Berthold

Former Member
0 Kudos

Hi,

Thanks for the input.

Yes the EH is active and does exist, so the event message was trying to post to an already existing/active EH.

In our case, there could be multiple events for the same EH that come in at the same time, so that is why I am suspecting there is an issue with the LOCKEDEH handling mechanism.  I did check OSS, but there are no notes that are relevant at this stage.  I will likely create a new message with SAP.

I see that there is a ruleset method to process unprocessed messages when you get a new event, but we don't have this turned on.  How about the EH_LIST option, where you can click on 'Reprocess event messages'.  It looks like this will process the unprocessed ones, but don't want it to process the already processed messages.  Do you have experience using this?

Thanks.

JP

former_member190756
Active Contributor
0 Kudos

Hello JP,

you should schedule the report to process locked EH every 5 or 10 minutes. Then the messages should be processed in one run and you don't have any manually steps.

Scheduling could be done with SM36 or /SAPTRX/EMJOBS.

Best regards,

Steffen

Former Member
0 Kudos

Hi Steffen,

Thanks for your reply.  Yes, we are running this every 5 minutes in production.

I was just wondering how to get the unprocessed events to process.  I have thousands of entries in the unprocessed table (without any corresponding entry in the locked table).

I see there is a function to process it individually in the EH_LIST report 'Reprocess event messages'.  I have not used this before, so before I run it in production, I wanted to check if anyone has and if it will only process the unprocessed events, or try and process ALL the events again.  I tested this in development and it seemed to only process the unprocessed events, but wanted to be sure.

Also, not sure if there is a mass transaction that is available to process all the unprocessed events.

Thanks.

JP

former_member190756
Active Contributor
0 Kudos

Hi JP,

'Reprocess event messages' in EH_LIST would process all event messages again. This is only for test purposes. You should find out why the EHs are locked every time when the background job is running.

This sounds strange. Are there any entries abandoned in SM12?

Best regards,
Steffen