Skip to Content
0
Former Member
Feb 23, 2009 at 04:05 PM

BDC (Flat File Data Validation) - Code

76 Views

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..