2015 Feb 10 11:12 AM
Hi,
My requirement is to create Sales Order via Excel File where I'm using BAPI. Its working fine.
Two different Reports with two different Excel files.
In Excel File 1: I'm sending MATNR (Material), im getting the KWMENG (Quantity Field) field at Tcode level.
In Excel File 2: I'm sending CUST_MAT35 (Customer Material), KWMENG (Quantity Field) is not filled at Tcode level.
Kindly find the below code and screen shots.
1. MATNR (Material) with KWMENG (Quantity Field):
*Item
LOOP AT lt_sales INTO ls_sales WHERE KUNNR = ls_sales_header-KUNNR.
lv_sales_posnr = lv_sales_posnr + 10.
ls_sales_items-itm_number = lv_sales_posnr.
ls_sales_items-plant = ls_sales-werks.
ls_sales_items-material = ls_sales-matnr.
ls_sales_items-target_qty = ls_sales-KWMENG.
ls_sales_items-TARGET_QU = 'EA'.
APPEND ls_sales_items TO lt_sales_items.
CLEAR: ls_sales_items.
ls_sales_items_inx-itm_number = 'X'.
ls_sales_items_inx-plant = 'X'.
ls_sales_items_inx-material = 'X'.
ls_sales_items_inx-target_qty = 'X'.
ls_sales_items_inx-TARGET_QU = 'X'.
APPEND ls_sales_items_inx TO lt_sales_items_inx.
CLEAR: ls_sales_items_inx.
*Schedule lines
lv_sales_posnr1 = lv_sales_posnr1 + 10.
ls_sales_schedules-itm_number = lv_sales_posnr1.
lv_sales_ETENR = lv_sales_ETENR + 10.
ls_sales_schedules-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedules-REQ_QTY = ls_sales-KWMENG.
APPEND ls_sales_schedules TO lt_sales_schedules.
CLEAR: ls_sales_schedules.
ls_sales_schedulesx-itm_number = lv_sales_posnr1.
ls_sales_schedulesx-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedulesx-REQ_QTY = 'X'.
APPEND ls_sales_schedulesx TO lt_sales_schedulesx.
CLEAR: ls_sales_schedulesx.
ENDLOOP.
2. CUST_MAT35 (Customer Material) with KWMENG (Quantity Field):
*Item
LOOP AT lt_sales INTO ls_sales WHERE DOC_TYPE = ls_sales_header-DOC_TYPE.
lv_sales_posnr = lv_sales_posnr + 10.
ls_sales_items-itm_number = lv_sales_posnr.
ls_sales_items-plant = ls_sales-werks.
ls_sales_items-CUST_MAT35 = ls_sales-KDMAT.
ls_sales_items-target_qty = ls_sales-KWMENG.
ls_sales_items-TARGET_QU = 'EA'.
APPEND ls_sales_items TO lt_sales_items.
CLEAR: ls_sales_items.
ls_sales_items_inx-itm_number = lv_sales_posnr.
ls_sales_items_inx-plant = 'X'.
ls_sales_items_inx-CUST_MAT35 = 'X'.
ls_sales_items_inx-target_qty = 'X'.
ls_sales_items_inx-TARGET_QU = 'X'.
APPEND ls_sales_items_inx TO lt_sales_items_inx.
CLEAR: ls_sales_items_inx.
*Schedule lines
lv_sales_posnr1 = lv_sales_posnr1 + 10.
ls_sales_schedules-itm_number = lv_sales_posnr1.
lv_sales_ETENR = lv_sales_ETENR + 10.
ls_sales_schedules-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedules-REQ_QTY = ls_sales-KWMENG.
APPEND ls_sales_schedules TO lt_sales_schedules.
CLEAR: ls_sales_schedules.
ls_sales_schedulesx-itm_number = lv_sales_posnr1.
ls_sales_schedulesx-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedulesx-REQ_QTY = 'X'.
APPEND ls_sales_schedulesx TO lt_sales_schedulesx.
CLEAR: ls_sales_schedulesx.
ENDLOOP.
Kindly let me know the solution and tel me when i'm not getting the quantity field if im sending customer material.
With Regards,
Sudhir.
2015 Feb 13 10:53 AM
Hi All,
1. Quantity field will be filled only with Material Number (MATNR), not with Customer Material (CUST_MAT35).
2. But Excel file contains only Customer Material (CUST_MAT35).
3. So Fetch Material Number (MATNR) and Customer Material (CUST_MAT35) from the table KNMT (Customer-Material Info Record Data Table).
4a. Pass the Material Number (MATNR) which comes from the table KNMT.
4b. Pass the Customer Material (CUST_MAT35) and Quantity (KWMENG) which comes from the Excel file.
5. Sales Order created with Material Number (MATNR), Customer Material (CUST_MAT35) and Quantity (KWMENG).
With Regards,
Sudhir.
Hi,
My requirement is to create Sales Order via Excel File where I'm using BAPI. Its working fine.
Two different Reports with two different Excel files.
In Excel File 1: I'm sending MATNR (Material), im getting the KWMENG (Quantity Field) field at Tcode level.
In Excel File 2: I'm sending CUST_MAT35 (Customer Material), KWMENG (Quantity Field) is not filled at Tcode level.
Kindly find the below code and screen shots.
1. MATNR (Material) with KWMENG (Quantity Field):
*Item
LOOP AT lt_sales INTO ls_sales WHERE KUNNR = ls_sales_header-KUNNR.
lv_sales_posnr = lv_sales_posnr + 10.
ls_sales_items-itm_number = lv_sales_posnr.
ls_sales_items-plant = ls_sales-werks.
ls_sales_items-material = ls_sales-matnr.
ls_sales_items-target_qty = ls_sales-KWMENG.
ls_sales_items-TARGET_QU = 'EA'.
APPEND ls_sales_items TO lt_sales_items.
CLEAR: ls_sales_items.
ls_sales_items_inx-itm_number = 'X'.
ls_sales_items_inx-plant = 'X'.
ls_sales_items_inx-material = 'X'.
ls_sales_items_inx-target_qty = 'X'.
ls_sales_items_inx-TARGET_QU = 'X'.
APPEND ls_sales_items_inx TO lt_sales_items_inx.
CLEAR: ls_sales_items_inx.
*Schedule lines
lv_sales_posnr1 = lv_sales_posnr1 + 10.
ls_sales_schedules-itm_number = lv_sales_posnr1.
lv_sales_ETENR = lv_sales_ETENR + 10.
ls_sales_schedules-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedules-REQ_QTY = ls_sales-KWMENG.
APPEND ls_sales_schedules TO lt_sales_schedules.
CLEAR: ls_sales_schedules.
ls_sales_schedulesx-itm_number = lv_sales_posnr1.
ls_sales_schedulesx-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedulesx-REQ_QTY = 'X'.
APPEND ls_sales_schedulesx TO lt_sales_schedulesx.
CLEAR: ls_sales_schedulesx.
ENDLOOP.
2. CUST_MAT35 (Customer Material) with KWMENG (Quantity Field):
*Item
LOOP AT lt_sales INTO ls_sales WHERE DOC_TYPE = ls_sales_header-DOC_TYPE.
lv_sales_posnr = lv_sales_posnr + 10.
ls_sales_items-itm_number = lv_sales_posnr.
ls_sales_items-plant = ls_sales-werks.
ls_sales_items-CUST_MAT35 = ls_sales-KDMAT.
ls_sales_items-target_qty = ls_sales-KWMENG.
ls_sales_items-TARGET_QU = 'EA'.
APPEND ls_sales_items TO lt_sales_items.
CLEAR: ls_sales_items.
ls_sales_items_inx-itm_number = lv_sales_posnr.
ls_sales_items_inx-plant = 'X'.
ls_sales_items_inx-CUST_MAT35 = 'X'.
ls_sales_items_inx-target_qty = 'X'.
ls_sales_items_inx-TARGET_QU = 'X'.
APPEND ls_sales_items_inx TO lt_sales_items_inx.
CLEAR: ls_sales_items_inx.
*Schedule lines
lv_sales_posnr1 = lv_sales_posnr1 + 10.
ls_sales_schedules-itm_number = lv_sales_posnr1.
lv_sales_ETENR = lv_sales_ETENR + 10.
ls_sales_schedules-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedules-REQ_QTY = ls_sales-KWMENG.
APPEND ls_sales_schedules TO lt_sales_schedules.
CLEAR: ls_sales_schedules.
ls_sales_schedulesx-itm_number = lv_sales_posnr1.
ls_sales_schedulesx-SCHED_LINE = lv_sales_ETENR.
ls_sales_schedulesx-REQ_QTY = 'X'.
APPEND ls_sales_schedulesx TO lt_sales_schedulesx.
CLEAR: ls_sales_schedulesx.
ENDLOOP.
Kindly let me know the solution and tel me when i'm not getting the quantity field if im sending customer material.
With Regards,
Sudhir.
2015 Feb 13 10:53 AM
Hi All,
1. Quantity field will be filled only with Material Number (MATNR), not with Customer Material (CUST_MAT35).
2. But Excel file contains only Customer Material (CUST_MAT35).
3. So Fetch Material Number (MATNR) and Customer Material (CUST_MAT35) from the table KNMT (Customer-Material Info Record Data Table).
4a. Pass the Material Number (MATNR) which comes from the table KNMT.
4b. Pass the Customer Material (CUST_MAT35) and Quantity (KWMENG) which comes from the Excel file.
5. Sales Order created with Material Number (MATNR), Customer Material (CUST_MAT35) and Quantity (KWMENG).
With Regards,
Sudhir.