zoukankan      html  css  js  c++  java
  • 运行时动态调用子程序的例子

        处理逻辑就是要求用户输入一个子程序名,然后动态调用,并且用异常机制处理输入的子程序不存在的情况。
    当然,如果在 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
  • 相关阅读:
    springmvc
    POJ 3683 Priest John's Busiest Day
    POJ 3678 Katu Puzzle
    HDU 1815 Building roads
    CDOJ UESTC 1220 The Battle of Guandu
    HDU 3715 Go Deeper
    HDU 3622 Bomb Game
    POJ 3207 Ikki's Story IV
    POJ 3648 Wedding
    HDU 1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/ruingy/p/3432136.html
Copyright © 2011-2022 走看看