I am trying to validate flat file data BEFORE performing BDC (Call Trans. or Session)..
Pls help me out in below code for xk02..
DATA: BEGIN OF itab occurs 0, "ITAB having flat file data.
lifnr(16) ,
bukrs(4),
ekorg(4),
END OF itab.
DATA: BEGIN OF int_final occurs 0,
lifnr(16) ,
bukrs(4),
ekorg(4),
status(6),
message(6),
END OF int_final.
DATA: int_final TYPE TABLE OF int_final.
DATA: wa_itab TYPE TABLE OF itab.
DATA: validate_itab TYPE TABLE OF itab. "VALIDATE_ITAB having master data.
DATA: wa_validate_itab TYPE TABLE OF itab.
*********************
FORM data_validation .
SELECT LFB1LIFNR LFB1BUKRS LFM1~EKORG INTO TABLE validate_itab
FROM LFB1 INNER JOIN LFM1 ON LFB1LIFNR = LFM1LIFNR.
IF sy-subrc = 0.
SORT validate_itab BY lifnr bukrs ekorg.
ENDIF.
LOOP AT itab INTO wa_itab.
READ TABLE validate_itab WITH KEY
lifnr = itab-lifnr
bukrs = itab-bukrs
ekorg = itab-ekorg
BINARY SEARCH.
IF sy-subrc NE 0.
PERFORM f_error_log USING text-005. "Invalid Value Set
CONTINUE.
ENDIF.
ENDLOOP.
ENDFORM. " data_validation
&----
*& Form f_error_log
&----
FORM f_error_log USING l_message TYPE string.
CLEAR : fs_final.
fs_final-lifnr = itab-lifnr.
fs_final-bukrs = itab-bukrs.
fs_final-ekorg = itab-ekorg.
fs_final-status = text-014. "Error
fs_final-message = l_message.
APPEND fs_final TO int_final.
ENDFORM. " f_error_log
Thanks..