2007 Aug 13 8:01 AM
Dear friends
I am developing a bdc for the migo... here i am having one problem at the spliting time. as i am doing concatenation with index for passing the values to the table control of the screen, from the BDCDATA table i am receiving the error message ( 'L_FIELD doesnt find in the screen 1000). please see the code and tell me what i am supposed to do to rectify this issue,
LOOP AT int_record1 WHERE po_number = int_record-po_number AND
lfsnr = int_record-lfsnr AND
exnum = int_record-exnum AND
exdat = int_record-exdat AND
detail_zeile = int_record-detail_zeile.
l_index = l_index + 1.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_SP_CH'.
CONCATENATE 'GOSPLIT-ERFMG(' l_index ')' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
'l_field'. <--- here i am inserting the values of screen field with the index to make this way 'GOSPLIT-ERFMG(1).
PERFORM bdc_field USING 'l_field'
int_record1-erfmg1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-LGOBE(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
'l_field'.
PERFORM bdc_field USING 'l_field'
int_record1-lgobe1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-CHARG(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
'l_field'.
'GOSPLIT-CHARG'.
PERFORM bdc_field USING 'l_field'
PERFORM bdc_field USING 'GOSPLIT-CHARG'
int_record1-charg.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_GOON'.
ENDLOOP.
In the BDC data table i am receiving the output this way.
SAPLMIGO 1000 X
0 BDC_OKCODE #NAME?
0 BDC_CURSOR l_field
0 l_field 2
0 BDC_CURSOR l_field
0 l_field SGN1
0 BDC_CURSOR l_field
0 l_field A1
i think instead of the l_field value 'GOSPLIT-ERFMG(1) the modified value should be appear over there... can you please tell me how can i do this.
Any help will be appreciated,,,
Regards
Naeem
2007 Aug 13 8:24 AM
Hi Naim,
Remove the single Quotes while passing the field name thru variable.
LOOP AT int_record1 WHERE po_number = int_record-po_number AND
lfsnr = int_record-lfsnr AND
exnum = int_record-exnum AND
exdat = int_record-exdat AND
detail_zeile = int_record-detail_zeile.
l_index = l_index + 1.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_SP_CH'.
CONCATENATE 'GOSPLIT-ERFMG(' l_index ')' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field. </b><--- here i am inserting the values of screen field with the index to make this way 'GOSPLIT-ERFMG(1).
PERFORM bdc_field USING <b>l_field</b>
int_record1-erfmg1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-LGOBE(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field</b>.
PERFORM bdc_field USING <b>l_field</b>
int_record1-lgobe1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-CHARG(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field.</b>* 'GOSPLIT-CHARG'.
PERFORM bdc_field USING 'l_field'
PERFORM bdc_field USING 'GOSPLIT-CHARG'
int_record1-charg.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_GOON'.
ENDLOOP.
Hi Naim,
Remove the single Quotes while passing the field name thru variable.
LOOP AT int_record1 WHERE po_number = int_record-po_number AND
lfsnr = int_record-lfsnr AND
exnum = int_record-exnum AND
exdat = int_record-exdat AND
detail_zeile = int_record-detail_zeile.
l_index = l_index + 1.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_SP_CH'.
CONCATENATE 'GOSPLIT-ERFMG(' l_index ')' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field. </b><--- here i am inserting the values of screen field with the index to make this way 'GOSPLIT-ERFMG(1).
PERFORM bdc_field USING <b>l_field</b>
int_record1-erfmg1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-LGOBE(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field</b>.
PERFORM bdc_field USING <b>l_field</b>
int_record1-lgobe1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-CHARG(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field.</b>* 'GOSPLIT-CHARG'.
PERFORM bdc_field USING 'l_field'
PERFORM bdc_field USING 'GOSPLIT-CHARG'
int_record1-charg.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_GOON'.
ENDLOOP.
2007 Aug 13 8:03 AM
Is your BDC running...since we dont write BDC for MIGO, instead we use BAPi
BAPI_GOODSMVT_CREATE.
Regards,
Amit
Reward all helpful replies.
2007 Aug 13 8:08 AM
Dear Amit
I know that the Bapi would much more desirable to have... intead of BDC>. but here i need to pass the excise document numbers and Exices date as well which is not there in the BAPI_GOODS_MVT... thats i need to that.,, if you know how to pass the excise related infromation along with the bapi suggested by you please tell me,,, if you go to the MB01 and will pass some material related infroation.. the pop-up would be there if the material required to have excies related infromation,... the problme is this only with this bapi..
Regads
Naeem
2007 Aug 13 8:13 AM
You are not supposed to use BDC for MIGO. Please see OSS Note #381630.
You call this FM J_1IEXGM_UPDATE_EXCISE after calling BAPI BAPI_GOODSMVT_CREATE.
Regards,
Amit
Reward all helpful replies.
2007 Aug 13 8:24 AM
Hi Naim,
Remove the single Quotes while passing the field name thru variable.
LOOP AT int_record1 WHERE po_number = int_record-po_number AND
lfsnr = int_record-lfsnr AND
exnum = int_record-exnum AND
exdat = int_record-exdat AND
detail_zeile = int_record-detail_zeile.
l_index = l_index + 1.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_SP_CH'.
CONCATENATE 'GOSPLIT-ERFMG(' l_index ')' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field. </b><--- here i am inserting the values of screen field with the index to make this way 'GOSPLIT-ERFMG(1).
PERFORM bdc_field USING <b>l_field</b>
int_record1-erfmg1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-LGOBE(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field</b>.
PERFORM bdc_field USING <b>l_field</b>
int_record1-lgobe1.
CLEAR l_field.
CONCATENATE 'GOSPLIT-CHARG(' l_index ') ' INTO l_field.
PERFORM bdc_field USING 'BDC_CURSOR'
<b>l_field.</b>* 'GOSPLIT-CHARG'.
PERFORM bdc_field USING 'l_field'
PERFORM bdc_field USING 'GOSPLIT-CHARG'
int_record1-charg.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=OK_GOON'.
ENDLOOP.
2007 Aug 13 8:31 AM
Thanx a lot..
its a silly me... i am notorious to do such a silly mistakes...
Thanx again..
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |