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

vendor deletion flag using BDC.

Former Member
0 Likes
1,032

Hi Friends,

I am doing a BDC for XK06 for set deletion flag...this is following code......

LOOP AT gt_xk06 INTO wa_gt_xkxx.

REFRESH: gt_bdctab, gt_bdc_msgtab.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-lifnr

IMPORTING

output = l_lifnr.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-ekorg

IMPORTING

output = l_ekorg.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-bukrs

IMPORTING

output = l_bukrs.

PERFORM bdc_dynpro USING 'SAPMF02K' '0500'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-EKORG'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

l_lifnr.

  • '100000016'.

PERFORM bdc_field USING 'RF02K-BUKRS'

l_ekorg.

  • '3000'.

PERFORM bdc_field USING 'RF02K-EKORG'

l_bukrs.

  • '3000'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0520'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-NODEL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=UPDA'.

PERFORM bdc_field USING 'LFA1-LOEVM'

'X'.

PERFORM bdc_field USING 'LFB1-LOEVM'

'X'.

PERFORM bdc_field USING 'LFM1-LOEVM'

'X'.

PERFORM bdc_field USING 'LFA1-NODEL'

'X'.

PERFORM bdc_field USING 'LFB1-NODEL'

'X'.

CALL TRANSACTION 'XK06' USING gt_bdctab OPTIONS FROM g_opt MESSAGES INTO gt_bdc_msgtab.

ENDLOOP.

this is working fine...But when i am doing BDC for undeletion of vendor...this is the follwoing code.....

LOOP AT gt_xk06_undel INTO wa_gt_xkxx.

REFRESH: gt_bdctab, gt_bdc_msgtab.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-lifnr

IMPORTING

output = l_lifnr.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-ekorg

IMPORTING

output = l_ekorg.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-bukrs

IMPORTING

output = l_bukrs.

PERFORM bdc_dynpro USING 'SAPMF02K' '0500'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-EKORG'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

l_lifnr.

  • '100000016'.

PERFORM bdc_field USING 'RF02K-BUKRS'

l_ekorg.

  • '3000'.

PERFORM bdc_field USING 'RF02K-EKORG'

l_bukrs.

  • '3000'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0520'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-NODEL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=UPDA'.

PERFORM bdc_field USING 'LFA1-LOEVM'

''.

PERFORM bdc_field USING 'LFB1-LOEVM'

''.

PERFORM bdc_field USING 'LFM1-LOEVM'

''.

PERFORM bdc_field USING 'LFA1-NODEL'

''.

PERFORM bdc_field USING 'LFB1-NODEL'

''.

CALL TRANSACTION 'XK06' USING gt_bdctab MODE 'A' UPDATE 'S' MESSAGES INTO gt_bdc_msgtab.

ENDLOOP.

all the check boxes are not deselection (unchecking)...please tell me what is happenin...

Regards

Sharat Chandra

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
878

Hi,

Please try this as suggested by Rob.


...

PERFORM bdc_dynpro USING 'SAPMF02K' '0520'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-NODEL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPDA'.
PERFORM bdc_field USING 'LFA1-LOEVM'
' '.
PERFORM bdc_field USING 'LFB1-LOEVM'
' '.
PERFORM bdc_field USING 'LFM1-LOEVM'
' '.
PERFORM bdc_field USING 'LFA1-NODEL'
' '.
PERFORM bdc_field USING 'LFB1-NODEL'
' '.

CALL TRANSACTION 'XK06' USING gt_bdctab MODE 'A' UPDATE 'S' MESSAGES INTO gt_bdc_msgtab.

...

Regards,

Ferry Lianto

Hi Friends,

I am doing a BDC for XK06 for set deletion flag...this is following code......

LOOP AT gt_xk06 INTO wa_gt_xkxx.

REFRESH: gt_bdctab, gt_bdc_msgtab.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-lifnr

IMPORTING

output = l_lifnr.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-ekorg

IMPORTING

output = l_ekorg.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-bukrs

IMPORTING

output = l_bukrs.

PERFORM bdc_dynpro USING 'SAPMF02K' '0500'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-EKORG'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

l_lifnr.

  • '100000016'.

PERFORM bdc_field USING 'RF02K-BUKRS'

l_ekorg.

  • '3000'.

PERFORM bdc_field USING 'RF02K-EKORG'

l_bukrs.

  • '3000'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0520'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-NODEL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=UPDA'.

PERFORM bdc_field USING 'LFA1-LOEVM'

'X'.

PERFORM bdc_field USING 'LFB1-LOEVM'

'X'.

PERFORM bdc_field USING 'LFM1-LOEVM'

'X'.

PERFORM bdc_field USING 'LFA1-NODEL'

'X'.

PERFORM bdc_field USING 'LFB1-NODEL'

'X'.

CALL TRANSACTION 'XK06' USING gt_bdctab OPTIONS FROM g_opt MESSAGES INTO gt_bdc_msgtab.

ENDLOOP.

this is working fine...But when i am doing BDC for undeletion of vendor...this is the follwoing code.....

LOOP AT gt_xk06_undel INTO wa_gt_xkxx.

REFRESH: gt_bdctab, gt_bdc_msgtab.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-lifnr

IMPORTING

output = l_lifnr.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-ekorg

IMPORTING

output = l_ekorg.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = wa_gt_xkxx-bukrs

IMPORTING

output = l_bukrs.

PERFORM bdc_dynpro USING 'SAPMF02K' '0500'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-EKORG'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

l_lifnr.

  • '100000016'.

PERFORM bdc_field USING 'RF02K-BUKRS'

l_ekorg.

  • '3000'.

PERFORM bdc_field USING 'RF02K-EKORG'

l_bukrs.

  • '3000'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0520'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-NODEL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=UPDA'.

PERFORM bdc_field USING 'LFA1-LOEVM'

''.

PERFORM bdc_field USING 'LFB1-LOEVM'

''.

PERFORM bdc_field USING 'LFM1-LOEVM'

''.

PERFORM bdc_field USING 'LFA1-NODEL'

''.

PERFORM bdc_field USING 'LFB1-NODEL'

''.

CALL TRANSACTION 'XK06' USING gt_bdctab MODE 'A' UPDATE 'S' MESSAGES INTO gt_bdc_msgtab.

ENDLOOP.

all the check boxes are not deselection (unchecking)...please tell me what is happenin...

Regards

Sharat Chandra

5 REPLIES 5
Read only

Former Member
0 Likes
878

Instead of '', pass SPACE.

Rob

Read only

Former Member
0 Likes
878

Code looks good but you need to use refresh bdcdata after call transaction,so that it works fine.

Thanks

Seshu

Read only

Former Member
0 Likes
879

Hi,

Please try this as suggested by Rob.


...

PERFORM bdc_dynpro USING 'SAPMF02K' '0520'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-NODEL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPDA'.
PERFORM bdc_field USING 'LFA1-LOEVM'
' '.
PERFORM bdc_field USING 'LFB1-LOEVM'
' '.
PERFORM bdc_field USING 'LFM1-LOEVM'
' '.
PERFORM bdc_field USING 'LFA1-NODEL'
' '.
PERFORM bdc_field USING 'LFB1-NODEL'
' '.

CALL TRANSACTION 'XK06' USING gt_bdctab MODE 'A' UPDATE 'S' MESSAGES INTO gt_bdc_msgtab.

...

Regards,

Ferry Lianto

Read only

Former Member
0 Likes
878

Hi Guys,

I got the answer...Actually i was doing wrong in form .

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

IF fval <> space.

CLEAR g_wa_gt_bdctab.

g_wa_gt_bdctab-fnam = fnam.

g_wa_gt_bdctab-fval = fval.

APPEND g_wa_gt_bdctab TO gt_bdctab.

ENDIF.

ENDFORM. "BDC_FIELD

but actually fval is space so BDCDATA tab was not filling up.

but now i have commented it

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

  • IF fval <> space.

CLEAR g_wa_gt_bdctab.

g_wa_gt_bdctab-fnam = fnam.

g_wa_gt_bdctab-fval = fval.

APPEND g_wa_gt_bdctab TO gt_bdctab.

  • ENDIF.

ENDFORM. "BDC_FIELD

its working now.

Thanks for quick responces.

Kind Regards

Sharat Chandra.

Read only

Former Member
0 Likes
878

problem solved