版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE10 DATE\@"M/d/yyyy"10/29/2009Version1.0 FILENAME联芯科技ERP项目_技术文档_FICO_007_利润中心现金流量表V1.0_20090728.docPAGE1XXXXXX项目 DATE\@"M/d/yyyy"10/29/2009Version1.0 第I部分:需求模块MACROBUTTONCheckIt_CheckBox£MM MACROBUTTONCheckIt_CheckBox£PP MACROBUTTONCheckIt_CheckBox£SD ■FI MACROBUTTONCheckIt_CheckBox£CO MACROBUTTONCheckIt_CheckBox£IP/FMMACROBUTTONCheckIt_CheckBox£其它Spec编号ZDTYD_FI007短描述利润中心现金流量表类型MACROBUTTONCheckIt_Radiobutton报表MACROBUTTONCheckIt_RadiobuttonABAPProgramMACROBUTTONCheckIt_RadiobuttonInformationSystemMACROBUTTONCheckIt_RadiobuttonReportPrinter MACROBUTTONCheckIt_RadiobuttonReportWriterMACROBUTTONCheckIt_RadiobuttonSAPQueryMACROBUTTONCheckIt_RadiobuttonBWreportMACROBUTTONCheckIt_RadiobuttonCrystalReportsMACROBUTTONCheckIt_RadiobuttonOthersMACROBUTTONUnCheckIt_Radiobutton表单MACROBUTTONCheckIt_Radiobutton流程增强MACROBUTTONCheckIt_RadiobuttonUserExitMACROBUTTONCheckIt_RadiobuttonBADIMACROBUTTONCheckIt_RadiobuttonDialogProgram MACROBUTTONCheckIt_RadiobuttonOtherseMACROBUTTONCheckIt_Radiobutton接口MACROBUTTONCheckIt_RadiobuttonBAPIMACROBUTTONCheckIt_RadiobuttonIDOCMACROBUTTONCheckIt_RadiobuttonALEMACROBUTTONCheckIt_RadiobuttonOthersendMACROBUTTONCheckIt_Radiobutton数据转移需求优先级MACROBUTTONUnCheckIt_RadiobuttonHigh/关键 MACROBUTTONCheckIt_RadiobuttonMid/推荐 MACROBUTTONCheckIt_RadiobuttonLow/可选用户MACROBUTTONNextCell肖丽华要求日期集成测试前预计开发天数(由功能顾问与开发顾问评估)必填_____天是否有标准功能MACROBUTTONCheckIt_RadiobuttonYes MACROBUTTONUnCheckIt_RadiobuttonNo标准功能未采用的原因:MACROBUTTONCheckIt_RadiobuttonPerformanceMACROBUTTONCheckIt_RadiobuttonComplexityMACROBUTTONCheckIt_RadiobuttonOtherse参考的标准功能表单开发:列出参考的标准的Form的技术名称报表开发:列出参考的标准报表文档变更历史版本号文档维护时间姓名简要的描述V1.0200肖丽华初建
第II部分:详细功能描述目的:每月出具产品线现金流量表,记录当月各产品线的货币资金收付情况功能描述:在任何时候都能进行产品线现金流量表的查询、打印选择条件见后详述财务部所有同仁都可以查询,总帐会计及三级经理以上可以打印使用开发新程序打印运行频率MACROBUTTONUnCheckIt_Radiobutton任何时间MACROBUTTONCheckIt_Radiobutton每天MACROBUTTONCheckIt_Radiobutton每周MACROBUTTONCheckIt_Radiobutton两周MACROBUTTONCheckIt_Radiobutton每月MACROBUTTONCheckIt_Radiobutton每年MACROBUTTONCheckIt_Radiobutton其它:运行方式MACROBUTTONUnCheckIt_Radiobutton手工MACROBUTTONCheckIt_Radiobutton自动MACROBUTTONCheckIt_Radiobutton批处理MACROBUTTONCheckIt_Radiobutton在线处理输出方式MACROBUTTONCheckIt_Radiobutton屏幕输出MACROBUTTONCheckIt_Radiobutton打印MACROBUTTONCheckIt_Radiobutton文件输出MACROBUTTONUnCheckIt_Radiobutton其它:打印和文件输出打印机类型激光打印机纸张大小A4纵印语言简体中文选择屏幕: 顺序字段名称字段技术名称字段描述P/S必填/可选特殊需求1利润中心FAGLFLEXT-PRCTR利润中心P必填默认值D3002会计期间BKPF-MONAT会计期间P必填默认上一会计期间(如当前期间为1月则默认为1月)3会计年度BKPF-GJAHR会计年度P必填默认本会计年度报表/表单的字段抬头字段/表尾字段见附加EXCEL(现金流量表样表)。顺序字段名称字段技术名称字段描述特殊需求1企业名称CEPCT-LTEXT利润中心对应的名称2年度BSIS-GJAHR取选择屏幕上的会计年度3会计期间BSIS-MONAT取选择屏幕上的会计期间格式/屏幕设计:见附件EXCEL(现金流量表样表)。逻辑关系:见下附件EXCEL(现金流量表公式).根据输入条件中的利润中心、会计年度、期间到表BSIS、BSAS中查找相应明细,比如:输入条件利润中心为JA3001,会计年度为2009,期间为06,,则到BSIS、BSAS表中找PRCTR字段为JA3001,GJAHR字段为2009,对于“本月数”,MONAT字段为06期间;对于“累计数”,取MONAT字段01-06期间,科目范围(字段:HKONT)均为1001000000-1001999999,1002000000-1002999999,1012000000-1012999999的所有明细;以上一步找到的所有明细记录中BELNR(财务凭证编号)字段为关键值,到BSEG表中取BELNR(财务凭证编号)字段相同的明细数据;按照RSTGR(原因代码)字段,对现金流入类的各个原因代码用借方(S)本位币金额(DMBTR字段)合计减去贷方(H)本位币金额(DMBTR字段)的合计差额列示;对现金流出类的各个原因代码用贷方(H)本位币金额(DMBTR字段)合计减去借方(S)本位币金额(DMBTR字段)的合计差额列示;第39至40行均需到FAGLFLEXT表中取出会计科目为1001*、1002*、1012*的数值。以当前期间为6月为例,39行第一列需根据输入条件中的利润中心、会计年度、记帐期间去FAGLFLEXT表中的HSL01字段到HSL16字段找出相应的数值并合计,做为输出格式中的期初数,比如:现出具6月现金流量表,则在FAGLFLEXT表中的HSL01字段到HSL05字段找出相应的数值合计再加上FAGLFLEXT表中HSLVT字段取出的数值;第39行第二列则取HSLVT字段做为输出格式中的期初数。当输入条件利润中心为“PT3001”时,报表数据取值包含“PT3001”和“GG3001”;当输入条件利润中心为“PT3101”时,报表数据取值包含“PT3101”和“GG3101”。报表中各单元格的对应的原因代码及计算公式见下方样张。备注:可根据输入的“产品线”条件调用函数K_PRCTR_VALUES_GET(输入:利润中心组、利润中心范围;输出:利润中心)得到最终需要的利润中心,此字段对应到FAGLFLEXT中的PRCTR字段。样张:其它内容:对报表/单据的其它功能进行描述*注:删除上面不适用的行和注释行.
第III部分:技术说明ProgramnameZ_FI_EXEC_CASH_FLOW_PCTransactioncodeZFI007AuthorizationObjectZR_FI_050ZR_FI_051FormFormnameN/AOutputtypeN/AFormroutineN/A程序逻辑:程序逻辑说明及程序逻辑图点击执行后,选择下载路径后,系统会自动下载EXECLE文件到本地。利润表,首先通过在ATSELECTION-SCREEN事件中调用
PERFORM
authority_check
.进行判断执行用户是否ZRFIZR_FI_050、ZR_FI_051这两个角色来查看相关公司代码、利润中心的权限,如果有则执行,没有则报错。然后在data_get这个子过程中从数据库当中取出相应数据,放入相应的结构体当中,存放所选期间的财务数据,然后再CASE屏幕上输入的期间,来判断调用哪个月份的子过程,如1月份调用p_billing_1,2月调用p_billing_2.将数据处理完毕后,再将要放入EXECLE文件的数据存放在t_exceldata这个内表中,t_exceldata这个内表存放了要放入EXECLE文件数据的行、列、数据;通过调用自定义的FUNCTION,ZD_EXCEL_OUTPUT来实现下载EXECL文件的功能;选择屏幕的利润中心、利润中心组只能同时选一个,在选择利润中心组后通过frm_get_prctr得到所有要汇总的利润中心;在汇总数据时,要减去内部订单为6666010102的发生额,在相应的行项目信息中根据FS减去;另外关于有些行项目是通过其它行项目累加的,则是通过在EXLECL模版里实现的,而没有在系统代码里实现;**
*
程序的事务代码:
ZFI007
*
程序名称:
Z_FI_EXEC_CASH_FLOW
*
作者
:
NEUSOFT(LITENGFEI)
*
时间
:
2009-07-29
*
模块
:
FI
*
负责人
:
肖利华
*
描述
:
利润中心现金流量表
*
特殊特性:
*
需求编号:
FI007
**
*
修改记录:
*作者
时间
描述
*
*
*李腾飞
20090729
创建
**
REPORT
z_fi_exec_cash_flow_pc
NO
STANDARD
PAGE
HEADING
MESSAGE-ID
z_1.
INCLUDE
zd_fifm003_head_pc.
"报表头文件
TABLES:
faglflext.
*SELECTION-SCREEN
BEGIN
OF
BLOCK
block1
WITH
FRAME
TITLE
title1.
"选择屏幕定义
*SELECT-OPTIONS:
code
FOR
faglflext-prctr
."OBLIGATORY
.
"利润中心默认D200
*PARAMETERS:
p_name
TYPE
setleaf-setname.
*PARAMETERS:
billing
LIKE
bkpf-monat
OBLIGATORY
DEFAULT
sy-datum+4(2)."会计期间
*PARAMETERS:
year
LIKE
bkpf-gjahr
OBLIGATORY
DEFAULT
sy-datum+0(4)."会计年度
*SELECTION-SCREEN
END
OF
BLOCK
block1.
SELECTION-SCREEN
BEGIN
OF
BLOCK
block1
WITH
FRAME
TITLE
title1.
"OBLIGATORY
.
"利润中心默认D200
SELECTION-SCREEN
BEGIN
OF
LINE
.
PARAMETERS
gp_x
RADIOBUTTON
GROUP
ra1
DEFAULT
'X'
USER-COMMAND
radbtn.
SELECTION-SCREEN
COMMENT
4(20)
text-001
."FOR
FIELD
gp_gjarh.
SELECTION-SCREEN
POSITION
POS_LOW.
SELECT-OPTIONS:
code
FOR
faglflext-prctr
MODIF
ID
sc1.
SELECTION-SCREEN
END
OF
LINE.
SELECTION-SCREEN
BEGIN
OF
LINE.
PARAMETERS:
gp_y
RADIOBUTTON
GROUP
ra1
.
SELECTION-SCREEN
COMMENT
4(31)
text-002.
PARAMETERS:
p_name
TYPE
setleaf-setname
MODIF
ID
sc2
.
SELECTION-SCREEN
END
OF
LINE.
SELECTION-SCREEN
END
OF
BLOCK
block1.
SELECTION-SCREEN
BEGIN
OF
BLOCK
block2
WITH
FRAME
TITLE
text-003.
PARAMETERS:
billing
LIKE
bkpf-monat
OBLIGATORY
DEFAULT
sy-datum+4(2)."会计期间
PARAMETERS:
year
LIKE
bkpf-gjahr
OBLIGATORY
DEFAULT
sy-datum+0(4)."会计年度
SELECTION-SCREEN
END
OF
BLOCK
block2.
INITIALIZATION.
"表头定义
title1
=
'利润中心现金流量表'.
**
*
AT
SELECTION-SCREEN
*
**
AT
SELECTION-SCREEN
ON
VALUE-REQUEST
FOR
p_name.
PERFORM
get_search_help
.
AT
SELECTION-SCREEN.
IF
code
IS
NOT
INITIAL
AND
p_name
IS
NOT
INITIAL.
MESSAGE
e003(z_1)
WITH
'利润中心组与利润中心不能同时输入'.
ENDIF.
PERFORM
frm_get_prctr.
"得到利润中心
START-OF-SELECTION.
PERFORM
frm_authority_check.
PERFORM
get_data."读取数据
PERFORM
frm_get_title."得到利润中心、利润中心组描述
PERFORM
cal_data_faglflext."生成数据
PERFORM
cal_data_deal.
"数据处理
PERFORM
call_function_output."调用报表输出函数。
END-OF-SELECTION.
INCLUDE
zd_fifm003_get_dataf01_pc.
INCLUDE
zd_fifm003_cal_data_faf01_pc.
INCLUDE
zd_fifm003_cal_data_dealf01_pc.
*&*
*&
Form
CALL_FUNCTION_OUTPUT
*&*
*
text
**
*
-->
p1
text
*
<--
p2
text
**
FORM
call_function_output
.
LOOP
AT
t_exceldata
INTO
wa_exceldata
WHERE
row
<>
2
.
CONDENSE
wa_exceldata-value.
*
IF
wa_exceldata-value
<
0.
CALL
FUNCTION
'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value
=
wa_exceldata-value.
MODIFY
t_exceldata
FROM
wa_exceldata.
*
ENDIF.
ENDLOOP.
CALL
FUNCTION
'ZD_EXCEL_OUTPUT'
EXPORTING
excel_template
=
c_exceltemplate
macro
=
'WRITE_CELL'
exit_program
=
sy-repid
p_xsht
=
'利润中心现金流量表'
*
exit_subroutine
=
'SUB_ADDITION_EXCEL'
TABLES
data_source
=
t_exceldata.
ENDFORM.
"
CALL_FUNCTION_OUTPUT
*&*
*&
Form
GET_SEARCH_HELP
*&*
*
search
help
**
*
-->
p1
text
*
<--
p2
text
**
FORM
get_search_help
.
TYPES:BEGIN
OF
ty_help,
setname
TYPE
setleaf-setname,
descript
TYPE
settext,
END
OF
ty_help.
DATA:lt_help
TYPE
TABLE
OF
ty_help.
DATA:l_repid
TYPE
sy-repid,
l_dynnr
TYPE
sy-dynnr.
*选取数据
SELECT
a~setname
b~descript
INTO
TABLE
lt_help
FROM
setleaf
AS
a
INNER
JOIN
setheadert
AS
b
ON
b~setclass
=
a~setclass
AND
b~subclass
=
a~subclass
AND
b~setname
=
a~setname
WHERE
a~setclass
=
'0106'
AND
a~subclass
=
'DTDX'
AND
b~langu
=
sy-langu.
DELETE
ADJACENT
DUPLICATES
FROM
lt_help
COMPARING
ALL
FIELDS.
*定制SEARCH
HELP
l_repid
=
sy-repid.
l_dynnr
=
'1000'.
CALL
FUNCTION
'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield
=
'SETNAME'
dynpprog
=
l_repid
dynpnr
=
l_dynnr
dynprofield
=
'P_NAME'
value_org
=
'S'
TABLES
value_tab
=
lt_help
EXCEPTIONS
parameter_error
=
1
no_values_found
=
2
OTHERS
=
3.
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.
"
GET_SEARCH_HELP
*&*
*&
Form
FRM_GET_TITLE
*&*
*
text
**
*
-->
p1
text
*
<--
p2
text
**
FORM
frm_get_title
.
IF
gp_x
=
'X'.
DATA:
BEGIN
OF
lt_ltext
OCCURS
0,
ltext
LIKE
cepct-ltext,
END
OF
lt_ltext.
SELECT
ltext
INTO
TABLE
lt_ltext
FROM
cepct
"取公司名称
WHERE
spras
=
sy-langu
AND
prctr
IN
code
AND
datbi
>
lv_data
AND
kokrs
=
'DTDX'.
LOOP
AT
lt_ltext.
CONCATENATE
company_name
'/'
lt_ltext-ltext
INTO
company_name.
ENDLOOP.
CONCATENATE
'利润中心名称:'
company_name
INTO
c_company_name.
"拼写报表中利润中心名称
ELSEIF
gp_y
=
'X'.
SELECT
SINGLE
descript
INTO
company_name
FROM
setheadert
WHERE
setclass
=
'0106'
AND
subclass
=
'DTDX'
AND
langu
=
sy-langu.
CONCATENATE
'利润中心组名称:'
company_name
INTO
c_company_name.
"拼写报表中利润中心名称
ENDIF.
CONCATENATE
year
'年'
billing
'月'
INTO
c_rpt_date
SEPARATED
BY
space."拼写报表中统计期间
ENDFORM.
"
FRM_GET_TITLE
*&*
*&
Form
FRM_AUTHORITY_CHECK
*&*
*
text
**
*
-->
p1
text
*
<--
p2
text
**
FORM
frm_authority_check
.
*从数据库选取利润中心
SELECT
prctr
INTO
TABLE
gt_center1
FROM
cepct
"取利润中心
WHERE
prctr
IN
code.
*删除重复的利润中心
DELETE
ADJACENT
DUPLICATES
FROM
gt_center1
COMPARING
ALL
FIELDS.
TABLES:
agr_users.
TYPES:
BEGIN
OF
ty_agr_name,
agr_name
LIKE
agr_users-agr_name,
END
OF
ty_agr_name.
DATA:
lt_agr_name
TYPE
TABLE
OF
ty_agr_name,
ls_agr_name
TYPE
ty_agr_name.
DATA:
l_line
TYPE
i.
SELECT
agr_name
INTO
TABLE
lt_agr_name
FROM
agr_users
WHERE
agr_name
IN
('ZR_FI_050','ZR_FI_051')
AND
uname
=
sy-uname.
DESCRIBE
TABLE
lt_agr_name
LINES
l_line.
IF
l_line
=
1.
READ
TABLE
lt_agr_name
INTO
ls_agr_name
WITH
KEY
agr_name
=
'ZR_FI_050'
.
IF
sy-subrc
=
0.
LOOP
AT
gt_center1
INTO
gs_center.
IF
gs_center-prctr
=
'GG3001'
OR
gs_center-prctr
=
'JA3001'
OR
gs_center-prctr
=
'JL3001'
OR
gs_center-prctr
=
'ZD3001'
OR
gs_center-prctr
=
'ZD3002'
OR
gs_center-prctr
=
'ZD3003'
OR
gs_center-prctr
=
'ZD3004'
OR
gs_center-prctr
=
'DUMMY'
OR
gs_center-prctr
=
'PT3001'
OR
gs_center-prctr
=
'YA3001'
OR
gs_center-prctr
=
'YX3001'.
ELSE.
MESSAGE
i002(z_1)
WITH
'没有权限进行查看'.
LEAVE
LIST-PROCESSING.
ENDIF.
CLEAR:gs_center.
ENDLOOP.
ENDIF.
CLEAR
ls_agr_name.
READ
TABLE
lt_agr_name
INTO
ls_agr_name
WITH
KEY
agr_name
=
'ZR_FI_051'
.
IF
sy-subrc
=
0.
LOOP
AT
gt_center1
INTO
gs_center.
IF
gs_center-prctr
=
'GG3101'
OR
gs_center-prctr
=
'JL3101'
OR
gs_center-prctr
=
'PT3101'
OR
gs_center-prctr
=
'DUMMY'.
ELSE.
MESSAGE
i002(z_1)
WITH
'没有权限进行查看'.
LEAVE
LIST-PROCESSING.
ENDIF.
CLEAR:gs_center.
ENDLOOP.
ENDIF.
ELSEIF
l_line
=
0
.
MESSAGE
i002(z_1)
WITH
'没有权限进行查看'.
LEA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年度目标完成情况确认函6篇
- 确认年度物流服务框架协议签署函6篇范文
- 2026年机械员继续教育考试题库及答案
- 2026年大学统计学期末考试题库及答案-统计学论文写作中的学术诚信与道德规范
- 社区养老服务体系标准化建设方案
- 2026年事业单位招聘法律知识冲刺押题卷
- 财务分析人员准确性考评表
- 2026年度员工年终评估会议通知5篇范文
- 网络安全工程师信息安全事件响应处理绩效考评表
- 2025年机动车检测员考试题及答案
- VW80332-2024 中文版(LV215 汽车高压连接器测试标准官方等效版)
- (2026年)口腔种植科室规章制度
- 2026年四川政府采购评审专家考试经典试题及答案
- 天津港集团招聘笔试真题
- 【初中 地理】知识点汇Z-2025-2026学年七年级地理上学期(湘教版2024)
- 广东省广州市2026届高三年级上学期12月调研测试(广州零模)历史试卷
- 2025届高三下学期《十八而志大任始承-高三成人礼》主题班会课件
- 船舶船员心理卫生指南
- 仪表管理标准制度
- 宫颈癌疫苗接种知识培训课件
- 检验室现场管理制度
评论
0/150
提交评论