穿透和ALV

穿透

WHEN '&IC1'.
      READ TABLE gt_alv INTO gs_alv INDEX us_selfield-tabindex.
      IF us_selfield-fieldname = 'VBELN'.
        IF gs_alv-vbeln IS NOT INITIAL.
          SET PARAMETER ID 'AUN' FIELD gs_alv-vbeln.  "id 通过se11 可查
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDIF.

一个FORM里的ALV

FORM frm_alv_display .
  DATA:
    lt_fieldcat TYPE TABLE OF lvc_s_fcat,
    ls_variant  TYPE disvariant,
    lt_sort     TYPE lvc_t_sort,
    ls_fieldcat TYPE lvc_s_fcat,
    ls_layout   TYPE lvc_s_layo.

* 定义宏 - 为field category 赋值,ALV输出用
  DEFINE mcr_fieldcat.
    CLEAR: ls_fieldcat.
    ls_fieldcat-fieldname = &1.
    ls_fieldcat-coltext = &2.
    ls_fieldcat-ref_field = &3. "
    ls_fieldcat-ref_table = &4. "
    IF ls_fieldcat-fieldname = 'BOX'.
      ls_fieldcat-checkbox = abap_true.
      ls_fieldcat-edit = abap_true.
    ENDIF.
    IF ls_fieldcat-fieldname = 'VBELN'.
    ls_fieldcat-hotspot    = 'X'.    "设置下划线
    ENDIF.
    APPEND ls_fieldcat TO lt_fieldcat.
  END-OF-DEFINITION.

  mcr_fieldcat:
  'BOX' '选择' '' '',
  'VBELN' '销售订单号' 'VBELN' 'VBAK',
  'VKORG' '销售组织' 'VKORG' 'VBAK',
  'VKORGT' '销售组织' '' '',
  'VTWEG' '分销渠道' 'VTWEG' 'VBAK',
  'VTWEGT' '分销渠道' '' '',
  'SPART' '产品组' 'SPART' 'VBAK',
  'SPARTT' '产品组' '' '',
  'VKBUR' '销售办公室' 'VKBUR' 'VBAK',
  'VKBURT' '销售办公室' '' '',
  'VKGRP' '品牌' 'VKGRP' 'VBAK',
  'BEZEI' '品牌' '' '',
  'AUART' '订单类型' 'AUART' 'VBAK',
  'AUARTT' '订单类型' '' '',
  'KUNNR' '客户' 'KUNNR' 'VBAK',
  'KUNNRT' '客户' '' '',
  'BSTNK' '客户PO' 'BSTNK' 'VBAK',
  'ZKEHUKH' '客人款号' 'ZKEHUKH' 'ZTMM001',
  'AUDAT' '凭证日期' 'AUDAT' 'VBAK',
  'ERDAT' '录入日期(创建日期)' 'ERDAT' 'VBAK',
  'ZUSR' '高级业务员' 'ZUSR' 'VBPA',
  'ZUSRT' '高级业务员' '' '',
  'INCO1' '国际贸易条款' 'INCO1' 'VBKD',
  'VSART' '装运类型' 'VSART' 'VBKD',
  'VSARTT' '装运类型' '' '',
  'WAERK' '凭证币种' 'WAERK' 'VBAK',
  'MATNR' '款式' 'MATNR' 'VBAP',
  'KWMENG' '总件数' 'KWMENG' 'VBAP',
  'ARKTX' '款式描述' 'ARKTX' 'VBAP',
  'CRG_WEIGHT' '报价成衣克' '' '',
  'KVGR3TXT' '首单/翻单' '' '',
  'KVGR5TXT' '翻单次数' '' '',
  'KVGR2TXT' '排单状态' '' '',
  'ZDELIVERY' '出运计划情况' '' '',
  'ZSJZX' '织机针型' 'ZSJZX' 'ZTMM001',
  'ZTKZX' '套口针型' 'ZTKZX' 'ZTMM001',
  'KVGR1TXT' '是否需要TC' '' '',
  'KDMAT' 'PN号' 'KDMAT' 'VBAP',
  'ZSEASON' '季节' 'ZSEASON' 'ZTMM001',
  'ZNNK' '男女款' 'ZNNK' 'ZTSD003B',
  'ZSTYLETYPEMX' '款式描述' 'ZSTYLETYPEMX' 'ZTMM001',
   'FSH_KVGR6TXT' '订单标识'  ''  ''.


  ls_layout-zebra      = abap_true.    "斑马线 "
  ls_layout-sel_mode   = 'A'.
  ls_variant-handle    = '9'.
  ls_layout-cwidth_opt = abap_true.
  ls_layout-no_rowmark = abap_true.
  ls_variant-report    = sy-repid.
  lt_sort = VALUE #( ( fieldname = 'VKORG' subtot = 'X' ) ).
  "ALV 显示函数
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      is_layout_lvc            = ls_layout
      it_fieldcat_lvc          = lt_fieldcat[]
*     it_sort_lvc              = lt_sort
      i_default                = 'X'
      i_save                   = 'A'
      is_variant               = ls_variant
      i_callback_pf_status_set = 'PF_STATUS'
      i_callback_user_command  = 'USER_COMMAND'
    TABLES
      t_outtab                 = gt_alv
    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.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值