在LIPS表追加拣配数量PIKMG字段(转)
2024-08-28 23:27:18
最近比较忙,此方案出后测试了很多种情况都存在问题,只能留待以后处理了......
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.
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这个屏幕字段的值,如哪位兄弟有更好的方法,望赐教,谢谢!
最新文章
- Electron安装
- 微软 消息队列 MessageQueue 简单使用
- HDU 3791二叉搜索树解题(解题报告)
- 20145233 GDB调试汇编分析
- Deep Learning 16:用自编码器对数据进行降维_读论文“Reducing the Dimensionality of Data with Neural Networks”的笔记
- Cocos2d-JS替换初始化场景
- Spring笔记——使用Spring进行面向切面(AOP)编程
- web.xml配置详解之listener与context-param
- orcale同一条语句运行速度差异问题
- (转)Ajax的原理和应用
- Nancy 搭建
- Windows Phone开发人员必看资料
- ReactiveX--响应式编程の相关概念 浅析
- A Simple Problem with Integers(线段树区间更新模板)
- js异步下载文件请求
- 闭包可以存储变量(下标) 小demo
- python中得公有和私有——私有函数和公开函数_补充完整
- Linux 命令详解(九)轻易删除OpenSSL 的后果
- Spring Boot 集成 Redis 实现缓存机制
- CoordinateLayout简介
热门文章
- Git同步问题
- android中两个不同名称的app不能同时安装
- django中collectstatic的使用
- iconv 转换文件的编码格式
- mysql查询每个部门/班级前几名
- 为啥HashMap的默认容量是16
- margin 和padding 的区别
- HAProxy+Heartbeat双节点出现VIP情况
- python-数据驱动
- ht-8 对arrayList中的自定义对象排序( Collections.sort(List<;T>; list, Comparator<;? super T>; c))