OOALV 动态传参使用

 总体

FORM CREAT_ALV .
  PERFORM INIT_ALV USING GS_DOCKING
                         GS_ALV .
  PERFORM BUILD_FIFLDCAT .
  PERFORM BUILD_LAYOUT.
  PERFORM BUILD_EXCLUDE.
  PERFORM SETEDIT_CELL .
  PERFORM BUILD_HANDLER USING GS_ALV.
  PERFORM BUILD_ALV TABLES GT_FIELDCAT[]
                           GT_STATUSJL[]
                     USING GS_LAYOUT
                           GT_EXCLUDE
                   CHANGING GS_ALV  .

ENDFORM.

一、初始化ALV

FORM INIT_ALV USING PS_DOCKING TYPE REF TO CL_GUI_DOCKING_CONTAINER
                    PS_ALV TYPE REF TO CL_GUI_ALV_GRID.
  ...

ENDFORM.

二、构建ALV 

FORM BUILD_ALV  TABLES PPT_FIELDCAT LIKE GT_FIELDCAT
                        PT_MAIN  TYPE STANDARD TABLE
                 USING PS_LAYOUT TYPE LVC_S_LAYO
                       PT_EXCLUDE LIKE GT_EXCLUDE
                CHANGING PS_ALV TYPE REF TO CL_GUI_ALV_GRID .
  DATA PT_FIELDCAT TYPE LVC_T_FCAT .
  MOVE-CORRESPONDING PPT_FIELDCAT[] TO PT_FIELDCAT[].
  CALL METHOD PS_ALV->SET_READY_FOR_INPUT
    EXPORTING
      I_READY_FOR_INPUT = 1.
  FIELD-SYMBOLS <F_TAB> TYPE ANY TABLE .
  IF <F_TAB> IS ASSIGNED.
    UNASSIGN <F_TAB>.
    ASSIGN PT_MAIN[] TO <F_TAB> .
  ELSE.
    ASSIGN PT_MAIN[] TO <F_TAB> .

  ENDIF.

  CALL METHOD PS_ALV->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
*     I_BUFFER_ACTIVE               =
*     I_BYPASSING_BUFFER            =
*     I_CONSISTENCY_CHECK           =
*     I_STRUCTURE_NAME              =
*     IS_VARIANT                    =
*     I_SAVE                        =
*     I_DEFAULT                     = GC_X
      IS_LAYOUT                     = PS_LAYOUT
*     IS_PRINT                      =
*     IT_SPECIAL_GROUPS             =
      IT_TOOLBAR_EXCLUDING          = PT_EXCLUDE
*     IT_HYPERLINK                  =
*     IT_ALV_GRAPHICS               =
*     IT_EXCEPT_QINFO               =
*     IR_SALV_ADAPTER               =
    CHANGING
      IT_OUTTAB                     = <F_TAB>
      IT_FIELDCATALOG               = PT_FIELDCAT
*     IT_SORT                       =
*     IT_FILTER                     =
    EXCEPTIONS
      INVALID_PARAMETER_COMBINATION = 1
      PROGRAM_ERROR                 = 2
      TOO_MANY_LINES                = 3
      OTHERS                        = 4.
  IF SY-SUBRC <> 0.
*   Implement suitable error handling here
  ENDIF.


ENDFORM.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gong JX

多谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值