• abapselect screen运行跟踪纪录供大家参考


    跟踪调试代码执行的过程

    -------------------------------------------------------------------------程序中的事件代码
    INITIALIZATION(ZTEST4)

    ==============
       system-exit
    ==============
    INIT_%_INIT(RSDBRUNT)
       %_INIT-GET(ZTEST4)
           %_INIT_GET_EVENTS(SAPDB__S)
       %_INIT_DYN_NODES(ZTEST4)
    %_CTL_INIT(ZTEST4-><SYSINI>:MODULE (PBO))
        %_CTL_INIT(SAPMSSYD)
             SYSTEM-CALL KERNEL_INFO 'CONTROL_IMODE_OO' l_imode_controls.
    %_INIT_PBO(ZTEST4:MODULE (PBO))
        %_INIT_PBO_NEW(ZTEST4)
            INIT_PBO(RSDBRUNT)
               %_INIT_PBO_FIRST
                    *由SYSTEM-CALL INITIALIZATION.触发调用
    -------------------------------------------------------------------------程序中的事件代码
                       INITIALIZATION(ZTEST4)
                    PHASE = 3.
                    *当再次出现选择屏幕时会调用下面的子过程从内存中读取选择屏幕变量,这就是造成赋值不起作用的原因
                    %_IMPORT_VAR_FROM_MEM (ZTEST4)

                 %_INIT_PBO_LAST.        
                     *设置菜单功能代码

    %_PBO_REPORT(ZTEST4:MODULE (PBO))
    -------------------------------------------------------------------------程序中的事件代码
         AT SELECTION-SCREEN OUTPUT(ZTEST4)

    %_PF_STATUS(ZTEST4-><REPINI>:MODULE (PBO))
         SET_PF_STATUS(RSDBRUNT)
    %_S_CARRID(ZTEST4:MODULE (PBO))
         %_SHOW_TAB(RSDBRUNT)

    ==============
       system-exit
    ==============
    %_END_OF_PBO(ZTEST4-><REPINI>:MODULE (PBO))
        %_END_OF_PBO(RSDBRUNT)


    ==============
       system-exit
    ==============
    %_CTL_OUTPUT(ZTEST4-><REPINI>:MODULE (PBO))
        %_ctl_output(SAPMSSYD)


    *Display selection screen

    ==============
       system-exit
    ==============
    %_CTL_INPUT(ZTEST4-><REPINI>:MODULE (PAI))
        %_CTL_INPUT(RSDBRUNT)   "值得研究
             DIAG_XML_HANDLING(SAPMSSYD)
                HANDLE_DIAG_INPUT_DATA(SAPFGUICNTL)
               
    ==============
       system-exit
    ==============
    %_init_pai(ZTEST4-><REPINI>:MODULE (PAI))
        %_INIT_PAI(RSDBRUNT)   "值得研究
    %_S_CARRID(ZTEST4:MODULE (PAI))
        %_UPD_TAB_PART_1(RSDBRUNT)

    ==============
       system-exit
    ==============
    %_END_OF_SCREEN(ZTEST4:MODULE (PAI))
        END_OF_BLOCK(RSDBRUNT)
        PAI(ZTEST4->SAPDB__S)
    -------------------------------------------------------------------------程序中的事件代码
        AT SELECTION-SCREEN(ZTEST4:EVENT)

    ==============
       system-exit
    ==============
    %_OK_CODE_1000(ZTEST4-><REPINI>:MODULE (PAI))
       %_OK_CODE_1000(RSDBRUNT)
           %_START_REPORT(RSDBRUNT)
                 system-call set_kernel_info 'LIST_TO_MEMORY' submit_info-list_2_mem.
                 *会将选择的用户输入数据缓存到内存中( EXPORT_VAR_2_MEM)
                 PHASE = 99.
                 SET SCREEN 0. LEAVE SCREEN.屏幕离开

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++
    %_CTL_OUTPUT(SAPMSSY0-><SYSINI>: MODULE (PBO))
        %_ctl_output(SAPMSSYD)
            *CALL FUNCTION 'AC_SYSTEM_FLUSH'

    %_CTL_INPUT(SAPMSSY0-><SYSINI>: MODULE (PAI))
        %_CTL_INPUT(SAPMSSYD)
    -------------------------------------------------------------------------程序中的事件代码
    START-OF-SELECTION(ZTEST4)


    ==============
       system-exit
    ==============
    %_ROOT(SAPDB__S)

    ==============
       system-exit
    ==============
    NEW-LINE(SAPMSSY0)

    -------------------------------------------------------------------------程序中的事件代码
    END-OF-SELECTION(ZTEST4)

    *twice called
    %_CTL_INIT(SAPMSSY0-><SYSINI>: MODULE (PBO))
        %_CTL_INIT(SAPMSSYD)


    %_CTL_INIT(SAPMSSY0-><SYSINI>: MODULE (PBO))
        %_CTL_INIT(SAPMSSYD)

    ++++++++++++++++++++++++++++++++++++
    有LIST输出 START
    %_CTL_OUTPUT(SAPMSSY0-><SYSINI>: MODULE (PBO))
        %_ctl_output(SAPMSSYD)

    ***************输出list

    %_CTL_INPUT(SAPMSSY0-><SYSINI>: MODULE (PAI))
        %_CTL_INPUT(SAPMSSYD)

    LIST_COMMAND(SAPMSSY0: MODULE (PAI))

    PRINT_START(SAPMSSY0: MODULE (PAI))
    有LIST输出 END
    ++++++++++++++++++++++++++++++++++++
    ==============
       system-exit
    ==============
    %_LIST_RETURN(SAPMSSY0)
       %_RETURN_TO_SELSCREEN(RSDBRUNT)
        IF MEMKEY-REPORT NE SPACE.
              SUBMIT (MEMKEY-REPORT) VIA SELECTION-SCREEN
                         %_INTERNAL_%_SUBMODE_% MEMKEY-INT_MODE
                         USING SELECTION-SCREEN SUBMIT_SCREEN
                         USING SELECTION-SET MEMKEY-VARIANT.
        ENDIF.

    %_CTL_INIT(SAPMSSY0-><SYSINI>: MODULE (PBO))
        %_CTL_INIT(SAPMSSYD)

    ==============
       system-exit
    ==============
    SYSTEM-EXIT(返回到第一行) 

  • 相关阅读:
    短视频直播源码开发,防抖和节流的区别和实用场景
    游戏陪玩平台源码开发,语音通话中的噪音消除处理
    语音聊天室源码开发,如何实现回音消除功能?
    【代码解析】双向链表实现贪吃蛇游戏!简单易学,开发自己第一个游戏!
    程序员偷偷去面试,上班时却没发现身上还有其他公司的访客贴!
    编程语言年度观赏大戏,来看看内部撕X,你站谁?
    数组倒序排列,数组倒置,C语言数组倒序算法详解!
    编程领域这些禁术相当精彩,掌握其一,方可修炼编程大法!
    无处不在的网络编程,到底是如何工作的?今天我们一探究竟!
    【编程黑科技】gethostbyname()函数:通过域名获取IP地址!
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157129.html
Copyright © 2020-2023  润新知