‎2013 Sep 18 11:45 AM
Hi experts,
I am facing an issue while uploading data to FV60 using BDC.
Table control accepts only the record which it can accomodate in its initial size.
Even after calling PERFORM bdc_field USING 'BDC_OKCODE' '=P+'. it is not working.
Following is my code excerpt.
DESCRIBE TABLE it_zfi0200 LINES lv_lines.
LOOP AT it_zfi0200 INTO wa_zfi0200.
lv_index = sy-tabix.
IF lv_index LT lv_lines.
MOVE lv_index TO len.
ELSEIF lv_index GE lv_lines.
len = lv_lines - 1.
ENDIF.
CONCATENATE 'ACGL_ITEM-HKONT('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-hkont.
CONCATENATE 'ACGL_ITEM-SHKZG('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-shkzg.
CONCATENATE 'ACGL_ITEM-WRBTR('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-wrbtr.
CONCATENATE 'ACGL_ITEM-SGTXT('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-zname.
IF wa_zfi0200-mwskz IS NOT INITIAL.
CONCATENATE 'ACGL_ITEM-MWSKZ('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-mwskz.
ELSEIF wa_zfi0200-mwskz IS INITIAL.
wa_zfi0200-mwskz = ' '.
CONCATENATE 'ACGL_ITEM-MWSKZ('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-mwskz.
ENDIF.
CONCATENATE 'ACGL_ITEM-GSBER('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-gsber.
CONCATENATE 'ACGL_ITEM-KOSTL('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-kostl.
CONCATENATE 'ACGL_ITEM-PRCTR('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-prctr.
CONCATENATE 'ACGL_ITEM-PROJK('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-projk.
CONCATENATE 'ACGL_ITEM-PERNR('len')'INTO fnam.
PERFORM bdc_field USING fnam
wa_zfi0200-pernr.
* IF lv_index > 3.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=0005'.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
* ENDIF.
CLEAR:wa_zfi0200_1,lv_index ,len.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MAIN'.
PERFORM bdc_field USING 'BDC_CURSOR'
'ACGL_ITEM-HKONT(04)'.
PERFORM bdc_dynpro USING 'SAPMF05A' '1100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BP'.
PERFORM bdc_field USING 'BDC_CURSOR'
'ACGL_ITEM-HKONT(04)'.
opt-nobinpt = 'X'.
opt-defsize = 'X'.
opt-dismode = 'E'.
opt-updmode = 'N'.
CALL TRANSACTION 'FV60' USING bdcdata MESSAGES INTO wt_messtab OPTIONS FROM opt
MESSAGES INTO wt_messtab MODE vmode.
Regards,
PS
‎2013 Sep 18 12:06 PM
Hi Purushottam,
My advice would be to
Regards,
Vamsi
‎2013 Sep 18 12:06 PM
Hi Purushottam,
My advice would be to
Regards,
Vamsi
‎2013 Sep 18 1:17 PM
Hi Vamsi,
How could be counter be reset to start from 1 again? won't
=P+ logic reset the counter?
Regards,
PS
‎2013 Sep 19 5:53 AM
Hi PS,
yes the Counter LEN has to be reset Everytime you perform the page down action.
Please refer to the link procided by Raymond Guiseppi for further calrification.
Regards,
Vamsi
‎2013 Sep 18 12:13 PM
‎2013 Sep 18 1:28 PM
Hi
FV60 is sap enjoy transaction so it doesn't support the batch input, you should use the old transaction FBV1 instead of FV60, but it'll be useless to create an own bi program, because it can use the standard one RFBIBL00 or you can use the BAPI BAPI_ACC_DOCUMENT_POST
Max
‎2013 Sep 18 1:27 PM
Either look for BAPI allowing parking (as in my answer in discussion linked by vamsi krishna) or perform a recording with SHDB checking the "simulate background" box (and "default size") and inserting at least one more item than displayed record in the control to identify actual ok_code for page+ and actual name of fields in next pages. (Also read Note 11788 - Batch input, variable step loop or table control.)
Regards,
Raymond