应用ABAP语言进行生产调度日报的开发

时间:2022-08-22 06:23:22

应用ABAP语言进行生产调度日报的开发

摘 要 针对矿业公司目前应用的SAP R/3系统,简单阐述了ABAP的概念,并对调度日报程序的设计、开发过程要点以及应用效果进行了介绍。

【关键词】SAP ABAP 开发过程

SAP R/3是一个基于客户/服务机结构和开放系统的、集成的企业资源计划系统(ERP)软件,其功能涵盖企业的生产、销售、物料、财务等各个方面。矿业公司从2010年6月引入ERP系统以来,实施了生产计划、销售与分销、物料管理、财务管理等四个主要模块,形成了一套完整的销管理系统。矿业公司各矿山在地域分布上比较分散,生产数据统计工作量大、及时性差、信息不全面,造成调度指挥难度大,任务重。为公司总调能及时、准确、全面地掌握各矿山的生产数据信息,合理组织生产,实现精细化管理,决定应用SAP的二次开发工具-ABAP语言开发公司生产调度日报。

1 ABAP简介

ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),是集成在SAP基础平台系统中的一种开发语言,用来进行二次开发。为客户提供定制化开发,以满足个性化需求。ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。它适合生成报表,支持对数据库的操作。

2 调度日报程序的设计

生产调度日报主要涉及生产消耗、生产完成、生产质检、设备运行、销售质检等数据信息。日报所需数据由三级MES系统按日或按班上传提供,在四级SAP ABAP开发平台进行程序编写,从后台数据库提取数据,传给已经上载到SAP系统的EXCEL模版,执行生成总调日报功能自动生成EXCEL格式的报表。主要实现数据维护,数据汇总,数据上传,日报生成,数据上传核对查询,日报日志查询等功能。

2.1 数据维护功能

在三、四级均有数据维护功能的开发,实际业务中须由公司总部人员维护的在四级实现,须由矿上业务人员维护的在三级实现。实现数据的新增,修改,删除。

2.2 数据汇总功能

在三把按班计量的基础数据汇总成日数据,如碎矿处理量,粗碎设备开车时间等。

2.3 数据上传功能

三级MES与SAP之间的通讯接口采用交换数据的集成中间件平台(XI),MES直接将SOAP消息发送至接口的简单对象传输协议入口,XI进行相应数据格式和内容转换,然后使用ABAP Proxy将数据发送至SAP,SAP处理数据后将结果通过另一个ABAP Proxy接口传给XI,XI通过SOAP返回结果接口将数据传送到MES的对象传输协议入口,从而实现三四级之间的数据通讯。

数据汇总完成后,按项目编号通过三四级之间的XI接口上传至四级SAP系统数据库表,并能返回上传信息,重新上传能实现数据覆盖。

2.4 日报生成功能

在SAP系统输入给定的事务代码,填入日期后,生成当日的报表。

2.5 数据上传核对查询功能

根据记帐日期,项目编号,上传日期等选择条件,进行已上传数据的核对。

3 调度日报程序的开发

3.1 SAP数据库表的使用及建立

根据实际开发需求,除了使用到一些系统原有的数据库表,还自己创建了几个数据库表表。

(1)ZTPP_SCRB:存储三级按项目编号上传的数据。

(2)AUFK:订单主数据表。

(3)MSEG:物料表。

(4)MKPF:物料凭证。

(5)AFKO:订单表头数据。

(6)ZTZD_SCRBLOG:总调日报日志表。

3.2 程序开发过程

在代码编写中首先声明用到的数据表,定义数据和内表。

TABLES:ZTPP_SCRB,AUFK,MSEG.

DATA:BEGIN OF ZPP02_ITB_PPSBYX OCCURS 0,

G_PRJ_NO(4) TYPE C ,"项目编号

BUDAT LIKE ZTPP_SCRB-BUDAT, "记账日期

WERKS LIKE ZTPP_SCRB-PLANT, "工厂

ENTRY_QNT LIKE ZTPP_SCRB-ENTRY_QNT,"数量

END OF ZPP02_ITB_PPSBYX.

接着定义选择屏幕,以便查询者输入查询条件。

selection-screen begin of block block1 with frame title text-001.

parameters:s_scrq like ZTPP_SCRB-BUDAT OBLIGATORY. "生产日期

selection-screen end of block block1.

然后编写数据查询代码,最后定义输出屏幕,这里用EXCEL输出查询到的数据。

3.3 开发过程中的几个要点

(1)主程序包含六个include程序,include1中声明公共变量,实现多人协作开发,互不干扰,并且子程序能使代码更易于维护。

(2)给不同的业务项目分配各自唯一的项目号,四级只使用“PRJ_NO项目编号”这一个字段存储上传的所有项目号,这样可以避免设置过多字段导致程序代码繁琐。

(3)EXCEL模版的设置。EXCEL模板用事务代码SMW0上传至SAP。在一个EXCEL工作簿中创建六个工作表。第一个是日报表,其余五个工作表对应程序中五个include程序分别命名,用来存放从SAP数据库中提取到的数据。物料号,工厂编号,系列编号,项目编号等信息写在固定的单元格里,以便在日报表做公式链接时使用。由于日报数据庞大,多个工作表的使用,利于问题的查找解决。

4 结语

生产调度日报的开发使用,改变了以前调度员手工制作报表的现状,提高了排产和调度的效率,保证公司决策部门及时准确掌握生产数据信息,具有很好的性价比。为公司带来了良好的管理绩效,可以在其他矿山企业推广使用。

参考文献

[1]张官军.基于SAP平台的ABAP二次开发的实证研究[J].铝加工,2008(04):53-54.

[2]张文岗等.ERP/MES中钢材销售调度运输系统的开发及应用[J].铁道货运,2011(01):21-22.

作者单位

河钢集团矿业公司 河北省唐山市 063000

上一篇:家庭医生签约服务模式对2型糖尿病患者健康管理... 下一篇:佛山西站交通枢纽工程的系统集成设计