• QE01/QA11/QA02屏幕增强


    1、业务需求

    需要对来料检验增加“合格数量”和“不合格数量”字段,涉及三个增强开发

    2、QE01\QE02\QE03\QE51N屏幕增强

    增强表

    增强点BADI:QEEM_SUBSCREEN_5000

    创建程序,包含子屏幕,在增强点中调用

    在程序屏幕中绘制字段

    在输出流中可以通过事务代码控制字段编辑和必输效果

    1. "--------------------@斌将军--------------------
    2. MODULE status_9001 OUTPUT.
    3. DATA:lv_input TYPE char1,
    4. lv_req TYPE char1.
    5. "可编辑设置
    6. IF sy-tcode = 'QE01' OR sy-tcode = 'QE02'.
    7. lv_input = '1'.
    8. lv_req = '1'.
    9. ELSEIF sy-tcode = 'QA11' OR sy-tcode = 'QA12'.
    10. lv_input = '1'.
    11. lv_req = '0'.
    12. ELSE.
    13. lv_input = '0'.
    14. ENDIF.
    15. LOOP AT SCREEN.
    16. IF screen-name = 'QALS-ZHGSL' OR screen-name = 'QALS-ZBHGSL'.
    17. screen-input = lv_input.
    18. screen-required = lv_req.
    19. MODIFY SCREEN.
    20. ENDIF.
    21. ENDLOOP.
    22. ENDMODULE.
    23. "--------------------@斌将军--------------------

    在保存数据时,需要实现增强BADI:QE_SAVE

    代码如下:

    IS_ACTIVE

    1. "--------------------@斌将军--------------------
    2. METHOD if_ex_qe_save~is_active.
    3. IF sy-ucomm = 'BU'.
    4. rv_active = abap_true.
    5. ENDIF.
    6. ENDMETHOD.
    7. "--------------------@斌将军--------------------

    TABLES_IN_OPERATION

    1. "--------------------@斌将军--------------------
    2. METHOD if_ex_qe_save~tables_in_operation.
    3. IF sy-tcode = 'QE01' OR sy-tcode = 'QE02'.
    4. MODIFY qals FROM is_qals.
    5. ev_saving_allowed = abap_true.
    6. ENDIF.
    7. ENDMETHOD.
    8. "--------------------@斌将军--------------------

    效果如下

    3、QA11\QA12\QA13\QA14屏幕增强

    BADI:QEVA_SUBSCREEN_1101

    创建程序,包含子屏幕,在增强点中调用。此处共用了ZQM003程序

    4、QA0\QA02\QA03屏幕增强

    增强点CMOD:QPL10004

    TOP中定义变量

    在屏幕100中绘制字段

    输出流控制字段编辑

    1. "--------------------@斌将军--------------------
    2. MODULE status_0100 OUTPUT.
    3. * SET PF-STATUS 'xxxxxxxx'.
    4. * SET TITLEBAR 'xxx'.
    5. LOOP AT SCREEN.
    6. IF screen-name = 'QALS_CUST-ZHGSL' OR screen-name = 'QALS_CUST-ZBHGSL'.
    7. IF gv_display = 'X'.
    8. screen-input = '0'.
    9. MODIFY SCREEN.
    10. ENDIF.
    11. ENDIF.
    12. ENDLOOP.
    13. ENDMODULE.
    14. "--------------------@斌将军--------------------

    在EXIT_SAPLQPL1_004中展示数据

    1. "--------------------@斌将军--------------------
    2. *&---------------------------------------------------------------------*
    3. *& 包含 ZXQPLU04
    4. *&---------------------------------------------------------------------*
    5. DATA: l_trtyp LIKE t160-trtyp,
    6. l_fs_c(30) TYPE c VALUE '(SAPLQPL1)G_T185F_AKTI'.
    7. FIELD-SYMBOLS: .
    8. ASSIGN (l_fs_c) TO .
    9. IF sy-subrc = 0.
    10. l_trtyp = .
    11. CASE l_trtyp.
    12. WHEN 'A'.
    13. gv_display = 'X'.
    14. WHEN OTHERS.
    15. gv_display = ''.
    16. ENDCASE.
    17. ENDIF.
    18. MOVE-CORRESPONDING i_qals TO qals_cust.
    19. "--------------------@斌将军--------------------

    在EXIT_SAPLQPL1_006中存储数据

    1. "--------------------@斌将军--------------------
    2. *&---------------------------------------------------------------------*
    3. *& 包含 ZXQPLU06
    4. *&---------------------------------------------------------------------*
    5. MOVE-CORRESPONDING qals_cust TO e_qals_cust.
    6. e_active = 'X'.
    7. "--------------------@斌将军--------------------

    欢迎关注,定期更文

  • 相关阅读:
    asp.net课程设计旅游景点推荐系统网站
    【云原生-k8s】Linux服务器搭建单机版kubernetes服务
    【声呐仿真】学习记录1.5-使用docker配置dave(先看这个!)、解决一些问题
    【arcgis】地图数据加载优化方法
    itertools:Python3迭代库(持续更新ing...)
    【刷题笔记】之牛客面试必刷TOP101(1)
    图像分割(二)——低照度下自然场景下图像分割的一种新方法
    云环境固有特性及其对密码效能的挑战
    【科学计算与可视化】3. Matplotlib 绘图基础
    解决OpenOCD烧录STM32失败, 无法通过SWD连接的问题
  • 原文地址:https://blog.csdn.net/BinGeneral/article/details/133839227