on ‎2007 Oct 08 1:35 PM
Hi,
I need to make a BDC to upload transaction data for Vendor invoice thru fb60. Can someone help me with making this BDC. I have multiple invoice line items where G/L Accounts can be same for multiple line items.
plz any help soon will be appreciated ...
Request clarification before answering.
hi Raj,
Here a Example:
report ZTEST
no standard page heading line-size 255.
include bdcrecx1.
start-of-selection.
perform open_group.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE'
'=DUMMY'.
perform bdc_field using 'RF05A-BUSCS'
'R'.
perform bdc_field using 'BDC_CURSOR'
'INVFO-XMWST'.
perform bdc_field using 'INVFO-ACCNT'
'4711'. "LIFNR
perform bdc_field using 'INVFO-BUDAT'
'07.07.2006'.
perform bdc_field using 'INVFO-WRBTR'
'1000'.
perform bdc_field using 'INVFO-WAERS'
'EUR'.
perform bdc_field using 'INVFO-XMWST'
'X'.
perform bdc_field using 'INVFO-MWSKZ'
'V4'.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'RF05A-BUSCS'
'R'.
perform bdc_field using 'BDC_CURSOR'
'INVFO-XBLNR'.
perform bdc_field using 'INVFO-ACCNT'
'4711'. "LIFNR
perform bdc_field using 'INVFO-XBLNR'
'test'.
perform bdc_field using 'INVFO-WRBTR'
'1.000,00'.
perform bdc_field using 'INVFO-XMWST'
'X'.
perform bdc_field using 'INVFO-MWSKZ'
'V4'.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'INVFO-BLDAT'
'07062006'.
perform bdc_field using 'INVFO-XBLNR'
'TEST'.
perform bdc_field using 'ACGL_ITEM-HKONT(01)'
'467000'.
perform bdc_field using 'ACGL_ITEM-WRBTR(01)'
' 1000'.
perform bdc_field using 'ACGL_ITEM-KOSTL(01)'
'1000'.
perform bdc_transaction using 'FB60'.
perform close_group.
OR Also u can use the
U can use the std batchinput RFBIBL00 (or a BAPI, like BAPI_ACC_DOCUMENT_POST ) instead of to write an own BDC program for FB60.
FB60 is enjoy trx and it couldn't support the BDC for all its functionalities.
For more infor abt the BDC
http://www.sap-img.com/abap/learning-bdc-programming.htm
Assing the points if helpfulll
ranjit
null
null
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Have a look to RFBIBL00 and the help there.
Proces;
File from extern system
ABAP that transfer the fields from the file to the structure in RFBIBL00 and this abap submit RFBIBL0.
This program create FB01 postings and not FB60.
Paul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Paul,
But I have written small BDC programs before, this fb60 one includes table controls and data where i dont have an unique key to have acontrol loop over multiple table entries.
How should i go ahead with this ..
I didnt quite understand RFBIBL0. If i run the program for every file it give file check failed.
Hi,
BDC for Single and Multiple Line Upload for FB60 T-code.
Please refer below code.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = 'X'
i_tab_raw_data = it_text
i_filename = p_file
TABLES
i_tab_converted_data = it_final
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
IF it_final IS NOT INITIAL.
LOOP AT it_final INTO wa_final.
ON CHANGE OF wa_final-xblnr.
PERFORM bdc_dynpro USING 'SAPLACHD' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BKPF-BUKRS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'BKPF-BUKRS'
wa_final-bukrs. "'EBIP'.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DUMMY'.
PERFORM bdc_field USING 'RF05A-BUSCS'
'R'.
PERFORM bdc_field USING 'BDC_CURSOR'
'INVFO-XMWST'.
PERFORM bdc_field USING 'INVFO-ACCNT'
wa_final-lifnr. "'1074'.
PERFORM bdc_field USING 'INVFO-BLDAT'
wa_final-bldat. "'19.10.2023'.
PERFORM bdc_field USING 'INVFO-XBLNR'
wa_final-xblnr. "'testbdc1'.
PERFORM bdc_field USING 'INVFO-BUDAT'
wa_final-budat. "'19.10.2023'.
PERFORM bdc_field USING 'INVFO-BLART'
'KR'.
PERFORM bdc_field USING 'INVFO-BELNR'
wa_final-belnr. "'p1235'.
PERFORM bdc_field USING 'INVFO-WAERS'
' '.
PERFORM bdc_field USING 'INVFO-XMWST'
wa_final-xmwst. "'X'.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DUMMY'.
PERFORM bdc_field USING 'RF05A-BUSCS'
'R'.
PERFORM bdc_field USING 'BDC_CURSOR'
'INVFO-MWSKZ'.
PERFORM bdc_field USING 'INVFO-ACCNT'
' '.
PERFORM bdc_field USING 'INVFO-XBLNR'
' '.
PERFORM bdc_field USING 'INVFO-BLART'
'KR'.
PERFORM bdc_field USING 'INVFO-BELNR'
' '.
PERFORM bdc_field USING 'INVFO-WAERS'
' '.
PERFORM bdc_field USING 'INVFO-XMWST'
'X'.
PERFORM bdc_field USING 'INVFO-MWSKZ'
wa_final-mwskz.
PERFORM bdc_field USING 'INVFO-GST_PART'
' '.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF05A-BUSCS'
'R'.
PERFORM bdc_field USING 'INVFO-ACCNT'
' '.
PERFORM bdc_field USING 'INVFO-XBLNR'
' '.
PERFORM bdc_field USING 'INVFO-BLART'
'KR'.
PERFORM bdc_field USING 'INVFO-BELNR'
wa_final-belnr. "'P1235'.
PERFORM bdc_field USING 'INVFO-WAERS'
' '.
PERFORM bdc_field USING 'INVFO-XMWST'
'X'.
PERFORM bdc_field USING 'INVFO-MWSKZ'
wa_final-mwskz. "'IA'.
PERFORM bdc_field USING 'INVFO-BUPLA'
wa_final-bupla. "'EBMH'.
PERFORM bdc_field USING 'INVFO-SECCO'
wa_final-secco. "'EBMH'.
PERFORM bdc_field USING 'INVFO-SGTXT'
wa_final-bktxt. "'testbdc1'.
PERFORM bdc_field USING 'INVFO-GST_PART'
' '.
PERFORM bdc_field USING 'BDC_CURSOR'
wa_final-hsn_sac. "'ACGL_ITEM-HSN_SAC(01)'.
CLEAR lv_amt.
LOOP AT it_final INTO wa_final WHERE xblnr = wa_final-xblnr. "AND lifnr = wa_final1-lifnr.
lv_cnt = lv_cnt + 1.
CONCATENATE 'ACGL_ITEM-HKONT(' lv_cnt ')' INTO lv_fdnm.
**** PERFORM bdc_field USING 'ACGL_ITEM-HKONT(01)'
PERFORM bdc_field USING lv_fdnm
wa_final-hkont. "'77500'.
CONCATENATE 'ACGL_ITEM-WRBTR(' lv_cnt ')' INTO lv_fdnm.
**** PERFORM bdc_field USING 'ACGL_ITEM-WRBTR(01)'
PERFORM bdc_field USING lv_fdnm
wa_final-wrbtr. "'1000'.
CONDENSE wa_final1-wrbtr.
lv_amt = lv_amt + wa_final-wrbtr.
CONCATENATE 'ACGL_ITEM-SGTXT(' lv_cnt ')' INTO lv_fdnm.
**** PERFORM bdc_field USING 'ACGL_ITEM-SGTXT(01)'
PERFORM bdc_field USING lv_fdnm
wa_final-sgtxt. "'testbdcgl1'.
CONCATENATE 'ACGL_ITEM-KOSTL(' lv_cnt ')' INTO lv_fdnm.
**** PERFORM bdc_field USING 'ACGL_ITEM-KOSTL(01)'
PERFORM bdc_field USING lv_fdnm
wa_final-kostl. "'P116'.
CONCATENATE 'ACGL_ITEM-HSN_SAC(' lv_cnt ')' INTO lv_fdnm.
**** PERFORM bdc_field USING 'ACGL_ITEM-HSN_SAC(01)'
PERFORM bdc_field USING lv_fdnm
wa_final-hsn_sac. "'7318'.
CLEAR : wa_final-hkont, wa_final-wrbtr, wa_final-sgtxt, wa_final-kostl, wa_final-hsn_sac.
ENDLOOP.
CLEAR lv_cnt.
wa_final-wrbtr = lv_amt.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'INVFO-ZFBDT'.
PERFORM bdc_field USING 'INVFO-ZFBDT'
wa_final-zfbdt. "'19.10.2023'.
PERFORM bdc_field USING 'INVFO-ZTERM'
' '.
PERFORM bdc_field USING 'INVFO-ZBD1T'
' '.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MAIN'.
PERFORM bdc_field USING 'INVFO-ZFBDT'
wa_final-zfbdt. "'19.10.2023'.
PERFORM bdc_field USING 'INVFO-ZTERM'
' '.
PERFORM bdc_field USING 'INVFO-ZBD1T'
' '.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BS'.
PERFORM bdc_field USING 'RF05A-BUSCS'
'R'.
PERFORM bdc_field USING 'INVFO-ACCNT'
' '.
PERFORM bdc_field USING 'INVFO-XBLNR'
' '.
PERFORM bdc_field USING 'INVFO-BLART'
'KR'.
PERFORM bdc_field USING 'INVFO-BELNR'
wa_final-belnr. "'P1235'.
PERFORM bdc_field USING 'INVFO-WRBTR'
' '.
PERFORM bdc_field USING 'INVFO-XMWST'
'X'.
PERFORM bdc_field USING 'INVFO-MWSKZ'
' '.
PERFORM bdc_field USING 'INVFO-BUPLA'
' '.
PERFORM bdc_field USING 'INVFO-SECCO'
' '.
PERFORM bdc_field USING 'INVFO-SGTXT'
' '.
PERFORM bdc_field USING 'INVFO-GST_PART'
' '.
PERFORM bdc_field USING 'INVFO-PLC_SUP'
' '.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
CLEAR it_bdcmsg.
CALL TRANSACTION 'FB60'
USING it_bdcdata
MODE bdc_mode
UPDATE 'S' MESSAGES INTO it_bdcmsg.
LOOP AT it_bdcmsg INTO wa_bdcmsg.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = wa_bdcmsg-msgid
lang = sy-langu
no = wa_bdcmsg-msgnr
v1 = wa_bdcmsg-msgv1
v2 = wa_bdcmsg-msgv2
v3 = wa_bdcmsg-msgv3
v4 = wa_bdcmsg-msgv4
IMPORTING
msg = v_message
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDLOOP.
Regard,
Awais Syed.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 39 | |
| 22 | |
| 21 | |
| 5 | |
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.