费用预算
来源:互联网 发布:摄像头录制软件 编辑:程序博客网 时间:2024/03/28 18:27
DATA:
LT_ZICOD026 TYPE TABLE OF /BIC/AZICOD02600,LW_ZICOD026 TYPE /BIC/AZICOD02600.
* BREAK-POINT.
SELECT *
INTO TABLE LT_ZICOD026
FROM /BIC/AZICOD02600
WHERE CO_AREA EQ '1000'.
SORT LT_ZICOD026 BY /BIC/ZSYBQDLX
COSTELMNT
COSTCENTER.
LOOP AT RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.
<RESULT_FIELDS>-division = <RESULT_FIELDS>-/BIC/ZBRAND.
IF <RESULT_FIELDS>-/BIC/ZSYBQDLX = '01' AND ( <RESULT_FIELDS>-COSTELMNT
= '7001010000' OR
<RESULT_FIELDS>-COSTELMNT ='7001010010' ).
<RESULT_FIELDS>-/BIC/ZFTYPE = '1'.
ELSE.
IF <RESULT_FIELDS>-/BIC/ZSYBQDLX EQ '11'.
CLEAR LW_ZICOD026.
READ TABLE LT_ZICOD026
WITH KEY /BIC/ZSYBQDLX = <RESULT_FIELDS>-/BIC/ZSYBQDLX
COSTELMNT = <RESULT_FIELDS>-COSTELMNT
COSTCENTER = <RESULT_FIELDS>-COSTCENTER
INTO LW_ZICOD026 BINARY SEARCH.
<RESULT_FIELDS>-/BIC/ZFTYPE = LW_ZICOD026-/BIC/ZFTYPE.
ELSE.
CLEAR LW_ZICOD026.
READ TABLE LT_ZICOD026
WITH KEY /BIC/ZSYBQDLX = <RESULT_FIELDS>-/BIC/ZSYBQDLX
COSTELMNT = <RESULT_FIELDS>-COSTELMNT
COSTCENTER = SPACE
INTO LW_ZICOD026 BINARY SEARCH.
<RESULT_FIELDS>-/BIC/ZFTYPE = LW_ZICOD026-/BIC/ZFTYPE.
ENDIF.
ENDIF.
****将资金占用利息 、集团公共部门费用的功能项目直接转为资金占用利息和集团公共部门费用
IF <RESULT_FIELDS>-COSTELMNT = '9000000003'."集团公共费用
<RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000012'."000012 集团公共费用
<RESULT_FIELDS>-/BIC/ZFUN_ITM2 = '000014'.
ELSEIF <RESULT_FIELDS>-COSTELMNT = '9000000002'."资金占用利息
<RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000039'. "000039 资金占用利息
<RESULT_FIELDS>-/BIC/ZFUN_ITM2 = '000016'.
ENDIF.
*给集团部门负责人赋值
*利润中心
*01 罗莱
*02 尚玛可
*03 优家
*04 KIDS
*05 高1
*06 高2
*07 高3
*08 团购
*09 电商
*10 香港
**职能部门
*11 供应链中心
*12 采购中心
*13 人力资源中心
*14 企业管理中心
*15 财务中心
*16 集团部门(除大研发)
*17 大研发
"CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
" EXPORTING
" INPUT = <RESULT_FIELDS>-/BIC/ZSYB
"IMPORTING
" OUTPUT = <RESULT_FIELDS>-/BIC/ZSYB.
IF <RESULT_FIELDS>-/BIC/ZSYB = '0000000001'.
<RESULT_FIELDS>-/BIC/ZGROUP = '01'. "罗莱事业部
ENDIF.
IF <RESULT_FIELDS>-/bic/zsybqdlx <> '03'.
IF <RESULT_FIELDS>-/BIC/ZSYB = '0000000002'.
<RESULT_FIELDS>-/BIC/ZGROUP = '02'. "尚玛珂事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000006'.
<RESULT_FIELDS>-/BIC/ZGROUP = '03'. "优家事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000007'.
<RESULT_FIELDS>-/BIC/ZGROUP = '04'. "KIDS事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000003'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000013'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000022'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000029'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000034'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000035'.
<RESULT_FIELDS>-/BIC/ZGROUP = '05'. "高1事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000004'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000011'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000039'.
<RESULT_FIELDS>-/BIC/ZGROUP = '06'. "高2事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000014'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000021'
OR <RESULT_FIELDS>-/BIC/ZSYB = '0000000026'.
<RESULT_FIELDS>-/BIC/ZGROUP = '07'. "高3事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000008'.
<RESULT_FIELDS>-/BIC/ZGROUP = '08'. "团购事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000005'.
<RESULT_FIELDS>-/BIC/ZGROUP = '09'. "电商事业部
ELSEIF <RESULT_FIELDS>-/BIC/ZSYB = '0000000010'.
<RESULT_FIELDS>-/BIC/ZGROUP = '10'. "香港事业部
ENDIF.
ENDIF.
"CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
" EXPORTING
" INPUT = <RESULT_FIELDS>-/BIC/ZFUN_ITM1
" IMPORTING
" OUTPUT = <RESULT_FIELDS>-/BIC/ZFUN_ITM1.
IF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000011' .
<RESULT_FIELDS>-/BIC/ZGROUP = '11'. "供应链中心
ELSEIF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000004'.
<RESULT_FIELDS>-/BIC/ZGROUP = '12'."采购中心
ELSEIF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000025'.
<RESULT_FIELDS>-/BIC/ZGROUP = '13'."人力资源中心
ELSEIF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000023'.
<RESULT_FIELDS>-/BIC/ZGROUP = '14'."企业管理中心
ELSEIF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000003'.
<RESULT_FIELDS>-/BIC/ZGROUP = '15'."财务中心
ELSEIF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000019' OR
<RESULT_FIELDS>-COSTCENTER = '0021007009'.
<RESULT_FIELDS>-/BIC/ZGROUP = '16'."集团部门(除大研发)
*ELSEIF <RESULT_FIELDS>-/BIC/ZFUN_ITM1 = '000006'.
*<RESULT_FIELDS>-/BIC/ZGROUP = '17'."大研发
ENDIF.
* 七宝 罗莱 的费用归属于 罗莱事业部, 七宝品牌时归属于98七宝过渡事业部
IF <RESULT_FIELDS>-/bic/zsybqdlx eq '03' AND
<RESULT_FIELDS>-/BIC/ZBRAND <> '11'.
<RESULT_FIELDS>-/bic/zsyb = '0000000098'.
ENDIF.
***分摊
<result_fields>-/bic/zsybqdlxt = <result_fields>-/bic/zsybqdlx.
<result_fields>-/bic/zbrandt = <result_fields>-/bic/zbrandt.
<result_fields>-/bic/zamountft = <result_fields>-amount.
<result_fields>-/bic/zamounttf = <result_fields>-amount.
ENDLOOP.
*****事业部等于电商的分摊
data:sor_amount TYPE /BI0/OIAMOUNT,
loc_amount TYPE /BI0/OIAMOUNT.
data: it_rel type table of _ty_s_TG_1.
data: wa_rel type _ty_s_TG_1.
data: i_line type i.
data: i_tabix type i,
i_flag type c.
DATA i_lastday type SYST_DATUM.
data: it_zifid043 type table of /BIC/AZIFID04300. "电商平台分摊比例
data: it_zifid046 type table of /BIC/AZIFID04600. "电商/团购品牌分摊比例
*data: it_zifid044 TYPE TABLE OF /BIC/AZIFID04400.
*"团购按渠道类型分摊比例,团购不实现按渠道类型分摊
FIELD-SYMBOLS: <fs_zifid043> type /BIC/AZIFID04300,
<fs_zifid046> TYPE /BIC/AZIFID04600.
select * into table it_zifid043
from /BIC/AZIFID04300
WHERE /BIC/ZSYBQDLX = '08'
OR /BIC/ZSYBQDLX = '09'
OR /BIC/ZSYBQDLX = '10'
.
sort it_zifid043 by /bic/zftbl ASCENDING.
select * into table it_zifid046
from /BIC/AZIFID04600.
sort it_zifid046 by /bic/zftbl ASCENDING.
clear i_line.
loop at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.
if i_line < <RESULT_FIELDS>-record.
i_line = <RESULT_FIELDS>-record.
endif.
endloop.
*按平台比例分摊,针对电商公共的费用,并标注ZFLAG为"X"
clear it_rel[].
clear wa_rel.
loop at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>
where /BIC/ZSYB = '0000000005' and /BIC/ZSYBQDLX = '12'."电商公共
i_tabix = sy-tabix.
sor_amount = <result_fields>-amount.
clear i_flag .
CONCATENATE <result_fields>-CALMONTH '01' INTO i_lastday."月初
loop at it_zifid043 ASSIGNING <fs_zifid043>
where COSTCENTER = <RESULT_FIELDS>-COSTCENTER
and DATEFROM <= i_lastday
and DATETO >= i_lastday
and CO_AREA = '1000' .
clear wa_rel.
wa_rel = <RESULT_FIELDS> .
*按比例计算分摊金额
*wa_rel-AMOUNT = <RESULT_FIELDS>-AMOUNT * <fs_zifid043>-/BIC/ZFTBL.
"只有3位小数,不够
wa_rel-Amount = <RESULT_FIELDS>-AMOUNT * <fs_zifid043>-/BIC/ZPER.
loc_amount = wa_rel-amount + loc_amount.
* wa_rel-amount = 0."分摊前金额为0
wa_rel-/bic/zamountft = <result_fields>-/bic/zamountft *
<fs_zifid043>-/BIC/ZPER. "带多位小数位的字段
"FLTP型
* wa_rel-/BIC/ZFLAG = 'X'.
wa_rel-/BIC/ZSYBQDLXT = <fs_zifid043>-/BIC/ZSYBQDLX. "分摊后渠道类型
append wa_rel to it_rel.
i_flag = 'X'.
endloop.
if i_flag = 'X'.
delete RESULT_PACKAGE index i_tabix.
* <result_fields>-/bic/zamountft = 0. "分摊后金额为0
* clear wa_rel.
* SORT it_rel by amount DESCENDING.
* loop at it_rel INTO wa_rel.
* wa_rel-amount = wa_rel-amount + sor_amount - loc_amount.
* MODIFY it_rel FROM wa_rel.
* exit.
* endloop.
* READ TABLE it_rel INTO wa_rel INDEX 1.
* IF sy-subrc = 0.
wa_rel-amount = wa_rel-amount + sor_amount - loc_amount.
MODIFY TABLE it_rel FROM wa_rel.
* ENDIF.
endif.
sor_amount = 0.
loc_amount = 0.
clear i_flag.
endloop.
loop at it_rel ASSIGNING <RESULT_FIELDS>.
i_line = i_line + 1.
<RESULT_FIELDS>-record = i_line .
append <RESULT_FIELDS> to RESULT_PACKAGE.
endloop.
*电商按品牌比例分摊,电商全部费用
clear it_rel[].
clear wa_rel.
loop at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>
where /BIC/ZSYB = '0000000005'
*and BUS_AREA <> '1810' "9月份以后,1810的不参与分摊,到9月后再把此注释去掉
.
i_tabix = sy-tabix.
sor_amount = <result_fields>-amount.
clear i_flag .
loop at it_zifid046 ASSIGNING <fs_zifid046>
where CALMONTH = <result_fields>-CALMONTH
AND /BIC/ZSYB = '0000000005'.
clear wa_rel.
wa_rel = <RESULT_FIELDS> .
*按比例计算分摊金额
* wa_rel-AMOUNT = <RESULT_FIELDS>-AMOUNT * <fs_zifid046>-/BIC/ZFTBL.
wa_rel-Amount = <RESULT_FIELDS>-AMOUNT * <fs_zifid046>-/BIC/ZPER.
loc_amount = wa_rel-amount + loc_amount.
* wa_rel-amount = 0."分摊前金额为0
wa_rel-/bic/zamountft = <result_fields>-/bic/zamountft *
<fs_zifid046>-/BIC/ZPER."带多位小数位的字段
"FLTP型
* wa_rel-/BIC/ZFLAG = 'X'.
wa_rel-/BIC/ZBRANDT = <fs_zifid046>-/BIC/ZBRAND."分摊后品牌
append wa_rel to it_rel.
i_flag = 'X'.
endloop.
if i_flag = 'X'.
delete RESULT_PACKAGE index i_tabix.
* <result_fields>-/bic/zamountft = 0. "分摊后金额为0
* clear wa_rel.
* SORT it_rel by amount DESCENDING.
* loop at it_rel INTO wa_rel.
* wa_rel-amount = wa_rel-amount + sor_amount - loc_amount.
* MODIFY it_rel FROM wa_rel.
* exit.
* endloop.
* READ TABLE it_rel INTO wa_rel INDEX 1.
* IF sy-subrc = 0.
wa_rel-amount = wa_rel-amount + sor_amount - loc_amount.
MODIFY TABLE it_rel FROM wa_rel.
* ENDIF.
endif.
sor_amount = 0.
loc_amount = 0.
clear i_flag.
endloop.
loop at it_rel ASSIGNING <RESULT_FIELDS>.
i_line = i_line + 1.
<RESULT_FIELDS>-record = i_line .
append <RESULT_FIELDS> to RESULT_PACKAGE.
endloop.
*****团购公共按渠道分摊,并标注ZFLAG为"X",团购不实现按渠道分摊,预算部分不实现//////
**clear it_rel[].
**clear wa_rel.
**loop at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>
** where /BIC/ZSYB = '0000000008' and /BIC/ZSYBQDLX = '13'."团购公共
** i_tabix = sy-tabix.
** clear i_flag .
** loop at it_zifid044 ASSIGNING <fs_zifid044>
** where /BIC/ZSYB = '0000000008'
** and CALMONTH = <RESULT_FIELDS>-PSTNG_DATE(6).
** clear wa_rel.
** wa_rel = <RESULT_FIELDS> .
***按比例计算分摊金额
*** wa_rel-AMOUNT = <RESULT_FIELDS>-AMOUNT * <fs_zifid044>-/BIC/ZFTBL.
*** wa_rel-Amount = <RESULT_FIELDS>-AMOUNT * <fs_zifid044>-/BIC/ZPER.
** wa_rel-amount = 0.
** wa_rel-/bic/zamountft = <result_fields>-/bic/zamountft *
** <fs_zifid044>-/BIC/ZPER."带多位小数位的字段
** "FLTP型
** wa_rel-/BIC/ZFLAG = 'X'.
** wa_rel-/BIC/ZSYBQDLXT = <fs_zifid044>-/BIC/ZSYBQDLX.
** append wa_rel to it_rel.
** i_flag = 'X'.
** endloop.
** if i_flag = 'X'.
*** delete RESULT_PACKAGE index i_tabix.
** <result_fields>-/bic/zamountft = 0. "分摊后金额为0
** endif.
**endloop.
**loop at it_rel ASSIGNING <RESULT_FIELDS>.
** i_line = i_line + 1.
** <RESULT_FIELDS>-record = i_line .
** append <RESULT_FIELDS> to RESULT_PACKAGE.
**endloop.
*团购按品牌比例分摊,团购全部费用
clear it_rel[].
clear wa_rel.
loop at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>
where /BIC/ZSYB = '0000000008'
.
i_tabix = sy-tabix.
sor_amount = <result_fields>-amount.
clear i_flag .
loop at it_zifid046 ASSIGNING <fs_zifid046>
where CALMONTH = <result_fields>-CALMONTH
AND /BIC/ZSYB = '0000000008'.
clear wa_rel.
wa_rel = <RESULT_FIELDS> .
*按比例计算分摊金额
* wa_rel-AMOUNT = <RESULT_FIELDS>-AMOUNT * <fs_zifid046>-/BIC/ZFTBL.
wa_rel-Amount = <RESULT_FIELDS>-AMOUNT * <fs_zifid046>-/BIC/ZPER.
loc_amount = wa_rel-amount + loc_amount.
* wa_rel-Amount = <RESULT_FIELDS>-AMOUNT * <fs_zifid046>-/BIC/ZPER.
* wa_rel-amount = 0.
wa_rel-/bic/zamountft = <result_fields>-/bic/zamountft *
<fs_zifid046>-/BIC/ZPER."带多位小数位的字段
"FLTP型
* wa_rel-/BIC/ZFLAG = 'X'.
wa_rel-/BIC/ZBRANDT = <fs_zifid046>-/BIC/ZBRAND.
append wa_rel to it_rel.
i_flag = 'X'.
endloop.
if i_flag = 'X'.
delete RESULT_PACKAGE index i_tabix.
* <result_fields>-/bic/zamountft = 0. "分摊后金额为0
* clear wa_rel.
* SORT it_rel by amount DESCENDING.
* loop at it_rel INTO wa_rel.
* wa_rel-amount = wa_rel-amount + sor_amount - loc_amount.
* MODIFY it_rel FROM wa_rel.
* exit.
* endloop.
* READ TABLE it_rel INTO wa_rel INDEX 1.
* IF sy-subrc = 0.
wa_rel-amount = wa_rel-amount + sor_amount - loc_amount.
MODIFY TABLE it_rel FROM wa_rel.
* ENDIF.
endif.
sor_amount = 0.
loc_amount = 0.
clear i_flag.
endloop.
loop at it_rel ASSIGNING <RESULT_FIELDS>.
i_line = i_line + 1.
<RESULT_FIELDS>-record = i_line .
append <RESULT_FIELDS> to RESULT_PACKAGE.
endloop.
delete RESULT_PACKAGE WHERE amount = 0 AND /bic/zamounttf = 0.
0 0
- 费用预算
- 费用预算查询类
- 集团公司预算控制与网上费用报销系统
- 营销费用的预算管理原则和模式
- 营销费用预算管理的IT应用之路
- 营销费用的预算管理原则和模式
- 营销费用预算管理的IT应用之路
- 奥威Power-BI可视化分析:财务管理-费用预算执行情况
- 金蝶EAS8.2,二次开发单据关联费用预算,新预算接口
- 预算及费用控制方案:以“我”为中心,构建企业信息化财务管控体系
- 电子商务网上交易平台需要多少钱,为何预算和实际费用相差如此大
- 产品研发核心价值流中的四大业务主线(计划控制线、质量保证线、预算费用线、工程技术线)
- 费用
- 企业预算
- 设计->预算
- 旅游预算
- 旅游预算
- 购房预算
- Go语言学习环境搭建
- hdu 3585 最快代码
- 市委组织部项目--需求分析
- 视频压缩的I帧,P帧和B帧。
- 数据结构:JavaScript实现二叉查找树
- 费用预算
- 以访客至上的网页设计(三)
- linux at命令详解
- BZOJ 3123: [Sdoi2013]森林|主席树|启发式合并
- RedHat配置光盘源
- Android Studio - Gradle项目 - NDK开发 - JNI编译中引用本地so - 记录
- Android 社交娱乐聊天APP
- 测试php7的一些新特性
- everything of people’s life can changed in their twenties