05-26-2006 8:06 AM
hai,
could any one send code for populating BDCDATA in table controls, VA01...
pls send the procedure....
waiting for reply..
Thanking you,
Rama krishna S
05-26-2006 8:08 AM
Hi rama,
1. In table control we have to use INDEX Number
(Row number for the field)
2. eg.
FIELDA(1) = for first row , fieldA
FIELDA(2) = for second row , fieldA
FIELDA(3) = for third row , fieldA
3. So the field name , in bdc internal table
should be <b>FIELD(1)</b>
(and not merely FIELD)
regards,
amit m.
05-26-2006 8:09 AM
05-26-2006 8:10 AM
Hi ,
check this code...
report YSUPPLY_7
no standard page heading line-size 255.
include bdcrecx1.
data: begin of itab occurs 0,
LIFNR like RF02K-LIFNR,
BUKRS like RF02K-BUKRS,
KTOKK like RF02K-KTOKK,
ANRED LIKE LFA1-ANRED,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
LAND1 LIKE LFA1-LAND1,
KUNNR LIKE LFA1-KUNNR,
BANKS(50) TYPE C,
BANKL(50) TYPE C,
BANKN(50) TYPE C,
KOINH(50) TYPE C,
BANKA LIKE BNKA-BANKA,
PROVZ LIKE BNKA-PROVZ,
AKONT LIKE LFB1-AKONT,
END OF ITAB.
DATA: BEGIN OF BANKS OCCURS 0,
BANKS LIKE LFBK-BANKS,
END OF BANKS.
DATA: BEGIN OF BANKL OCCURS 0,
BANKL LIKE LFBK-BANKL,
END OF BANKL.
DATA: BEGIN OF BANKN OCCURS 0,
BANKN LIKE LFBK-BANKN,
END OF BANKN.
DATA: BEGIN OF KOINH OCCURS 0,
KOINH LIKE LFBK-KOINH,
END OF KOINH.
DATA: CNT(2) TYPE N,
FLD(20) TYPE C.
start-of-selection.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'C:\SAM.TXT'
FILETYPE = 'DAT'
TABLES
data_tab = ITAB.
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
perform open_group.
LOOP AT ITAB.
REFRESH BDCDATA.
REFRESH: BANKS,BANKL,BANKN,KOINH.
SPLIT ITAB-BANKS AT ',' INTO TABLE BANKS.
SPLIT ITAB-BANKL AT ',' INTO TABLE BANKL.
SPLIT ITAB-BANKN AT ',' INTO TABLE BANKN.
SPLIT ITAB-KOINH AT ',' INTO TABLE KOINH.
perform bdc_dynpro using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-BUKRS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
ITAB-LIFNR.
perform bdc_field using 'RF02K-BUKRS'
ITAB-BUKRS.
perform bdc_field using 'RF02K-KTOKK'
ITAB-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-LAND1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-ANRED'
ITAB-ANRED.
perform bdc_field using 'LFA1-NAME1'
ITAB-NAME1.
perform bdc_field using 'LFA1-SORTL'
ITAB-SORTL.
perform bdc_field using 'LFA1-LAND1'
ITAB-LAND1.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-KUNNR'
ITAB-KUNNR.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-KOINH(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
*perform bdc_field using 'LFBK-BANKS(01)'
ITAB-BANKS.
MOVE 1 TO CNT.
LOOP AT BANKS.
CONCATENATE 'LFBK-BANKS(' CNT ')' INTO FLD.
PERFORM BDC_FIELD USING FLD BANKS-BANKS.
CNT = CNT + 1.
ENDLOOP.
*perform bdc_field using 'LFBK-BANKL(01)'
ITAB-BANKL.
MOVE 1 TO CNT.
LOOP AT BANKL.
CONCATENATE 'LFBK-BANKL(' CNT ')' INTO FLD.
PERFORM BDC_FIELD USING FLD BANKL-BANKL.
CNT = CNT + 1.
ENDLOOP.
*perform bdc_field using 'LFBK-BANKN(01)'
ITAB-BANKN.
MOVE 1 TO CNT.
LOOP AT BANKN.
CONCATENATE 'LFBK-BANKN(' CNT ')' INTO FLD.
PERFORM BDC_FIELD USING FLD BANKN-BANKN.
CNT = CNT + 1.
ENDLOOP.
*perform bdc_field using 'LFBK-KOINH(01)'
ITAB-KOINH.
MOVE 1 TO CNT.
LOOP AT KOINH.
CONCATENATE 'LFBK-KOINH(' CNT ')' INTO FLD.
PERFORM BDC_FIELD USING FLD KOINH-KOINH.
CNT = CNT + 1.
ENDLOOP.
perform bdc_dynpro using 'SAPLBANK' '0100'.
perform bdc_field using 'BDC_CURSOR'
'BNKA-PROVZ'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'BNKA-BANKA'
ITAB-BANKA.
perform bdc_field using 'BNKA-PROVZ'
ITAB-PROVZ.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02K' '0210'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-AKONT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFB1-AKONT'
ITAB-AKONT.
perform bdc_dynpro using 'SAPMF02K' '0215'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0220'.
perform bdc_field using 'BDC_CURSOR'
'LFB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
perform bdc_transaction using 'XK01'.
ENDLOOP.
perform close_group.
cheers,
Simha.