‎2007 Aug 28 10:14 AM
hi all,
i am uploading data for cs01 bom(multiple items)
i am using bapi for that. wen run the program its uploading first record only. its not taking second record. this is the code below.
REPORT ZBOM_BAPI.
TYPES :BEGIN OF iT_itab, " structure for final file
TCODE(20),
MATNR(18),
WERKS(4),
STLAN(1),
ZTEXT(40),
BMENG(13),
STLST(1),
EXSTL(18),
STKTX(40),
STLBE(4),
POSNR(4),
IDNRK(18),
MENGE(13),
MEINS(3),
POSTP(1),
KZKUP(1),
SORTF(1),
FMENG(1),
NETAU(1),
AVOAV(5),
AUSCH(5),
POTX1(40),
POTX2(40),
SANKO(1),
SCHGT(1),
END OF it_itab.
DATA :T_MSGID LIKE T100-ARBGB,
T_MSGNO LIKE T100-MSGNR,
T_MSGTY LIKE SY-MSGTY,
T_MSGV1 LIKE SY-MSGV1,
T_MSGV2 LIKE SY-MSGV2,
T_MSGV3 LIKE SY-MSGV3,
T_MSGV4 LIKE SY-MSGV4 .
*DATA : T_DATA LIKE STANDARD TABLE OF BGR00.
data : wa_itab type it_itab,
: wa_header type bicsk,
: wa_item type bicsp.
DATA G_DATA LIKE bgr00 OCCURS 0 WITH HEADER LINE.
G_DATA-group = 'SES1'.
G_DATA-mandt = SY-MANDT.
G_DATA-usnam = SY-UNAME.
G_DATA-xkeep = 'X'.
G_DATA-nodata = 'S'.
APPEND G_DATA.
data : t_header like standard table of wa_header,
t_item like standard table of wa_item,
t_itab like standard table of wa_itab,
g_SUB like standard table of BICSU.
PARAMETERS p_file LIKE rlgrap-filename."input file
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
Start Of Selection
START-OF-SELECTION.
*To Upload Flat file
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = t_itab
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
loop at t_itab into wa_itab.
clear wa_header.
clear wa_item.
wa_header-tcode = wa_itab-tcode.
wa_header-matnr = wa_itab-matnr.
wa_header-werks = wa_itab-werks.
wa_header-stlan = wa_itab-stlan.
wa_header-ztext = wa_itab-ztext.
wa_header-bmeng = wa_itab-bmeng.
wa_header-stlst = wa_itab-stlst.
wa_header-exstl = wa_itab-exstl.
wa_header-stktx = wa_itab-stktx.
wa_item-posnr = wa_itab-posnr.
wa_item-idnrk = wa_itab-idnrk.
wa_item-menge = wa_itab-menge.
wa_item-meins = wa_itab-meins.
wa_item-postp = wa_itab-postp.
wa_item-potx1 = wa_itab-potx1.
wa_item-potx2 = wa_itab-potx2.
append wa_header to t_header.
append wa_item to t_item.
*
endloop.
CALL FUNCTION 'CS_BI_BOM_CREATE_BATCH_INPUT'
EXPORTING
BDC_FLAG = 'X'
COMMIT_FLAG = 'X'
group_data = G_DATA
TCODE_MODE = 'A'
TCODE_UPDATE = 'S'
IMPORTING
MSGID = T_MSGID
MSGNO = T_MSGNO
MSGTY = T_MSGTY
MSGV1 =
MSGV2 =
MSGV3 =
MSGV4 =
tables
bom_header = t_HEADER
bom_item = t_ITEM
bom_sub_item = G_SUB
.
IF T_MSGTY NE 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
IMPORTING
RETURN =
.
ENDIF.
‎2007 Aug 28 10:27 AM
Hi siva,
It is not there in the loop. if you put in the loop . you will get it.
venkat
Message was edited by:
venkat v G murali mohan M