2008 Feb 15 3:38 PM
im uploading data for fb01 using batch input session method.
after executing program the transaction reaches last screen.
and finally giving message
NO BATCH INPUT DATA FOR SAPMF05A 700.
Please help me to resolve this problem.
2008 Feb 15 3:44 PM
Can you post the portion of your code where you deal with screen 700 and also the code for the screen before that one.
Rob
2008 Feb 16 1:26 PM
hi rob.
this is the code .
*BDC Upload program using Transction FB01.
*
LOOP AT i_input INTO wa_input.
Header Line items filled
IF NOT wa_input-blart IS INITIAL.
CLEAR vtemp.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
wa_input-bldat.
PERFORM bdc_field USING 'BKPF-BLART'
wa_input-blart.
PERFORM bdc_field USING 'BKPF-BUKRS'
wa_input-bukrs.
PERFORM bdc_field USING 'BKPF-BUDAT'
wa_input-budat.
PERFORM bdc_field USING 'BKPF-MONAT'
wa_input-monat.
PERFORM bdc_field USING 'BKPF-WAERS'
wa_input-waers.
PERFORM bdc_field USING 'BKPF-XBLNR'
wa_input-xblnr.
PERFORM bdc_field USING 'BKPF-BKTXT'
wa_input-bktxt.
PERFORM bdc_field USING 'FS006-DOCID'
'*'.
vtemp = 'X'.
ENDIF.
Only for First ltem for posting key 40.
IF vtemp = 'X' AND wa_input-newbs = '40'.
CLEAR vtemp.
****
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BKPF-XMWST'.
PERFORM bdc_field USING 'BDC_OKCODE'
'ZK'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BKPF-XMWST'
'X'.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_dynpro USING 'SAPMF05A' '0330'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
***
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BKPF-XMWST'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BKPF-XMWST'
'X'.
*
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
PERFORM bdc_field USING 'BKPF-XMWST'
'X'.
ENDIF.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_field USING 'COBL-PRCTR'
''.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
PERFORM bdc_field USING 'BKPF-XMWST'
'X'.
ENDIF.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
wa_count1 = wa_count1 + 1.
ENDIF.
*check for Posting Key = '40' with multiple line with posting Key
ELSEIF wa_input-newbs = '40' AND wa_count1 GE 1.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ZK'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_dynpro USING 'SAPMF05A' '0330'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_field USING 'COBL-PRCTR'
''.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
*check for Posting Key = '31'.
ELSEIF wa_input-newbs = '31' AND wa_count = 0.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BSEG-ZTERM'
'P500'.
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
***
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
wa_input-kostl.
PERFORM bdc_field USING 'COBL-PRCTR'
''.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-SGTXT'.
*
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BSEG-ZTERM'
'0'.
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
*
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
PERFORM bdc_field USING 'BSEG-ZTERM'
''.
ENDIF.
*
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
wa_count = wa_count + 1.
ELSEIF wa_input-newbs = '31' AND wa_count GE 1.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BSEG-ZTERM'
'P500'.
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_input-newbs.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_input-newko.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
ENDIF.
PERFORM bdc_field USING 'BSEG-ZTERM'
'0'.
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
*
IF NOT wa_input-mwskz IS INITIAL.
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
PERFORM bdc_field USING 'BSEG-ZTERM'
''.
ENDIF.
*
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
wa_count = wa_count + 1.
ENDIF.
AT END OF xblnr.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_input-wrbtr.
*
PERFORM bdc_field USING 'BSEG-MWSKZ'
wa_input-mwskz.
PERFORM bdc_field USING 'BSEG-ZFBDT'
wa_input-zfbdt.
PERFORM bdc_field USING 'BSEG-SGTXT'
wa_input-sgtxt.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'FB01'
TABLES
dynprotab = bdcdata.
CLEAR bdcdata . REFRESH bdcdata .
ENDAT .
ENDLOOP.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDIF.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
MESSAGE s000(/epcos/fi) WITH 'Session Created'.
ENDIF.
ENDIF.
2008 Feb 15 4:28 PM
Hi Vijay,
It is much better that instead of use BDC data for post accounting document that you use next standard function modules with TCODE = "FB01":
POSTING_INTERFACE_START
POSTING_INTERFACE_DOCUMENT
POSTING_INTERFACE_END
and additionally:
POSTING_INTERFACE_CLEARING
POSTING_INTERFACE_RESET_CLEAR
POSTING_INTERFACE_REVERSE_DOC
<REMOVED BY MODERATOR>
Roger
Edited by: Alvaro Tejada Galindo on Feb 15, 2008 2:45 PM
2008 Feb 15 5:29 PM
hi
you can even use BAPI_ACC_DOCUMENT_POST as well as Idoc FIDCCP01 to post thru FB01.
I had once tried with BDC, but BAPI n Idoc are faster n simpler
Cheers
~Arun
2008 Feb 16 1:37 PM
actually the code for screen 700 is not written.
But it worked previously .
now problem is coming after 5 months.
2008 Feb 16 6:59 PM
Is a new user running this with new settings?
You can run this in foreground to see what is going on.
Rob
2008 Feb 18 6:42 AM
2008 Feb 22 11:31 PM
HI Vijay,
Did you solved this problem?
If so, can you tell the solution?
I am also getting the same problem but with different screen no. 8512.
regards,
shylesh