‎2007 Aug 18 3:46 AM
Hi,
Currently i am checking below BDC program for packing material use.
But there is a statement that i am not very clear what it is for...
PERFORM bdc_field USING 'BDC_CURSOR'
'V51VE-EXIDV(01)'.For the 'V51VE-EXIDV(01)', here why need to add an (01) at the end. What does the (01) means??
Thanks!!!!
LOOP AT i_lips.
CLEAR: i_bdc_tab,i_msg_tab.
REFRESH: i_bdc_tab,i_msg_tab.
PERFORM bdc_dynpro USING 'SAPMV50A' '4004'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LIKP-VBELN'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LIKP-VBELN'
i_lips-vbeln.
PERFORM bdc_dynpro USING 'SAPMV50A' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VERP_T'.
*perform bdc_field using 'LIKP-BLDAT'
* record-BLDAT_002.
PERFORM bdc_field USING 'BDC_CURSOR'
'LIPS-POSNR(01)'.
*perform bdc_field using 'LIKP-WADAT'
* record-WADAT_003.
*perform bdc_field using 'LIKP-WAUHR'
* record-WAUHR_004.
*perform bdc_field using 'LIKP-BTGEW'
* record-BTGEW_005.
*perform bdc_field using 'LIKP-GEWEI'
* record-GEWEI_006.
PERFORM bdc_dynpro USING 'SAPLV51G' '6000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V51VE-VHILM(01)'.
PERFORM bdc_field USING 'V51VE-VHILM(01)'
'BOX'.
*Select all materails
PERFORM bdc_dynpro USING 'SAPLV51G' '6000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=HU_MARKA'.
*Select all Boxes
PERFORM bdc_dynpro USING 'SAPLV51G' '6000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=HUMARKHU'.
*perform bdc_field using 'V51VE-SELKZ(01)'
* record-SELKZ_01_008.
PERFORM bdc_dynpro USING 'SAPLV51G' '6000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=HU_VERP'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V51VE-EXIDV(01)'.
PERFORM bdc_dynpro USING 'SAPLV51G' '6000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SICH'.
PERFORM bdc_field USING 'BDC_CURSOR'
'V51VE-EXIDV(01)'.
CALL TRANSACTION 'VL02N' USING i_bdc_tab
MODE p_mode
MESSAGES INTO i_msg_tab.Message was edited by:
Hoo Laa
‎2007 Aug 18 4:45 AM
And if this is a BDC running in background, or a call transaction, then placing the cursor on a given field has no effect unless it is needed for navigation to the next screen.
When you record a BDC using SHDB there are a lot of statements like this that are added in but are not needed for the BDC to work.
Another example is the "BDC_SUBSCR" field name - this does not in most cases appear to have any effect on how the BDC is processed.
Also, the recording will include fields which have default values on the screen that you do not need to overwrite with the same value from the BDC.
I often delete these statements from the recording, taking care that I understand what the impact is. You can try commenting out the line and see what difference it makes to processing.
When using a BDC for updating a lot of records, having less of these types of lines in the BDCDATA table will speed performance a bit.
Andrew
‎2007 Aug 18 3:50 AM
Hi,
There must be a table control in this screen. So the first entry is denoted as (01) second as (02) and so on in the table control.
Regards,
Atish
‎2007 Aug 18 3:58 AM
Hi,
PERFORM bdc_field USING 'BDC_CURSOR'
'V51VE-EXIDV(01)'.
Its for placing the cursor in the first line of the table control in field V51VE-EXIDV.
a®
‎2007 Aug 18 4:45 AM
And if this is a BDC running in background, or a call transaction, then placing the cursor on a given field has no effect unless it is needed for navigation to the next screen.
When you record a BDC using SHDB there are a lot of statements like this that are added in but are not needed for the BDC to work.
Another example is the "BDC_SUBSCR" field name - this does not in most cases appear to have any effect on how the BDC is processed.
Also, the recording will include fields which have default values on the screen that you do not need to overwrite with the same value from the BDC.
I often delete these statements from the recording, taking care that I understand what the impact is. You can try commenting out the line and see what difference it makes to processing.
When using a BDC for updating a lot of records, having less of these types of lines in the BDCDATA table will speed performance a bit.
Andrew