动态调用function

动态调用function

转自Sariel兄

*&———————————————————————*
*&* write by Sariel
*&———————————————————————*
REPORT  Y_DYNAMIC_FUNC.

TYPE-POOLS: ABAP,SLIS.

TABLES: MARA.

DATA: V_FNAME TYPE STRING.
DATA: IT_PARM TYPE ABAP_FUNC_PARMBIND_TAB,
      IT_EXCP TYPE ABAP_FUNC_EXCPBIND_TAB,
      HE_PARM TYPE ABAP_FUNC_PARMBIND,
      HE_EXCP TYPE ABAP_FUNC_EXCPBIND.
DATA: IT_MARA TYPE STANDARD TABLE OF MARA.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV.

PARAMETER: R1 RADIOBUTTON GROUP RB DEFAULT ‘X’,
           R2 RADIOBUTTON GROUP RB.

START-OF-SELECTION.
  PERFORM SET_FUNC_NAME.
  PERFORM GET_DATA_MARA.
  PERFORM SET_PARM_NAME.
  PERFORM SET_PARA_EXEP.
  PERFORM EXE_FUNC_DYNM.

*&———————————————————————*
*&      Form  SET_FUNC_NAME
*&———————————————————————*
FORM SET_FUNC_NAME .
  IF R1 = ABAP_TRUE.
    V_FNAME = ‘REUSE_ALV_GRID_DISPLAY’.
  ELSE.
    V_FNAME = ‘REUSE_ALV_LIST_DISPLAY’.
  ENDIF.
ENDFORM.                    ” SET_FUNC_NAME

*&———————————————————————*
*&      Form  get_data_MARA
*&———————————————————————*
FORM GET_DATA_MARA .
  SELECT *
    INTO TABLE IT_MARA
    FROM MARA
      UP TO 100 ROWS.
  HE_PARM-NAME = ‘T_OUTTAB’.
  HE_PARM-KIND = ABAP_FUNC_TABLES.
  GET REFERENCE OF IT_MARA INTO HE_PARM-VALUE.
  INSERT HE_PARM INTO TABLE IT_PARM.
ENDFORM.                    ” get_data_MARA

*&———————————————————————*
*&      Form  SET_PARM_NAME
*&———————————————————————*
FORM SET_PARM_NAME .
  CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
    EXPORTING
      I_STRUCTURE_NAME       = ‘MARA’
    CHANGING
      CT_FIELDCAT            = IT_FCAT
    EXCEPTIONS
      INCONSISTENT_INTERFACE = 1
      PROGRAM_ERROR          = 2
      OTHERS                 = 3.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  HE_PARM-NAME = ‘IT_FIELDCAT’.
  HE_PARM-KIND = ABAP_FUNC_EXPORTING.
  GET REFERENCE OF IT_FCAT INTO HE_PARM-VALUE.
  INSERT HE_PARM INTO TABLE IT_PARM.
ENDFORM.                    ” SET_PARM_NAME

*&———————————————————————*
*&      Form  SET_PARA_EXEP
*&———————————————————————*
FORM SET_PARA_EXEP .
  HE_EXCP-NAME = ‘PROGRAM_ERROR’.
  HE_EXCP-VALUE = 1.
  INSERT HE_EXCP INTO TABLE IT_EXCP.
ENDFORM.                    ” SET_PARA_EXEP

*&———————————————————————*
*&      Form  EXE_FUNC_DYNM
*&———————————————————————*
FORM EXE_FUNC_DYNM .
  CALL FUNCTION V_FNAME
    PARAMETER-TABLE
      IT_PARM
    EXCEPTION-TABLE
      IT_EXCP.
ENDFORM.                    ” EXE_FUNC_DYNM

转载于:https://www.cnblogs.com/johnson_yao/archive/2011/02/28/1966959.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110655.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 查看当前所有环境变量的两种方法_查看环境变量的命令

    linux 查看当前所有环境变量的两种方法_查看环境变量的命令原文From: http://os.51cto.com/art/201005/202463.htm 系统的环境变量在配置webserver以及编写程序都常常被用到,因此了解必要的关于系统变量的知识是非常有必要的,下面关于linux系统变量的查看以及方法。在Windows下,查看环境变量的命令是:set,这个命令会输出系统当前的环境变量。Linux下Linux查看环境变量准确…

    2022年10月1日
    0
  • 学Python必看!今年最火的五大Python框架

    学Python必看!今年最火的五大Python框架由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词…由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词。到目前为止,几乎每个IT工程师和开发人员都必须了解Python的强度和功能。Python本身是一种编程语言,也许你已经掌握了这种令人惊叹的编程语言的一些基本编程技能,并且正在寻找…

    2022年6月10日
    42
  • Logstash详解之——filter模块[通俗易懂]

    Logstash详解之——filter模块[通俗易懂]Logstash详解之——filter模块

    2022年4月20日
    42
  • 论概率:从局部随机性到整体确定性

    论概率:从局部随机性到整体确定性概率论与数理统计概率计算三原则学概率论拼的不是数学,而是语文能力独立性条件概率与贝叶斯公式全概率公式 概率计算三原则所有概率问题,都基于三个计算法则:加法法则:如果事件A和事件B相互排斥,而事件A有p种产生方式,事件B有q种产生方式,则事件”A或B”有p+q种产生方式。乘法法则:如果事件A和事件B相互独立,且事件A有p种产生方式,事件B有q种产生方式,则事件”A与B”有p*q种产生方式。.

    2022年5月30日
    38
  • docker五种特性_k8s docker 关系

    docker五种特性_k8s docker 关系DockerDocker网络–link自定义网络网络连通Docker网络Docker是如何进行网络通讯的?查看本机的网卡和ip地址docker0类似与路由器ip地址一样(x.x.x.1)Dockerdocker run -d -P –name=tomcat03 tomcat:8.0查看容器ip地址docker exec -it a72d4ae634da ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noque

    2022年8月9日
    7
  • VM虚拟机桥接模式无法联网解决办法

    VM虚拟机桥接模式无法联网解决办法1.背景介绍:桥接模式—-使虚拟机客户机可以和主机在同一网段,这样,和主机同局域网内的其他主机就也可以ping到虚拟机了;因此,虚拟机设置为桥接模式,且设为静态IP,这样以后就可以方便的使用虚拟机了;2.问题描述:桥接模式之前是好用的,但是主机有一天突然宕机了,重启之后,打开虚拟机,发现主机和虚拟机客户机相互之间ping不通;测试:a.将虚拟机IP获取方式改为自

    2022年5月6日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号