如何用程式碼填充S/4HANA銷售訂單行專案的數量欄位

i042416發表於2018-11-10

我的任務是用程式碼生成S/4HANA銷售訂單(Sales Order)的行專案,並且填充對應的quantity(數量)值。

如何用程式碼填充S/4HANA銷售訂單行專案的數量欄位

最開始我用了下面的程式碼,把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上的:

如何用程式碼填充S/4HANA銷售訂單行專案的數量欄位

而我們在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.

完整程式碼下圖所示:

如何用程式碼填充S/4HANA銷售訂單行專案的數量欄位

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2219518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章