如何用代碼填充S/4HANA銷售訂單行項目的數量字段
阿新 • • 發佈:2018-11-11
alt err view 代碼 material 關註 clas rip 獲取
我的任務是用代碼生成S/4HANA銷售訂單(Sales Order)的行項目,並且填充對應的quantity(數量)值。
最開始我用了下面的代碼,把quantity的值寫入item字段target_qty:
ls_order_items_in-item_categ = ‘TAN‘. ls_order_items_in-material = ‘REDUCER_A‘. ls_order_items_in-target_qty = 999. ls_order_items_in-itm_number = 10. ls_order_item_x-item_categ = ‘X‘. ls_order_item_x-material = ‘X‘. ls_order_item_x-target_qty = ‘X‘. ls_order_item_x-itm_number = ‘X‘. ls_order_item_x-updateflag = ‘I‘. APPEND ls_order_item_x TO lt_order_item_x. APPEND ls_order_items_in TO lt_order_items_in.
執行後發現不工作。
研究了一個維護有正確quantity的行項目,發現這個quantity字段實際上是維護在item的schedule line上的:
而我們在item上看到的order quantity,從F1幫助文檔裏已經看得很清楚了,是一個累加值,所有schedule line的quantity的求和。
所以正確的代碼應該是還得創建item的schedule line:
ls_schdlin-itm_number = 10. ls_schdlin-req_qty = 3. ls_schdlinx-itm_number = ‘X‘. ls_schdlinx-itm_number = ‘X‘. ls_schdlinx-updateflag = ‘X‘. APPEND ls_schdlin TO lt_schdlin. APPEND ls_schdlinx TO lt_schdlinx.
完整代碼下圖所示:
要獲取更多Jerry的原創文章,請關註公眾號"汪子熙":
如何用代碼填充S/4HANA銷售訂單行項目的數量字段