在lips追加拣配数量
来源:互联网 发布:linux c编程实战pdf 编辑:程序博客网 时间:2024/05/02 01:04
最近比较忙,此方案出后测试了很多种情况都存在问题,只能留待以后处理了......
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.
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这个屏幕字段的值,如哪位兄弟有更好的方法,望赐教,谢谢!
1 0
- 在lips追加拣配数量
- 在lips追加拣配数量
- LiMO吃掉LiPS!
- 在文本文件中追加数据
- 在文本文件中追加数据
- Linux 系统裁减指南 (LiPS)》
- LiMo吃掉LiPs的内幕。
- 用SQL在文本文件中追加数据
- 在Text字段尾部追加数据
- 在JTextPane中追加Html内容
- SQL2000在數據表中追加數據
- 用SQL在文本文件中追加数据
- 在Text字段尾部追加数据
- 在Text字段尾部追加数据
- 在Text字段尾部追加数据
- 在Text字段尾部追加数据
- 在Text字段尾部追加数据
- 用SQL在文本文件中追加数据
- iOS开发中,对请求数据出现<null>的一些简单处理
- Table './tsar/cpu_1' is marked as crashed and should be repaired
- 如何快速学习一门新技术
- 计算机常用英语词汇
- Windows下单机安装Spark开发环境
- 在lips追加拣配数量
- 开通博客
- 法院诉讼费标准是什么,如何收取诉讼费
- 关于iObjects动态图层硬件加速的性能对比
- Android 6.0 指纹识别功能详细分析
- html video poster 属性 重复请求页面
- JS获取url参数
- java 动态代理(JDK和Cglib)
- Java分布式应用技术架构介绍