




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密级 密级 工程硕士专业学位论文 设计 工程硕士专业学位论文 设计 题题 目 目 SAPSAP 与与 OAOA 系统集成系统集成 作作 者 者 栾栾 为为 民民 完成日期 完成日期 2011 9 262011 9 26 培养单位 培养单位 四四 川川 大大 学学 指导教师 指导教师 张张 蕾蕾 工程领域 工程领域 软软 件件 工工 程程 授予学位日期 授予学位日期 年年 月月 日日 I SAPSAP 与与 OAOA 系统集成系统集成 软件工程 领域 研究生 栾为民 指导老师 张蕾 童增荣 当前 企业竞争愈发激烈 要求企业内部 合作的企业之间必须快速 实时的传 递 审批诸如生产 销售等商务信息 如果可以共用一套信息系统 必然会带来巨大 的好处 但大多数情况下 我们必须整合各企业原有的 不同的信息系统 实现系统 间的信息交换 SAP 使用 Java Properties Properties logonProperties new Properties logonProperties put jco client ashost 10 0 0 11 logonProperties put jco client client 000 logonProperties put jco client passwd minisap logonProperties put jco client sysnr 00 logonProperties put jco client user DDIC JCO Client myConnection JCO createClient logonProperties 9 10 第一种方式比较简单 所有的参数都直接写在代码中 相比之下 第二种方式使 用 Java Properties 它好处在于 除了硬编码这种方式之外 用户也可以将连接信 息保存在一个单独的 properties 文件中 这样即使连接信息改变也无需改变代码 只需要修改 properties 文件中的数据即可 关于 properties 文件的用法 请参考 相关的 Java 语言教程 JCO Client 提供方法 connect 方法来建立从当前 Java 进程到 SAP 服务器的连接 this myConnection connect 可以使用 isAlive 方法来获取一个连接的状态 还可以使用 disconnect 方法来 关闭一个连接 if myConnection null public static final int max connection 2 JCO Pool pool JCO getClientPoolManager getPool POOL NAME if pool null Properties logonProperties new Properties logonProperties put jco client ashost 10 0 0 11 logonProperties put jco client client 000 logonProperties put jco client passwd minisap logonProperties put jco client sysnr 00 logonProperties put jco client user DDIC JCO addClientPool POOL NAME pool name max connection max num of connections 四川大学工程硕士学位论文 SAP 与 OA 系统集成 11 logonProperties properties 创建好连接池之后 可以通过如下代码来从连接池中获取一个连接 mConnection JCO getClient POOL NAME 在连接使用完毕之后 不要忘记使用 releaseClient 方法释放当前连接 JCO releaseClient myConnection 如果需要移除连接池 则可以使用如下代码 JCO removeClientPool POOL NAME 移除连接池将导致其中所有的活动连接被强行关闭 所以必须在确保连接池中所 有的连接都不再被使用的时候才能执行该操作 调用 Function Modules 为了演示如何使用 JCo 库来调用远程的 ABAP 函数 本文示例中使用 NetWeaver ABAP 试用版系统中的一个样例函数 BAPI FLIGHT GETLIST JCo 库使用 RFC 的方式来调用 ABAP 中的函数 所以被调用的函数必须已经勾选 Remote enabled 属性 调用一个函数之前 需要知道函数的元数据 比如函数名字 输入输出参数等等 在 JCo 库中 必须通过类 JCO Repository 来获取所有的 ABAP 函数的元数据 所以第 一步是创建一个 JCO Repository 类的对象 JCO Repository myRepository new JCO Repository Repository myConnection JCO Repository 类的构造函数有两个参数 第一个是可以任意指定的名字 第 二个是当前使用的连接 此处也可以直接指定一个连接池的名字 JCo 库将自动从该 连接池中获取连接 此时 必须保证该连接使用的用户名在目标 SAP 服务器上有足够的权限 获得 JCO Repository 类的实例之后 就可以通过该实例来获得函数的信息 如 下代码演示了如何获取函数 BAPI FLIGHT GETLIST 的信息以及如何设置简单类型的参 数 String strFunc BAPI FLIGHT GETLIST IFunctionTemplate ft myRepository getFunctionTemplate strFunc toUpperCase JCO Function funGetList ft getFunction 12 set up scalar parameter JCO ParameterList input funGetList getImportParameterList input setValue 10 MAX ROWS JCO Function 对象提供了对应的方法来获取 ABAP 函数的参数列表 例如 上例 中的 getImportParameterList 方法返回该函数的 Import 参数列表 在上面的示例代码中 仅仅设置了一个最简单的 int 类型的参数 事实上 setValue 方法有许多重载形式 允许设置各种复杂类型的参数 比如 structure 类 型和 table 类型的参数 而且 除了通过参数名字引用要设置的参数之外 还可以通 过参数的索引来引用一个参数 在设置 structure 和 table 类型的参数之前 需要通过 JCO Function 对象的方 法获取相应的 JCO Structure 和 JCO Table 对象 然后才可以使用对每个字段进行赋 值 在我们使用的函数 BAPI FLIGHT GETLIST 中 Import 参数中的 DESTINATION FROM 是一个 structure 其中包含一个 CITY 字段 如下代码演示了如 何将 CITY 字段赋值为 NEW YORK set up structure parameter JCO Structure sFrom input getStructure DESTINATION FROM sFrom setValue NEW YORK CITY input setValue sFrom DESTINATION FROM 类似地 可以使用 JCO Function 对象的 getTableParameterList 方法拿到 Table 参数列表 下面的代码演示了如何拿到一个名为 DATE RANGE 的 Table 参数并 且为它创建两行 set up table parameter JCO Table tDateRange funGetList getTableParameterList getTable DATE RANGE tDateRange appendRow tDateRange setRow 0 tDateRange setValue I SIGN tDateRange setValue EQ OPTION tDateRange setValue LOW 四川大学工程硕士学位论文 SAP 与 OA 系统集成 13 tDateRange appendRow tDateRange setRow 1 tDateRange setValue I SIGN tDateRange setValue EQ OPTION tDateRange setValue LOW 参数设置完毕之后 可以通过 JCO Client 对象的 execute 方法执行远程调用 myConnection execute funGetList 获得输出参数的方法与输入参数完全一样 下面的代码演示了如何获取一个包含 返回值的 Table 参数 并且输出它的内容 JCO Table flights funGetList getTableParameterList getTable FLIGHT LIST for int i 0 i flights getNumRows i flights setRow i System out println Airline flights getString AIRLINE from city flights getString CITYFROM to city flights getString CITYTO departure time is flights getDate FLIGHTDATE JCO Structure 和 JCO Table 都继承自类 JCO Record JCO Record 对每种类型 的参数都提供了对应的 get 和 set 方法 并且在运行时自动进行 Java 数据类型和 ABAP 数据类型之间的转换 在使用 JCo 库的过程中 主要有两种类型的异常需要处理 JCO AbapException 如果 ABAP 函数执行过程中出现异常 则在 Java 进程中会触发该异常 JCO ConversionException 当执行参数的 get 和 set 方法时 如果在 Java 类型和 ABAP 类型之间转换失败 则会 触发该异常 作为一种最佳实践 建议使用 try catch 封装使用 JCo 库进行参数设置和函数调 14 用的代码 处理上述两种异常 并且在 finally 代码块中 释放当前所使用的连接 远程调试 一般的情况下 在 SAP 服务器上通过事务代码 SE37 可以测试 ABAP 函数 在保证 ABAP 函数的正确性之后 Java 客户端只需要检查输入输出参数是否正确即可 这时 可以利用 JCo 库为了方便调试而提供的了一个很强大的功能 把所有继承自 JCO Record 的类的对象格式化输出到一个指定的 HTML 文档中 通过这种方式 我们 可以检查输入输出参数是否正确 比如如下代码输出前面得到的 FLIGHT LIST 参数的 内容 JCO Table flights funGetList getTableParameterList getTable FLIGHT LIST flights writeHTML c flight list html 更进一步地 通过启动 ABAP 的远程调试功能 可以像调试普通程序一样调试远 程调用的 ABAP 函数 要实现远程调试 首先需要在 Java 代码中 通过调用 JCO Client 类或者 JCO Pool 类的 setAbapDebug 方法激活 JCo 的 ABAP 调试功能 如下代码演示了如何 激活一个连接池的 ABAP 调试功能 JCO Pool pool JCO getClientPoolManager getPool POOL NAME pool setAbapDebug true 如果一个连接池的 ABAP 调试功能被激活 那么其中的所有连接的 ABAP 调试功能 都会被激活 使用这样一个连接来调用 ABAP 函数的时候 SAP 系统会自动弹出一个 调试器窗口 当然 前提是客户端机器上已经安装了 SAPGUI 这时候调试器仅仅停留在 RFC 调用的入口处 而并未进入所调用的 ABAP 函数 为了让调试器直接进入 ABAP 函数 需要在事务代码 SE37 中为该函数设置一个外 部断点 External BreakPoint 2 3 Direct Web Remoting DWR 框架 DWR 简介 DWR 直接 Web 远程控制 项目是在 Apache 许可下的一个开源的解决方案 DWR 是 Joe Walker 和 Mark Goodwin 开发的 并且该项目是在 Apache 许可下 的一个开源的解决方案 它供给那些想要以一种简单的方式使用 Ajax 和 XMLHttpRequest 的开发者 12 四川大学工程硕士学位论文 SAP 与 OA 系统集成 15 它具有一套 Javascript 功能集 它们把从 HTML 页面调用应用服务器上的 Java 对象的方法简化了 它操控不同类型的参数 并同时保持了 HTML 代码的可读性 它可以允许在 JavaScript 中直接访问服务器端的 JavaBean 中的方法 使用 DWR 非常像传统的 RPC 机制 由于在 DWR 中采用了一个类似 AJAX 的新方法来动态生成基于 JAVA 类的 JavaScript 代码 这样 WEB 开发人员就可以在 JavaScript 里使用 Java 代码 就 像它们是浏览器的本地代码 客户端代码 一样 但是 Java 代码运行在 WEB 服务器端而且可以自由访问 WEB 服务器端的各种的资 源 当然 出于安全的原因 WEB 开发者必须适当地配置哪些 Java 类可以安全的被 外部使用 这个从 JAVA 到 JavaScript 的远程功能方法给 DWR 的用户带来非常像传统的 RPC 机制 就像 RMI 或者 SOAP 一样 而且拥有运行在 WEB 上但是不需要浏览器插件的好 处 设计 DWR 的目的 它是一个 Java 框架 可以很轻松地将它插入到 Web 应用程序中 以便 JavaScript 代码可以调用服务器端的 JavaBean 组件中的服务 也就是允许直接在 JavaScript 的脚本中对服务器端的 JavaBean 中的方法进行调用 DWR 真正的巧妙之处是 在用户配置了要向客户机公开的服务之后 它使用反射 来生成 JavaScript 对象 以便 Web 页面能够使用这些对象来访问该服务 然后 Web 页面只需接合到生成的 JavaScript 对象 就像它们是直接使用服务一样 DWR 无缝 地处理所有 有关 Ajax 和请求定位的琐碎细节 支持的环境 DWR 需要 JDK1 3 以上的版本 一个支持 2 2 标准版本以上的 Servlet 引擎 测 试过的环境包括 Tomcat Weblogic Websphere JBoss Jetty Resin Sun ONE 等 DWR 的工作原理 1 DWR 的工作原理 由于对象被远程化了 将服务器端的某个 JavaBean 组件 可以为业务组件或 者业务实体组件 转换为 JavaScript 中对象 所以该数据是自动变得对运行在客户 16 机浏览器上的 JavaScript 代码可用 在幕后 DWR 通过浏览器提供的 XMLHttpRequest 对象向其自己的运行在 Application Server 上的 Servlet 发出异步调用 该 Servlet 访问服务器端 Employee 对象 并通过格式化为 JavaScript Object Notation JSON 格式的 HTTP 响应发送回所需的数据 DWR 接着处理了 JAVA 和 JavaScript 之间的所有远程信息 包括转换所有的参数和返回需要的值 因此 DWR 无缝地处理所有有关 Ajax 和请求定位的琐碎细节 2 DWR 是一个引擎以帮助我们简化对 AJAX 技术的应用 可以把服务器端 Java 对象的方法公开给 JavaScript 代码 从而可以有效地 从应用程序代码中把 Ajax 的全部请求 响应循环消除掉 这意味着客户端代码再也不需要直接处理 XMLHttpRequest 对象或者服务器的响 应 不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成 XML 甚至 不再需要编写 Servlet 代码把 Ajax 请求调整成对 Java 域对象的调用 应用 DWR 技术所带来的主要优点 DWR 是一种 AJAX Asynchronous JavaScript and XML 的 JAVA 实现 它提供了一 种能在 web 浏览器端采用 JavaScript 语言直接调用后台业务商业组件的解决方案 同时能够动态生成 JavaScript 代码和隐藏 http 协议的细节 1 DWR 通过 JavaScript 直接调用远程组件可以减少 Web 开发的时间 这特别对于那些具有和用户频繁交互的 Web 应用程序 DWR 使得浏览器不用刷 新页面就可以从远程 Web 服务器取得用户需的数据 本质为 AJAX 技术 这种无刷新 页面的交互方式大大提高 Web 页面的响应时间 2 DWR 采用浏览器端的纯 JavaScript 实现 并且会自动根据浏览器类型采用 最高效率的远程组件调用机制 3 彻底分离表现和业务逻辑 减少了 Scriptlets 代码 同时展现页面只需加 载一次 节省网络带宽 提高用户响应响应时间 使用 DWR 进行开发的步骤 配置 DWR 的 servlet dwr 四川大学工程硕士学位论文 SAP 与 OA 系统集成 17 uk ltd getahead dwr DWRServlet debug true dwr dwr 编写要使用的 java 类 编写 dwr xml 文件 编写自定义的 js 将所需的 js 加入到网中 2 4 SAP 系统相关开发工具介绍 ABAP 开发语言简介 ABAP 是一种高级企业应用编程语言 Advanced Business Application Programming 起源于 20 世纪 80 年代 经过不断的发展 现在的版本为 ABAP 4 SAP R 3 的应用程序就是用 ABAP 4 编写的 ABAP 4 是面向对象语言 它 支持封装性和继承性 封装性是面向对象的基础 而继承性则是建立在封装性基础上 的重要特性 ABAP 4 具有事件驱动的特性 ABAP 4 和 COBOL 具有类似之处 ABAP 4 适合生成报表 ABAP 4 支持对数据库的操作 SAP 最初开发 ABAP 4 高 级商业应用程序设计 语言仅为内部使用 为应用程序员提供优化的工作环境 经过 不断的改进和修改以满足商业领域的需要 现在 ABAP 4 已成为 SAP 开发所有自己 的应用程序的仅有工具 SAP 客户用 ABAP 4 进行其自身开发 这样的开发对 R 3 标 准解决方案适应特殊问题非常重要 ABAP 4 开发工作平台包含所有用于创建和维护 18 ABAP 4 程序的工具 ABAP 4 的可解释特性使其易于生成 测试并运行程序的中级 版本 以便将来生成最终版本 此过程也叫做早期原形处理 意味着您不必丢弃中级 版本 ABAP 4 是第四代支持结构化程序设计的语言 它合并了所有通常的控制结构和 模块化概念 在 ABAP 4 开发宝典中文版的第一部分 对 ABAP 4 的基本特性进行了 详细描述 13 这些特性包括 带有各种类型和结构的声明数据的声明元素 数据制作的操作元素 控制程序流的控制元素 反应外部事件的事件元素 ABAP 4 支持多种语言 文本摘要 例如 标题 页眉和其他文本 将根据程 序代码分别存储 您可以随时在不改变程序代码的情况下更改 转换和维护这些文本 摘要 ABAP 4 支持商业数据类型和操作 您可以用特殊日期和时间字段进行计算 系统会自动执行必需的类型转换 ABAP 4 提供一系列功能处理字符串 ABAP 4 包含一个叫 OpenSQL 的 SQL 子集 用 OpenSQL 您可以读取和访问 数据库表 与所用的数据库系统无关 ABAP 4 允许您定义和处理内部表 该表只在运行程序时存在 内部表使其更 容易处理数据表 并帮助使用程序中的复杂数据结构 ABAP 4 允许您定义和调用子程序 也可以调用其他程序的子程序 参数能够 以各种方式从子程序传递或传递到子程序 ABAP 4 包含一种特殊子程序 叫做功能模块 您可以在中央库中创建和维护 功能模块 在调用程序和子程序之间功能模块有一个明确定义的数据接口 它们能够 以调用程序的独立模式进行分别测试 这里有两种主要的 ABAP 4 程序类型 报表程序 报表程序用于分析数据库表中的数据 这种分析的结果可以显示在屏幕上或发送 到打印机上 逻辑数据库支持报表程序 逻辑数据库是特殊的 ABAP 4 程序 使开发 者不必编码所有的数据库访问 对话程序 四川大学工程硕士学位论文 SAP 与 OA 系统集成 19 将对话程序组织为包含对话模块的模块池 每个动态程序 由一个屏幕及其流逻 辑组成的 动态程序 都基于一个 ABAP 4 对话程序 流逻辑包含对 ABAP 4 对话 模块的调用 BAPI 介绍 BAPI 业务应用程序接口 Business Application Programming Interface 简称 BAPI 是面向对象程序设计方法中的一组程序接口 它允许程序员通过 SAP 将第三 方软件整合成 R 3 专有产品 为了完成一些特殊的商业任务 如上传交易数据等 R 3 系统中内置了 BAPI 业务应用程序接口 BAPI 是一个标准化的开放接口 有了 BAPI 用户可以通过测 览器 Exchange 电子邮件来使用 ERP 系统 用户可以将这些软件模块与非 ERP 软件 混合匹配使用 用户可以按需求单独更新某一个模块 而没有必要为了增强某一个功能对系统进 行全面升级 用户用逐个模块更新的办法增强系统的功能 而不必更换整个系统 BAPI 技术对 ERP 软件的开发商说来是非常重大的进步 从 MRPII 到 ERP 系统 功能越来越多 一个软件公司无论多么强大 也无法独自开发包括企业全部专业的全 部管理功能的软件 在技术上必须有能力把第三方软件接在自己的核心软件上 SAP 的 BAPI 和 Oracle 应用的 30 多个 API 能够使自己的软件具有 无限 的扩展能力 BAPI 是 SAP 提供的基于业务对象的函数 关键是它们处理的对象是 R 3 的业务 相关 business object 比如单据类销售订单 组织 公司等 它们是一系列实体 RFC 则是一种系统间通讯的方式 Remote Funciton Call 一个男人可能同时也是一 个老人 一个 BAPI 函数往往能是一个 RFC 函数 2 5 OA 系统相关开发框架 extjs 介绍 EXT 概念 1 ExtJS 可以用来开发 RIA 也即富客户端的 AJAX 应用 是一个用 javascript 写的 主要用于创建前端用户界面 是一个与后台技术无关的前端 ajax 框架 因此 可以把 ExtJS 用在 Net Java Php 等各种开发语言开发的应用中 ExtJs 最开始基于 YUI 技术 由开发人员 JackSlocum 开发 通过参考 JavaSwing 等机制来组织可视化组件 无论从 UI 界面上 CSS 样式的应用 到数据解析上的异 常处理 都可算是一款不可多得的 JavaScript 客户端技术的精品 14 2 Ext 的 UI 组件模型和开发理念脱胎 成型于 Yahoo 组件库 YUI 和 Java 平 20 台上 Swing 两者 并为开发者屏蔽了大量跨浏览器方面的处理 相对来说 EXT 要 比开发者直接针对 DOM W3C 对象模型开发 UI 组件轻松 ExtJs UI Engine 简介 ExtJs 初期仅是对 Yahoo UI 的对话框扩展 后来逐渐有了自己的特色 深受 网友的喜爱 发展至今 Ext 除 YUI 外还支持 Jquery Prototype 等的多种 JS 底层库 让大家自由地选择 该框架完全基于纯 Html CSS JS 技术 提供丰富的 跨浏览器 UI 组件 灵活采用 JSON XML 数据源开发 使得服务端表示层的负荷真 正减轻 从而达到客户端的 MVC 应用 ExtJs 支持多平台下的主流浏览器 Internet Explorer 6 FireFox 1 5 PC Mac Safari2 Opera9 在使用的厂家包括 IBM Adobe Cisco 和更多 ExtJs 官方网站 Ajax 主流框架与 ExtJS JQuery Prototype 和 YUI 都属于非常核心的 JS 库 虽然 YUI 还有最近的 JQuery 都给自己构建了一系列的 UI 器件 Widget 不过却没有一个真正的整 合好的和完整的程序开发平台 哪怕是这些低层的核心库已经非常不错了 但当投入 到真正的开发环境中 依然需要开发者做大量的工作去完善很多缺失之处 而 Ext 就是要填补这些缺口 主流开源框架中只有 Dojo 像 Ext 一样 尝试着提供整合的开 发平台 相比 Dojo 这个出色的工具包 Ext 能提供一个粘合度更高的应用程序框 架 Ext 的各个组件在设计之时就要求和其它 Ext 组件组合一起工作是无缝合作的 这种流畅的互通性 离不开一个紧密合作的团队 还必须时刻强调设计和开发这两方 面目标上的统一 而这点是很多开源项目未能做到的 15 Ext 绝对可以单独使用 实际上 除了有特定的要求 推荐单独使用 Ext 这样 的话文件占位更小 支持和整合也更紧密 Ext 也支持与 jQuery YUI 或 Prototype 整合使用 作为低层库的角色出现 以提供处理各种核心的服务 如 DOM 和事件处理 Ajax 连接和动画特效 使用整合方式的一个原因是它们已具备 了一些特定的器件而 Ext 并没有原生支持 像 YUI 的 History 控件便是一个典型 的例子 这时 Ext 需要依赖 YUI 这个库的底层来实现 History 控件 这样一来的 话也可免去 Ext 自身底层库 从而减少了整个程序的内存占用 另一个使用整合方 式的原因是 对于许多已在使用其他底层库的程序 你可能希望逐步加入 Ext 总之 如果已经有了其他库 Ext 可已利用它们 Ext 的宗旨是为用户提供各种可能性和性 四川大学工程硕士学位论文 SAP 与 OA 系统集成 21 能上的优化 而事实是 只要实现了相对应的底层库接口 为任意一个框架添加上适 配器是没有问题的 人们可以轻松地将 Dojo Moo Ajax NET 或其它 JS 库转 变为 Ext 的底层 22 3 3宁波金田宁波金田 SAP 注 外币借款暂不支持 4 1 5 机物料不合格审批流程需求 1 机物料不合格后 分公司又因生产等原因可能需要使用 分公司人员提交机 物料不合格让步接收申请并知会原辅料验收科辅料验收班 2 采购科长提出与供应商的协商结果 3 如果金额在 20000 元以下 单价在 2000 元以下的 由分子公司生产经理对采 购部的协商结果进行确认 如果金额在 20000 含 50000 元间或单价在 2000 元 含 以上 由分子公司生产经理对采购部的协商结果进行确认 然后综合采购部经 理对协商结果进行审批 4 质量推进部经理对让步接收申请进行核准 审批完后 由验收员对结果进行 SAP 回写 5 如果金额在 50000 含 元以上的 质量推进部经理审批后 由采购副总监 对协商结果进行审批 再由分管质量总裁助理对让步接收结果进行审批 4 1 6 原料不合格审批流程需求 SAP 自动激活 OA 中的原材料不合格审批流程到验收科长节点 验收科长可选择 结束流程直接到检验员处 调用 SAP 接口 将结果写回 SAP 否则走完审批后将结 果写回 SAP 4 1 7 销售订单评审流程需求 主要处理订单相关信息下载 并把 OA 处理的结果反馈到 SAP 销售订单 更新 及状态 订单下载时销售订单处于评审状态 无法正常流转 待 OA 处理完毕后把结 果反馈到 OA 销售订单才可以手工操作 参与单据流转 4 1 8 电子出厂单流程需求 1 从 SAP 中根据外向交货单号带出库车号 出厂公司 客户名称 装车数量 业 务类型 出库物料规格属性行次等信息 对于没有外向交货单号的出厂单可以直接 在 OA 当中进行新建 2 走流程审批后 将处理状态回写到 SAP 中 四川大学工程硕士学位论文 SAP 与 OA 系统集成 35 3 每一个节点均需要向 SAP 中回写状态 4 系统自动根据 SAP 的业务类型区分内贸 外贸 有拼车的流程自动转到开票 节点 开票人员收到样品 赠品 和转厂销售 深加工 不管是与国内货物拼车和不 拼车 如果全部是收取现金 支票 欠条流到会计处 会计再流到出纳处 开票人员收 到样品 赠品 和转厂销售 深加工 不管是与国内货物拼车和不拼车 如果是全部 赊销 开票人员流到会计处 会计再流到保安处 除转厂销售外的外贸业务白天都流 到会计处 晚上下班后流到开票处 如果外贸存在分公司之间拼车现象 且保管员先 流到随便哪个子公司会计 子公司再流到另一个子公司的会计 会计最终流到保安处 5 会计和开票人员是维护好的 不需要再次指定 6 根据时间点 自动授权 7 添加支付方式 现金 远期支票 欠条 全部赊销 4 1 9 预留单审批流程需求 该流程分两类 一类是直接预留 一类是采购 1 需要将物料编号 物料名称及其他常用属性信息在每天晚上 SAP 和 OA 同步 2 在申请单中可以通过选择窗口检查物料并选择 可以对物料名称和物料编号 等数据信息进行模糊查询 3 选择一个物料后 主申请单带出相关的物料库存信息 只可以查看 后续进 行 OA 审批流程 4 开放一个 SAP 查询 查看某一个物料的库存信息 5 审批完成生成 SAP 预留单 及预留单号 6 采购类的审批完后生成 SAP 采购申请 及采购申请单号 a 仓库保管员审核之前生成预留单 及预留单号 b 申请之前可以查询库存 c 没有库存或低于安全库存时 如果在安全内则显示数据或提醒不需采购 触发 采购申请单 审批完成后在 sap 中生成采购申请单 d 有库存 保管员帐务处理之后在 sap 中生成出库单 e 采购完成之后 不要归档 回到领用申请人节点 然后到仓库帐务处理 注 每个审批人员的时间上要设立一个时间限制 如果超过这个时间则默认他审 36 核过 4 1 10设备封存报废流程需求 设备部资产主数据抽取出来 输入设备号 报废原因和处理措施手工填写 然后进行 审批 审批完成后 设备状态改变 还需要根据设备号找到固定资产号 修改固定资产状态 固定资产状态修改这部分经过讨论确认不执行 设备状态包含投运 封存 报废 建议不可以直接修改固定资产状态 因为设备资产和固定资产不一一对应 建议模 式在 OA 审批后 增加一个节点 将审批状态告知资产管理员 然后再走固定资产报废流 程 设备净值 原值 计提折旧 另外封存报废中的设备计提折旧和残值 现在是由固定资产中获得 这个有问题 固 定资产和设备号不是一一对应 需要先到财务确认一下设备计提折旧和残值 这个是 现有流程中的缺失 4 1 11检定证书审批流程需求 OA 中流程走完后 生成 word 文件 此 word 的路径挂到 SAP 中 原有 OA 系统中已实现了改功能 可以借鉴之前的现有程序逻辑和 SAP 端的接 口 四川大学工程硕士学位论文 SAP 与 OA 系统集成 37 4 2 宁波金田 SAP 2009 年 2 月 13 工程师突击 SAP ABAP 实用程序开发攻略 作者 唐骏华 机械工业出版社 2011 年 月 14 深入浅出 Ext JS 徐会生 作者 人民邮电出版社 第 1 版 2009 年 3 月 1 日 15 百度文库 16 协同商务平台 黄力华 科技经济市场 2009 年 11 期 17 中国的 ERP 实施之路 武 兴兵 管政 2002 02 26 18 中国软件网 19 赛迪网 20 百度文库 50 作者在读期间科研成果简介作者在读期间科研成果简介 SAP 系统集中监控可对金田投资 多万的 SAP ERP 项目系统正常运行起 关键保障作用 可对故障隐患发出早期预警 可对已发生的故障自动即时报警 即时 响应 可对影响系统的关键因素进行快速分析 定位 且完全独立完成 在国内实施 SAP 的公司属于先进水平 四川大学工程硕士学位论文 SAP 与 OA 系统集成 51 声声 明明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果 据我所知 除了文中特别加以标注和致谢的地方外 论文中不包含其他人已经发 表或撰写过的研究成果 也不包含为获得四川大学或其他教育机构的学位或证书而使 用过的材料 与我一同工作的同志对本研究所作的任何贡献均已在论文中作了明确的 说明并表示谢意 本学位论文成果是本人在四川大学读书期间在导师指导下取得的 论文成果归四 川大学所有 特此声明 学位指导老师 企业指导老师 学 生 年 月 日 52 致致 谢谢 本论文是在张蕾 童增荣老师的悉心指导下完成的 在此谨向张老师 童老师表 示衷心的感谢 论文的完成得益于张老师 童老师的正确指导和严格要求 张老师 童老师对课题的研究方向给予了高度的重视并倾注了大量的心血 高度关注工程的进 展 给予了我很多的指导 张老师 童老师渊博的学识 严谨的治学态度 对科学研 究的高度热情是对我永远的鞭策 张老师 童老师的精心培养将使我受益终身 四川大学工程硕士学位论文 SAP 与 OA 系统集成 53 附附 录录 论文的完成得益于张老师 童老师的正确指导和严格要求 张老师 童老师对课 题的研究方向给予了高度的重视并倾注了大量的心血 高度关注工程的进展 54 相关编程源代码 function zfi zjzfxx oa Local interface IMPORTING VALUE ZFKTYPE TYPE CHAR1 EXPORTING VALUE MESSAGE TYPE BAPI MSG VALUE STYPE TYPE BAPI MTYPE TABLES T JD STRUCTURE ZIFS DDXX ITEMS STRUCTURE ZFI OA EBELN T JD1 STRUCTURE ZFI ZJZFXX OA 说明 此function 只用于原料采购相关的 机物料不在此列 说明 定义内表及变量 抬头表中的GYSYE在此处作为申请金额汇总进行返回 修改时间 2011 01 11 修改人 yuwenxue 修改原因 采购凭证有122冲回时 取值不正确 修改时间 2011 03 24 修改人 yuwenxue 修改原因 采购订单有多个不同工厂的情况在使用付款方式3时 反回数据会显示多行的物 料数据 要求进行多次支付审请 采购订单抬头信息查询 types begin of g typ ddtt bukrs like ekko bukrs 公司代码 ebeln like ekko ebeln 采购订单 lifnr like ekko lifnr 供应商 zhetong like ekko zhetong 合同号 四川大学工程硕士学位论文 SAP 与 OA 系统集成 55 waers like ekko waers 贷币码 point dif like ekko point dif 磅差范围 zmethd recv like ekko zmethd recv 结算方式 0 按来料数结算 1 按实收数 结算 yfje like bsik dmbtr 已付款金额 bsart like ekko bsart 采购凭证类型 end of g typ ddtt data g itb ddtt type table of g typ ddtt data l wa ddtt like line of g itb ddtt data l jname like rstxt tdname 付款条件说明 data l itb text like tline occurs 0 with header line 文本 data g itb ddhxm like t jd1 occurs 0 data l wa ddhxm like line of t jd1 data l wa t jd1 like line of t jd1 订单输出的行项目信息 采购订单的发票信息 types begin of g typ rseg 凭证项目 收款发票 ebeln like rseg ebeln 采购凭证号 ebelp like rseg ebelp 采购凭证的项目编号 wrbtr like rseg wrbtr 发票行项目金额 mwskz like rseg mwskz 销售税代码 menge like rseg menge 发票校验数量 knumh like a003 knumh 条件号 kbetr like konp kbetr 税率 kschl like konp kschl 条件类型 shkzg like rseg shkzg 冲销类型 belnr like rseg belnr 凭证 gjahr like rseg gjahr 凭证年度 awkey like bkpf awkey 字段参考关键 blart like bkpf blart 凭证类型 fphsje like rseg wrbtr 发票行项目金额 含税 通过计算得到 end of g typ rseg data g itb rseg type g typ rseg occurs 0 with header line 采购订单的发票抬头 56 types begin of g typ rbkp 凭证项目 收款发票 belnr like rbkp belnr 发票校验凭证 gjahr like rbkp gjahr 凭证年度 rmwwr like rbkp rmwwr 总金额 wmwst1 like rbkp wmwst1 总税额 waers like rbkp waers 货币 end of g typ rbkp data g itb rbkp type g typ rbkp occurs 0 with header line data l wa rbkp like line of g itb rbkp TYPES BEGIN OF g typ rseg1 凭证项目 收款发票 ebeln LIKE rseg ebeln 采购凭证号 ebelp LIKE rseg ebelp 采购凭证的项目编号 wrbtr LIKE rseg wrbtr 凭证货币金额 mwskz LIKE rseg mwskz 销售税代码 menge LIKE rseg menge 订单数量 knumh LIKE a003 knumh 条件号 kbetr LIKE konp kbetr 税率 kschl LIKE konp kschl 条件类型 l fpje LIKE rseg wrbtr 发票金额 END OF g typ rseg1 DATA g itb rseg1 TYPE g typ rseg1 OCCURS 0 WITH HEADER LINE DATA g itb rseg2 TYPE g typ rseg1 OCCURS 0 WITH HEADER LINE DATA g itb sum2 sl TYPE g typ rseg1 OCCURS 0 WITH HEADER LINE DATA g itb sum1 sl TYPE HASHED TABLE OF g typ rseg1 WITH UNIQUE KEY ebeln ebelp mwskz knumh kbetr kschl l fpje WITH HEADER LINE 物料凭证 data begin of g itb mseg occurs 0 mblnr like mseg mblnr 物料凭证编号 mjahr like mseg mjahr 物料凭证年度 zeile like mseg zeile 物料凭证中的项目 4位 bwart like mseg bwart 移动类型 grund like mseg grund 移动原因 若移动类型为1000时 需要冲减来料数 menge like mseg menge 应收数量 ebeln like mseg ebeln 采购订单 ebelp like mseg ebelp 采购订单行项目 四川大学工程硕士学位论文 SAP 与 OA 系统集成 57 lfbja like mseg lfbja 参考凭证会计年度 lfbnr like mseg lfbnr 参考凭证的凭证号 lfpos like mseg lfpos 参考凭证项目 shkzg like mseg shkzg 借贷信息 insmk like mseg insmk 库存类型 sjahr like mseg sjahr 冲销的物料凭证年度 smbln like mseg smbln 已冲销的物料凭证号 smblp like mseg smblp 已冲销的物料凭证行项目 qinspst like mseg qinspst 货物收据检验状态 wempf like mseg wempf 检验批 real menge like mseg menge 实收数量 end of g itb mseg data g itb mseg1 like g itb mseg occurs 0 with header line types begin of g typ bkpf gjahr like bkpf gjahr 凭证年度 blart like bkpf blart 凭证类型 belnr like bkpf belnr 凭证号 awkey like bkpf awkey 字段参考关键 bukrs type bkpf bukrs end of g typ bkpf data g itb bkpf type table of g typ bkpf with header line data wa lfc1 type lfc1 types begin of g typ vbsegk belnr like vbsegk belnr 凭证编号 gjahr like vbsegk gjahr 凭证年度 buzei like vbsegk buzei 凭证行项目 shkz
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈尔滨市呼兰区招聘公益性岗位考试真题2024
- 2024年六安霍山县公办幼儿园招聘真题
- 去年滨海一模数学试卷
- 启智课堂三下数学试卷
- 培智第十六册数学试卷
- 钱塘幼小衔接班数学试卷
- 2025版防汛物资采购与应急物资处理合同
- 二零二五版特种货物运输出口代理服务协议
- 2025版电子竞技赛事组织与赞助合同
- 二零二五版体育场馆临时工服务与管理协议
- 2025年内江市总工会公开招聘工会社会工作者(14人)笔试模拟试题及答案解析
- 2025云南辅警笔试题目及答案
- (高清版)DZT 0388-2021 矿区地下水监测规范
- 胰腺肿瘤影像学课件
- 高效课堂讲座课件
- 口部运动功能评估分级标准
- 有害物质污染源识别与评价表
- 《汉服发展史》PPT课件
- 新编物理基础学王少杰(上、(下册))课后习题答案
- 产品设备安装调试方案
- 电动转向管柱系统项目商业计划书范文参考
评论
0/150
提交评论