Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Data Uploaded Error in FB50

Former Member
0 Likes
561

Hi All,

I am using call Transaction method to upload data for FB50. The data is being populated into the bdcdata internal table. But the docuement is getting posted with only 2 line item entries. Where as the document contains 4 line item entries.

Can anyone please help me out in this? I am attaching the code which i am using

LOOP AT it_data ASSIGNING <wa_data>.

w_d = sy-tabix.

W_TAB = SY-TABIX MOD 2.

IF sy-tabix EQ 1 OR ( W_TAB NE 0 or w_y eq 'x' ) .

get parameter id 'BUK' field w_bukrs.

if w_bukrs is initial.

set parameter id 'BUK' field w_bukrs_initial.

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_data>-bukrs.

write <wa_data>-budat to w_date.

perform bdc_dynpro using 'SAPMF05A' '1001'.

perform bdc_field using 'ACGL_HEAD-BLDAT'

w_date.

perform bdc_field using 'ACGL_HEAD-BUDAT'

w_date.

perform bdc_field using 'BDC_OKCODE'

'/00'.

else.

PERFORM bdc_dynpro USING 'SAPMF05A' '1001'.

WRITE <wa_data>-BUDAT TO W_DATE.

PERFORM bdc_field USING 'ACGL_HEAD-BLDAT'

W_DATE.

PERFORM bdc_dynpro USING 'SAPMF05A' '1001'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'ACGL_HEAD-BLDAT'

W_DATE.

PERFORM bdc_field USING 'ACGL_HEAD-BUDAT'

w_date.

Endif.

PERFORM bdc_field USING 'ACGL_HEAD-WAERS'

<wa_data>-WAERS.

PERFORM bdc_field USING 'ACGL_HEAD-XBLNR'

<wa_data>-xblnr.

PERFORM bdc_field USING 'BDC_CURSOR'

'ACGL_ITEM-ZUONR(01)'.

PERFORM bdc_field USING 'ACGL_ITEM-HKONT(01)'

<wa_data>-hkont.

WRITE <WA_DATA>-wrbtr TO w_bdc_data .

SHIFT w_bdc_data LEFT DELETING LEADING ' '.

PERFORM bdc_field USING 'ACGL_ITEM-WRBTR(01)'

w_bdc_data.

PERFORM bdc_field USING 'ACGL_ITEM-TXJCD(01)'

<wa_data>-txjcd.

PERFORM bdc_field USING 'ACGL_ITEM-ZUONR(01)'

<wa_data>-zuonr.

PERFORM bdc_field USING 'ACGL_ITEM-SGTXT(01)'

<wa_data>-sgtxt.

PERFORM bdc_dynpro USING 'SAPMF05A' '1001'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=FIKP'.

PERFORM bdc_field USING 'BDC_CURSOR'

'ACGL_ITEM-HKONT(02)'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0700'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF05A-NEWBS'

<wa_data>-bschl.

PERFORM bdc_field USING 'RF05A-NEWKO'

<wa_data>-hkont.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-MEINS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

WRITE <wa_data>-wrbtr TO w_amt .

PERFORM bdc_field USING 'BSEG-WRBTR'

w_amt.

WRITE <wa_data>-menge TO w_bdc_data.

SHIFT w_bdc_data LEFT DELETING LEADING ' '.

PERFORM bdc_field USING 'BSEG-MENGE'

w_bdc_data.

PERFORM bdc_field USING 'BSEG-MEINS'

<wa_data>-meins.

WRITE <wa_data>-valut TO w_date.

PERFORM bdc_field USING 'BSEG-VALUT'

w_date.

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-PRCTR'

<wa_data>-prctr.

ELSE.

PERFORM bdc_dynpro USING 'SAPMF05A' '0700'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF05A-NEWBS'

<wa_data>-bschl.

PERFORM bdc_field USING 'RF05A-NEWKO'

<wa_data>-hkont.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-MEINS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

WRITE <wa_data>-wrbtr TO w_amt .

PERFORM bdc_field USING 'BSEG-WRBTR'

w_amt.

WRITE <wa_data>-menge TO w_bdc_data.

SHIFT w_bdc_data LEFT DELETING LEADING ' '.

PERFORM bdc_field USING 'BSEG-MENGE'

w_bdc_data.

PERFORM bdc_field USING 'BSEG-MEINS'

<wa_data>-meins.

CLEAR W_DATE.

WRITE <wa_data>-valut TO w_date.

PERFORM bdc_field USING 'BSEG-VALUT'

w_date.

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-PRCTR'

<wa_data>-prctr.

ENDIF.

w_x = w_d mod 998.

IF w_x EQ 0 or w_ln eq w_d.

w_y = 'X'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-WRBTR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

PERFORM bdc_field USING 'BSEG-WRBTR'

<wa_data>-wrbtr.

PERFORM bdc_field USING 'BSEG-MENGE'

<wa_data>-menge.

PERFORM bdc_field USING 'BSEG-MEINS'

<wa_data>-meins.

CLEAR W_DATE.

WRITE <wa_data>-valut TO w_date.

PERFORM bdc_field USING 'BSEG-VALUT'

W_DATE.

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-GSBER'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

PERFORM bdc_field USING 'COBL-PRCTR'

<wa_data>-prctr.

CALL TRANSACTION 'FB50' USING IT_BDCDATA

MODE 'A'

UPDATE 'S'

MESSAGES INTO IT_MESGTAB.

ENDIF.

ENDLOOP.

2 REPLIES 2
Read only

naimesh_patel
Active Contributor
0 Likes
478

Check out the message coming in the IT_MESSTAB.

I suggest you to use the RFBIBL00 to post FI documnents, if possible.

You can read the documentaion of RFBIBL00 for more information.

Regards,

Naimesh Patel

Read only

Former Member
0 Likes
478

FB50 is an EnjoySAP transaction and not suitable for batch input. You should use one of the BAPIs, RFBIBL00 or a batch input session based on FB01.

Rob