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.