Enhancement COR1 for Batch Validation In SAP PP Module.
Include Name: ZXCO1U06 COR1 for Batch Validation.
IF ( sy-tcode = 'COR1' ) OR ( sy-tcode = 'COR2' ).
IF header_imp-auart = 'ZA02' OR header_imp-auart = 'ZU02'
OR header_imp-auart = 'ZA01' OR header_imp-auart = 'ZA03'
OR header_imp-auart = 'ZU01' OR header_imp-auart = 'ZU10'.
*************************
FIELD-SYMBOLS : <fs_afpo1> TYPE any.
*************************
DATA ls_afpo1 TYPE afpod.
TYPES: BEGIN OF ty_mch11,
matnr TYPE matnr, "Material
charg TYPE charg_d, "Batch No
lvorm TYPE lvoc1,
ersda TYPE ersda, "Date
END OF ty_mch11.
TYPES: BEGIN OF ty_batch11,
charg TYPE charg_d,
atwtb TYPE ersda,
END OF ty_batch11.
DATA : wa_mch11 TYPE ty_mch11,
wa_mch21 TYPE ty_mch11,
i_mch11 TYPE STANDARD TABLE OF ty_mch11.
DATA: v_mcha1 TYPE mcha,
class1 TYPE klah-class,
w_batch2 TYPE clbatch,
i_batch2 TYPE STANDARD TABLE OF clbatch,
w_batch11 TYPE ty_batch11,
i_batch11 TYPE STANDARD TABLE OF ty_batch11.
DATA: v_date1 TYPE sy-datum.
DATA: rec1 TYPE i.
DATA: v_count1 TYPE i. " counter for loop
ASSIGN ('(SAPLCOKO)AFPOD') TO <fs_afpo1>.
ls_afpo1 = <fs_afpo1>.
SELECT matnr
charg
lvorm
ersda
charg
lvorm
ersda
FROM mch1 INTO TABLE i_mch11
WHERE matnr = header_imp-plnbez.
DATA:lv_lvorm1 TYPE lvoc1.
CLEAR:lv_lvorm1.
SELECT SINGLE matnr
charg
lvorm
ersda
charg
lvorm
ersda
FROM mch1 INTO wa_mch21
WHERE matnr = header_imp-plnbez
AND charg = ls_afpo1-charg.
IF wa_mch21-lvorm = 'X'.
MESSAGE e005(zbtch_msg) WITH ls_afpo1-charg header_imp-plnbez.
ENDIF.
ENDIF.
ENDIF.
IF header_imp-auart = 'ZA02' OR header_imp-auart = 'ZU02'
OR header_imp-auart = 'ZA01' OR header_imp-auart = 'ZA03'
OR header_imp-auart = 'ZU01' OR header_imp-auart = 'ZU10'.
*************************
FIELD-SYMBOLS : <fs_afpo1> TYPE any.
*************************
DATA ls_afpo1 TYPE afpod.
TYPES: BEGIN OF ty_mch11,
matnr TYPE matnr, "Material
charg TYPE charg_d, "Batch No
lvorm TYPE lvoc1,
ersda TYPE ersda, "Date
END OF ty_mch11.
TYPES: BEGIN OF ty_batch11,
charg TYPE charg_d,
atwtb TYPE ersda,
END OF ty_batch11.
DATA : wa_mch11 TYPE ty_mch11,
wa_mch21 TYPE ty_mch11,
i_mch11 TYPE STANDARD TABLE OF ty_mch11.
DATA: v_mcha1 TYPE mcha,
class1 TYPE klah-class,
w_batch2 TYPE clbatch,
i_batch2 TYPE STANDARD TABLE OF clbatch,
w_batch11 TYPE ty_batch11,
i_batch11 TYPE STANDARD TABLE OF ty_batch11.
DATA: v_date1 TYPE sy-datum.
DATA: rec1 TYPE i.
DATA: v_count1 TYPE i. " counter for loop
ASSIGN ('(SAPLCOKO)AFPOD') TO <fs_afpo1>.
ls_afpo1 = <fs_afpo1>.
SELECT matnr
charg
lvorm
ersda
charg
lvorm
ersda
FROM mch1 INTO TABLE i_mch11
WHERE matnr = header_imp-plnbez.
DATA:lv_lvorm1 TYPE lvoc1.
CLEAR:lv_lvorm1.
SELECT SINGLE matnr
charg
lvorm
ersda
charg
lvorm
ersda
FROM mch1 INTO wa_mch21
WHERE matnr = header_imp-plnbez
AND charg = ls_afpo1-charg.
IF wa_mch21-lvorm = 'X'.
MESSAGE e005(zbtch_msg) WITH ls_afpo1-charg header_imp-plnbez.
ENDIF.
ENDIF.
ENDIF.
Thank you for the post. It was handy at a time I could not find the value of Batch.
ReplyDelete