1.屏幕增强
增强点:SMOD:PPCO0012
1.1 函数组top定义

TABLES coci_aufk.
DATA g_display TYPE c LENGTH 1.
DATA gs_caufvd TYPE caufvd.
新建自定义屏幕0100


1.2 PBO逻辑流代码
MODULE status_0100 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
IF g_display = 'X'.
LOOP AT SCREEN.
IF screen-name+0(9) = 'COCI_AUFK'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
PERFORM frm_init_list_box.
ENDMODULE.
FORM frm_init_list_box .
DATA: lt_values TYPE vrm_values.
SELECT zfglx AS key,
zfglx_text AS text
INTO CORRESPONDING FIELDS OF TABLE @lt_values
FROM zppt0007
WHERE werks = @gs_caufvd-werks.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'COCI_AUFK-ZZFGLX'
values = lt_values
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
ENDFORM.
1.3 出口EXIT_SAPLCOKO1_001代码
*&---------------------------------------------------------------------*
*& 包含 ZXCO1U11
*&---------------------------------------------------------------------*
CLEAR:gs_caufvd.
ASSIGN ('(SAPLCOKO1)RC27S-AKTYP_PIC') TO FIELD-SYMBOL(<fs_aktyp>).
IF <fs_aktyp> IS ASSIGNED.
IF <fs_aktyp> = 'A'.
g_display = 'X'.
ELSE.
g_display = ''.
ENDIF.
ENDIF.
coci_aufk-zzfglx = i_caufvd-zzfglx. "反攻类型 Jeff 20250311
MOVE-CORRESPONDING i_caufvd TO gs_caufvd.
1.4 出口EXIT_SAPLCOKO1_002代码
*&---------------------------------------------------------------------*
*& 包含 ZXCO1U12
*&---------------------------------------------------------------------*
e_coci_aufk-zzfglx = coci_aufk-zzfglx.
1.5 创建项目CMOD,分配组件,并激活

1.6 效果

1.7 生产订单保存检查增强
SMOD: PPCO0007 保存生产订单时退出
出口函数 EXIT_SAPLCOZV_001代码
这里注意不要直接报E消息,屏幕灰色修改不了,体验比较糟糕
用'S'消息DISPLAY LIKE 'E',使用no_update标记控制不保存订单
IF ( header_imp-auart = 'ZP96' "返工订单类型必填控制 Jeff 20250311
OR header_imp-auart = 'ZP70'
OR header_imp-auart = 'ZP99' )
AND header_imp-werks = '1100'
AND header_imp-zzfglx IS INITIAL.
no_update = 'X'.
MESSAGE s004(zpp001) WITH header_imp-auart DISPLAY LIKE 'E'.
ENDIF.
2.COOIS增强
增强结构CI_AUFK

BADI:WORKORDER_INFOSYSTEM
IF_EX_WORKORDER_INFOSYSTEM~TABLES_MODIFY_LAY
IF temp_ioheader-zzfglx IS NOT INITIAL. "返工订单类型文本
SELECT SINGLE zfglx_text
INTO temp_ioheader-zzfglx_text
FROM zppt0007
WHERE werks = temp_ioheader-werks
AND zfglx = temp_ioheader-zzfglx.
ENDIF.

1952

被折叠的 条评论
为什么被折叠?



