‎2009 Feb 23 4:05 PM
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..
‎2009 Feb 23 4:12 PM
Hi GAurav,
I have a small question in th validation.
In LFM1~LIFNR does not contian any value how u r comparing both and one more thing After getting the data using GUI_upload u will get the data into validate_tab.
Loop at Vlidate_tab into wa_itab.
SELECT LFB1LIFNR LFB1BUKRS LFM1~EKORG INTO TABLE validate_itab
FROM LFB1 INNER JOIN LFM1 ON LFB1~LIFNR = wa_itab-lifnr.
endllop.
Thanks,
‎2009 Feb 23 4:22 PM
Hi Tarangini,
1. I have checked tht LFM1~LIFNR has values here.
2. Using GUI_UPLOAD, I getting data in itab. (In GUI_UPLOAD.., TABLES
data_tab = itab)
And validate_itab consists of master values from database..
I want to check values in itab(it has flat file data) against validate_itab(it works as check table).
Pls. guide.
Thanks for ur response.
‎2009 Feb 23 4:31 PM
Hi GAurav,
then.
Loop at itab into wa.
read table validate_itab into validate_wa with key lifnr = wa_lifnr.
if sy-subrc = '0'.
process ur code.
else.
raise error message'.
endloop.
I hope this may help to you.If not get back to me.
Thanks
‎2009 Feb 23 5:01 PM
Its showing Syntax Errors..
"WA_ITAB" cannot be converted to the line type of "ITAB".
similarly for WA_VALIDATE_ITAB.
I have declared as :
DATA: BEGIN OF itab occurs 0,
lifnr(16) ,
bukrs(4),
ekorg(4),
END OF itab.
DATA: validate_itab TYPE TABLE OF itab.
??
pls assist.
Thanks.
‎2009 Feb 23 5:49 PM