• 运行时动态调用子程序的例子


        处理逻辑就是要求用户输入一个子程序名,然后动态调用,并且用异常机制处理输入的子程序不存在的情况。
    当然,如果在 PERFORM 最后用 IF FOUND 就可以不用 TRY 结构了,但是对于子程序不存在的情况不会给出任何提示,用 sy-subrc 也追踪不到异常返回码。
    关于更多异常,请参考 PERFORM 的 F1 联机帮助

    PARAMETERS p_sub(40) TYPE c.
    
    DATA fssub(40) TYPE c.
    fssub = p_sub.
    
    TRY.
        PERFORM (fssub) IN PROGRAM ydemo_rick_a. " IF FOUND.
      CATCH cx_sy_dyn_call_illegal_form.
        WRITE: 'The routine', p_sub COLOR 3, 'is not exist!'.
    ENDTRY.
    *&---------------------------------------------------------------------*
    *&      Form  sub_a
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    FORM sub_a.
      WRITE: 'Congratulation! I am routine SUB_A!'.
    ENDFORM.                    "sub_a
    
    *&---------------------------------------------------------------------*
    *&      Form  sub_b
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    FORM sub_b.
      WRITE: 'Congratulation! I am routine sub_b.'.
    ENDFORM.                    "sub_b
  • 相关阅读:
    Pedometer_forAndroid
    linux改动登陆主机提示信息
    Cocos2d-x-Lua (2.x)脚本开发之 Lua语言基础
    共享库加载时重定位
    寻找志同道合的伙伴
    Leetcode[20]-Valid Parentheses
    storm的集群安装与配置
    CSS样式
    splash启动速度优化
    Android驱动之 Linux Input子系统之TP——A/B(Slot)协议
  • 原文地址:https://www.cnblogs.com/ruingy/p/3432136.html
Copyright © 2020-2023  润新知