SAP系统在千户集团数据采集中的实现
2021-06-29张娟娟
张娟娟
(飞马智科信息技术股份有限公司 安徽马鞍山 243000)
引言
税收是国家公共财政最主要的收入形式和来源,安徽省千户集团包括了年纳税额超过3 亿元以上的原千户集团和年纳税额超过1亿元的新扩围集团。由于千户集团财务系统的多样性和复杂性,税务局数据工具企业端软件无法提供适应所有企业的模板,因而纳税人需依照自行导出数据接口标准的要求,按相关说明在数据库中或财务软件中自行导出各类数据表格。之后,使用税务局数据工具企业端软件中提供的数据检查打包功能,对企业数据导出数据的完整性和准确性进行检查,检查通过生成的“*.dcw”格式文件完成企业电子账套数据的采集。
SAP系统是集成了财务管理、成本管理、物料管理、销售管理、生产管理、质量管理模块的一款ERP软件。为了完成数据的采集工作,需要在SAP 中开发出满足千户集团涉税数据格式的报表。
1 SAP二次开发实施的一般流程
SAP系统开发流程图如图1。
图1 SAP系统开发流程图
(1)提出需求
报表的开发需要最终用户提出,按照需求文档格式要求撰写需求文档,目的能够使开发人员以及业务顾问清楚明白需求的实现内容,包括了屏幕选择字段、取数逻辑以及输出格式等。
(2)需求审定
最终用户将需求文档提交至业务顾问,由业务顾问进行审核,主要审核是否与已有功能重复以及需求内容是否完整、通俗易懂之后将需求文档提交开发顾问。
(3)需求分析与开发工作安排
开发顾问收集经由前两个步骤完成的需求文档,对此需求在开发工作中的工作量进行大体的评估与技术可行性方面的分析,并将开发需求分配开发人员。
(4)程序开发
开发人员接受到开发需求,首先对需求文档进行理解,业务上不清楚的询问最终用户或者应用顾问;在程序开发代码编写过程中开发顾问对开发人员的疑问进行解答与指导。开发人员开发完毕后及时撰写技术文档。
(5)程序验收
开发人员完成开发后,首先进行程序的自测,通过后经最终用户验收;程序验收环节是也是至关重要的一环,验收标准以满足需求文档所提出的要求为准。
(6)程序维护
程序运维分为验收前维护和验收后维护两部分。对于验收前不符合需求文档的交由开发人员修改直至满足需求;验收后如果在需求方面有变动,必须从步骤(1)开始新的流程。
2 程序开发
本文主要以税务局出具的千户集团数据采集文件为需求文档,以此为例介绍SAP 系统二次开发报表的步骤,SAP报表开发流程涉及找寻数据表、选择屏幕界面、创建请求号、程序开发、上传请求到测试系统测试、测试无误后上传生产系统等操作。
依据千户集团数据采集文件的要求,需要SAP系统技术人员对财务系统的数据库部署情况和财务系统数据表有很好的了解,开发出满足“电子帐接口规范”内容的账套表、科目表、期初余额表、凭证表等,以供马钢税务科人员将数据导出,最终将数据导入到税务局数据工具企业端软件中,完成数据采集工作。
本文以账套表为例,账套[1]是财务系统的一个概念,描述了这套财务数据对应的核算主体信息和数据所属年度信息。账套表数据内容只需生成一条记录,内容要求即为报表开发后的最终展示的数据字段见表1所示。
表1 账套表
(1)找寻数据表
SAP 系统寻找数据表也是一个比较复杂的课题,只有找到数据字段对应的系统表才能够进行以下步骤,因此找寻系统表是关键的一环。此处以公司代码字段为例进行简单的介绍,首先找到SAP 中任何一个涉及到公司代码字段的界面,如图2所示。在该字段上按F1 键,结果见图3,点击技术信息后,显示图4,即为公司代码字段所在SAP 的系统表名。依据此种方法依次找到账套表涉及的系统表有T004T、T001。
图2 任何一个包含公司代码字段的界面
图3 公司代码字段F1按键后显示图
图4 公司代码所在表或视图
(2)创建屏幕选择字段
技术开发人员通过给出一个查询界面,使用户能够通过输入不同的条件查询到不同公司的账套表数据。界面上的屏幕选择字段是依据最终报表展示的内容而选定的字段。此报表中屏幕选择字段包括了账套编码、会计年度、公司代码信息。其中账套编码和会计年度字段给定的单选输入框(也可选择);公司代码字段给定的是多选框。
账套编码、会计年度单选框代码[2][3]实现如下:
公司代码多选框代码实现如下:
最终选择界面图见图5。
图5 账套表屏幕选择界面
(3)代码开发
在报表开发中不可避免的涉及向数据库表中取数据,需要预先定义一个内表存放从数据表中获得的数据。依据屏幕输入的选择条件从数据库中取数,代码如下:
在满足内表的前提下,继续对在数据表T004T取数据。
将取得的多个内表整理输出部分代码如下,最后调用函数REUSE_ALV_GRID_DISPLAY,ALV输出。
(4)代码上传、测试及发布
SAP 系统一般会有开发机、测试机以及生产机系统;程序在开发机中开发完成后要通事务代码SE09 将请求号释放,再通过STMS 进行请求号上传到测试机进行测试,直至测试准确后发送到生产系统供中最终用户使用。
(5)数据导出
通过事务代码进入所开发的账套表中以SAP系统中CACN为例执行结果,截图见图6。导出操作方式如图7 所示,导出结果后,将数据另存为“*.dcw”格式文件完成企业电子账套数据的采集。
图6 账套表执行结果
图7 数据导出操作图
3 实现结果
通过对满足千户集团数据采集接口规范的报表开发,实现了用户对账套表、凭证表、科目表、期初余额表数据的导出,为以后每年的千户集团数据采集的实现奠定了技术基础,同时也避免了数据整理繁琐的工作。
4 总结
本文以千户集团数据采集的实现为契机,完整详细的阐述了SAP 系统程序从提出需求、需求审核、程序开发、程序验收、程序运维等环节讲述了二次开发的流程,其中重点描述了程序开发的一般步骤,包括了寻找数据表、设置屏幕选择界面、代码开发、代码上传、测试、发布及数据导出。