CO01生产订单屏幕增强
1、文档介绍
本文档介绍在生产订单抬头页签中增强字段
2、实现方法
生产订单抬头AUFK表的CI_AUFK中新增屏幕字段
CMOD 增强分配PPCO0012
修改0100屏幕,新增对应字段
EXIT_SAPLCOKO1_001——>ZXCO1U11
首先在ZXCO1TOP中引入增强结构COCI_AUFK
将前台输入的数据放入增强结构中,本例还通过工厂限制增强字段是否启用,根据事务代码限制增强字段是否可编辑
此处还可根据系统变量,控制编辑状态
EXIT_SAPLCOKO1_002——>ZXCO1U12
回到0100屏幕
status_0100代码如下
"--------------------@斌将军-------------------- IF gv_activity = 'X'. DATA:lt_list TYPE vrm_values, ls_list TYPE vrm_value. SELECT werks,"工厂 zlxbs,"订单类型 zlxbsms"订单类型文本 (30 个字符) FROM zXX INTO TABLE @DATA(lt_ddlx) WHERE werks = @gv_werks. REFRESH:lt_list. LOOP AT lt_ddlx INTO DATA(ls_ddlx). CLEAR:ls_list. ls_list-key = ls_ddlx-zlxbs. ls_list-text = ls_ddlx-zlxbsms. APPEND ls_list TO lt_list. ENDLOOP. CALL FUNCTION 'VRM_SET_VALUES' EXPORTING id = 'COCI_AUFK-ZLXBS' values = lt_list EXCEPTIONS id_illegal_name = 1 OTHERS = 2. "设置字段不可编辑 IF gv_edit <> 'X'. LOOP AT SCREEN. IF screen-name+(9) = 'COCI_AUFK'. screen-input = '0'. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF. ELSE. LOOP AT SCREEN. IF screen-name+(9) = 'COCI_AUFK'. screen-active = '0'. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF. "--------------------@斌将军--------------------
3、特殊处理
当增强字段多,又要分工厂显示不同的增强字段,可以通过画两个屏幕,在不同工厂时调用不同的屏幕,方法如下
在原本的100屏幕中,只画一个子屏幕区域
并定义9001和9002两个子屏幕,在这两个屏幕中放入不同的增强字段
在TOP中定义屏幕变量
在100的屏幕流中判断工厂
"--------------------@斌将军-------------------- MODULE status_0100 OUTPUT. "新增代码 FIELD-SYMBOLS: <zfs_werks> TYPE aufk-werks. ASSIGN ('(SAPLCOKO1)CAUFVD-WERKS') TO <zfs_werks>. IF <zfs_werks> = '3060'. gv_sid1 = '9002'." ELSE. gv_sid1 = '9001'." ENDIF. ENDMODULE. "--------------------@斌将军--------------------
在100屏幕流中调用子屏幕,展示不同子屏幕内容即可
定期更文,欢迎关注