abap report alv双击弹出屏幕 REUSE_ALV_GRID_DISPLAY 函数(屏幕显示内表数据)

需求是这样的比如我双击alv想查看里面具体内容

双击任一 一行再弹出个界面

 

废话不多说 --开始放代码:

定义内表 GT_VBAP 显示数据内表  GT_FIELDCAT 弹出界面要显示的字段

从这开始----------------------------------------

TYPES:BEGIN OF TS_VBAP,
        VBELN          TYPE  VBAP-VBELN,
        POSNR          TYPE  VBAP-POSNR,
        MATNR          TYPE  VBAP-MATNR,
      END OF TS_VBAP.

DATA GT_VBAP TYPE TABLE OF TS_VBAP.

DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

"下面是就是要实现的form 

FORM DISPLAY_DATA .
    PERFORM SET_FIELDCAT.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'     "系统标准函数
    EXPORTING
     *   I_INTERFACE_CHECK                 = ' '
     *   I_BYPASSING_BUFFER                = ' '
     *   I_BUFFER_ACTIVE                   = ' '
     *   I_CALLBACK_PROGRAM                = ' '
     *   I_CALLBACK_PF_STATUS_SET          = ' '
     *   I_CALLBACK_USER_COMMAND           = ' '
     *   I_CALLBACK_TOP_OF_PAGE            = ' '
     *   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
     *   I_CALLBACK_HTML_END_OF_LIST       = ' '
     *   I_STRUCTURE_NAME                  =
     *   I_BACKGROUND_ID                   = ' '
     *   I_GRID_TITLE                      =
     *   I_GRID_SETTINGS                   =
     *   IS_LAYOUT                         =
       IT_FIELDCAT                       = GT_FIELDCAT "要显示哪些字段
     *   IT_EXCLUDING                      =
     *   IT_SPECIAL_GROUPS                 =
     *   IT_SORT                           =
     *   IT_FILTER                         =
     *   IS_SEL_HIDE                       =
     *   I_DEFAULT                         = 'X'
     *   I_SAVE                            = ' '
     *   IS_VARIANT                        =
     *   IT_EVENTS                         =
     *   IT_EVENT_EXIT                     =
     *   IS_PRINT                          =
     *   IS_REPREP_ID                      =
     *   I_SCREEN_START_COLUMN             = 0
     *   I_SCREEN_START_LINE               = 0
     *   I_SCREEN_END_COLUMN               = 0
     *   I_SCREEN_END_LINE                 = 0
     *   I_HTML_HEIGHT_TOP                 = 0
     *   I_HTML_HEIGHT_END                 = 0
     *   IT_ALV_GRAPHICS                   =
     *   IT_HYPERLINK                      =
     *   IT_ADD_FIELDCAT                   =
     *   IT_EXCEPT_QINFO                   =
     *   IR_SALV_FULLSCREEN_ADAPTER        =
     * IMPORTING
     *   E_EXIT_CAUSED_BY_CALLER           =
     *   ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = GT_VBAP  "要输出内表数据
     * EXCEPTIONS
     *   PROGRAM_ERROR                     = 1
     *   OTHERS                            = 2
          .
    IF SY-SUBRC <> 0.
     * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
     *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
ENDFORM.                    " DISPLAY_DATA
 

 

到此结束 ---------------------------------------

 

 

 

PERFORM GET_DATA."取数据到内表

FORM GET_DATA .
  SELECT  VBELN
          POSNR
          MATNR
          VRKME
   FROM VBAP
   INTO TABLE GT_VBAP
   WHERE MATNR = P_MATNR.
ENDFORM.                    " GET_DATA

 

 

PERFORM SET_FIELDCAT."读取要显示几个字段

FORM SET_FIELDCAT .
  DATA : LS_FIELDCAT LIKE LINE OF GT_FIELDCAT.

  LS_FIELDCAT-FIELDNAME = 'VBELN'.
  APPEND LS_FIELDCAT TO GT_FIELDCAT.
  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-FIELDNAME = 'POSNR'.
  APPEND LS_FIELDCAT TO GT_FIELDCAT.
  CLEAR LS_FIELDCAT.


ENDFORM.                    " SET_FIELDCAT
 


 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值