在lips追加拣配数量
生活随笔
收集整理的這篇文章主要介紹了
在lips追加拣配数量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近比較忙,此方案出后測試了很多種情況都存在問題,只能留待以后處理了......
1.進入SE11鍵入LIPS表,點擊APPEND STRUCTURE創建結構ZPIKMG,在結構中添加字段ZZPIKMG,如下圖;
2.進入SE38鍵入MV50AFZ1,找到??USEREXIT_MOVE_FIELD_TO_LIPS?這個FORM,寫入程序,代碼如下:
IF?SY-TCODE?=?'VL01N'?OR?SY-TCODE?=?'VL01'.
????BREAK?GWANG.
????DATA:lt_xlips?LIKE?XLIPS?OCCURS?0?WITH?HEADER?LINE.
????lo_lips-pikmg?=?LIPSD-PIKMG.
*--LIPS-ZZHIDE_QTY?IS?THE?ACTUAL?FIELD?TO?STORE?THE?HIDE?QTY
????lips-ZZPIKMG?=?LIPSD-PIKMG.
*--modify?record?back?in?xlips
????lt_xlips[]?=?xlips[].
????READ?TABLE?lt_xlips?WITH?KEY?vbeln?=?lips-vbeln
?????????????????????????????????posnr?=?lips-posnr.
????IF?sy-subrc?EQ?0.
??????lt_xlips-pikmg?=?XLIPS-pikmg.
??????lt_xlips-ZZpikmg?=?LIPSD-PIKMG.
??????MODIFY?lt_xlips?INDEX?SY-TABIX.
??????MODIFY?xlips?FROM?lt_xlips?INDEX?sy-tabix?TRANSPORTING?PIKMG??ZZpikmg."
????ENDIF.
??ELSE.
????DATA:E_PIKMG?TYPE?PIKMG.
????CLEAR?E_PIKMG.
????CALL?FUNCTION?'WB2_GET_PICK_QUANTITY'
??????EXPORTING
????????i_vbeln???????????????????=?LIKP-VBELN
????????i_posnr???????????????????=?LIPS-POSNR
*???????I_MODE????????????????????=?'?'
?????IMPORTING
???????E_PIKMG???????????????????=?E_PIKMG
?????EXCEPTIONS
???????DOCUMENT_READ_ERROR???????=?1
???????OTHERS????????????????????=?2
??????????????.
????IF?sy-subrc?<>?0.
*?MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
*?????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
????ENDIF.
*????DATA:lt_xlips?LIKE?XLIPS?OCCURS?0?WITH?HEADER?LINE.
????lo_lips-pikmg?=?E_PIKMG.
*--LIPS-ZZHIDE_QTY?IS?THE?ACTUAL?FIELD?TO?STORE?THE?HIDE?QTY
????lips-ZZPIKMG?=?E_PIKMG.
*--modify?record?back?in?xlips
????lt_xlips[]?=?xlips[].
????READ?TABLE?lt_xlips?WITH?KEY?vbeln?=?lips-vbeln
?????????????????????????????????posnr?=?lips-posnr.
????IF?sy-subrc?EQ?0.
*??????lt_xlips-pikmg?=?XLIPS-pikmg.
??????lt_xlips-ZZpikmg?=?E_PIKMG.
??????MODIFY?lt_xlips?INDEX?SY-TABIX.
??????MODIFY?xlips?FROM?lt_xlips?INDEX?sy-tabix?TRANSPORTING??ZZpikmg."
????ENDIF.
??ENDIF. 這個FORM貌似在修改交貨單數量回車后觸發,因此創建交貨單時出現問題,需要對交貨單交貨數量 按行項目順序做修改才能得到正確結果,其他情況將無法得到LIPSD-PIKMG這個屏幕字段的值,如哪位兄弟有更好的方法,望賜教,謝謝!
????BREAK?GWANG.
????DATA:lt_xlips?LIKE?XLIPS?OCCURS?0?WITH?HEADER?LINE.
????lo_lips-pikmg?=?LIPSD-PIKMG.
*--LIPS-ZZHIDE_QTY?IS?THE?ACTUAL?FIELD?TO?STORE?THE?HIDE?QTY
????lips-ZZPIKMG?=?LIPSD-PIKMG.
*--modify?record?back?in?xlips
????lt_xlips[]?=?xlips[].
????READ?TABLE?lt_xlips?WITH?KEY?vbeln?=?lips-vbeln
?????????????????????????????????posnr?=?lips-posnr.
????IF?sy-subrc?EQ?0.
??????lt_xlips-pikmg?=?XLIPS-pikmg.
??????lt_xlips-ZZpikmg?=?LIPSD-PIKMG.
??????MODIFY?lt_xlips?INDEX?SY-TABIX.
??????MODIFY?xlips?FROM?lt_xlips?INDEX?sy-tabix?TRANSPORTING?PIKMG??ZZpikmg."
????ENDIF.
??ELSE.
????DATA:E_PIKMG?TYPE?PIKMG.
????CLEAR?E_PIKMG.
????CALL?FUNCTION?'WB2_GET_PICK_QUANTITY'
??????EXPORTING
????????i_vbeln???????????????????=?LIKP-VBELN
????????i_posnr???????????????????=?LIPS-POSNR
*???????I_MODE????????????????????=?'?'
?????IMPORTING
???????E_PIKMG???????????????????=?E_PIKMG
?????EXCEPTIONS
???????DOCUMENT_READ_ERROR???????=?1
???????OTHERS????????????????????=?2
??????????????.
????IF?sy-subrc?<>?0.
*?MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
*?????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
????ENDIF.
*????DATA:lt_xlips?LIKE?XLIPS?OCCURS?0?WITH?HEADER?LINE.
????lo_lips-pikmg?=?E_PIKMG.
*--LIPS-ZZHIDE_QTY?IS?THE?ACTUAL?FIELD?TO?STORE?THE?HIDE?QTY
????lips-ZZPIKMG?=?E_PIKMG.
*--modify?record?back?in?xlips
????lt_xlips[]?=?xlips[].
????READ?TABLE?lt_xlips?WITH?KEY?vbeln?=?lips-vbeln
?????????????????????????????????posnr?=?lips-posnr.
????IF?sy-subrc?EQ?0.
*??????lt_xlips-pikmg?=?XLIPS-pikmg.
??????lt_xlips-ZZpikmg?=?E_PIKMG.
??????MODIFY?lt_xlips?INDEX?SY-TABIX.
??????MODIFY?xlips?FROM?lt_xlips?INDEX?sy-tabix?TRANSPORTING??ZZpikmg."
????ENDIF.
??ENDIF. 這個FORM貌似在修改交貨單數量回車后觸發,因此創建交貨單時出現問題,需要對交貨單交貨數量 按行項目順序做修改才能得到正確結果,其他情況將無法得到LIPSD-PIKMG這個屏幕字段的值,如哪位兄弟有更好的方法,望賜教,謝謝!
總結
以上是生活随笔為你收集整理的在lips追加拣配数量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP ABAP 内表使用
- 下一篇: CPU的插槽类型LGA与Socket 的