• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
^ω^SAp傻X^o^
博客园    首页    新随笔    联系   管理    订阅  订阅
产品标准成本计算报表
************************************************************************
*Module        : CO                                                    *
************************************************************************
*T_CODE        : ZCO005                                                *
*Creator       : DENGHAIBO                                             *
*Create Date   : 20.08.2018 09:09:28                                   *
*TYPE          : Report Program                                        *
*Description   : 产品标准成本计算报表                                  *
************************************************************************
************************************************************************
*                        变更履历                                      *
*---------  -------------  ---------- ---------------------------------*
*   序号     时间           更改者     描述                            *
*---------  -------------  ---------- ---------------------------------*
*   New  20.08.2018 09:09:28 DENGHAIBO    程序创建                     *
************************************************************************
REPORT zcor005.

TABLES: keko,mara,mvke ,mast,stpo,stko .

*&---------------------------------------------------------------------*
*    ALV全局变量
*&---------------------------------------------------------------------*
DATA:
  gt_fcat    TYPE lvc_t_fcat,         " FIELDCAT
  gs_layout  TYPE lvc_s_layo,         " ALV layout
  gs_variant TYPE disvariant.         " ALV Variant

gs_layout-cwidth_opt = abap_true.     " ALV 控制: 优化列宽度
gs_layout-zebra = abap_true.          " ALV 控制: 斑马显示效果
gs_variant-report = sy-repid.         " ABAP 程序名称

*&---------------------------------------------------------------------*
*    全局变量
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_alv,
         werks  TYPE keko-werks,    " 工厂
         matnr  TYPE keko-matnr,    " 物料
         maktx  TYPE makt-maktx,    " 物料描述
         mvgr5  TYPE mvke-mvgr5,    " 单品/套装描述
         bezei  TYPE tvm5t-bezei,   " 单品/套装 描述
         mtart  TYPE mara-mtart,    " 物料类型
         mtbez  TYPE t134t-mtbez,   " 物料类型 描述
         spart  TYPE mara-spart,    " 品牌
         vtext  TYPE tspat-vtext,   " 品牌 描述
         mvgr2  TYPE mvke-mvgr2,    " 系列
         beze   TYPE tvm2t-bezei,   " 系列 描述
         kst    TYPE keph-kst001,   " 标准成本 = A+B+C
         kst001 TYPE keph-kst001,   " 原料(A)
         kst002 TYPE keph-kst002,   " 包材(B)
         kst468 TYPE keph-kst001,   " 制费合计C
         kst004 TYPE keph-kst004,   " 人工
         kst006 TYPE keph-kst006,   " 机器
         kst008 TYPE keph-kst008,   " 制费
         matnr1 TYPE ckis-matnr,    " 包材明细
         matnr2 TYPE ckis-matnr,    " 分装
         stufe  TYPE histu,         " 层次(在多层 BOM 展开中)
         wertn  TYPE ckis-wertn,    " 包材成本价
         menge  TYPE ckis-menge,    " 包材数量
         menge1 TYPE ckis-menge,    " BOM分装基本数量
         meeht  TYPE ckis-meeht,    " 单位
         matkl  TYPE t023t-matkl,   " 物料组
         wgbez  TYPE t023t-wgbez,   " 物料组描述
         stnum  TYPE keko-stnum,    " 物料单
         stlan  TYPE keko-stlan,    " BOM用途
         stalt  TYPE keko-stalt,    " 可选的BOM
         plnnr  TYPE keko-plnnr,    " 配方组
         text1  TYPE mkal-text1,    " 生产工厂
         bwkey  TYPE keko-bwkey,    " 估价范围
         kadky  TYPE keko-kadky,    " 成本核算日期
         kalnr  TYPE keko-kalnr,    " 成本估算号
         kstar  TYPE ckis-kstar,    " 成本要素
         aldat  TYPE keko-aldat,    " 成本核算数量结构日期
       END OF ty_alv.

DATA: gt_alv TYPE TABLE OF ty_alv.
DATA: gt_matnr TYPE TABLE OF ty_alv.
DATA: gs_alv TYPE ty_alv.

FIELD-SYMBOLS: <fs_alv> TYPE ty_alv.
FIELD-SYMBOLS: <fs_matnr> TYPE ty_alv.

DATA: p_kadky_start TYPE keko-kadky.
DATA: p_kadky_end TYPE keko-kadky.
DATA: p_monat1 TYPE bkpf-monat.

*&---------------------------------------------------------------------*
*    SELECTION-SCREEN
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t1.
PARAMETERS: p_gjahr TYPE bkpf-gjahr OBLIGATORY DEFAULT sy-datum+0(4),  " 会计年度
            p_monat TYPE bkpf-monat OBLIGATORY DEFAULT sy-datum+4(2).  " 会计期间
SELECT-OPTIONS: s_werks FOR keko-werks,                           " 公司代码
                s_matnr FOR keko-matnr,                           " 物料
                s_mtart FOR mara-mtart NO INTERVALS NO-EXTENSION, " 物料类型
                s_spart FOR mara-spart NO INTERVALS NO-EXTENSION, " 品牌
                s_mvgr2 FOR mvke-mvgr2 NO INTERVALS NO-EXTENSION. " 系列
SELECTION-SCREEN END OF BLOCK b1.

*&---------------------------------------------------------------------*
*    AT SELECTION-SCREEN.
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
  " 月份区间
  p_kadky_start = p_gjahr && p_monat && '01'.
  p_monat1 = p_monat + 1.
  p_kadky_end = p_gjahr && p_monat1 && '01'.
  p_kadky_end = p_kadky_end - 1.

*&---------------------------------------------------------------------*
*    INITIALIZATION(初始化)
*&---------------------------------------------------------------------*
INITIALIZATION.

*&---------------------------------------------------------------------*
*    START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.

  PERFORM frm_get_matnr.     " 取物料
  PERFORM frm_get_data.      " 取数
  PERFORM set_fcat_alv.      " ALV字段
  PERFORM frm_alv_display.   " ALV显示

*&---------------------------------------------------------------------*
*&      Form  FRM_GET_MATNR
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_get_matnr.

  SELECT DISTINCT
    keko~werks,   " 工厂
    keko~matnr,   " 物料
    mara~mtart,   " 物料类型
    mara~spart,   " 品牌
    mvke~mvgr2,   " 系列
    keko~stnum,   " 物料单
    keko~stalt    " 可选的BOM
    FROM keko
    INNER JOIN mvke ON mvke~matnr = keko~matnr AND mvke~vkorg = keko~werks
    INNER JOIN mara ON mara~matnr = keko~matnr
    INTO CORRESPONDING FIELDS OF TABLE @gt_matnr
    WHERE keko~werks IN @s_werks  " 公司代码
    AND keko~kadky BETWEEN @p_kadky_start AND @p_kadky_end
    AND keko~matnr IN @s_matnr   " 物料
    AND mara~mtart IN @s_mtart   " 物料类型
    AND mara~spart IN @s_spart   " 品牌
    AND mvke~mvgr2 IN @s_mvgr2.  " 系列


  DATA: lt_stpox LIKE stpox OCCURS 0 WITH HEADER LINE.
  DATA: ls_stpox LIKE stpox.
  DATA: ls_cstmat LIKE cstmat.

  LOOP AT gt_matnr ASSIGNING <fs_matnr>.

    IF <fs_matnr>-matnr IS NOT INITIAL.
      CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          aufsw                 = ' '                "确定并输入订单层级和通道
          capid                 = 'ZP01'             "固定值
          datuv                 = p_kadky_start      "创建BOM时输入的有效起始日期
          ehndl                 = '1'                "BOM 帮助字段 复选框
          mbwls                 = ' '                "读取物料估价
          emeng                 = '1'                " 所需数量
          mtnrv                 = <fs_matnr>-matnr   "要展开的物料
          mehrs                 = 'X'                "是否多级展开BOM
          mmory                 = '1'                "是否启用内存
          werks                 = <fs_matnr>-werks   "创建物料时输入的工厂
          rndkz                 = '1'
          stlal                 = <fs_matnr>-stalt
        IMPORTING
          topmat                = ls_cstmat
        TABLES
          stb                   = lt_stpox           "输出
        EXCEPTIONS
          material_not_found    = 4
          no_plant_data         = 8
          no_bom_found          = 12
          no_suitable_bom_found = 16
          alt_not_found         = 24
          missing_authorization = 28
          conversion_error      = 36.
    ENDIF.

    DATA: lv_matnr TYPE keko-matnr.  " 分装往下行赋值
    DATA: lv_menge1 TYPE ckis-menge.  " 分装往下行赋值

    IF lt_stpox[] IS INITIAL.
      APPEND <fs_matnr> TO gt_alv.
    ELSE.
      LOOP AT lt_stpox INTO ls_stpox WHERE mtart = 'ZDBC' OR mtart = 'ZHAL'.
        IF ls_stpox-mtart = 'ZHAL'.
          lv_matnr = ls_stpox-idnrk.
          lv_menge1 = ls_stpox-menge.
        ENDIF.
        gs_alv-matnr2 = lv_matnr.
        gs_alv-menge1 = lv_menge1.
        gs_alv-matnr = <fs_matnr>-matnr.   " 物料
        gs_alv-mvgr2 = <fs_matnr>-mvgr2.   " 系列
        gs_alv-spart = <fs_matnr>-spart.   " 品牌
        gs_alv-matnr1 = ls_stpox-idnrk.    " BOM 组件
        gs_alv-stufe = ls_stpox-stufe.
        gs_alv-stlan = ls_stpox-stlan.     " BOM 用途
        gs_alv-stalt = ls_stpox-stlal.     " 可选的 BOM
        gs_alv-werks = ls_stpox-werks.     " 工厂
        APPEND gs_alv TO gt_alv.
        CLEAR gs_alv.
      ENDLOOP.
      REFRESH lt_stpox.
    ENDIF.

  ENDLOOP.

ENDFORM.


*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_get_data .

  IF gt_alv IS NOT INITIAL.

    SELECT
      makt~maktx,    " 物料描述
      makt~matnr
      FROM makt
      INTO TABLE @DATA(lt_makt)
      FOR ALL ENTRIES IN @gt_alv
      WHERE matnr = @gt_alv-matnr
      AND spras = '1'.
    SORT lt_makt BY matnr.

    SELECT
      mvke~matnr,
      mvke~mvgr5,
      tvm5t~bezei    " 单品/套装描述
      FROM tvm5t
      INNER JOIN mvke ON tvm5t~mvgr5 = mvke~mvgr5
      INTO TABLE @DATA(lt_tvm5t)
      FOR ALL ENTRIES IN @gt_alv
      WHERE mvke~matnr = @gt_alv-matnr.
    SORT lt_tvm5t BY matnr mvgr5.

    SELECT
      t134t~mtbez,   " 物料类型描述
      mara~mtart,
      mara~matnr
      FROM t134t
      INNER JOIN mara ON mara~mtart = t134t~mtart
      INTO TABLE @DATA(lt_t134t)
      FOR ALL ENTRIES IN @gt_alv
      WHERE mara~matnr = @gt_alv-matnr
      AND t134t~spras = '1'.
    SORT lt_t134t BY matnr mtart.

    SELECT
      tspat~vtext,    " 品牌 描述
      mara~spart,
      mara~matnr
      FROM tspat
      INNER JOIN mara ON mara~spart = tspat~spart
      INTO TABLE @DATA(lt_tspat)
      FOR ALL ENTRIES IN @gt_alv
      WHERE mara~matnr = @gt_alv-matnr
      AND tspat~spras = '1'.
    SORT lt_tspat BY matnr spart.

    SELECT
      mvke~matnr,
      mvke~mvgr2,
      tvm2t~bezei    " 系列
      FROM tvm2t
      INNER JOIN mvke ON tvm2t~mvgr2 = mvke~mvgr2
      INTO TABLE @DATA(lt_tvm2t)
      FOR ALL ENTRIES IN @gt_alv
      WHERE mvke~matnr = @gt_alv-matnr
      AND mvke~mvgr2 = @gt_alv-mvgr2
      AND tvm2t~spras = '1'.
    SORT lt_tvm2t BY matnr mvgr2.

    SELECT
      mara~matnr,
      mara~matkl,
      t023t~wgbez    " 物料组描述
      FROM mara
      INNER JOIN t023t ON t023t~matkl = mara~matkl
      INTO TABLE @DATA(lt_t023t)
      FOR ALL ENTRIES IN @gt_alv
      WHERE mara~matnr = @gt_alv-matnr1
      AND t023t~spras = '1'.
    SORT lt_t023t BY matnr.

    SELECT
      keko~matnr,   " 物料
      keko~plnnr,   "
      keko~stnum,   " 物料单
      keko~kadky,   " 成本核算日期
      keko~kalnr,   " 成本估算号 - 产品成本核算
      keph~kst001,  " 原料
      keph~kst002,  " 包材
      keph~kst004,  " 人工
      keph~kst006,  " 机器
      keph~kst008,
      mkal~text1
      FROM keko
      INNER JOIN keph ON keph~kalnr = keko~kalnr AND keph~kadky = keko~kadky
      INNER JOIN mkal ON mkal~matnr = keko~matnr AND mkal~werks = keko~werks
      INTO TABLE @DATA(lt_keph)
      FOR ALL ENTRIES IN @gt_alv
      WHERE keko~matnr = @gt_alv-matnr
      AND keko~werks = @gt_alv-werks  " 公司代码
      AND keko~kadky BETWEEN @p_kadky_start AND @p_kadky_end
      AND keph~kkzst <> 'X'.
    SORT lt_keph BY matnr.

    SELECT
      keko~matnr,
      keko~kadky,    " 成本核算日期
      keko~kalnr,    " 成本估算号 - 产品成本核算
      ckis~matnr AS matnr1,
      ckis~wertn,
      ckis~menge,
      ckis~meeht,
      ckis~kstar
      FROM keko
      INNER JOIN ckis ON ckis~kalnr = keko~kalnr AND ckis~kadky = keko~kadky
      INTO TABLE @DATA(lt_ckis)
      WHERE
      keko~kadky BETWEEN @p_kadky_start AND @p_kadky_end
      AND ckis~kstar IN ( '5001010101','5001010200' ).
    SORT lt_ckis BY matnr matnr1.

    LOOP AT gt_alv ASSIGNING <fs_alv>.

      " 物料描述
      READ TABLE lt_makt INTO DATA(ls_makt) WITH KEY matnr = <fs_alv>-matnr BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-maktx = ls_makt-maktx.
      ENDIF.

      " 物料组 描述
      READ TABLE lt_t023t INTO DATA(ls_t023t) WITH KEY matnr = <fs_alv>-matnr1 BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-wgbez = ls_t023t-wgbez.
        <fs_alv>-matkl = ls_t023t-matkl.
      ENDIF.

      " 单品/套装描述
      READ TABLE lt_tvm5t INTO DATA(ls_tvm5t) WITH KEY matnr = <fs_alv>-matnr BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-bezei = ls_tvm5t-bezei.
      ENDIF.

      " 物料类型描述
      READ TABLE lt_t134t INTO DATA(ls_t134t) WITH KEY matnr = <fs_alv>-matnr BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-mtbez = ls_t134t-mtbez.
      ENDIF.

      " 品牌 描述
      READ TABLE lt_tspat INTO DATA(ls_tspat) WITH KEY matnr = <fs_alv>-matnr BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-vtext = ls_tspat-vtext.
      ENDIF.

      " 系列
      READ TABLE lt_tvm2t INTO DATA(ls_tvm2t) WITH KEY matnr = <fs_alv>-matnr mvgr2 = <fs_alv>-mvgr2 BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-beze = ls_tvm2t-bezei.
      ENDIF.

      " 原料(A) 包材(B) 人工  机器  制费
      READ TABLE lt_keph INTO DATA(ls_keph) WITH KEY matnr = <fs_alv>-matnr BINARY SEARCH.
      IF sy-subrc = 0.
        <fs_alv>-kst001 = ls_keph-kst001.
        <fs_alv>-kst002 = ls_keph-kst002.
        <fs_alv>-kst004 = ls_keph-kst004.
        <fs_alv>-kst006 = ls_keph-kst006.
        <fs_alv>-kst008 = ls_keph-kst008.
        <fs_alv>-plnnr = ls_keph-plnnr.
        <fs_alv>-text1 = ls_keph-text1.
        <fs_alv>-stnum = ls_keph-stnum.
      ENDIF.

      " 制费合计C
      <fs_alv>-kst468 = <fs_alv>-kst004 + <fs_alv>-kst006 + <fs_alv>-kst008.

      " 标准成本 = A+B+C
      <fs_alv>-kst = <fs_alv>-kst001 + <fs_alv>-kst002 + <fs_alv>-kst468.

      " 包材成本价
      IF <fs_alv>-stufe = '1'.
        READ TABLE lt_ckis INTO DATA(ls_ckis)
        WITH KEY matnr = <fs_alv>-matnr matnr1 = <fs_alv>-matnr1 BINARY SEARCH.
        IF sy-subrc = 0.
          <fs_alv>-wertn = ls_ckis-wertn.
          <fs_alv>-menge = ls_ckis-menge.
          <fs_alv>-meeht = ls_ckis-meeht.
        ENDIF.

      ELSEIF <fs_alv>-stufe = '2'.
        READ TABLE lt_ckis INTO DATA(ls_ckis1)
        WITH KEY matnr = <fs_alv>-matnr2 matnr1 = <fs_alv>-matnr1 BINARY SEARCH.
        IF sy-subrc = 0.
          <fs_alv>-wertn = ls_ckis1-wertn * <fs_alv>-menge1 / 1000.
          <fs_alv>-menge = ls_ckis1-menge * <fs_alv>-menge1 / 1000.
          <fs_alv>-meeht = ls_ckis1-meeht.
        ENDIF.
      ENDIF.

      " 物料编码去前导零
      <fs_alv>-matnr = | { <fs_alv>-matnr ALPHA = OUT } |.
      <fs_alv>-matnr1 = | { <fs_alv>-matnr1 ALPHA = OUT } |.

    ENDLOOP.

    LOOP AT gt_alv ASSIGNING <fs_alv> WHERE matkl = '30101'.
      IF sy-subrc = 0.
        DELETE gt_alv INDEX sy-tabix.
      ENDIF.
    ENDLOOP.

  ENDIF.

ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  SET_FCAT_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_fcat_alv .
  DATA: ls_fcat LIKE LINE OF gt_fcat.

  CLEAR ls_fcat.
  ls_fcat-fieldname = 'WERKS'.
  ls_fcat-scrtext_l = '工厂'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'MATNR'.
  ls_fcat-scrtext_l = '物料编码'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'MAKTX'.
  ls_fcat-scrtext_l = '物料描述'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'BEZEI'.
  ls_fcat-scrtext_l = '单品/套装描述'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'MTBEZ'.
  ls_fcat-scrtext_l = '物料类型'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'VTEXT'.
  ls_fcat-scrtext_l = '品牌'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'BEZE'.
  ls_fcat-scrtext_l = '系列'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST'.
  ls_fcat-scrtext_l = '标准成本'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST001'.
  ls_fcat-scrtext_l = '原料'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST002'.
  ls_fcat-scrtext_l = '包材'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST468'.
  ls_fcat-scrtext_l = '制费合计'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST004'.
  ls_fcat-scrtext_l = '人工'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST006'.
  ls_fcat-scrtext_l = '机器'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'KST008'.
  ls_fcat-scrtext_l = '制费'.
  APPEND ls_fcat TO gt_fcat.
*  CLEAR ls_fcat.
*  ls_fcat-fieldname = 'MATNR2'.
*  ls_fcat-scrtext_l = '分装'.
*  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'MATNR1'.
  ls_fcat-scrtext_l = '包材明细'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'STUFE'.
  ls_fcat-scrtext_l = '包材层级'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'WERTN'.
  ls_fcat-scrtext_l = '包材成本价'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'MENGE'.
  ls_fcat-scrtext_l = '包材数量'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'MEEHT'.
  ls_fcat-scrtext_l = '单位'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'WGBEZ'.
  ls_fcat-scrtext_l = '物料组描述'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'STNUM'.
  ls_fcat-scrtext_l = '物料单'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'STLAN'.
  ls_fcat-scrtext_l = 'BOM用途'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'STALT'.
  ls_fcat-scrtext_l = '可选的BOM'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'PLNNR'.
  ls_fcat-scrtext_l = '配方组'.
  APPEND ls_fcat TO gt_fcat.
  CLEAR ls_fcat.
  ls_fcat-fieldname = 'TEXT1'.
  ls_fcat-scrtext_l = '生产工厂'.
  APPEND ls_fcat TO gt_fcat.

ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  FRM_ALV_DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_alv_display .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_pf_status_set = 'SET_PF_STATUS'
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = gt_fcat
      i_save                   = 'A'
      is_variant               = gs_variant
    TABLES
      t_outtab                 = gt_alv
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.

ENDFORM.

*&---------------------------------------------------------------------*
*       SET_PF_STATUS
*&---------------------------------------------------------------------*
FORM set_pf_status  USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'ZSTANDARD'.
ENDFORM.

 

^_^很多人都把资料锁进了note里,以后还怎么百度呢^_^
posted on 2018-11-28 16:49  ^ω^SAP傻X^o^  阅读(1531)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3