ABAP 输出方式

1.使用宏方式,如下:

DEFINE ADD_FIELD.
  I_FIELDCAT-TABNAME = &2.
  I_FIELDCAT-FIELDNAME = &1.
  I_FIELDCAT-SELTEXT_M = &4.
  I_FIELDCAT-OUTPUTLEN = &3.
  I_FIELDCAT-INPUT = &5.
  I_FIELDCAT-HOTSPOT = P_CHAR.
  APPEND I_FIELDCAT.
END-OF-DEFINITION.


DEFINE DISPLAY_DATA.
******启动命令功能********************************
  REFRESH I_EVENTS.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      I_LIST_TYPE = 0
    IMPORTING
      ET_EVENTS   = I_EVENTS.
  READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND
  INTO L_LS_EVENT.
  IF SY-SUBRC = 0.
    MOVE SLIS_EV_USER_COMMAND TO L_LS_EVENT-FORM.
    APPEND L_LS_EVENT TO I_EVENTS.
  ENDIF.
********功能扩充**********************************
  I_LAYOUT-ZEBRA = 'X'. "颜色交替显示
  I_LAYOUT-WINDOW_TITLEBAR = L_WINDOW_TITLEBAR. "抬头显示
  I_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. "优化
  I_LAYOUT-GROUP_CHANGE_EDIT = 'X'.
  I_LAYOUT-F2CODE = &2.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      I_SAVE             = 'X'
      IS_VARIANT         = G_VARIANT
      I_GRID_TITLE       = TITLE "抬头
      IT_HYPERLINK       = GT_HYPETAB
      IT_EVENTS          = I_EVENTS "事件
      IT_FIELDCAT        = I_FIELDCAT[] "显示的内容和描述
      IS_LAYOUT          = I_LAYOUT
    TABLES
      T_OUTTAB           = &1 "数据表
    EXCEPTIONS
      PROGRAM_ERROR      = 1
      OTHERS             = 2.
END-OF-DEFINITION.

 

FORM DISPLAY_DATA .
  SORT ITAB BY ZDCNUM EBELN EBELP.
  ADD_FIELD :  'ZDCNUM'       'ITAB'  20 '运编号'           ' ',
               'EBELN'        'ITAB'   20 '采购单号'       ' ',
               'EBELP'        'ITAB'   10  '采购单项次'  '  ',
               'VOLEH'        'ITAB'   12 '数量单位' ' ',
               'MATNR'        'ITAB'   20 '料号'       ' ',
               'GEWEI'        'ITAB'  12  '重量单位' ' ',
               'ERVOE'        'ITAB'  12 '体积单位'           ' ',
               'WERKS'        'ITAB'  12 '工厂'           ' ',
               'VOLUM'        'ITAB'  12 '数量'           ' ',
               'NTGEW'        'ITAB'  12 '净重'           ' ',
               'BRGEW'        'ITAB'  12 '毛重'           ' ',
               'ERVOL'        'ITAB'  12 '体积'           ' '.
  DISPLAY_DATA ITAB ''.

ENDFORM.   

 

 

2.

FORM DISPLAY_DATADETAILS .
  PERFORM FILL_FIELD_CATALOG_TABLE USING :
  'AUFNR'   'ITAB5' 12 '工單'                  ' ' ' ',
  'ERDAT'   'ITAB5' 8 '建立日期'                  ' ' ' ',
  'IDAT2'   'ITAB5' 4 '結案日期'                  ' ' ' ',
  'PMATNR'   'ITAB5' 10 '料號'                  ' ' ' ',
  'PWERK'   'ITAB5' 4 '工廠'                  ' ' ' ',
  'PLGORT'   'ITAB5' 4 '庫位'                  ' ' ' ',
  'PSMNG'   'ITAB5' 8 '生產數量'                  ' ' ' ',
  'WEMNG'   'ITAB5' 8 '已繳數量'                  ' ' ' ',
  'PROJN'   'ITAB5' 10 'WBS號'                  ' ' ' ',
  'KDAUF'   'ITAB5' 10 'SO號'                  ' ' ' ',
  'KDPOS'   'ITAB5' 4 'SO項次'                  ' ' ' ',
  'MATNR1'   'ITAB5' 10 '發料料號'                  ' ' ' ',
  'WERKS'   'ITAB5' 8 '發料工廠'                  ' ' ' ',
  'LGORT1'   'ITAB5' 8 '發料單位'                  ' ' ' ',
  'ERFMG'   'ITAB5' 8 '應發數量'                  ' ' ' ',
  'ENMNG'   'ITAB5' 8 '已發數量'                  ' ' ' ',
  'ERFMG1'   'ITAB5' 8 '發料差異'                  ' ' ' ',
  'KAINS'   'ITAB5' 10 '呂質檢驗數量'                  ' ' ' ',
  'MATNR2'   'ITAB5' 8 '處理建議'                  ' ' ' '.

  PERFORM CALL_ALV_FUNCTIONDETAILS .

ENDFORM.                    " DISPLAY_DATA

 

FORM FILL_FIELD_CATALOG_TABLE  USING  F T O D H TL .

  DATA L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

  CLEAR L_FIELDCAT.
  STATICS POS LIKE SY-INDEX VALUE 20.
  POS = POS + 1.
  CLEAR T_FLD.
  MOVE 1 TO T_FLD-ROW_POS.
  MOVE POS TO T_FLD-COL_POS.

  MOVE F  TO L_FIELDCAT-FIELDNAME.
  MOVE T  TO L_FIELDCAT-TABNAME.
  MOVE O  TO L_FIELDCAT-OUTPUTLEN.
  MOVE D  TO L_FIELDCAT-SELTEXT_M.
  MOVE H  TO L_FIELDCAT-HOTSPOT.
  MOVE TL TO L_FIELDCAT-DO_SUM.
  APPEND L_FIELDCAT TO FIELDCAT.
ENDFORM.                    " FILL_FIELD_CATALOG_TABLE

 

FORM CALL_ALV_FUNCTIONDETAILS .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      IT_FIELDCAT        = FIELDCAT
    TABLES
      T_OUTTAB           = ITAB5.

  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.                    " CALL_ALV_FUNCTION

转载于:https://www.cnblogs.com/aBaoRong/archive/2012/06/07/2540172.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值