SAP二次开发项目过程论文.doc_第1页
SAP二次开发项目过程论文.doc_第2页
SAP二次开发项目过程论文.doc_第3页
SAP二次开发项目过程论文.doc_第4页
SAP二次开发项目过程论文.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘摘 要要 销售部门在企业的供需链中处于市场与企业的供应接口位置,实现企业的资金 转化并获取利润,是为企业提供生存与发展的动力能源。本系统是要解决 SAP 系统 在进行企业管理时,销售部门拿下订单时数据在企业中的传输,及对不同报表不同 填法,将不同部门的单一数据,转化为满足差异化的填单数据进行各模块传输的问 题。 本论文主要描述 SAP 二次开发项目过程,开发过程包括两部分:在 SAP/R3 架 构下的程序设计和业务处理。在设计方面,系统使用的是现代企业管理软件领域的 领先者 SAP R/3 系统,并采用了三层架构,即显示层、应用层、数据层。每个业务 处理过程分成了三个处理部分:初期处理、主处理和终了处理。在主处理中对数据 做不同的处理输出,最终完成系统最初的设计要求;在业务方面,主要对开发方法 和特点进行研究,并重点探讨在 SAP R/3 中,如何从销售分售这方面具体业务知识 来满足客户需求,链接起各个同模块,让订单在各自的模块中以不同形式进行传递。 通过利用 ABAP/4 语言对 SD(销售与分销)的业务流程上进行扩展开发发现: SAP R/3 标准解决方案能适应各种 ERP 的特殊问题,满足客户提出的针对自己企业 的特定需求,具有良好的移植性和扩展性。 关键词关键词:SAP,ABAP/4,SD,主处理。 Abstract Sales department, in the supply interface between market and enterprises of the enterprise supply chain, conversion funds of enterprises and making profit, provides dynamic energy for enterprises survival and development. When taking business management on SAP system, this system make sales department transmits data when won the order, converting a single data of different departments to the data which fulfill transmission different modules. That is, making different reports have its own filling methods. This thesis mainly describes the process of secondary development project of SAP. The development process consists of two parts: the SAP/R3 architecture programming and business processing. At the design respect, the system uses a modern enterprise management software leader SAP R / 3 system, using the three-tier structure, which indicates that layer, application layer and data layer. Each business process is divided into three parts: the initial treatment, primary treatment and the end of treatment. In the main processing data is outputted differently to meet the design requirements in the initial system; on business, it mainly studies the development of methods and characteristics and focus on how to meet customer needs with specific business knowledge of sales and distribution and how to link each module to deliver order with different forms in their respective module in the SAP R / 3. Through the use of ABAP / 4 language to extend business processes of SD (sales and distribution) ,I found SAP R / 3 standard solutions which can adapt to a variety of special problems of ERP, can meet customer specific needs for their own businesses and have good portability and scalability. Keywords:SAP,ABAP/4,SD,Primary Treatment 目录目录 1.绪论.1 1.1.论文背景及目的和意义1 2.相关知识简介.3 2.1.SAP 简介.3 2.2.SAP R/3 介绍3 2.2.1.SAP R/3 业务模块3 2.2.2.SAP R/3 系统特点4 2.3.SAP 开发语言ABAP/45 2.4.EDI 的概念5 3.SD 业务模块分析及其需求.6 3.1.SD 概述.6 3.2.SAP SD 模块的系统组成部分6 3.2.1.销售管理.7 3.2.2.装运管理.7 3.2.3.开票管理.8 3.2.4.主数据管理.8 3.2.5.销售信息系统(SIS).9 3.3.业务需求9 3.3.1.业务需求流程.9 3.3.2.客户需求.10 4.总体设计.12 4.1.设计原则12 4.2.组件设计12 4.2.1.程序数据表中数据流向.12 4.3.数据库表设计13 4.4.用户权限15 4.5.功能概要16 5.详细设计.17 5.1.在详细设计过程中的技术要点17 5.1.1.模块化.17 5.1.2.变式.18 5.1.3.开发类命名.18 5.2.内表/工作区.19 5.3.流程图19 5.4.具体模块开发21 5.4.1.初期处理.21 5.4.2.主处理.23 5.4.3.终了处理.35 6.系统测试及项目结论.36 6.1.选取测试方案36 6.2.测试结果表达方式36 6.3.测试内容36 6.3.1.代码测试.36 6.3.2.功能测试.37 6.4.性能测试47 6.4.1.运行时间分析.47 6.4.2.代码行数检查.48 7.结论.50 8.致谢.51 参考文献52 SAP 二次开发之销售与分售模块子系统的设计与实现 1 1. 绪论绪论 1.1. 论文背景论文背景及目的和意义及目的和意义 销售分售作为一个企业获得利润发展自我的重中之重,是每个有自己的产 品或服务的企业希望大力发展的部门。 在企业间的商业竞争越来越激烈的今天 , 如何更好的将自己的产品更快速,更准确,更灵活的销售给客户以取得企业的利 润,成为了企业更加关注的方向。于是为了更加能 让企业管理高效灵活化, 对 如销售分售管理、 财务管理、生产控制管理 、等等的需求, 在 20 世纪 90 年代 初 Gartner 就提出了对企业管理的发展起重要作用的ERP。 ERP(Enterprise Resource Planning)企业资源计划系统,是指建立 在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手 段的管理平台。 作为知识经济的典型产物 ERP 可以成为企业信息化建设的核心 组成部分,它的优势不仅仅在于帮助企业建立一套信息化管理系统,更重要的是 它代表当今世界最先进的现代管理思想和方法,通过它达到业务重组、组织重组 和管理重组,尽快改变企业传统管理粗放、落后的局面,进而建立一套符合市场 经济体制要求的现代企业管理模式。 ERP 帮助公司实现全球化的管理,获得成功 的管理经验,所以使用 ERP 已成为现代企业发展的必然趋势。 在 ERP 中将销售放入了 后勤系统的大类,但是在其它的模块中也不乏与销售 会有一定的联系,总的来说销售分售管理包括有: (一)分销管理 销售的管理是从产品的销售计划开始,对其销售产品、销售地区、销售客户 各种信息的管理和统计,并可对销售数量、金额、利润、绩效、客户服务做出全 面的分析,这样在分销管理模块中大致有三方面的功能。 1、对于客户信息的管理和服务 2、对于销售订单的管理 3、对于销售的统计与分析 (二)库存控制 用来控制存储物料的数量,以保证稳定的物流支持正常的生产,但又最小限 度的占用资本。它是一种相关的、动态的、及真实的库存控制系统。它能够结合、 满足相关部门的需求,随时间变化动态地调整库存,精确的反映库存现状。 西南石油大学本科毕业设计(论文) 2 (三)采购管理 确定合理的定货量、优秀的供应商和保持最佳的安全储备。能够随时提供定 购、验收的信息,跟踪和催促对外购或委外加工的物料,保证货物及时到达。建 立供应商的档案,用最新的成本信息来调整库存的成本。 基于以上的背景和 SAP 中的 SD 模块能完成和实现的功能, 本次论文主要是 想通过学习 SAP R/3 系统,研究如何将卓越的管理思想和计算机技术结合起来完 成报表开发的主要技术和方法。 SAP 二次开发之销售与分售模块子系统的设计与实现 3 2. 相关知识简介相关知识简介 2.1. SAP 简介简介 SAP 起源于 Systems Application Products in DATA processing。它既是 公司名称,又是其 ERP (Enterprise-wide Resource Planning)软件名称。 作为公司它成立于 1972 年,总部位于德国沃尔多夫市,是全球最大的企业管理 软件供应商、第三大独立软件供应商、全球领先的协同电子商务解决方案供应商。 然而作为 ERP 思想的倡导者及解决方案的先驱,它可以为各种行业、不同规模的 企业提供全面的解决方案。 SAP 发展至今已经推出了很多产品,像早期的 RF 系统后来被命名为 R/1 系统, 1979 年用于大型机的 R/2 系统,1992 年的 R/3 客户机/服务器系统,1996 年最新版 R/3 系统,以及 1999 年的 mySAP.com 协同化电子商务解决方案。在这些产品中, R/3 产品是 SAP 的主打产品用于分布式客户机/服务器环境的标准 ERP 软件,主要功 能模块包括:销售和分销、物料管理、生产计划、质量管理、工厂维修、人力资源、 工业方案、办公室和通信、项目系统、资产管理、控制、财务会计。 2.2. SAP R/3 介绍介绍 2.2.1. SAPSAP R/3R/3 业务模块业务模块 SAP R/3 以模块化为思想,分模块管理,它们既可以单独使用,也可以和其 它解决方案相结合。在 SAP R/3 系统中有 FI,CO,MM,SD,PP,HR 等几个基 本模块,大体上分为财会、后勤和人力资源管理三大部分。这些模块既相互独立, 又内在联系,互相影响,共享企业内部资源 ,如下图: 西南石油大学本科毕业设计(论文) 4 图图 2.1 SAP R/3 业务模块图业务模块图 下面是它们的基本功能: (1)FI 财务会计 主要完成应收、应付、总帐、合并、投资、基金、现金等功能。 (2)CO 管理会计 管理会计就是管理企业的利润及成本中心,产品成本、项目会计、获利分析 等。 (3)PP 生产计划控制 企业可以通过工厂数据、生产计划、 MRP、能力计划、成本核算等一系列操 作获得各种制造类型的全面处理信息。 (4)SD 销售与分销 此模块主要完成销售计划、询价报价、定单管理、运输发货、发票等操作。 (5)MM 物料管理 主要完成采购、库房管理、库存管理、 MRP、供应商评价等功能。 (6)HR 人力资源管理 主要完成对薪资、差旅、工时、招聘、发展计划、人事成本等方面的管理。 2.2.2. SAP R/3 系统特点系统特点 模块化:R/3 中各模块即可独立存在,也可与其它模块一起给企业带来更好 的经济效益。 功能性:R/3 的模块化就导致其功能性非常强,其中的模块囊括了全部所需 业务功能。 界面友好:统一的图标与图形符号简化了人机交互时的操作与难度。 SAP 二次开发之销售与分售模块子系统的设计与实现 5 灵活性:由于 R/3 系统中方便的裁剪方法,所以 R/3 相对于同一软件来说 更具有灵活的适应性。 高效益低成本: R/3 高度集成化的数据处理,使得企业在竞争中占有信息优 势。 2.3. SAP 开发语言开发语言ABAP/4 SAP 最初开 ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程 序员提供优化的工作环境 。经过不断的改进和修改以满足商业领域的需要。现 在 ABAP/4 已成为 SAP 开发所有自己的应用程序的仅有工具。 SAP 客户用 ABAP/4 进行其自身开发。这样的开发对 R/3 标准解决方案适 应特殊问题非常重要。 ABAP/4 开发工作平台包含所有用于创建和 维护 ABAP/4 程序的工具 。 ABAP/4 的可解释特性 使其易于生成、测试并运行程序的中级版本,以便将来生 成最终版本 。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。 ABAP/4 是第四代支持结构化程序设计的语言。它合并了所有通常的控制结 构和模块化概念。 2.4. EDI 的概念的概念 因为在项目中经常看到以 EDI 为开头的流程命名,不太理解 是什么意思 最 后查询了资料才知道: EDI 是英文 Electronic Data Interchange 的缩写,中文可译为 “电子数 据互换”,或称作“电子资料联通 ”。它是一种在公司之间传输订单、发票等作 业文件的电子化手段。它通过计算机通信网络将贸易、运输、保险、银行和海关 等行业信息,用一种国际公认的标准格式,实现各有关部门或公司与企业之间的 数据交换与处理,并完成以贸易为中心的全部过程,它是20 世纪 80 年代发展 起来的一种新颖的电子化贸易工具,是计算机、通信和现代管理技术相结合的产 物。国际标准化组织( ISO)将 EDI 描述成“将贸易(商业)或行政事务处理按 照一个共认的标准变成结构化的事务处理或信息数据格式,从计算机到计算机的 电子传输”。而 ITUT(原 CCITT)将 EDI 定义为“从计算机到计算机之间的 结构化的事务数据互换 ”。又由于使用 EDI 可以减少甚至消除贸易过程中的纸 面文件,因此 EDI 又被人们通俗地称为 “无纸贸易”。 西南石油大学本科毕业设计(论文) 6 3. SD 业务模块业务模块分析及其需求分析及其需求 在经过上面对 SAP R/3 系统整个业务模块进行了全面的概述和了解之下,现在 开始着重理解一些关于此次论文所涉及的 SD(销售与分销)业务模块的一些知识。这 些相关的业务知识是编程中的思想,只有对他们有了一定的认识,编程时遇到的很 多困难就会迎刃而解。 3.1. SD 概述概述 SD(Sales and Distribution)模块,中文名称为销售与分销模块。 SD 模块 处理有关销售、装运、单据开具的任务。它提供的销售支持有:对有关销售线索 和竞争者活动的信息进行管理的工具,销售信息系统还能提出关于市场趋势的早 期警告。如果顾客发出一份订单, SD 模块能够从数据库中抽取顾客地址、销售 活动和信用限额等信息。 SD 模块提供使用方便的工具来管理潜在客户探访、询价、报价、市场推广、 竞争者及他们的产品信息。销售和市场推广人员在任何时候都可以访问这些数据 以进行销售活动或直接给客户寄递资料。不仅可以利用销售支持功能更有效地进 行销售流程和提高对现有客户地服务水平,还可以用来识别新客户来源。 SD 模块还能与“物料管理”和“生产计划”模块一起,检查原材料是否 可以获得,估计出这订单的最早可能交货期。 SD 向员工提供有关到期应该发货 的订单的信息。它和 “物料管理”模块一起,从仓库中提出产成品,并且支持有 关包装和生成装运单据的活动。一旦产成品发出, SD 便自动开具单据, “财务 会计与控制”模块马上就能获得这个信息。 3.2. SAP SD 模块的系统组成部分模块的系统组成部分 在 SD 模块中,其系统架构所含的具体内容有:销售管理、装运管理、开票 管理、主数据管理以及销售信息系统。 SAP 二次开发之销售与分售模块子系统的设计与实现 7 销销售售装装运运开开票票 销销售售信信息息系系统统SIS 主主数数据据 图图 3.13.1 SD 模块组成模块组成 以下将一一介绍 SD 模块中的 5 个组成部分: 3.2.1. 销售管理销售管理 任何组织的销售部门都 需要开展广泛的销售活动,这些活动从 接受客户询 价、处理报价申请、开具报价单和销售订单到 产品/服务定价、信贷和产品可用 性检查等。这些工作中任何一步稍有疏忽都可能造成订单的丧失 、公司收入损 失、甚至损害与客户的良好关系。 因此,一个好的销售管理体系,应该是各项 进展平稳、一个环节和下一个 环节有序衔接,彼此信息畅通及时,销售 数据的输入减至最少而误差则被 彻底 消除。SAP 的 SD 模块就可以帮助企业做到这一点,尤其是针对大型企业的销售 行为,SD 模块中的销售管理具备了 齐全的功能,多种订单录入方式大大降低了 企业销售行为中的原始数据录入工作量和销售信息出错率,先进的信贷管理能 力可使企业的销售风险减至最小 ,而精细的定价又可以保持销售工作的灵活性 和竞争性,使用 SD 模块将有效提高销售工作的效率和对客户的响应速度。 SD 模块的销售管理功能支持对客户 询价的响应、对报价和销售订单的处理 与监控、对产品或服务的可用性检查、拟定交货计划、对产品或服务的多种定价 模式的设定以及对客户信用额度的检查、监控和更新等,更重要的是SD 还能 灵活支持退货、换货等业务需求。 3.2.2. 装运管理装运管理 装运是供应链中的基本环节。装运部门的主要任务是确保对用户的服务, 西南石油大学本科毕业设计(论文) 8 将准确的货物、准确的数量在准确的时间内以准确的方式装运和发送,在此过程 中发生的装运成本是整个企业后勤成本中的主要部分。所以靠 SAP SD 模块提 供的灵活装运处理,可 帮助企业提高总的成本效益且变得更有竞争能力。 在 SD 模块的装运处理中, 系统可通过跟踪与用户的总协议、跟踪对物料的 具体要求,或是根据对每一订单所规定的条件等, 事先作出交货过程 中的所有 决策,从而使整个 装运过程更趋合理,且基本实现了全 自动化;只有在发生特 殊情况下,这些决策才需要一定的人工 干预。 SD 模块的装运活动具体包括:计划并监督装运过程每步工作的工作量 、监 控产品可用性 、处理延期订单 、处理分拣/包装、打印并传递装运凭证 、跟踪 并更新出货状态等。 3.2.3. 开票管理开票管理 出具发票是整个销售和分销 活动中的最后一环。SAP 的 SD 模块开票管理 支 持以下功能: (1)自动或手工开具发票: 根据货物和服务而发出的发票 、根据相应的请求而 发出的借项和贷项凭单 、或开具形式发票等 (2)支持订单、交货与发票之间的一对一、一对多或多对一等多种灵活形式 (3)取消出具发票事务 (4)回扣的发出 (5)传递过帐数据到财务会计 (FI)模块 3.2.4. 主数据管理主数据管理 主数据是 SAP 系统运行的基础,它的数据结构的定义对系统的管理、条件的 区分、产生报表的格式等等有深远的影响,因此在ERP 项目中通常都要求极为 慎重而小心地对待主数据的设置和维护工作。 SAP SD 模块中的主数据主要包括: 对业务伙伴的主数据设置,通常业务伙伴包括:售达方、送达方、出具发票 方和付款方等类型 对产品或服务价格主数据的设置,包括净价格、折扣和附加费、运费以及税 等 对销售物料主数据的设置,通过对销售的产品或服务、销售品的仓库等方面 的数据全面管理销售物料 SAP 二次开发之销售与分售模块子系统的设计与实现 9 3.2.5. 销售信息系统(销售信息系统(SIS) SAP SD 模块中的销售信息系统是对销售数据进行分析、产生报表的工具,属 于 LIS(SAP 后勤模块信息系统)的一部分,其功能包括:标准分析、可变分析、 计划分析等。 销售信息系统允许收集、合并和使用销售与分销活动中任何类型的数据, 从客户、产品 /服务、分销渠道,针对订货量、退货量、收款等进行性能评估。 借助研究实时数据并将它与计划值比较,使现场销售活动更趋于及早决断,随后 采取行动解决问题或充分利用开发机遇。 用户可以迅速从 SD 大量数据中筛选出 最重要的信息,并且准确地加工出 各岗位所需要的信息 。 SAP 的 SD 模块灵活和完备的功能,赢得了业界的一致好评 ,曾有专业机构 叙述这一 SAP 的 SD 模块“是世界级的,甚至可以支持最富挑战性的行业 ”。 3.3. 业务需求业务需求 3.3.1. 业务需求流程业务需求流程 每一个模块都不可能是独立于任何其它模块,因为公司是个整体。所以SD 的模块也是和其它 ERP 业务模块有很大联系的,同样每个程序写出来也是为其它 程序服务或者从其它程序得到需要处理的数据。下图就是从业务上这本程序的需 求流程: 西南石油大学本科毕业设计(论文) 10 图图 3.23.2 整体业务需求流程整体业务需求流程 3.3.2. 客户需求客户需求 在现代的商业多元化时代,每个企业都可能存在多样化的业务,在这些业务 中,大部分的业务是普遍的、标准的,在SAP 提供功能中能完全将这些业务的 流程展现出来,并提供强大的功能来帮助企业快速、简便、安全地完成这些业务。 但许多企业也有着一些特殊的业务,这些业务不能用SAP 的标准功能来实现, 所以需要在 SAP 中对企业的特殊业务进行程序开发,以满足企业在业务上的需要。 所以 SAP 的二次开发也显得如此重要。 因为项目是整体中连接的部分而且 同时客户提出了一些特殊需求:在数据确 认可以一用 ALV 预览数据,如果 需要订货单的确认则要讲确认的订单信息写入 文件中。 所以这里根据客户的需求概括出一张需求表: 表表 3.13.1 客户需求信息收集客户需求信息收集 N NO O. . 客客户户需需求求调调研研问问题题客客户户要要求求记记录录 1 程序运行的时间?1 分钟之内完成 SAP 二次开发之销售与分售模块子系统的设计与实现 11 续表续表 3.13.1 客户需求信息收集客户需求信息收集 N NO O. . 客客户户需需求求调调研研问问题题客客户户要要求求记记录录 2 程序运行状态可在前台输出 批量处理需要在后台完 成 3 画面选择的要素?订货单的处理日期,文件输出的物理文 件名,和相对应的逻辑路径;针对不通 用户的 radio buttons 按钮。 4 处理的要件?数据的显示,数据库的修改 5 数据存在性检查?数据存在:显示。 不存在: 报出错误信息。 7 操作权限有无要求?无 8 最后的结果表示方式?ALV 一览画面。 文件的输出。 输出文件时:同时显示程序执行时抽出 的数据,更新的数据库数 目,输出的数目。 失败时: 程序下方显示红色异常终了 消息。 9 数据修改失败时,立即停止还 是继续操作? 停止,并回滚事务 10 对数据库进行操作时是否需要 排他处理。 因为没有和其他用户针对一个表竞争所 有不需要排他处理。 西南石油大学本科毕业设计(论文) 12 4. 总体设计总体设计 系统采用模块化的设计思想,各屏幕的变量、结构和子程序都放入对应模块, 这样不仅能体现良好的体系结构,更便于维护。系统的设计包括逻辑结构设计和 模块功能设计等等。运用软件工程和面向对象 思想对该系统进行了建模分析, 结合 Oracle 数据管理系统 、ABAP/4 的 screen table、ALV 等技术,配合数据 采集器实现数据采集、实时显示和存储等功能。 本系统数据库涉及到许多系统表和自建表,所以在开发过程中设计了较多的 临时数据区,这样使系统运行效率大大加强,但 增加了资源占用, 对硬件要求 提高。 4.1. 设计原则设计原则 充分考虑计算机的科学性、先进性、实用性、可靠性、安全性和经济性,选 用先进的、技术上成熟的设备,建立一个真正发挥作用的网络系统。具有良好的 开放性、扩展性、升级能力在设计的整个过程中,还应该注意整体优化的原则, 从系统的整体出发,长远的目标出发,进行系统的开发工作;注意各个子系统与 功能之间整体上的相互联系;还需要注意用户需求至上的原则,注重用户的需求 描述。实用性原则,系统的设计与实施以解决用户的实际需求;另外,注意创新 性,工程化、标准化。 4.2. 组件设计组件设计 从表中按客户所需要的条件提取数据,运用流控制 、BAPI、BDC、簇数据库 等数据操作后,以本地服务器下载、 ALV 等形式输出文件数据。其中客户有一个 特殊需求,ALV 打印的单据可以按照事先定义好的格式显示输出。用户也可以不 用立刻打印输出结果,而是以某种格式保存到本地,传送给其他用户。 4.2.1. 程序数据表中数据流向程序数据表中数据流向 程序涉及到三个数据表的数据抽出,分别是 从表 ZCMTO1O、表 ZCMT050、表 ZSDT550 中按客户所需要的条件提取数据 : SAP 二次开发之销售与分售模块子系统的设计与实现 13 图图 4.14.1 数据流向图数据流向图 4.3. 数据库表设计数据库表设计 浏览数据表数据的事务有四个 SE16、SE17、SM30 和 SM31。可以用 SE11 进 入的本程序需要的 数据库订单表。 SAP R/3 把逻辑上相关联的部分连接在一起 ,重复工作和多余数据被完全取 消,规程被优化,系统数据表 7 万余张。由于系统表多,且每张表的字段少者 50 个,多达 200 个以上,所以本文在介绍数据库时只涉及了系统表中使用到字 段和自建表的部分字段,没有进行 ER 图的绘制。 程序所处理的 订单报表处理模块共涉及到 3 张主要的表格,它们的表 大体 结构如下: 表表 4.1 ZCMT050 概括表概括表 描述: ZCMT050 数据库通用表 字字段段名名关关键键字字数数据据元元素素数数据据类类型型长长度度短短文文本本 ZZMANDT 是 MANDTCLNT3 客户 ZZSSID 是 ZESSIDCHAR2 子系统 I D 西南石油大学本科毕业设计(论文) 14 续表续表 4.1 ZCMT050 概括表概括表 字字段段名名关关键键字字数数据据元元素素数数据据类类型型长长度度短短文文本本 ZZSYUBETU 是 ZESYUBETUCHAR4 种类区别代码 ZZKEY1 是 ZEKEY1CHAR20KEY1 ZZKEY2 是 ZEKEY2CHAR20KEY2 ZZKEY3 是 ZEKEY3CHAR20KEY3 ZZKEY4 是 ZEKEY4CHAR20KEY4 ZZKEY5 是 ZEKEY5CHAR20KEY5 ZZSTDATE 是 ZSTDATEDATS8 有效开始日 ZZENDATE 否 ZENDATEDATS8 有效终了日 ZZVALUEC1 否 ZEVALUEC1CHAR40 取得値 ZZVALUEC2 否 ZEVALUEC2CHAR40 取得値 ZZVALUEC3 否 ZEVALUEC3CHAR40 取得値 这里的取得値在不同的程序中针对 key1、key2、key3 可以得到不同的相对应检索数据。 表表 4.2 ZCMT010 概括表概括表 描述: ZCMT010 数据库常数表 字字段段名名关关键键字字数数据据元元素素数数据据类类型型长长度度短短文文本本 ZZMANDT 是 MANDTCLNT3 客户 ZZSSID 是 ZESSIDCHAR2 子系统 I D ZZSYUBETU 是 ZESYUBETUCHAR4 种类区别代码 ZZKEY1 是 ZEKEY1CHAR20KEY1 ZZKEY2 是 ZEKEY2CHAR20KEY2 ZZKEY3 是 ZEKEY3CHAR20KEY3 ZZKEY4 是 ZEKEY4CHAR20KEY4 ZZKEY5 是 ZEKEY5CHAR20KEY5 ZZSTDATE 是 ZSTDATEDATS8 有效开始日 ZZENDATE 否 ZENDATEDATS8 有效终了日 ZZVALUEC1 否 ZEVALUEC1CHAR40 取得値 ZZVALUEC2 否 ZEVALUEC2CHAR40 取得値 ZZVALUEC3 否 ZEVALUEC3CHAR40 取得値 这里的取得値在不同的程序中针对 key1、key2、key3 可以得到不同的相对应检索定数。 表表 4.3 ZSDT550 概括表概括表 描述: ZSDT550 数据库 EDI 订货确认发送表 字字段段名名关关键键字字数数据据元元素素数数据据类类型型长长度度短短文文本本 ZZMANDT 是 MANDTCLNT3 客户 SAP 二次开发之销售与分售模块子系统的设计与实现 15 附附 表表 4.3 ZSDT550 概括表概括表 字字段段名名关关键键字字数数据据元元素素数数据据类类型型长长度度短短文文本本 ZZCHMN_NO 是 ZESSIDCHAR2 订货编号 ZZJCH_NO 是 ZEJCHNOCHAR10 接受订货号码 ZZEVENTID 是 ZEEVENTIDCHAR15 事件 ID ZZHCKG_CD 是 ZEHCKGCDCHAR6 订购者企业代码 ZZHCBM_CD 是 ZEHCBMCDCHAR6 订购者部门代码 ZZSENDFLG 否 ZESENDFLGCHAR1 发送完成标记 ZZSENDDATE 否 ZESENDDATEDATS8 发送日 ZZSENDTIME 否 ZESENDTIMETIMS6 发送时刻 ZZBSARK 否 BSARKCHAR4 客户订购的类型 .INCLUDE 否 ZSDS510STRU EDI 定购数据 构造表 ZZDTSYBTU 否 ZEDTSYBTUCHAR4 数据的种类区别 ZZSYRKBN 否 ZESYRKBNCHAR1 处理的种别 这里的 ZSDS510 实际上也是一个表,应为 ABAP 中可以用一个表包含另一个表的结构以减少 表的冗余,以保证表的重用。所以这里的 ZSDS510 不能算一个独立的表下面是这个表的大体 字段。 表表 4.4 ZSDS510 概括表概括表 其中以上所有的表结构中都只给出了部分程序中需要使用的字段,其余不使用 的字段故在此不给出,用省略号表示。 4.4. 用户权限用户权限 该程序为了通常日中 job 每 30 分钟起动、所以并没有面向一般用户的权限设置, 系统错误时再实行时候也不能一般用户大敞大开,只有作为用系统管理者权限才能 起动。 描述: ZSDS510 数据库 EDI 定购数据构造表 字字段段名名关关键键字字数数据据元元素素数数据据类类型型长长度度短短文文本本 ZZDTSYBTU 否 ZEDTSYBTUCHAR4 数据的种类区别 ZZSHKGCD 否 ZESHKGCDCHAR6 支持者企业 ID ZZKYKNOZKYKNOCHAR10 合同编号 ZZORDRKBN 否 ZEORDRKBNCHAR1 订单的区分 ZZRKYHKBN 否 ZERKYHKBNCHAR1 联系区分 西南石油大学本科毕业设计(论文) 16 4.5. 功能概要功能概要 从各个对象表中提取数据,编集需要输出的文件。 对输出的特定数据字段进行修改,并以簇方式存储数据对象。 根据特定的要求,设定不同的变式,再使用变式输出数据。 对输出的数据,根据工厂不同合并处理数据字段。 图图 4.2 功能概要图功能概要图 SAP 二次开发之销售与分售模块子系统的设计与实现 17 5. 详细设计详细设计 详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说, 经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以 把这个描述直接翻译成用某种程序设计语言书写的程序。 5.1. 在详细设计过程中的技术要点在详细设计过程中的技术要点 5.1.1. 模块化模块化 如果要在多个程序中使用相同的语句序列,则可一次性将其代码编写到包含程 序 中。不能与包含程序进行显式数据传递,因为包含程序的目的是模块化源代码。 如果想与模块进行数据传递,使用子程序或功能模块。 功能模块功能模块: : 能模块是存储在中央库内的特殊外部子程序。R/3 系统提供大量预定义的功能 模块,可以从 ABAP/4 程序中进行调用,而且可以创建自己的功能模块。 功能模块和一般 ABAP/4 子程序的显著差异在于一个明确定义的、用于与功能 模块进行数据传递的接口。对于功能模块,不能将数据声明为公共部分。对于 ABAP/4 词典表格,调用程序和被调用的功能模块都有单独的工作域。 接口有助于输入和输参数的传递并将其标准化。例如,可以给功能 模块的输入 值分配缺省值。可以决定通过值还是参考值进行数据传递 (关于进行 数据传递的 详细信息,参见通过参数进行数据传递) 。接口也支持例外处理。借助例外,可以处 理可能发生的错误。 在功能库中,可以将多个功能模块组合成功能组。因为可以定义功能组中所有 功能模块都能访问的全局数据,因此,在一个功能组中包含操作相同数据(如内表) 的功能模块比较合理 。 源代码模块源代码模块: 如果模块化源代码,程序将更易维护。例如,如果希望避免在程序中多次重复 相同的语句,就应使用模块化技术。但是,不应采用这些方法模块化任务和函数。 要模块化任务和函数,应使用子程序和功能模块。 西南石油大学本科毕业设计(论文) 18 图图 5.15.1 模块化原则模块化原则 5.1.2. 变式变式 ABAP/4 在选择屏幕上提供特定数据库和特定报表选择的输入字段。要选择某种 数据集,必须键入相应的值。如果想在固定间隔时间运行具有相同选择的同一报表 程序,则不会每次都去键入相同的值。因此,ABAP/4 可以在一个选择设置中组合全 部选择所需的值。可以对每个报表程序创建任意多个不同的选择设置,而它们仍只 分配给值得怀疑的报表程序。这种选择设置就是变式。 5.1.3. 开发类命名开发类命名 临时开发类:测试和练习用程序不能传输,用 YTMP 类。 正常开发类:Z_xxxx (m 模块缩写,xxxx 描述) 。 变量命名变量命名 表表 5.15.1 变量命名规则变量命名规则 开头开头描述描述 IT_Internal Table S_Select option R_Range IW_Variable work area L_Variable locale SAP 二次开发之销售与分售模块子系统的设计与实现 19 5.2. 内表内表/工作区工作区 在 ABAP/4 中,主要使用表格。表格是 R/3 系统中的关键数据结构。长期使用 的数据存储在关系数据库表格中。除了数据库表格,还可 以创建仅在程序运行时间 内存在的内表。ABAP/4 提供了针对内表的不同操作。例如,可以搜索、附加、插 入或删除行。 内表中的行数并不固定。根据需求 ,系统可实时增加内表的大小。例如,如果 想将某个数据库表格读入内表,不必事先知道数据库表格的大小。该特征项使得内 表使用起来十分方便,同时还支持动态编程。 工作区域对内表的行必须是可转换的。从内表中读取数据时,已定址的表格行 内容覆盖工作区域的内容。然后可以在程序中引用工作区域的内容。将数据写入内 表时,必须首先在工作区域(从中系统 可以将数据 传输给内表 )中输入数据。 图图 5.25.2 通过工作区操作内表通过工作区操作内表 5.3. 流程图流程图 在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺 流程,也可以是完成一项任务必需的管理过程。 一张流程图能够成为解释某个订单的产生到销毁,甚至组织决策制定程序的方 式之一。这些过程的各个阶段均用图形块表示,不同图形块之间以箭头相连,代表 西南石油大学本科毕业设计(论文) 20 它们在系统内的流动方向。下一步何去何从,要取决于上一步的结果,典型做法是 用“Y(是)”或“N(否)”的逻辑分支加以判断。 N 初级处理 主处理 选择画面 终了处理 开始 N Y 文件输出 数据检查 程序执行 Y Y 图图 5.35.3 系统流程图系统流程图 SAP 二次开发之销售与分售模块子系统的设计与实现 21 5.4. 具体模块开发具体模块开发 5.4.1. 初期处理初期处理 选择画面 输入条件 条件检查 初期 处理 过程 下载数据ALV 输出 警告 信息 图图 5.45.4 初期处理流程图初期处理流程图 图 5.4 流程中从选择画面输入数据后,对输入的数据进行检查,例如:输入条 件不为空的字段留空,数据类型输入不正确以及数据不存在或数据输入错误则返回 错误信息,并保持画面不跳转;当输入正确的信息后,程序依次执行下步的 F4 帮助 和 ALV 布局获取操作,这两个操作都要进行结果确认,如果失败则保持画面不跳转 并返回个警告信息,成功则执行主处理。 (1)选择画面的设定 表表 5.2 选择画面设定选择画面设定 输入项目名称输入项目名称项目名项目名类型类型长度长度帮助帮助必输必输初期值初期值 处理时间P_DATEDATS8需要需要 物理文件名P_FILECHAR20需要需要 逻辑路径P_PATHCHAR60需要需要 Web 订货确认P_RA1CHAR1 X Web 订货取消P_RA2CHAR1 石化協(双日)P_RA3CHAR1 石化協(三菱)订货确认P_RA4CHAR1 西南石油大学本科毕业设计(论文) 22 续表续表 5.2 选择画面设定选择画面设定 输入项目名称输入项目名称项目名项目名类型类型长度长度帮助帮助必输必输初期值初期值 石化協(三菱)订货取消P_RA5CHAR1 ALV 输出P_RA6CHAR1 X 文件输出P_RA7CHAR1 表 5.1 中物理文件名和服务器上的逻辑路径本来是自己写的但考虑到许多程序 都要用到这两个输入框并且需要自己写帮助按钮,所以在后期共通组将这两个选择 框封装到了独立的一个程序中,其它程序只需要用 INCLUDE 调用即可。但是因为 在前面的时间已经将图做好所以帮助按钮在后面也会介绍。 ABAP 语法里要使用户能在选择屏幕中输入数据则必须使用命令 PARAMETERS 及 RADIOBUTTON 定义上述字段。在这里选择屏幕有必输和初始 值的要求,所以可以用 PARAMETERS 语句定义变量以在选择屏幕上作为输入字段 实现必输这个需求。对于 RADIOBUTTON 的初始值X的定义实际上就是在画面 的开始时要有个 RADIOBUTTON 为默认选中所以只需要 DEFAULT 参数即可。 使用 PARAMETERS 定义屏幕字段的基本格式为: 语法: PARAMETERS: TYPE 。 程序实现:选择画面部分 处理时间定义:PARAMETERS: P_DATE TYPE SY-DATUM OBLIGATORY. (1)(1)单选按钮定义:单选按钮定义: PARAMETERS: P_RA1 RADIOBUTTON GROUP P_RA DEFAULT X, P_RA2 RADIOBUTTON GROUP P_RA, P_RA3 RADIOBUTTON GROUP P_RA, P_RA4 RADIOBUTTON GROUP P_RA, P_RA5 RADIOBUTTON GROUP P_RA。 P_R_FI RADIOBUTTON GROUP P DEFAULT X , P_R_ALV RADIOBUTTON GROUP P . 物理文件名和逻辑路径定义:INCLUDE ZVVX8021. (2)F4(2)F4 帮助帮助 程序中的 F4 帮助用于实现当逻辑路径输入框时,会在逻辑路径输入框后出现一 个按钮,单击此按钮会有一个窗口出现,该窗口就是服务器上所以的逻辑路径,它 呈一个树型的结构存储着逻辑路径信息,可以直接根据名字来选择哪个逻辑路径, 然后在逻辑路径那个选择框中出现的就是逻辑路径,这就是 F4 帮助的大体功能。 SAP 二次开发之销售与分售模块子系统的设计与实现 23 具体实现此功能需要在 AT SELECTION-SCREEN ON VALUE-REQUEST 事件 中执行。在此事件下写一个 perform。它里面 call 了 function RH_TYPE_STRUC_HELP,这个函数的功能主要是根据需求把这些组织都查出来, 然后把它赋给需要进行 F4 帮助的组织选择框,最后显示出来是一个呈树型的组织结 构。快速调用这个函数的方法就是点一下 ABAP 编辑器的应用工具栏上的“模式” 按钮,在函数名处填写 RH_TYPE_STRUC_HELP 函数就可以。这样系统就自动将该 函数的结构加载到程序代码中,开发人员仅需填充函数参数就行。如果是数据库中 的数据则需要将数据抽出放入内表中传入即可。 (3)(3)对选择屏幕格式初级的验证对选择屏幕格式初级的验证 这里验证选择屏幕的值,主要是对选择屏幕进行输入操作后,点击回车进行验 证,有一些不是代码反映出来的具体对这些错误进行什么处理,但他会有错误的输 出提示在屏幕的左下方,并结束程序等待用户改正后继续进行验证直到输入正确为 止验证值的工作才结束。在这一块主要是对输入的期间的一个验证,在用户输入期 间后,会对他输入的前后的日期格式或者不是预定的字符类型进行检查,这些大部 分是系统自动检查的,也可以人为自己编写,按程序需求为主。 (4)(4)数据初始化数据初始化 在画面输出后主程序执行前需要对程序中用到的数据进行初始的获得或者初始 化。 5.4.2. 主处理主处理 这里的主处理是对针对画面屏幕按下执行按钮的统称。当按下 执行后进行的 处理流程: 西南石油大学本科毕业设计(论文) 24 主处理 数据抽出 数据编集 更新数据库 错误信息 数据是否存在 操作是否成功 ZCMT050 ZCMTO1O ZSDT550 选择画面 N 文件输出 终了处理 N 文件检查 图图 5.5 主处理流程图主处理流程图 (1)(1)文件检查文件检查 因为程序涉及到文件的输出所以这里需要在文件的路径下对文件的存在进行检 查,因为画面是输入的逻辑路径,所以要先找到服务器上逻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论