Skip to Content
0
Former Member
Apr 09, 2007 at 01:11 PM

Sales order

31 Views

Hi frnz

I am creating sales orders with CALL TRANSACTION Method.I need to create more than 20 line items for one sales order. When i executed the below code it works fine for only 2 records but not for more than 2 records. Why is it happening?. Can any one help me out in changing the code.

gt_final_temp[] = gt_final1[].

SORT gt_final_temp BY member_id

sold_to

ship_to.

DELETE ADJACENT DUPLICATES

FROM gt_final_temp

COMPARING member_id

sold_to

ship_to.

LOOP AT gt_final_temp INTO wa_final.

CLEAR bdcdata.

REFRESH bdcdata.

  • Screen 0101

PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.

PERFORM bdc_field USING: 'VBAK-AUART' p_auart,

'VBAK-VKORG' p_vkorg,

'VBAK-VTWEG' p_vtweg,

'VBAK-SPART' p_spart,

'BDC_OKCODE' '/00'.

  • Screen 4001

PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.

PERFORM bdc_field USING: 'VBKD-BSTDK' wa_final-bstdk,

'KUAGV-KUNNR' wa_final-sold_to,

'KUWEV-KUNNR' wa_final-ship_to,

'RV45A-KETDAT' wa_final-vdatu,

'BDC_OKCODE' '/00'.

MOVE 1 TO indx.

  • Add line items

LOOP AT gt_final1 INTO wa_final1

WHERE member_id = wa_final-member_id AND

sold_to = wa_final-sold_to AND

ship_to = wa_final-ship_to.

PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.

CLEAR fnam.

CONCATENATE 'RV45A-MABNR(' indx ')' INTO fnam.

PERFORM bdc_field USING fnam wa_final1-matnr.

quantity = wa_final1-kwmeng.

CLEAR fnam.

CONCATENATE 'RV45A-KWMENG(' indx ')' INTO fnam.

PERFORM bdc_field USING fnam quantity.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.

indx = indx + 1.

CLEAR wa_final1.

ENDLOOP.

PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.

PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.

CALL TRANSACTION 'VA01' USING bdcdata

MODE 'N'

MESSAGES INTO messtab.

Thanks

Satya