SAP 货物移动 BAPI 的简单使用 BAPI_GOODSMVT_CREATE
生活随笔
收集整理的這篇文章主要介紹了
SAP 货物移动 BAPI 的简单使用 BAPI_GOODSMVT_CREATE
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在進行貨物移動時,會經常用到??BAPI_GOODSMVT_CREATE 這個BAPI ,在使用這個BAPI是有三個參數是必須傳進去的 1.抬頭數據 ?一般只要傳個時間,過賬人就可以了 ?2.行項目數據 ?也就具體要進行過賬的物料 ?這里得根據不同移動類型選擇不同的參數 ??3.移動碼 這個一般是根據移動性質判斷的?
下面是一段105移庫的代碼,由于是根據采購訂單的 所以參數里面指定了采購訂單。
?DATA:output_header???LIKE?bapi2017_gm_head_01?,
???????output_code?????LIKE?bapi2017_gm_code.
??DATA:lh_input_mblnr??TYPE?mseg-mblnr,
???????lh_string???????TYPE?string,
???????lh_row??????????TYPE?char3.
??DATA:i_bukrs?????????TYPE?ekko-bukrs.
??TYPES:input_item?????LIKE?bapi2017_gm_item_create,
????????input_number???LIKE?bapi2017_gm_serialnumber,
????????input_return???LIKE?bapiret2?.
??DATA:it_input_item???TYPE?STANDARD?TABLE?OF?input_item,
???????lt_input_item???LIKE?LINE?OF?it_input_item,
???????it_input_return?TYPE?STANDARD?TABLE?OF?input_return,
???????lt_input_return?LIKE?LINE?OF?it_input_return,
???????it_input_number?TYPE?STANDARD?TABLE?OF?input_number,
???????lt_input_number?LIKE?LINE?OF?it_input_number.
??DATA:it_marv?????????TYPE?STANDARD?TABLE?OF?marv,
???????wa_marv?????????LIKE?LINE?OF?it_marv.
??REFRESH:it_input_item,it_input_return,it_input_number.
??CLEAR:output_header,output_code.
??output_header-pstng_date?=?sy-datum.
??output_header-doc_date???=?sy-datum.
??output_header-doc_date???=?sy-datum.
??"
??lt_input_item-material???=?'KT1000010'.???"物料
??lt_input_item-plant??????=?'3710'.????????"發出工廠
??lt_input_item-stge_loc???=?'P200'.????????"發獲倉
??lt_input_item-move_stloc?=?'P800'.????????"收獲貨倉庫
??lt_input_item-move_type??=?'105'.?????????"移動類型
??lt_input_item-entry_qnt??=?'1'.???????????"數量
??lt_input_item-stck_type??=?'X'.???????????"X??為移動到質檢倉?其他點擊進去看
??lt_input_item-po_number?=?'4500000456'.???"采購訂單
??lt_input_item-po_item?=?'00010'.??????????"行項目
??lt_input_item-entry_uom??=?'ST'.??????????"指定單位
??lt_input_item-mvt_ind?=?'B'.??????????????"指定移庫為采購訂單
??APPEND?lt_input_item?TO?it_input_item.
??CLEAR:lh_input_mblnr.
??IF?it_input_item?IS?NOT?INITIAL.
????CALL?FUNCTION?'BAPI_GOODSMVT_CREATE'
??????EXPORTING
????????goodsmvt_header??=?output_header
????????goodsmvt_code????=?'01'
??????IMPORTING
????????materialdocument?=?lh_input_mblnr
??????TABLES
????????goodsmvt_item????=?it_input_item
????????return???????????=?it_input_return.
????IF?sy-subrc?=?0?AND?lh_input_mblnr?<>?''.
??????CALL?FUNCTION?'BAPI_TRANSACTION_COMMIT'
????????EXPORTING
??????????wait?=?'X'.
??????COMMIT?WORK?AND?WAIT.
??????IF?sy-subrc?=?0.
????????MESSAGE?s999(zmes)?WITH?lh_input_mblnr?'庫存調撥單過賬成功'.
??????ENDIF.
????ELSE.
***轉出操作失敗。
??????CLEAR:lh_string.
??????LOOP?AT?it_input_return?INTO?lt_input_return?.
????????CLEAR:?lh_row.
????????lh_row?=?lt_input_return-row.
????????CONCATENATE??lt_input_return-message?lh_string
???????????INTO?lh_string?SEPARATED?BY?space.
??????ENDLOOP.
??????MESSAGE?i999(zmes)?WITH?lh_string.
????ENDIF.
??ENDIF.
下面是一段105移庫的代碼,由于是根據采購訂單的 所以參數里面指定了采購訂單。
?DATA:output_header???LIKE?bapi2017_gm_head_01?,
???????output_code?????LIKE?bapi2017_gm_code.
??DATA:lh_input_mblnr??TYPE?mseg-mblnr,
???????lh_string???????TYPE?string,
???????lh_row??????????TYPE?char3.
??DATA:i_bukrs?????????TYPE?ekko-bukrs.
??TYPES:input_item?????LIKE?bapi2017_gm_item_create,
????????input_number???LIKE?bapi2017_gm_serialnumber,
????????input_return???LIKE?bapiret2?.
??DATA:it_input_item???TYPE?STANDARD?TABLE?OF?input_item,
???????lt_input_item???LIKE?LINE?OF?it_input_item,
???????it_input_return?TYPE?STANDARD?TABLE?OF?input_return,
???????lt_input_return?LIKE?LINE?OF?it_input_return,
???????it_input_number?TYPE?STANDARD?TABLE?OF?input_number,
???????lt_input_number?LIKE?LINE?OF?it_input_number.
??DATA:it_marv?????????TYPE?STANDARD?TABLE?OF?marv,
???????wa_marv?????????LIKE?LINE?OF?it_marv.
??REFRESH:it_input_item,it_input_return,it_input_number.
??CLEAR:output_header,output_code.
??output_header-pstng_date?=?sy-datum.
??output_header-doc_date???=?sy-datum.
??output_header-doc_date???=?sy-datum.
??"
??lt_input_item-material???=?'KT1000010'.???"物料
??lt_input_item-plant??????=?'3710'.????????"發出工廠
??lt_input_item-stge_loc???=?'P200'.????????"發獲倉
??lt_input_item-move_stloc?=?'P800'.????????"收獲貨倉庫
??lt_input_item-move_type??=?'105'.?????????"移動類型
??lt_input_item-entry_qnt??=?'1'.???????????"數量
??lt_input_item-stck_type??=?'X'.???????????"X??為移動到質檢倉?其他點擊進去看
??lt_input_item-po_number?=?'4500000456'.???"采購訂單
??lt_input_item-po_item?=?'00010'.??????????"行項目
??lt_input_item-entry_uom??=?'ST'.??????????"指定單位
??lt_input_item-mvt_ind?=?'B'.??????????????"指定移庫為采購訂單
??APPEND?lt_input_item?TO?it_input_item.
??CLEAR:lh_input_mblnr.
??IF?it_input_item?IS?NOT?INITIAL.
????CALL?FUNCTION?'BAPI_GOODSMVT_CREATE'
??????EXPORTING
????????goodsmvt_header??=?output_header
????????goodsmvt_code????=?'01'
??????IMPORTING
????????materialdocument?=?lh_input_mblnr
??????TABLES
????????goodsmvt_item????=?it_input_item
????????return???????????=?it_input_return.
????IF?sy-subrc?=?0?AND?lh_input_mblnr?<>?''.
??????CALL?FUNCTION?'BAPI_TRANSACTION_COMMIT'
????????EXPORTING
??????????wait?=?'X'.
??????COMMIT?WORK?AND?WAIT.
??????IF?sy-subrc?=?0.
????????MESSAGE?s999(zmes)?WITH?lh_input_mblnr?'庫存調撥單過賬成功'.
??????ENDIF.
????ELSE.
***轉出操作失敗。
??????CLEAR:lh_string.
??????LOOP?AT?it_input_return?INTO?lt_input_return?.
????????CLEAR:?lh_row.
????????lh_row?=?lt_input_return-row.
????????CONCATENATE??lt_input_return-message?lh_string
???????????INTO?lh_string?SEPARATED?BY?space.
??????ENDLOOP.
??????MESSAGE?i999(zmes)?WITH?lh_string.
????ENDIF.
??ENDIF.
總結
以上是生活随笔為你收集整理的SAP 货物移动 BAPI 的简单使用 BAPI_GOODSMVT_CREATE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mule与Servicemix比较
- 下一篇: Mule,目前综合状态最良好的开源ESB