获得REPORT程序源代码和开发对象(同SE80)

REPORT  ZALL_RE0001.

TYPE-POOLS: ICON.

*---输入屏幕
PARAMETERS: PROGNAME LIKE SY-REPID.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: PUSHBUTTON 1(20) PUBU1 USER-COMMAND SCR.
SELECTION-SCREEN: PUSHBUTTON 25(20) PUBU2 USER-COMMAND OBJ.
SELECTION-SCREEN: END OF LINE.

*---为按钮赋图标和描述
AT SELECTION-SCREEN OUTPUT.

  CONCATENATE ICON_DISPLAY_TEXT TEXT-001 INTO PUBU1.
  CONCATENATE ICON_VARIANTS TEXT-002 INTO PUBU2.

*---按钮事件触发
AT SELECTION-SCREEN.

  CASE SY-UCOMM.
    WHEN 'SCR'.
      PERFORM OUTSOURCECODE.
    WHEN 'OBJ'.
      PERFORM OUTOBJECT.
  ENDCASE.

*---在输出界面单击返回时必须重新获取屏幕事件,定义返回主屏幕
AT USER-COMMAND.

  CASE SY-UCOMM.
    WHEN 'E' OR 'ENDE'.
      LEAVE SCREEN.
  ENDCASE.

*&---------------------------------------------------------------------*
*&      Form  OUTSOURCECODE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM OUTSOURCECODE .

  DATA: LSCR TYPE STANDARD TABLE OF CHAR100 WITH HEADER LINE.

  READ REPORT PROGNAME INTO LSCR.
  LOOP AT LSCR.
    WRITE LSCR.
  ENDLOOP.

  LEAVE TO LIST-PROCESSING.

ENDFORM.                    " OUTSOURCECODE

*&---------------------------------------------------------------------*
*&      Form  OUTOBJECT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM OUTOBJECT .

  DATA: NODETAB LIKE SNODETEXT OCCURS 0 WITH HEADER LINE.
  DATA: TREENAME LIKE DIRTREE-TNAME.

  DEFINE WRITEOBJ.
    READ TABLE NODETAB WITH KEY TYPE = &1.
    WRITE: 'Object Type:',NODETAB-NAME COLOR 1.
    ULINE.
    IF SY-SUBRC = '0'.
      LOOP AT NODETAB WHERE TYPE = &2.
        WRITE: / NODETAB-NAME.
      ENDLOOP.
      SKIP.
    ENDIF.
  END-OF-DEFINITION.

  CONCATENATE 'PG_' PROGNAME INTO TREENAME.
  CALL FUNCTION 'WB_TREE_SELECT'
    EXPORTING
      TREENAME  = TREENAME
    TABLES
      NODETAB   = NODETAB
    EXCEPTIONS
      NOT_FOUND = 1
      OTHERS    = 2.

  WRITEOBJ 'CPL' 'OPL'.
  WRITEOBJ 'CPP' 'OPP'.
  WRITEOBJ 'CPT' 'OPT'.
  WRITEOBJ 'CPY' 'OPY'.
  WRITEOBJ 'CPD' 'OPD'.
  WRITEOBJ 'CPE' 'OPE'.
  WRITEOBJ 'CPO' 'OPO'.
  WRITEOBJ 'CPM' 'OPM'.
  WRITEOBJ 'CPU' 'OPU'.
  WRITEOBJ 'CPS' 'OPS'.
  WRITEOBJ 'CPC' 'OPC'.
  WRITEOBJ 'CPZ' 'OPZ'.
  WRITEOBJ 'CT' 'OT'.
  WRITEOBJ 'CI' 'OI'.

  LEAVE TO LIST-PROCESSING.

ENDFORM.                    " OUTOBJECT

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值