08-23-2013 9:59 PM
Hi Gurus,
you might come across following problem I am trying to resolve. I use FM POPUP_TO_CONFIRM during process order save in COR1/COR2 in the implemented interface IF_EX_WORKORDER_UPDATE, method BEFORE_UPDATE. The custom message Yes/No is popped for user to answer. The problem is that this call erases bottom message line, in this case "Process order 123456 created.". It is important to keep this message. I captured "sy" value prior to the call and redisplayed the 40/582 message, but in some cases there are other errors captured in sy (msgid and msgty) that are not displayed on screen. Have you used any other FMs that do not erase message line when they're called?
08-23-2013 10:29 PM
08-23-2013 10:29 PM
08-23-2013 11:01 PM
Thanks Raja,
attached are the before/after screenshots.
When SAVE is clicked in COR1, POPU_TO_CONFIRM pops the message.
Note the existing message on the bottom: “Process order 7000017616 created.
After I click either Yes or No, the bottom message is cleared. It is important for user to see the bottom message with existing process order number.
The bottom message is gone. When I take the FM out, the message stays there. So the FM is erasing this message.
08-24-2013 12:32 AM
Hi,
The issue could be the pop up message is called after the message below and thus ends up clearing the display. You can try few different ways like. Giving a new Popup after your POPU_TO_CONFIRM call to display the same. Or just do a MESSAGE statement again after your POPU_TO_CONFIRM.
Cheers,
Arindam
08-24-2013 2:52 AM
Thanks Arindam.
the trick is, that this is COR1/COR2 transaction and there could be many possible messages displayed. I don't want to trace the last displayed message, I just want to use some old FM that does not erase message on the bottom. Should I try to write my own popup?
08-24-2013 3:42 AM
HI Marian,
I am little bit confused here..
You want to pop up your custom message before the process order is created right? From your query i understand that the process order is created before your custom message. correct me if i am wrong.
So kindly check if you are using the correct BADI.
br
Maju
08-24-2013 3:54 AM
Hi Maju,
all I need is a popup where user answers Yes/No, this is needed for custom logic.
The problem is that POPUP_TO_CONFIRM erases message on the bottom from previous processing.
08-24-2013 8:47 AM
Hi,
My guess is any pop-up activity can remove the display of the message below. Best approach might be give this information as a part of logic after your popup is processed.
Cheers,
Arindam
08-26-2013 10:51 AM
Hi,
I guess you don't have to trace any Messages. Simply try this after your Message-Popup:
Message ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgid4.
The Systemvariables should still hold the last called Messages.
Regards
Jan Martin
08-26-2013 11:04 AM
Hi,
Re-display the same message after 'POPUP_TO_CONFIRM' Function Module Call.
without any condition.
It will show your messages after pop-up screen .
Regards,
Ravi Pratap Singh
08-26-2013 7:13 PM
Thanks Jan.
Actually I had this code in place; right before the calling POPUP_TO_CONFIRM I had statement to memorize sy-* message variables and re-display the message after the FM call. But that was causing ABAP dump in some cases, since system generates other internal messages after the Create/save messages 40/581 or 40/582, in my case it was error message M3/354.
So I ended up writing enhancement at the end of the "FORM MESSAGE", include LCOZVF31 (this is the place where create/save message is displayed) to memorize (EXPORT TO MEMORY...) the message and than re-display it after the POPUP_TO_CONFIRM call (IMPORT FROM MEMORY...).
08-26-2013 5:54 AM
Hi Marian,
I guess once pop_up_to_confirm comes, the message will be removed automatically(As it is green). You can't display both. You need to populate a message again with 'yes' 'no button, if possible.
Else you need to make the popup comes before the save is performed. ie the save is to be performed only after you select yes or no in the popup.
Regards,
Nivedita