Skip to Content

PO 7.40 Java: Restart or status change of hanging ("Delivering") message possible?

Nov 23, 2017 at 03:09 PM


avatar image

Hey folks,

We're running a SAP PO 7.40 (Java only) system on Windows Server with Sybase database.

Sometimes we're facing messages, which stuck in the middle of being processed: "Delivering", the status says.

Even after some hours or days, the message will not be processed further. It doesn't matter which type of message it is (AS2, File, ...) and regardless of the Quality-of-Service (EO, EOIO, BE).

Current example is a message, which should be send over ftp. Message protocol:

  • [...]
  • 2017-11-22 17:05:34.851 [Info] Message status set to DLNG
  • [...]
  • 2017-11-22 17:05:34.874 [Info] Receiver channel CC_XXX of File adapter: Processing begins, Partner "A" / Service "B"
  • 2017-11-22 17:05:34.874 [Info] Connect to FTP server "ftp.ip" establishing

and no more entries.

Trying to resend the message fails with reason "Message 0000-00-00-0000(OUTBOUND) is in currently in state DLNG. Cannot be retried through admin action because of wrong state."

After changing STATUS column in table BC_MSG in the database to NDLV (system error), which is a final state, and trying to resend the message, the message protocol shows up some new lines:

  • 2017-11-23 11:23:54.819 [Info] System tries to resend message because of administrative task of user "user"
  • 2017-11-23 11:23:54.823 [Info] Admin action: System tries to resend message
  • 2017-11-23 11:23:54.826 [Error] Admin action: Resend of message failed - Reason: java.lang.Exception: Message 0000-00-00-0000(OUTBOUND) is currently processed.

While we are tired of restarting the Messaging System or the SAP PO system, we thought that someone may have an idea to bring the hanging message into a final state where we can resend it or how to trigger the message for further processing.

Do you have any guesses, or are you doing this all day, so please share it with us. Thanks in advance.

PS: Most of the protocol texts are translated freely from German; MsgID and other "names" are shortened and anonymized.

PPS: Attached is the full message protocol (as a picture, since the .txt file won't be accepted).

2017-11-23-log.png (103.6 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Mario De Felipe Dec 05, 2017 at 10:23 AM

Hello, the only way to reprocess a delivering message is to bounce the java node and let the system move the message to another node.

can you restart the java node from either nwa, or jcmon processes?

to know which java node you need to restart, you need to extend the view in rwb, and check the "node" column, the last number of the column is the java node that has the message under processing, thats the one you need to reboot.

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Mario, thank you for the tip, but unfortunately we only have one java node :)


Hello Jan

Its SAP recommendation to have at least 2 java nodes, if you have enough RAM I would not hesitate to do it, that way you will prevent unavailability while you reboot one java node (its not common but sometimes needs to be done or the system does it automatically)


Ariel M. Bravo Ayala Dec 14, 2017 at 11:44 AM

Hello, as Mario already commented, restart the node will do the trick. Nevertheless, my understanding is that restarting just the XPI Messaging system would be effective as well.

Best regards,

Ariel Bravo Ayala

xpi-messaging.png (82.6 kB)
Show 2 Share
10 |10000 characters needed characters left characters exceeded

Thank you Ariel. As I wrote "we are tired of restarting the Messaging System" in my initial post, I'd like to ask for any other options to solve this.

I think it's time for a seconds Java node :)


Shame on me... I just scanned your question wo putting attention to the details. Have a lock at your backlog and queues (specially the DispatchDisp)... it will give you an idea if you require the second java node. :)