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

BDC related problem

naimkhans_babi
Active Participant
0 Likes
933

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

1 ACCEPTED SOLUTION
Read only

former_member491305
Active Contributor
0 Likes
879

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.

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

5 REPLIES 5
Read only

amit_khare
Active Contributor
0 Likes
879

Is your BDC running...since we dont write BDC for MIGO, instead we use BAPi

BAPI_GOODSMVT_CREATE.

Regards,

Amit

Reward all helpful replies.

Read only

0 Likes
879

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

Read only

0 Likes
879

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.

Read only

former_member491305
Active Contributor
0 Likes
880

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.

Read only

0 Likes
879

Thanx a lot..

its a silly me... i am notorious to do such a silly mistakes...

Thanx again..