CKM3报表

CKM3报表

REPORT xxxx.

*-----------------------------------------------------------------------
* TABLES
*-----------------------------------------------------------------------

TABLES:ckmlhd , ckmlpp.

*-----------------------------------------------------------------------
* TYPES
*-----------------------------------------------------------------------

*  -----------------------------------------------------------------------
*   DATA
*  -----------------------------------------------------------------------

DATA: BEGIN OF gs_alv,
        bdatj    LIKE ckmlpp-bdatj,
        poper    LIKE ckmlpp-poper,
        vbeln    LIKE ckmlhd-vbeln,
        posnr    LIKE ckmlhd-posnr,
        kalnr    LIKE ckmlhd-kalnr,
        matnr    LIKE ckmlhd-matnr,
        maktx    LIKE makt-maktx,
        werks    LIKE marc-werks,
        name1    LIKE t001w-name1,
        meins    LIKE ckmlpp-meins,
        qc       LIKE ckmlpp-abkumo,
        qczje    TYPE p DECIMALS 2,
        qcylcb   TYPE p DECIMALS 2,
        qczj     TYPE p DECIMALS 2,
        qcsf     TYPE p DECIMALS 2,
        qcqt     TYPE p DECIMALS 2,
        qcbz     TYPE p DECIMALS 2,
        qcrg     TYPE p DECIMALS 2,
        qcgf     TYPE p DECIMALS 2,
        qcrldl   TYPE p DECIMALS 2,
        qcqtzz   TYPE p DECIMALS 2,
        qcwxjg   TYPE p DECIMALS 2,
        jggg     LIKE ckmlpp-abkumo,
        jgggzje  TYPE p DECIMALS 2,
        jgggylcb TYPE p DECIMALS 2,
        jgggzj   TYPE p DECIMALS 2,
        jgggsf   TYPE p DECIMALS 2,
        jgggqt   TYPE p DECIMALS 2,
        jgggbz   TYPE p DECIMALS 2,
        jgggrg   TYPE p DECIMALS 2,
        jggggf   TYPE p DECIMALS 2,
        jgggrldl TYPE p DECIMALS 2,
        jgggqtzz TYPE p DECIMALS 2,
        jgggwxjg TYPE p DECIMALS 2,
        qctrzzl  TYPE p DECIMALS 2,
        qctrzje  TYPE p DECIMALS 2,
        qctrylcb TYPE p DECIMALS 2,
        qctrzj   TYPE p DECIMALS 2,
        qctrsf   TYPE p DECIMALS 2,
        qctrqt   TYPE p DECIMALS 2,
        qctrbz   TYPE p DECIMALS 2,
        qctrrg   TYPE p DECIMALS 2,
        qctrgf   TYPE p DECIMALS 2,
        qctrrldl TYPE p DECIMALS 2,
        qctrqtzz TYPE p DECIMALS 2,
        qctrwxjg TYPE p DECIMALS 2,
        qccczzl  TYPE p DECIMALS 2,
        qccczje  TYPE p DECIMALS 2,
        qcccylcb TYPE p DECIMALS 2,
        qccczj   TYPE p DECIMALS 2,
        qcccsf   TYPE p DECIMALS 2,
        qcccqt   TYPE p DECIMALS 2,
        qcccbz   TYPE p DECIMALS 2,
        qcccrg   TYPE p DECIMALS 2,
        qcccgf   TYPE p DECIMALS 2,
        qcccrldl TYPE p DECIMALS 2,
        qcccqtzz TYPE p DECIMALS 2,
        qcccwxjg TYPE p DECIMALS 2,
        cgzzl    TYPE p DECIMALS 2,
        cgzje    TYPE p DECIMALS 2,
        cgylcb   TYPE p DECIMALS 2,
        cgzj     TYPE p DECIMALS 2,
        cgsf     TYPE p DECIMALS 2,
        cgqt     TYPE p DECIMALS 2,
        cgbz     TYPE p DECIMALS 2,
        cgrg     TYPE p DECIMALS 2,
        cggf     TYPE p DECIMALS 2,
        cgrldl   TYPE p DECIMALS 2,
        cgqtzz   TYPE p DECIMALS 2,
        cgwxjg   TYPE p DECIMALS 2,
        dqxszzl  TYPE p DECIMALS 2,
        dqxszje  TYPE p DECIMALS 2,
        dqxsylcb TYPE p DECIMALS 2,
        dqxszj   TYPE p DECIMALS 2,
        dqxssf   TYPE p DECIMALS 2,
        dqxsqt   TYPE p DECIMALS 2,
        dqxsbz   TYPE p DECIMALS 2,
        dqxsrg   TYPE p DECIMALS 2,
        dqxsgf   TYPE p DECIMALS 2,
        dqxsqtzz TYPE p DECIMALS 2,
        dqxsrldl TYPE p DECIMALS 2,
        dqxswxjg TYPE p DECIMALS 2,
        qm       LIKE ckmlpp-abkumo,
        qmzje    TYPE p DECIMALS 2,
        qmylcb   TYPE p DECIMALS 2,
        qmzj     TYPE p DECIMALS 2,
        qmsf     TYPE p DECIMALS 2,
        qmqt     TYPE p DECIMALS 2,
        qmbz     TYPE p DECIMALS 2,
        qmrg     TYPE p DECIMALS 2,
        qmrldl   TYPE p DECIMALS 2,
        qmgf     TYPE p DECIMALS 2,
        qmqtzz   TYPE p DECIMALS 2,
        qmwxjg   TYPE p DECIMALS 2,
      END OF gs_alv.

DATA: gt_out     LIKE STANDARD TABLE OF gs_alv,
      gs_jahper  TYPE mldoc-jahrper,
      gt_jahper  TYPE RANGE OF mldoc-jahrper,
      gt_tckh3   TYPE STANDARD TABLE OF tckh3 WITH NON-UNIQUE KEY elehk elemt,
      gs_all_sum TYPE fcml4h_common_ccs_s,
      gt_all_sum TYPE fcml4h_common_ccs_t.

DATA: gr_select  TYPE REF TO cl_ml_data_select.

DATA: gv_runref    TYPE mldoc-runref VALUE 'ACT',
      gv_ccs_elehk TYPE ck_elesmhk VALUE 'Z1'.

*  ----------------------------------------------------------------------*
*         ALV层级关系定义
*  ----------------------------------------------------------------------*

DATA: gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      gs_layout   TYPE lvc_s_layo,
      gv_repid    LIKE sy-repid VALUE sy-repid.

DATA:gt_sort TYPE lvc_t_sort,
     gs_sort TYPE lvc_s_sort.
*&---------------------------------------------------------------------*
* 屏幕选择部分
*
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1.

PARAMETERS: p_bdatj LIKE ckmlpp-bdatj OBLIGATORY,
            p_poper LIKE ckmlpp-poper OBLIGATORY.

SELECT-OPTIONS: s_matnr FOR ckmlhd-matnr,
                s_bwkey FOR ckmlhd-bwkey.

SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-001.
PARAMETERS: p_a TYPE c RADIOBUTTON GROUP a,
            p_b TYPE c RADIOBUTTON GROUP a.
SELECTION-SCREEN END OF BLOCK b2.

INITIALIZATION.

  IF p_bdatj IS INITIAL AND p_poper IS INITIAL.

    IF  sy-datum+4(2) = '01'.
      p_bdatj = sy-datum+0(4) - 1.
      p_poper = 12.
    ELSE.
      p_bdatj = sy-datum+0(4) .
      p_poper = sy-datum+4(2) - 1.
    ENDIF.
  ENDIF.


START-OF-SELECTION.

  PERFORM sub_get_data.
  PERFORM sub_show_alv.

END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form SUB_SHOW_ALV
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM sub_show_alv .
  PERFORM sub_set_fieldcat.           "设置输出字段
  PERFORM sub_set_sort.               "设置排序、合计
  PERFORM sub_set_output.             "输出S
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SUB_GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM sub_get_data .

*  CONCATENATE p_bdatj p_poper INTO r_jahper-high.
*  gs_jahper-low    = gs_jahper-high.
*  gs_jahper-sign   = 'I'.
*  gs_jahper-option ='EQ'.
*  APPEND gs_jahper TO gt_jahper .

  APPEND VALUE #( sign = 'I' option = 'EQ' low = p_bdatj && p_poper ) TO gt_jahper.

  SELECT *
  INTO TABLE gt_tckh3
  FROM
    tckh3
  WHERE
  elehk = 'Z1' .


  SELECT
    ckmlhd~vbeln,             "销售凭证
    ckmlhd~posnr,             "销售凭证行项目
    ckmlhd~kalnr,             "成本估算编号
    marc~werks,               "工厂
    mara~matnr,               "物料
    makt~maktx,               "物料描述
    t001w~name1
  INTO CORRESPONDING FIELDS OF TABLE @gt_out
  FROM
    mara
  INNER JOIN marc ON mara~matnr = marc~matnr
  INNER JOIN makt ON mara~matnr = makt~matnr
  INNER JOIN t001w ON  marc~werks EQ t001w~werks
  INNER JOIN ckmlhd ON marc~matnr = ckmlhd~matnr AND marc~werks = ckmlhd~bwkey
  WHERE
    mara~matnr IN @s_matnr AND
    marc~werks IN @s_bwkey AND
  makt~spras EQ @sy-langu.


  LOOP AT gt_out INTO gs_alv.
    REFRESH gt_all_sum.
    CREATE OBJECT gr_select
      EXPORTING
        iv_matnr   = gs_alv-matnr
        iv_bwkey   = gs_alv-werks
        iv_kalnr   = gs_alv-kalnr
        iv_runref  = gv_runref
        it_jahrper = gt_jahper
        it_tckh3   = gt_tckh3
        iv_elesmhk = gv_ccs_elehk.


    CALL METHOD gr_select->get_sum_init
      EXPORTING
        iv_curtp           = '10' "mlkey-curtp
        iv_keart           = 'H'
*       iv_mlcct           = ''
*       iv_varfix          = gs_ccskey-varfix
*       iv_kkzst           = gs_ccskey-kkzst
        iv_svrel           = 'X'               "to get all CCS
*       iv_wip             = ''
      IMPORTING
        et_sum             = gt_all_sum
        et_tckh3           = gt_tckh3
      EXCEPTIONS
        material_not_found = 1
        internal_error     = 2
        OTHERS             = 3.
    IF sy-subrc = 0 .

    ENDIF .

    LOOP AT  gt_all_sum INTO gs_all_sum .
      IF  gs_all_sum-categ = 'AB'."期初
        gs_alv-qc = gs_alv-qc +  gs_all_sum-quant. "数量
        gs_alv-qczje = gs_alv-qczje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-qcylcb = gs_alv-qcylcb + gs_all_sum-elm001. "直接材料
        gs_alv-qczj = gs_alv-qczj + gs_all_sum-elm002.     "运费 / 人工
        gs_alv-qcsf = gs_alv-qcsf + gs_all_sum-elm003.     "关税 / 机器
        gs_alv-qcqt = gs_alv-qcqt + gs_all_sum-elm004.     "变动人工费用 / 水电
        gs_alv-qcbz = gs_alv-qcbz + gs_all_sum-elm005.     "机器(变动) / 气体
        gs_alv-qcrg = gs_alv-qcrg + gs_all_sum-elm006.     "动力(变动) / 其他制造费用
        gs_alv-qcgf = gs_alv-qcgf + gs_all_sum-elm007.     "折旧(固定)
        gs_alv-qcrldl = gs_alv-qcrldl + gs_all_sum-elm008. "其他变动制造费用
        gs_alv-qcqtzz = gs_alv-qcqtzz + gs_all_sum-elm009. "其他固定制造费用
      ENDIF.

      IF  gs_all_sum-categ = 'EB'."期末
        gs_alv-qm = gs_alv-qm +  gs_all_sum-quant. "数量
        gs_alv-qmzje = gs_alv-qmzje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-qmylcb = gs_alv-qmylcb + gs_all_sum-elm001. ""直接材料
        gs_alv-qmzj = gs_alv-qmzj + gs_all_sum-elm002.      "运费 / 人工
        gs_alv-qmsf = gs_alv-qmsf + gs_all_sum-elm003.      "关税 / 机器
        gs_alv-qmqt = gs_alv-qmqt + gs_all_sum-elm004.      "变动人工费用 / 水电
        gs_alv-qmbz = gs_alv-qmbz + gs_all_sum-elm005.      "机器(变动) / 气体
        gs_alv-qmrg = gs_alv-qmrg + gs_all_sum-elm006.      "动力(变动) / 其他制造费用
        gs_alv-qmgf = gs_alv-qmgf + gs_all_sum-elm007.      "折旧(固定)
        gs_alv-qmrldl = gs_alv-qmrldl + gs_all_sum-elm008.  "其他变动制造费用
        gs_alv-qmqtzz = gs_alv-qmqtzz + gs_all_sum-elm009.  "其他固定制造费用
      ENDIF.

      IF  gs_all_sum-categ = 'VN' AND gs_all_sum-ptyp = 'V+'."销售
        gs_alv-dqxszzl = gs_alv-dqxszzl +  gs_all_sum-quant. "数量
        gs_alv-dqxszje = gs_alv-dqxszje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-dqxsylcb = gs_alv-dqxsylcb + gs_all_sum-elm001. ""直接材料
        gs_alv-dqxszj = gs_alv-dqxszj + gs_all_sum-elm002.     "运费 / 人工
        gs_alv-dqxssf = gs_alv-dqxssf + gs_all_sum-elm003.     "关税 / 机器
        gs_alv-dqxsqt = gs_alv-dqxsqt + gs_all_sum-elm004.     "变动人工费用 / 水电
        gs_alv-dqxsbz = gs_alv-dqxsbz + gs_all_sum-elm005.     "机器(变动) / 气体
        gs_alv-dqxsrg = gs_alv-dqxsrg + gs_all_sum-elm006.     "动力(变动)/ 其他制造费用
        gs_alv-dqxsgf = gs_alv-dqxsgf + gs_all_sum-elm007.     "折旧(固定)
        gs_alv-dqxsrldl = gs_alv-dqxsrldl + gs_all_sum-elm008. "其他变动制造费用
        gs_alv-dqxsqtzz = gs_alv-dqxsqtzz + gs_all_sum-elm009. "其他固定制造费用
      ENDIF.

      IF  gs_all_sum-categ = 'ZU' AND ( gs_all_sum-ptyp NE 'BB'  ).
        gs_alv-qccczzl = gs_alv-qccczzl +  gs_all_sum-quant. "数量
        gs_alv-qccczje = gs_alv-qccczje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-qcccylcb = gs_alv-dqxsylcb + gs_all_sum-elm001.  "直接材料
        gs_alv-qccczj = gs_alv-qccczj + gs_all_sum-elm002.      "运费 / 人工
        gs_alv-qcccsf = gs_alv-qcccsf + gs_all_sum-elm003.      "关税 / 机器
        gs_alv-qcccqt = gs_alv-qcccqt + gs_all_sum-elm004.      "变动人工费用 / 水电
        gs_alv-qcccbz = gs_alv-qcccbz + gs_all_sum-elm005.      "机器(变动) / 气体
        gs_alv-qcccrg = gs_alv-qcccrg + gs_all_sum-elm006.      "动力(变动) / 其他制造费用
        gs_alv-qcccgf = gs_alv-qcccgf + gs_all_sum-elm007.      "折旧(固定)
        gs_alv-qcccrldl = gs_alv-qcccrldl + gs_all_sum-elm008.  "其他变动制造费用
        gs_alv-qcccqtzz = gs_alv-qcccqtzz + gs_all_sum-elm009.  "其他固定制造费用
      ENDIF.

      IF  gs_all_sum-categ = 'ZU' AND gs_all_sum-ptyp = 'BB' ."采购
        gs_alv-cgzzl = gs_alv-cgzzl +  gs_all_sum-quant. "数量
        gs_alv-cgzje = gs_alv-cgzje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-cgylcb = gs_alv-cgylcb + gs_all_sum-elm001.     "直接材料
        gs_alv-cgzj = gs_alv-cgzj + gs_all_sum-elm002.         "运费 / 人工
        gs_alv-cgsf = gs_alv-cgsf + gs_all_sum-elm003.         "关税 / 机器
        gs_alv-cgqt = gs_alv-cgqt + gs_all_sum-elm004.         "变动人工费用 / 水电
        gs_alv-cgbz = gs_alv-cgbz + gs_all_sum-elm005.         "机器(变动) / 气体
        gs_alv-cgrg = gs_alv-cgrg + gs_all_sum-elm006.         "动力(变动) / 其他制造费用
        gs_alv-cggf = gs_alv-cggf + gs_all_sum-elm007.         "折旧(固定)
        gs_alv-cgrldl = gs_alv-cgrldl + gs_all_sum-elm008.     "其他变动制造费用
        gs_alv-cgqtzz = gs_alv-cgqtzz + gs_all_sum-elm009.     "其他固定制造费用
      ENDIF.

*      IF  gs_all_sum-CATEG = 'VN' AND ( gs_all_sum-PTYP = 'VK' OR gs_all_sum-PTYP = 'VF')."投入
      IF  gs_all_sum-categ = 'VN' AND ( gs_all_sum-ptyp NE 'V+').
        gs_alv-qctrzzl = gs_alv-qctrzzl +  gs_all_sum-quant. "数量
        gs_alv-qctrzje = gs_alv-qctrzje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-qctrylcb = gs_alv-qctrylcb + gs_all_sum-elm001. "直接材料
        gs_alv-qctrzj = gs_alv-qctrzj + gs_all_sum-elm002.     "运费 / 人工
        gs_alv-qctrsf = gs_alv-qctrsf + gs_all_sum-elm003.     "关税 / 机器
        gs_alv-qctrqt = gs_alv-qctrqt + gs_all_sum-elm004.     "变动人工费用 / 水电
        gs_alv-qctrbz = gs_alv-qctrbz + gs_all_sum-elm005.     "机器(变动) / 气体
        gs_alv-qctrrg = gs_alv-qctrrg + gs_all_sum-elm006.     "动力(变动) / 其他制造费用
        gs_alv-qctrgf = gs_alv-qctrgf + gs_all_sum-elm007.     "折旧(固定)
        gs_alv-qctrrldl = gs_alv-qctrrldl + gs_all_sum-elm008. "其他变动制造费用
        gs_alv-qctrqtzz = gs_alv-qctrqtzz + gs_all_sum-elm009. "其他固定制造费用
      ENDIF.

      IF  gs_all_sum-categ = 'PC' ."价格更改
        gs_alv-jggg = gs_alv-jggg +  gs_all_sum-quant. "数量
        gs_alv-jgggzje = gs_alv-jgggzje + gs_all_sum-prd + gs_all_sum-kdm +  gs_all_sum-stval. "实际值
        gs_alv-jgggylcb = gs_alv-jgggylcb + gs_all_sum-elm001. "直接材料
        gs_alv-jgggzj = gs_alv-jgggzj + gs_all_sum-elm002.     "运费 / 人工
        gs_alv-jgggsf = gs_alv-jgggsf + gs_all_sum-elm003.     "关税 / 机器
        gs_alv-jgggqt = gs_alv-jgggqt + gs_all_sum-elm004.     "变动人工费用 / 水电
        gs_alv-jgggbz = gs_alv-jgggbz + gs_all_sum-elm005.     "机器(变动)  / 气体
        gs_alv-jgggrg = gs_alv-jgggrg + gs_all_sum-elm006.     "动力(变动) / 其他制造费用
        gs_alv-jggggf = gs_alv-jggggf + gs_all_sum-elm007.     "折旧(固定)
        gs_alv-jgggrldl = gs_alv-jgggrldl + gs_all_sum-elm008. "其他变动制造费用
        gs_alv-jgggqtzz = gs_alv-jgggqtzz + gs_all_sum-elm009. "其他固定制造费用
      ENDIF.
    ENDLOOP.

    gs_alv-meins = gs_all_sum-meins.
    gs_alv-bdatj = p_bdatj.
    gs_alv-poper = p_poper.
    MODIFY gt_out FROM gs_alv.

  ENDLOOP.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form SUB_SET_FIELDCAT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
*FORM SUB_SET_FIELDCAT .
*CLEAR gs_fieldcat.
*REFRESH gt_fieldcat.
DEFINE set_fieldcat.        " 定义字段宏
  gs_fieldcat-fieldname = &1.
  gs_fieldcat-reptext = &2.
  gs_fieldcat-outputlen = &5.
  gs_fieldcat-no_zero = &4.
  gs_fieldcat-edit = &6.
  gs_fieldcat-lzero = &7.
  gs_fieldcat-do_sum = &3.
  gs_fieldcat-ref_table = &8.
  gs_fieldcat-ref_field = &9.
  APPEND gs_fieldcat TO gt_fieldcat.
  CLEAR gs_fieldcat.
END-OF-DEFINITION.

FORM sub_set_fieldcat.

  set_fieldcat 'BDATJ' '年度' '' ''  '' '' '' '' ''.
  set_fieldcat 'POPER' '期间' '' ''  '' '' '' '' ''.
  set_fieldcat 'VBELN' '销售订单' '' ''  '' '' '' '' ''.
  set_fieldcat 'POSNR' '销售订单行项目' '' ''  '' '' '' '' ''.
  set_fieldcat 'WERKS' '工厂编码' '' ''  '' '' '' '' ''.
  set_fieldcat 'NAME1' '工厂描述' '' ''  '' '' '' '' ''.
  set_fieldcat 'MATNR' '物料编码' '' ''  '' '' '' 'MARA' 'MATNR'.
  set_fieldcat 'MAKTX' '物料描述' '' ''  '' '' '' '' ''.
  set_fieldcat 'MEINS' '计量单位' '' ''  '' '' '' '' ''.

  IF p_b = 'X'.

    set_fieldcat 'QC'     '期初-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCZJE'  '期初-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCYLCB' '期初-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCZJ'   '期初-运费' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCSF'   '期初-关税' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCQT'   '期初-变动人工费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCBZ'	  '期初-机器(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCRG'   '期初-动力(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCGF'   '期初-折旧(固定)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCRLDL' '期初-其他变动制造费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCQTZZ' '期初-其他固定制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'CGZZL'  '采购-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGZJE'  '采购-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGYLCB' '采购-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGZJ'   '采购-运费' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGSF'   '采购-关税' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGQT'   '采购-变动人工费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGBZ'   '采购-机器(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGRG'   '采购-动力(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGGF'   '采购-折旧(固定)' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGRLDL' '采购-其他变动制造费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGQTZZ' '采购-其他固定制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'QCCCZZL'  '水电入库-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCZJE'  '水电入库-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCYLCB' '水电入库-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCZJ'   '水电入库-运费' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCSF'   '水电入库-关税' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCQT'   '水电入库-变动人工费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCBZ'   '水电入库-机器(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCRG'   '水电入库-动力(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCGF'   '水电入库-折旧(固定)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCRLDL' '水电入库-其他变动制造费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCQTZZ' '水电入库-其他固定制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'DQXSZZL'  '销售-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSZJE'  '销售-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSYLCB' '销售-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSZJ'   '销售-运费' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSSF'   '销售-关税' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSQT'   '销售-变动人工费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSBZ'   '销售-机器(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSRG'   '销售-动力(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSGF'   '销售-折旧(固定))' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSRLDL' '销售-其他变动制造费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSQTZZ' '销售-其他固定制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'QCTRZZL'  '水电消耗-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRZJE'  '水电消耗-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRYLCB' '水电消耗-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRZJ'   '水电消耗-运费' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRSF'   '水电消耗-关税' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRQT'   '水电消耗-变动人工费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRBZ'   '水电消耗-机器(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRRG'   '水电消耗-动力(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRGF'   '水电消耗-折旧(固定)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRRLDL' '水电消耗-其他变动制造费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRQTZZ' '水电消耗-其他固定制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'QM'       '期末-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMZJE'    '期末-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMYLCB'   '期末-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMZJ'     '期末-运费' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMSF'     '期末-关税' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMQT'     '期末-变动人工费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMBZ'     '期末-机器(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMRG'     '期末-动力(变动)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMGF'     '期末-折旧(固定)' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMRLDL'   '期末-其他变动制造费用' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMQTZZ'   '期末-其他固定制造费用' '' ''  '' '' '' '' ''.

  ELSE.

    set_fieldcat 'QC'     '期初-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCZJE'  '期初-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCYLCB' '期初-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCZJ'   '期初-人工' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCSF'   '期初-机器' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCQT'   '期初-水电' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCBZ'	  '期初-气体' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCRG'   '期初-其他制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'CGZZL'  '采购-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGZJE'  '采购-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGYLCB' '采购-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGZJ'   '采购-人工' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGSF'   '采购-机器' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGQT'   '采购-水电' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGBZ'   '采购-气体' '' ''  '' '' '' '' ''.
    set_fieldcat 'CGRG'   '采购-其他制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'QCCCZZL'  '水电入库-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCZJE'  '水电入库-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCYLCB' '水电入库-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCZJ'   '水电入库-人工' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCSF'   '水电入库-机器' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCQT'   '水电入库-水电' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCBZ'   '水电入库-气体' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCCCRG'   '水电入库-其他制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'DQXSZZL'  '销售-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSZJE'  '销售-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSYLCB' '销售-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSZJ'   '销售-人工' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSSF'   '销售-机器' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSQT'   '销售-水电' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSBZ'   '销售-气体' '' ''  '' '' '' '' ''.
    set_fieldcat 'DQXSRG'   '销售-其他制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'QCTRZZL'  '水电消耗-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRZJE'  '水电消耗-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRYLCB' '水电消耗-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRZJ'   '水电消耗-人工' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRSF'   '水电消耗-机器' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRQT'   '水电消耗-水电' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRBZ'   '水电消耗-气体' '' ''  '' '' '' '' ''.
    set_fieldcat 'QCTRRG'   '水电消耗-其他制造费用' '' ''  '' '' '' '' ''.

    set_fieldcat 'QM'       '期末-总重量' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMZJE'    '期末-实际值' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMYLCB'   '期末-直接材料' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMZJ'     '期末-人工' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMSF'     '期末-机器' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMQT'     '期末-水电' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMBZ'     '期末-气体' '' ''  '' '' '' '' ''.
    set_fieldcat 'QMRG'     '期末-其他制造费用' '' ''  '' '' '' '' ''.

  ENDIF.

ENDFORM.
**&---------------------------------------------------------------------*
**& Form SUB_SET_SORT
**&---------------------------------------------------------------------*
**& text
**&---------------------------------------------------------------------*
**& -->  p1        text
**& <--  p2        text
**&---------------------------------------------------------------------*
FORM sub_set_sort .
  CLEAR gt_sort.
  DEFINE fill_sort.
    gs_sort-spos = &1.
    gs_sort-fieldname = &2.  "排序字段
    gs_sort-comp = &3.             "升序
    gs_sort-subtot = &4.         "小计依据
    APPEND gs_sort TO gt_sort .
  END-OF-DEFINITION.

  fill_sort:
     '1' 'MATNR' 'X' 'X'.
ENDFORM.
**&---------------------------------------------------------------------*
**& Form SUB_SET_OUTPUT
**&---------------------------------------------------------------------*
**& text
**&---------------------------------------------------------------------*
**& -->  p1        text
**& <--  p2        text
**&---------------------------------------------------------------------*
FORM sub_set_output .
  gs_layout-zebra = 'X'.
  gs_layout-cwidth_opt = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program = gv_repid
*     i_callback_pf_status_set = 'SUB_SET_PF_STATUS'
*     I_CALLBACK_USER_COMMAND = 'SUB_USER_COMMAND'
*     i_callback_top_of_page  = 'SUB_TOP_OF_PAGE'
      is_layout_lvc      = gs_layout
      it_fieldcat_lvc    = gt_fieldcat[]
      it_sort_lvc        = gt_sort
      i_save             = 'U'
*     IS_VARIANT         = GS_DISVAR
*     IT_EVENTS          = GT_EVENTS
*     IS_PRINT_LVC       = GS_PRINT
    TABLES
      t_outtab           = gt_out
    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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值