Transaction BD52 will allow to you set change pointers for various tables and fields. You assign these change pointers to your message type. Based on your requirements, it sounds like you only need a change pointer on LIKP-WADAT_IST as this field will only be changed when the delivery is post goods issued. You will then have a scheduled batch job that will execute program RBDMIDOC for your message type - based on the change pointers that have been created (see tables BDCP, BDCPS), your idocs will be created and change pointers will be cleared. This should all be possible with standard SAP - no custom anything, unless of course you need custom fields in your idoc.
We do that using material document user exit (I do not remember the exact user exit name right now). When PGI is done a material document is posted in the system. In the material document user exit you can check for the movement type of PGI and issue a real time shipping notification.
We need to send a shipping notification when a specific field i the delivery is changed. It seems that you have to build a MASTERIDOC_CREATE_XXX function. Has anyone experience with that part of the challenge )the BDCP table is already filled with records!)
You can setup a routine for condition type LAVA
(standard SAP) or others to create shipping notification
when delivery GI posted.
Path: NACE -> V2 (Shipping) -> Procedures -> V10000 (Header Output) -> Control -> Create new step for condition type LAVA -> set the requirement to 1 (Delivery GI posted).
If you are using IDoc to create shipping notification, then next steps are to setup ALE and IDoc configuration for message type DESADV.
Hope this will help.
Thanks for your response. The trigger for a new message is a change in the delivery (quantity, new position, delivery date , etc).
Therefore we thought, we could work with change pointers (SDM). Our (only?) challenge is to find (create?) a function which is triggered by the RBDMIDOC program. This function can be a copy of the MASTERIDOC_CREATE_SDM_MATCOR.
Is this the right way to handle the problem and does anybody has made a MASTERIDOC_CREATE_SDM_DESADV function?