In the outbound shipping notification with the function module 'SD_EDI_DESADV_DES_ID01', no 'EDI_Z03LA' segment is sent for a document with several purchase order items if only the external purchase order item number is changed within the delivery items.
Moreover, the initialization of internal table structures is missing which leads to data from preceding documents being sent in the IDOC data records for several shipping notifications
Error in function module 'SD_EDI_DESADV_DES_ID01'.
SolutionCorrection S11K129744 in Function module 'SD_EDI_DESADV_DES_ID01'
in 3.0.
1. Program LVEDDF0I: Routine 'initialize_global_structures'
form initialize_global_structures.
clear: parvw_checklist, <-- inserted
xvbdkl, <-- inserted
xvbpa, <-- inserted
xvbdpl, <-- inserted
xedidd, <-- inserted
sav_bstnk, <-- inserted
sav_posex, <-- inserted
sav_posnr. <-- inserted
refresh: parvw_checklist, <-- inserted
xvbpa, <-- inserted
xvbdpl. <-- inserted
* Initialise partner roles.
* Fill PARVW_CHECKLIST with all valid entries for EDI.
* N.B. In alphabetical order to allow binary search.
select * from edpvw.
parvw_checklist-parvw = edpvw-parvw.
append parvw_checklist.
endselect.
sort parvw_checklist.
endform.
2. Program LVEDDF0S
Routine 'send_segment_03to06_desadv using int_document'
form send_segment_03to06_desadv using int_document_number.
data: hfeld_03la(1) type c.
data: hfeld_06la(1) type c.
clear xvbdpl. <-- inserted
sort xvbdpl by bstnk bstdk posex posnr.
loop at xvbdpl.
* (DEL) on change of xvbdpl-bstnk. <-- deleted
* (DEL) perform send_segment_03la_desadv using int_document_number.
* (DEL) hfeld_03la = 'X'. <-- deleted
* (DEL) HFELD_06LA = 'X'. <-- deleted
* (DEL) endon. <-- deleted
* (DEL) on change of xvbdpl-posex. <-- deleted
* (DEL) if hfeld_03la ne 'X'. <-- deleted
* (DEL) perform send_segment_03la_desadv using int_document_number.
* (DEL) else. <-- deleted
* (DEL) hfeld_03la = space. <-- deleted
* (DEL) endif. <-- deleted
* (DEL) endon. <-- deleted
if xvbdpl-bstnk ne sav_bstnk or <-- inserted
xvbdpl-posex ne sav_posex. <-- inserted
perform send_segment_03la_desadv using int_document_number.
endif. <-- inserted
* (DEL) on change of xvbdpl-posnr. <-- deleted
if xvbdpl-posnr ne sav_posnr. <-- inserted
*(DEL) IF HFELD_06LA NE 'X'. <-- deleted
perform send_segment_06la_desadv using int_document_number.
*(DEL) ELSE. <-- deleted
*(DEL) HFELD_06LA = SPACE. <-- deleted
*(DEL) ENDIF. <-- deleted
*(DEL) endon. <-- deleted
endif. <-- inserted
sav_bstnk = xvbdpl-bstnk. <-- inserted
sav_posex = xvbdpl-posex. <-- inserted
sav_posnr = xvbdpl-posnr. <-- inserted
endloop.
endform.
2. Program LVEDDTOP
*---------------------------------------------------------------------*
* Helpfields *
*---------------------------------------------------------------------*
DATA: SAV_BSTNK LIKE VBDPL-BSTNK, <-- inserted
SAV_POSEX LIKE VBDPL-POSEX, <-- inserted
SAV_POSNR LIKE VBDPL-POSNR. <-- inserted
*---------------------------------------------------------------------*
* Constants *
*---------------------------------------------------------------------*
No comments:
Post a Comment