ALV Report-one

REPORT   ZWZ_03_2.


TABLES : ZRFQ_PRINT, VBAK .

DATA  : BEGIN  OF  IT OCCURS  0 .
                 INCLUDE  STRUCTURE  ZRFQ_PRINT .
                 DATA  BOX TYPE  C  .
           DATA  END  OF  IT .


DATA  : ITAB LIKE  STANDARD  TABLE  OF  ZRFQ_PRINT,
           WA TYPE  ZRFQ_PRINT .
DATA  S_CODE LIKE  SY-UCOMM.

SELECTION-SCREEN  BEGIN  OF  BLOCK  b1 WITH  FRAME  TITLE  text -001  .

    SELECT -OPTIONS: P_VBELN for  VBAK-VBELN .

SELECTION-SCREEN  END  OF  BLOCK  b1 .

*DATA  wa_03 TYPE wa_03.
*-----------------------------------------------------------------------
*ALV层级关系定义
*-----------------------------------------------------------------------

INCLUDE  <LINE> .
TYPE -POOLS: SLIS.

DATA : IT_FIELDCAT    TYPE  SLIS_T_FIELDCAT_ALV,
          WT_FIELDCAT   LIKE  LINE  OF  IT_FIELDCAT ,
          WT_LAYOUT    TYPE  SLIS_LAYOUT_ALV .

START-OF -SELECTION .

*追加ALV字段
     PERFORM  ALV_FIELD_HEAD.
*选择数据
     PERFORM  GET_DATA.
*显示ALV
     PERFORM  CALL_ALV_SHOW.

*--------------------------------------------------------------------*
*  取数据
*--------------------------------------------------------------------*
FORM  GET_DATA .
   SELECT  ZRFQ_PRINT~VBELN ZRFQ_PRINT~STATUS INTO  CORRESPONDING FIELDS  OF  TABLE  IT
       FROM  ZRFQ_PRINT WHERE  ZRFQ_PRINT~VBELN IN  P_VBELN .
ENDFORM  .

*----------------------------------------------------------------------
*预定义用于ALV加入字段
*----------------------------------------------------------------------
DEFINE  ADD_FIELD.
  CLEAR  WT_FIELDCAT.
  WT_FIELDCAT-fieldname = &1  .
  WT_FIELDCAT-SELTEXT_L = &2  .
  WT_FIELDCAT-edit       = &3  .
  WT_FIELDCAT-checkbox   = &4  .
*  WT_FIELDCAT-hotspot   = &5 .
  APPEND  WT_FIELDCAT TO  IT_FIELDCAT.
END -OF -DEFINITION .


*---------------------------------------------------------------------*
*      Form  ALV_OUTPUT
*---------------------------------------------------------------------*
FORM  ALV_FIELD_HEAD.

  ADD_FIELD 'VBELN'    '单号'  ''   '' .
  ADD_FIELD 'STATUS'  '状态'   'X'   'X' .


ENDFORM .                    " ALV_OUTPUT
*---------------------------------------------------------------------*
*  FORM CALL_ALV_SHOW.
*---------------------------------------------------------------------*
FORM  CALL_ALV_SHOW.

  WT_LAYOUT-BOX_FIELDNAME     = 'BOX'  .
  WT_LAYOUT-ZEBRA = 'X'  .

  CALL  FUNCTION  'REUSE_ALV_GRID_DISPLAY'        " ALV  function  Module
  EXPORTING
      I_CALLBACK_PROGRAM      = SY-CPROG
      IS_LAYOUT               = WT_LAYOUT
*      I_CALLBACK_PF_STATUS_SET = 'SET_STA'
*      I_DEFAULT               = 'X'
*      I_SAVE                  = 'X'
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
      IT_FIELDCAT             = IT_FIELDCAT[]
    TABLES
      T_OUTTAB                          = IT[]
*   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 .



FORM  USER_COMMAND USING  UCOMM LIKE  SY-UCOMM SELFIELD TYPE  SLIS_SELFIELD.
  CASE  UCOMM.
    WHEN  '&DATA_SAVE'  .
      LOOP  AT  IT WHERE  BOX = 'X' .
        MOVE -CORRESPONDING IT TO  WA .
        APPEND  WA TO  ITAB .
        CLEAR  WA .
      ENDLOOP .

      MODIFY  ZRFQ_PRINT FROM  TABLE  ITAB .

  ENDCASE  .
ENDFORM  .

 

" another ALV  function Module SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } 'REUSE_ALV_GRID_DISPLAY_LVC'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值