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