Skip to Content
Former Member
Aug 04, 2008 at 08:23 AM

IDOC EXtension


Hi Gurus,

I gotta requirement in IDOC extension and i m new to this concept.Can anyone help me in doing this task...Full marks would be given...

here is the requirement..

Business Functionality

Current system has an issue that when product is cut or removed from an order an all that is left are pallets, and an ASN is still processed and eventually sent out to customers.

If the delivery is fully cut in the warehouse ie picking confirmation IDoc comes with Zero quantity and it has only pallet that delivery should not be sent in the ASN to customers.

The Delivery which is fully cut in the warehouse and has only pallet material should be removed from ASN. This is being achieved by sending a flag in the SHPMNT05 IDoc for delivery cut at the delivery level and ASN preprocessor, if find the value of Flag asu201D Y u201Cremoves the delivery from the customer ASN IDoc.

Processing Logic

Step 1: Modify extension [ZSHPMNT_TNDR] and create NEW field for NO Product ASN FLAG on the DELIVERY HEADER LEVEL under E1EDL20.

Object- Data element




Possible value--Y or blank

Step2-Create New custom Field DELCUT_INDICATOR under Segment Z1EDLHAD for IDoc Extension : ZSHPMNT_TND




Parent Segment--Z1EDLHAD

Idoc Extension--ZSHPMNT_TND

Basic Type--SHPMNT05

Step 3: Modify Method PO_ME_1060_Z1EDLHAD in the class ZVXX_CL_FILL_SEGMENTS for populating the DELCUT_INDICATOR in Z1EDLHAD segment for extension IDoc ZSHPMNT_TND.

For Message Type ZSHPMNT_ASN, Check for each delivery segment E1EDL20 and child segments E1EDL24, if one material in the delivery is found ne Zero ie as soon as it finds in one E1EDL24 segment Material qty for Non ZPAL material ne Zero, no further validation required and exit

if Material quantity for Non ZPAL material eq Zero in all E1EDL24 segments under delivery, the DELCUT_INDICATOR in Z1EDLHAD Segment should be populated with value u201CYu201D.

Pseudo Code in Processing Logic

Object : Method PO_ME_1060_Z1EDLHAD in the class ZVXX_CL_FILL_SEGMENTS

For Message Type ZSHPMNT_ASN

Read Idoc Data

Loop at Segnam E1EDL20

Loop at segnam E1EDL24

if E1EDL24- LFIMG ne 0 whereas E1EDL26-PSTVY ne ZPAL

Do nothing, stop further validation.

Else if E1EDL24- LFIMG eq 0 whereas E1EDL26-PSTVY ne ZPAL

Populate Z1EDLHAD-ZDELCUT with value "Y"

End if

End if