




已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9cf4354e39b2bbd0a3b1bf8f257f9ef8 xls封面1 77 ABAP初初级级技技术术培培训训教教材材 项项目目名名称称 功功能能名名称称 功功能能编编号号模模块块 源讯高维资讯 上海 有限公司 作者确认者确认者承认者 9cf4354e39b2bbd0a3b1bf8f257f9ef8 xls目录2 77 ABAP初级技术培训教材功能名称 功能编号模块作成日 作成者 目目 录录 No 内内 容容页页数数更更新新日日期期更更新新者者备备注注 1目录1 21 SAP介绍1 3 1 1 SAP概况1 4 1 1 1 什么是SAP 1 5 1 1 2 SAP公司 1 6 1 1 3 SAP行业解决方案 1 7 1 2 SAP模块1 8 1 2 1 SAP的R 3概述 1 9 1 2 2 SAP常用功能模块 2 10 1 3 SAP数据库2 11 1 3 1 数据字典 2 12 1 3 2 ABAP字典中的基本对象 2 13 1 4 SAP操作界面3 14 1 4 1 SAP登录界面 3 15 1 4 2 初始屏幕 3 16 1 4 3 事务代码 4 17 1 4 4 系统标准功能按钮介绍4 182 ABAP介绍1 19 2 1 ABAP概况1 20 2 2 开发类型1 21 2 2 1 单据1 22 2 2 2 报表1 23 2 2 3 功能开发1 24 2 3 开发界面1 25 2 3 1 查询数据库表1 26 2 3 2 程序开发界面4 27 2 4 简单报表1 28 2 4 1 程序结构1 29 2 4 2 数据定义2 30 2 4 3 选择屏幕3 31 2 4 4 读取数据5 32 2 4 5 显示报表5 33 2 4 6 报表实例5 9cf4354e39b2bbd0a3b1bf8f257f9ef8 xls目录3 77 34 3 ABAP基础 1 35 3 1 数据定义1 36 3 1 1 数据类型1 37 3 1 2 变量定义1 38 3 1 3 常量定义1 39 3 1 4 系统定义的数据2 40 3 1 5 指令2 41 3 2 数据运算指令1 42 3 2 1 赋值1 43 3 2 2 截取字符串赋值1 44 3 2 3 数组值的复制1 45 3 2 4 变量 CALL BY VALUE 的使用2 46 3 2 5 清除变量内容2 47 3 2 6 算数符号2 48 3 2 7 数值函数2 49 3 2 8 日期与时间运算2 50 3 2 9 字符串数据处理3 51 3 3 屏幕输入指令1 52 3 3 1 PARAMETERS 指令1 53 3 3 2 SELECTION OPTIONS2 54 3 3 3 配合 SELECT 命令2 55 3 3 4 SELECTION SCREEN3 56 3 4 屏幕输出指令1 57 3 4 1 Write 指令1 58 3 4 2 产生空白列2 59 3 4 3 显示图示2 60 3 4 4 显示 CHECK BOX 资料2 61 3 4 5 输出横线2 62 3 5 内表1 63 3 5 1 定义内表1 64 3 5 2 APPEND指令2 65 3 5 3 COLLECT指令2 66 3 5 4 INSERT指令2 67 3 5 5 读取内表数据3 68 3 5 6 修改内表数据3 69 3 5 7 内表操作3 9cf4354e39b2bbd0a3b1bf8f257f9ef8 xls目录4 77 70 3 6 数据库指令 1 71 3 6 1 SELECT 指令1 72 3 6 2 INSERT 指令2 73 3 6 3 UPDATE 指令2 74 3 6 4 MODIFY 指令3 75 3 6 5 DELETE 指令3 76 3 6 6 COMMIT WORK 与 ROLLBACK WORK3 77 3 7 逻辑控制指令1 78 3 7 1 比较符号1 79 3 7 2 条件述叙1 80 3 7 3 循环叙述2 81 3 7 4 循环控制叙述2 82 3 8 程序模块简介3 83 3 8 1 Include Program3 84 3 8 2 Subroutine Procedure3 85 3 8 3 参数值的传递4 86 3 8 4 Subroutine 的控制4 874 Function1 88 4 1 Function简介1 89 4 2 Function的基本组件1 90 4 3 Function的调用 2 915 ALV介绍 1 92 5 1 ALV列表概述1 93 5 1 1 ALV列表概述1 94 5 1 2 两种简单的ALV列表类型1 95 5 1 3 ALV列表最常用的功能2 96 5 2 ALV常用函数及参数值介绍3 97 5 2 1 常用函数介绍3 98 5 2 2 ALV函数中常用参数介绍3 99 5 2 3 ALV中的事件与简单函数4 1006 SMARTFORM的创建及使用1 101 6 1 Smartform简介1 102 6 2 Form编辑器的组成1 103 6 3 导航树1 104 6 4 实例学习Smartform2 105 6 4 1 Smartform2 106 6 4 2 样式6 107 6 4 3 调用Smartform7 108 7 BDC 创建及使用 1 1097 1 BDC Batch Data Conversion 简介1 1107 2 BDC 录屏实例操作1 1117 3 BDC Program3 1127 4 BDC的局限性3 1137 5 BDC的注意事项3 1148 ECATT的简单介绍1 1158 1 Test Script1 1168 2 Test Configuration2 1178 3 ECATT的局限性4 1188 4 ECATT的注意事项4 1199 SAP Script Forms1 1209 1 Form 的概念1 1219 2 SAP Script Form的组件1 1229 2 1 Header Data1 1239 2 2 Paragraph Formats and Attributes2 1249 2 3 Character Formats and Attributes2 1259 2 4 Windows3 1269 2 5 Pages 页面 4 1279 2 6 Pages window 页面窗口 5 9cf4354e39b2bbd0a3b1bf8f257f9ef8 xls目录5 77 1289 3 文本设计5 1299 3 1 Text Element5 1309 3 2 Standard Text6 1319 4 SAPscript Function Modules6 1329 4 1 OPEN FORM6 133 9 4 2 CLOSE FORM 7 134 9 4 3 WRITE FORM 7 135 9cf4354e39b2bbd0a3b1bf8f257f9ef8 xls目录6 77 日期时间内容 5月11日 8 30 11 30ABAP简介 SAP数据字典 5月11日 13 00 17 00 SAP数据字典 报表简介 报表基本组成 5月12日 8 30 11 30数据定义 输入屏幕定义 数据运算 5月12日 13 00 17 00 逻辑处理 数据输出 ALV 5月13日 8 30 11 30内表 工作区域 SQL DEBUG 5月13日 13 00 17 00 FUNCTION 简介 BDC 5月16日 8 30 11 30SMARTFORMS 5月16日 13 00 17 00 SMARTFORMS 1 1 SAPSAP介介绍绍 1 11 1 SAPSAP概概况况 1 1 11 1 1 什什么么是是SAPSAP 1 1 2 SAP公司 1 1 3 SAP行业解决方案 1 21 2 SAPSAP模模块块 1 2 1 SAP的R 3概述 1 2 2 SAP常用功能模块 1 31 3 SAPSAP数数据据库库 1 3 1 数据字典 1 3 2 ABAP字典中的基本对象 1 41 4 SAPSAP操操作作界界面面 1 4 1 SAP登录界面 1 4 2 初始屏幕return 1 4 3 事务代码 1 4 4 系统标准功能按钮介绍 1 1 SAPSAP介介绍绍 1 11 1 SAPSAP概概况况 1 1 1 什么是SAP SAP的英文全称是System Applications and Products in Data Processing 它的中文意思是在数据处理中的系统 应用和产品 严格地说 SAP是 一个软件公司的名字 但现在 我们都习惯地统称SAP公司的产品为SAP 而更多的时候又是指SAP R 3系统 实际上 SAP公司的产品除了R 3以外 还 有mySAP com SAP Business One SAP NetWeaver ESA等等各种各样的产品 1 1 2 SAP公司 SAP成立于1972年 总部位于德国沃尔多市 是全球最大的企业管理软件供应商 第三大独立软件供应商 全球领先的协同电子商务解决方案供应商 1988年 SAP陆续在法兰克福和纽约证券交易所上市 自成立以来SAP在业内取得了令人瞩目的成就 作为全球企业管理软件的业界领袖和协同电子商务解决方案的市场领导者 SAP早在八十年代就开始同中国国营企业进行项目合作 并取得了成功的经 验 1994年底 SAP在北京建立了代表机构 1995年正式成立了中国分公司 随着业务的迅速增长 于1996年设立了SAP上海分公司 1998年又在广州 成立了SAP华南分公司 1 1 3 SAP的行业解决方案 SAP为21个行业提供融合了和行业 最佳业务实践 的行业解决方案 这些行业包括航空与国防 汽车 金融服务 化工 消费品 工程与建筑 医疗 卫生 高等教育 高科技 保险 媒体 石油与天然气 煤矿 医药 公用事业 零售业 电信 电力 钢铁冶金 交通运输及公共设施等 SAP在每 个行业都有行业解决方案图 充分展示各行业特殊业务处理要求 并将其绘制入SAP解决方案和合作伙伴补充方案中 完成包括基于网络的端到端的 业务流程 1 21 2 SAPSAP模模块块 1 2 1 SAP的R 3概述 用一句话来概括 SAP R 3是SAP公司开发的客户机 服务器环境下的套装软件 可用于处理一个公司中几乎所有的经营管理任务 常见的诸如发票支付 生产资源的管理 财务控制等等都包含在其中 SAP R 3运用应用程序模块 通常简称为 模块 来处理上述任务 这些模块常用其英文字母来命名 比如 SD表示销售 Sales 和分发 Distribution MM表示物料管理 MaterialsManagement CO表示控制 Controlling 诸多模块分成三大类 物流 Logistics 财务 Accounting 与人力资源 HunmanResources 比如物料管理 MM 在 物流 类中 控制 CO 是 财务 类的一个模块 它们互相协作 共同作用 来处理公司中的经营管理任务 R 3系统模块结构如图1所示 1 2 2 SAP常用功能模块 FI财务会计 集中公司有关会计的所有资料 提供完整的文献和全面的咨询 同时作为企业实行控制和规划的最新基础 TR财务管理 是一个高效率财务管理的完整解决方案 确保公司在世界范围的周转 对财务资产结构实行盈利化组合 并限制风险 CO管理会计 是公司管理系统中规划与控制工具的完整体系 具有统一的报表系统 协调公司内部处理业务的内容和过程 EC企业控制 根据特制的管理资讯 连续监控公司的成功因素和业绩指标 IM投资管理 提供投资手段和专案 从规划到结算的综合性管理和处理 包括投资前分析和折旧模拟 PP生产计划 提供各种制造类型的全面处理 从重复性生产 订制生产 订装生产 加工制造 批量及订存生产直至过程生产 MM物料管理 以工作流程为导向的处理功能对所有采购处理最佳化 可自动评估供应商 透过精确的库存和仓库管理降低采购和仓储成本 并与发票核 查相整合 PM工厂维护 提供对定期维护 检察 耗损维护与服务管理的规划 控制和处理 以确保各操作性系统得可用性 QM品质管理 监控 输入和管理整个供应链与品质保证相关的各类处理 协调检察处理 启动校正措施 以及与实验室资讯系统整合 SD销售与分销 积极支援销售和分销活动 具有出色的定价 订单快速处理 按时交货 交互式多层次可变定制功能 并直接与盈利分析和生产计划模 组连接 HR人力资源管理 采用涵盖所有人员管理任务和帮助简化与加速处理的整合式应用程式 为公司提供人力资源规划和管理解决方案 1 31 3 SAPSAP数数据据库库 在这里只简单介绍数据字典的几个常用概念 不对数据库作深入的讲解 1 3 1 数据字典 数据字典是一个集中的存储区 它存放关于数据库中数据的信息 所有应用模块使用的所有数据 如数据类型 数据域 最大字符长度等等 都定义在 数据字典的表当中 数据字典同时也存储关于系统与业务的综合信息 SAP的数据字典称为ABAP字典 其功能有 保证数据完整性即保证系统的数据是完整 一致的并具有逻辑性 系统会自动阻止非法数据的输入 以下为数据缺乏完整性的例子 某月份值为13 将某个订单指定给一个并不存在的顾客 未指定给一个顾客的订单 无冗余地定义数据 即将相似的信息与同一个数据定义相连 比如 有多个表包括顾客的ID 可以在字典的某个地方定义ID属性 这样就能在每个顾 客ID的实例中使用该属性 ABAP字典和开发环境的紧密结合使得ABAP程序能自动识别字典对象的名称和属性 你可以双击代码中的对象名称 系统会自动转到ABAP字典中该对 象的定义 当数据对象发生改变时 使用该对象的程序会在下次运行时自动参考更新后的值 1 3 2 ABAP字典中的基本对象 ABAP字典中的基本对象为 表 数据元素 domain 表是数据库中实际存放数据的结构 由行 记录 和列 域 组成 表中的域通过数据元素和domain来定义 一个domain指定域的属性及允许的值 域通过 数据元素和domain相联系 你不能直接把域赋给domain 这是SAP和其它系统的重要区别 在其它系统中 域仅通过数据类型 字符 数字等 和长度来 定义 在SAP中 域通过一个数据元素来定义 而每个数据元素又通过一个domain定义 数据元素的优点是可以重复使用 例如 有多个表包括域CUSTOMER ID 你可以将各个表中的CUSTOMER ID域分配给同一个数据元素 而不需要去在每 个表中定义 另外 若要对该域的属性修改 只需要修改数据元素 所有指向该数据元素的域会自动使用新的值 表 数据元素和domain的关系如下图所示 实例 图2 1 41 4 SAPSAP操操作作界界面面 1 4 1 登录界面 选择要登录的系统 单击 登录 按钮 进入到下面的画面 填写下列登录信息 Client 集团代码 User 用户名 Password 密码 Language 登录系统使用的语言 常用的有以下三种 ZH 表示中文 EN 表示英文 JA 表示日文 正确填写上述信息后单击左上角 按钮即可进入系统 显示下面的初始屏幕 图3 图4 图5 1 4 2 初始屏幕 SAP允许多个用户使用同一个用户名同时登录系统 此时系统弹出下面所示窗口提示 选项1 使您自己当前的登录成功 同时把使用相同用户名正在使用系统的其他用户 踢出 系统 被强行终止使用系统的用户未保存的数据会丢失 选项2 使您自己当前的登录成功 同时允许其他使用相同用户名正在使用系统的用户继续使用系统 选项3 取消自己当前的登录操作 不影响其他使用相同用户名正在使用系统的用户 选择1或2登录单击 按钮 成功的情况下进入下面的屏幕 如果没有多用户公用一个用户名同时登录系统 则登录过程中不弹出上述窗口 直接进入 下面的屏幕 此屏幕即SAP系统的初始屏幕 可通过左边层级式菜单查找和进入相应的操作界面 也可以通过在左上角的输入框中输入事务代码来进入相应操作的操 作界面 例如 数据库操作界面的事务代码是 se11 在输入框中输入 se11 如上图所示 单击左边 按钮可进入数据库操作界面 图6 图7 图5 1 4 3 事务代码 事务代码可以理解为进入所需操作界面的快捷方式 SAP系统中所有标准操作界面都有相应的事务代码 开发人员也可以根据需要在系统中创建自己的事 务代码分配给在系统中开发的功能 为帮助大家理解 下面列出几个事务代码及初始界面 FD01 创建客户 J1A5 显示仓库库存 F 06 收款记账 图8 图9 图10 VA01 创建销售订单 n 退回系统首页 在系统中进行开发会用到下面几个事务代码 将陆续在后面的章节中详细介绍 SE11 操作数据库 SE37 编辑函数 SE38 编辑程序 1 4 4 系统标准功能按钮介绍 图标 功能 保存 返回 退出 取消 打印 查找 查找下 一个 第一 页 前一 页 下一 页 最后 一页 创建新 的会话 生成快 捷方式 帮助 本地格 式定制 在不同的功能界面 按钮的状态会有所不同 系统自动把当前界面不可用的按钮设置为灰色 例如 在初始界面 保存 返回 取消 按钮用不到 系统自动显示为灰色 如下图所示 练习 了解SAP系统界面 登录系统作自由练习 图11 图12 ABAP初级技术培训教材功能名称 功能编号模块作成日 作成者 2 2 ABAPABAP介介绍绍 2 1 ABAP概况 ABAP语言是高级商用编程语言 英文全称为 advanced business application program ABAP 4是SAP开发的第四代编程语言 SAP最初开发ABAP 4语言仅为内部使用 为应用程序员提供优化的工作环境 后经过不断的改进和修改以满足 商业领域的需要 现在ABAP 4已成为SAP开发所有自己的应用程序的仅有工具 SAP 客户用 ABAP 4 进行其自身开发 这样的开发对 R 3 标准解决方案适应特殊问题非常重要 ABAP 4开发工作平台包含所有用于创建和维护 ABAP 4程序的工具 2 2 开发类型 ABAP开发根据开发内容的不同 大致分为单据开发 报表开发 功能开发三种 2 2 12 2 1 单单据据 formform 单据程序用于展示数据库中的明晰数据 如客户的个人信息 销售订单的详细内容等等 单据程序读取数据库中数据展示 不修改数据 单据开发包 括数据准备 输出页面设计两个过程 在制作输出页面时使用SAP的标准工具smartform 2 2 22 2 2 报报表表 reportreport 报表程序用于分析数据库表中的数据 ABAP 4 中的报表程序是一个不修改数据库而从数据库表格中读取并分析数据的程序 这种报表程序的结果通 常是以列表的形式输出到屏幕或发送到打印机上 2 2 32 2 3 功功能能开开发发 功能开发包括用户出口 流程开发 屏幕编程 源程序修改 理论上是SAP不允许的 其中流程开发是在系统开发一些用户个性化的流程 它可 以是加入系统中原有流程中的一段补充也可以是单独的一段流程 例如在同方项目中 销售订单后 出货之前增加了信用的检查的过程 2 3 开发界面 2 3 12 3 1 查查询询数数据据库库表表 1 表查询初始界面 事务代码se11 进入表查询初始界面 如下图所示 选择 数据库表 在右边相应的输入框中填写要查看的表名称 也可以通过 按钮查找表名称 图13 2 查询表名称的两种情况 第一次查询表名称时 单击 按钮弹出窗口如下图所示 在 Table Name 输入框中输入模糊查询名称 单击 按钮 弹出表名称列表窗口 列表窗口如下所示 选择要查询的表名称 单击 按钮 表名称自动填写到表查询初始页面 在数据库表查询初始界面不是第一次查询表名称时 单击 按钮弹出窗口如下所示 本次查询对象不在以往查询记录中时 单击 按钮 弹出下面的窗口 后续操作与上述第一次表名称查询情况相同 图14 图15 图16 图17 3 数据库表显示界面 查询到表名称后 在表查询初始页面单击 显示 按钮 进入数据库表界面 如下图所示 查看该表的数据内容 点击 按钮 首先进入到选择屏幕 可以通过选择屏幕对该表中要查询的数据进行筛选 选择屏幕如下图所示 用户可以填写查询数据的条件 也可以不填写 单击 按钮显示数据列表 数据列表界面如下图所示 图18 图19 图20 2 3 22 3 2 程程序序开开发发界界面面 1 创建程序 事务代码se38 进入ABAP编辑初始屏幕 界面如下图所示 在输入框中输入要查找或创建的程序名称 在子对象栏中选择 源代码 创建程序单击 创建 按钮 弹出如下所示窗口 在 Titel 输入框中输入程序名称 该名称将显示在程序运行后的显示界面上 在 Typ 栏中选择程序的类型 在这里我们选 可执行程序 在 Status 栏中选择程序的状态 在这里我们选 测试程序 单击 保存 按钮 弹出如下所示窗口 维护程序的所属开发类 填写开发类后点保存按钮 弹出下面的窗口 图21 图22 图23 图34 图20 上图中红色显示的 DEVK904534 是请求号 此处默认的是前一次创建的请求号 可以几个程序共用一个请求号 也可以创建自己的请求号 创建自己 的请求点击创建按钮 弹出下面的窗口 在上图所示的创建请求页面中填写 短描述 一栏 即所创建请求号的描述 填写完毕点击保存按钮 例如填写短描述为 test 保存后系统将自动 创建的请求号带回请求号相应的填写栏位 如下图所示 请求号填写完毕点击 按钮 程序创建成功 进入程序编辑界面 开发类用来分类管理程序 不指定开发类的程序可以保存为本地对象 但是本地对象不会要求填写请求号 无法从开发机上传到测试机和生产机 在这 里 我们保存为本地对象 单击 本地对象 按钮 此时程序创建成功 进入程序编辑界面 如下图所示 2 程序编辑界面常用按钮 图图标标 功功能能 显示和修 改间切换 检查 语法 激活 运行 帮助 设置 断点 规范化格式 图35 图36 图24 图34 3 程序调试 1 设置断点 程序必须在活动状态才可以设置断点 光标停留在要设置断点的行 单击 按钮 即 按钮 光标所在行显示为橘黄色 表示已经在该行设置了断点 如下图所示 程序运行到此行会 自动停止等待下一步操作 2 运行程序进行调试 设好断点后 单击 按钮运行程序 程序在断点处停止执行 界面如下图所示 四个调试用按钮 单步执行 逐行执行程序 但遇到子程序的调用时 只显示该子程序的返回结果 被调用程序执行完后返回到调用程序 向下执行 执行程序到断点处或程序结尾 察看变量值 在Variable栏中填写要察看值的变量名称 向下执行 在Wert栏中将显示该变量在运行过程中的值 实例如下图所示 程序运行完毕 自动关闭程序调试窗口 3 取消断点 光标停留在已设置断点的行 单击 按钮 取消设置的断点 光标所在行恢复正常颜色显示 图25 图26 图27 ABAP初级技术培训教材功能名称 功能编号模块作成日 作成者 2 2 ABAPABAP介介绍绍 2 42 4 简简单单报报表表 2 4 12 4 1 程程序序结结构构 可可参参考考第第二二课课 简简单单报报表表第第3 3页页 编编写写程程序序 1 简单报表程序结构如下图所示 2 程序抬头 创建程序后 系统自动输入第一个 ABAP 4 语句 如 REPORT 或者 PROGRAM 即程序声明 对于 系统使用用户在 ABAP 4 编辑器初始屏幕 上输入的名称 语句 REPORT 和 PROGRAM 实际上具有相同功能 它们使系统能识别报表程序或任何其他 ABAP 4 程序 并允许为输出列表指定一定的标准 REPORT 或 PROGRAM 语句可以有不同的参数 如 LINE SIZE LINE COUNT 或 NO STANDARD PAGE HEADING 这些参数主要适用于报表程序 用来分析数 据并输出结果列表 程序实例 REPORT ZTESTONE NO STANDARD PAGE HEADING 不显示标准的页面抬头信息 LINE SIZE 238 设置每页报表宽度为238 LINE COUNT 100 设置每页报表屏幕高度为100 MESSAGE ID Y010 定义消息类 图28 2 4 22 4 2 数数据据定定义义 可可参参考考第第二二课课 简简单单报报表表第第4 4页页 声声明明数数据据 1 数据定义需要指定其数据类型 数据类型有预定义的和自定义之分 预定义数据类型的名称是固定的 用户定义的数据类型的名称由程序员在程序中定 义的 2 ABAP 4 中预定义的数据类型如下表所示 TypeLengthRangeInitial ValueDescription C11 65535ByteSpace字符串数据 如 Program D88Byte 00000000 日期数据 格式为YYYYMMDD F88Byte0浮点数 I4 2 31至2 31 10整数 N11 65535Byte 00 0 数值所组成的字符串 P81 16Byte0Packed 数 用在小数点数 T66Byte 000000 时间数据 格式为HHMMSS X11 65535ByteX 00 16进位数 3 数据定义用到的命令及关键字说明 数据定义用到的关键字有 TYPE TYPES LIKE DATA TABLES TYPE用来指定数据类型 TYPES用来定义自定数据类型 实例 TYPES BEGIN OF MYLIST 定义名称为MYLIST的数组数据类型 NAME 10 TYPE C 指定名称为NAME的项的数据类型为C 长度为10 NUMBER TYPE I 指定名称为NUMBER的项的数据类型为I END OF MYLIST 定义自定数据类型MYLIST结束 LIKE跟TYPE叙述使用格式相同 如 DATA TRANSCODE LIKE SY TCODE 含义是指定名称为TRANSCODE的变量类型与系统变量SY TCODE相同 不同的是 LIKE 用在已有值的数据项 如系统变量 而TYPE叙述则是用在指定数据类型 DATA语法 DATA 变量名称 最长30个字符 不可含有 等字符 数据类型及长度 如 LINE 20 TYPE C 亦如MYNAME LIKE SY UNAME 初值 小数位数 实例 DATA COUNTER TYPE P VALUE 1 名称为COUNTER变量 类型为P 初值为1 FLAG TYPE C VALUE IS INITIAL 名称为FLAG的变量 类型为 C 初值为默认值 WEIGHT TYPE P DECIMALS 2 VALUE 1 25 名称为WEIGHT的变量 类型为P 初值为1 25 实例 数组变量的定义 DATA BEGIN OF ADDRESS NAME 10 TYPE C NUMBER TYPE P END OF ADDRESS 使用时用字段变量加上组件名称 如 ADDRESS NAME 4 TABLES 利用 TABLES 语句 可以创建称为表工作区的数据对象 表工作区是参考 ABAP 4 词典对象的字段串 语法 TABLES 其中 是 ABAP 4 词典对象的名称 同时也是创建的表工作区的名称 表工作区组件的顺序和名称与在 ABAP 4 词典中声明的对象相同 实例 TABLES EBAN 5 定义内表 ABAP 4中的内表 Internal Table 是一种数据结构 它可以由几个不同类型的栏位 field 組成 用來表示具有不同属性的某一事物 单独一笔资料表 示某个事物 多笔资料表示具有相同属性的多个事物 内表的定义有几种格式不同的格式 在这里我们只介绍其中的一种 格式如下 DATA BEGIN OF OCCURS WITH HEADER LINE TYPE TYPE TYPE END OF OCCURS 表示预先申请的行数 WITH HEADER LINE 表示是否存在表工作区即表头 存在表头表示可以直接定位到表的字段上 实例 DATA BEGIN OF I SBOOK OCCURS 20 WITH HEADER LINE CARRID LIKE SBOOK CARRID CONNID LIKE SBOOK CONNID FLDATE LIKE SBOOK FLDATE CUSTOMID LIKE SBOOK CUSTOMID LOCCURAM LIKE SBOOK LOCCURAM LOCCRKEY LIKE SBOOK LOCCRKEY END OF I SBOOK 2 4 32 4 3 选选择择屏屏幕幕 可可参参考考第第四四课课 选选择择屏屏幕幕第第2 2页页 SELECTION OPTIONSSELECTION OPTIONS 到到第第5 5页页截截止止 1 PARAMETERS 指令 语法 PARAMETERS DEFAULT LOWER CASE OBLIGATORY AS CHECKBOX RADIOBUTTON GROUP 实例 PARAMETERS NAME 8 AGE TYPE I BIRTH TYPE D 执行行結果 LOWER CASE ABAP 4预设是将字串输入值自动转换为大写 加上此参数会将输入的资料转成小写 OBLIGATORY 强制要求输入 屏幕上会出現一个 使用者必须要输入才可 AS CHECKBOX 输入 CHECKBOX的格式 实例 PARAMETERS TAX AS CHECKBOX DEFAULT X NTD AS CHECKBOX 执行結果 RADIOBUTTON GROUP 输入 RADIO BUTTON GROUP 的方式 实例 PARAMETERS BOY RADIOBUTTON GROUP SEX DEFAULT X GIRL RADIOBUTTON GROUP SEX 执行結果 2 SELECT OPTIONS 语法 SELECT OPTIONS FOR 实例 TABLES SPFLI SELECT OPTIONS AIRLINE FOR SPFLI CONNID 将条件的输入值存放入 AIRLINE 筛选对象为SPFLI中的CONNID栏位 执行結果 3 在一个框中显示多个选择条件 语法 SELECTION SCREEN BEGIN OF BLOCK WITH FRAME TITLE SELECTION SCREEN END OF BLOCK 实例 SELECTION SCREEN BEGIN OF BLOCK B1 WITH FRAME SELECTION SCREEN SKIP 1 空一行 PARAMETERS P WERKS LIKE EBAN WERKS OBLIGATORY SELECT OPTIONS S MATNR FOR EKPO MATNR 物料号码 S MATKL FOR EBAN MATKL 物料组 SELECTION SCREEN END OF BLOCK B1 执行结果 图33 2 4 42 4 4 读读取取数数据据 可可参参考考第第三三课课 数数据据选选择择及及输输出出第第1 1页页 SELECTSELECT语语句句 1 语法 SELECT FROM INTO WHERE GROUP BY ORDER BY 2 两个或几个表关联用 SELECT A AF1 A AF2 B BF1 B BF2 C CF1 C CF2 INTO CORRESPONDING FIELDS OF TABLE ITAB NAME FROM TABLE1 AS A INNER JOIN TABLE2 AS B ON A AF1 B BF1 AND A AF2 B BF2 INNER JOIN TABLE3 AS C ON A AF1 C CF1 WHERE 3 判断查询结果 每次SELECT操作后 系统会设置SY SUBRC 若找到一个匹配的记录 SY SUBRC设置为0 否则为非零值 应该养成良好的编程习惯 在每次操作后 检查SY SUBRC 若找不到匹配记录 则可以显示相应信息或让程序采取合适的动作 实例 IF SY SUBRC 0 MESSAGE I000 EXIT ENDIF 2 4 52 4 5 显显示示报报表表 可可参参考考第第三三课课 数数据据选选择择及及输输出出第第9 9页页 数数据据输输出出 在屏幕上定位输出用WRITE命令 语法 WRITE AT 斜线 表示新的一 行 是最长为三位数字的数字或变量 表示在屏幕上的位置 是最长为三位数字的数字或变量 表示输出长度 如果输出内容只包含直接值 即不是变量 可以忽略关键字AT 如果指定某一个位置 则无论在该位置是否有可用的空间或写有其它字段 总是在该位置输出字段 如果输出长度 太短 则只显示部分字符 数字字段从左边截断 并用星号 作前缀 其它字段从右边截断 但是不给出该字段显示不完整的标识 2 4 62 4 6 报报表表实实例例 服务器 192 168 1 2 系统 800 程序名称 ZTESTONE 报表名称 月采购计划报表 ABAP初级技术培训教材功能名称 功能编号模块作成日 作成者 3 ABAP3 ABAP基基础础 3 13 1 数数据据定定义义 3 1 13 1 1 数数据据类类型型 定义数据需要指定其数据类型 数据类型有预定义数据类型和自定义数据类型之分 预定义数据类型的名称是固定的 用户定义的数据类型的名称由用 户在程序中指定 ABAP 4 中预定义的数据类型如下表所示 TypeLengthRangInitial ValueDescription C11 65535ByteSpace字符串数据 如 Program D88Byte 00000000 日期数据 格式为YYYYMMDD F88Byte0浮点数 I4 2 31至2 31 10整数 N11 65535Byte 00 0 数值所组成的字符串 P81 16Byte0Packed 数 用在小数点数 T66Byte 000000 时间数据 格式为HHMMSS X11 65535ByteX 00 16进位数 3 1 23 1 2 变变量量定定义义 DATA语法 DATA TYPE 变量名称 最长30个字符 不可含有 等字符 数据类型及长度 如 LINE 20 TYPE C 亦如MYNAME LIKE SY UNAME 初值 小数位数 实例 DATA COUNTER TYPE P VALUE 1 名称为COUNTER变量 类型为P 初值为1 FLAG TYPE C VALUE IS INITIAL 名称为FLAG的变量 类型为 C 初值为默认值 WEIGHT TYPE P DECIMALS 2 VALUE 1 25 名称为WEIGHT的变量 类型为P 初值为1 25 实例 DATA BEGIN OF ADDRESS 定义数组变量ADDRESS NAME 10 TYPE C NUMBER TYPE P END OF ADDRESS 使用时用字段变量加上组件名称 如 ADDRESS NAME 3 1 33 1 3 常常量量定定义义 常数定义使用 CONSTANTS 指令 如定义 PI 是一个有5位小数的数值 3 14159 实例 CONSTANTS PI TYPE P DECIMALS 5 VALUE 3 14159 3 1 43 1 4 系系统统定定义义的的数数据据 SPACE空白字符串 SY SUBRC系统执行返回值 0表示执行成功 SY UNAME登陆帐号名称 SY DATUM系统日期 SY UZEIT系统时间 SY TCODE目前的事务代码 3 1 53 1 5 指指令令 1 TYPE指令 TYPE用来指定数据类型 实例 DATA NAME 10 TYPE C TYPES NUMBER TYPE I 2 TYPES指令 TYPES用来自定义数据类型 实例 TYPES BEGIN OF MYLIST NAME 10 TYPE C NUMBER TYPE I END OF MYLIST 3 LIKE指令 LIKE也用来指定数据类型 使用格式与TYPE相同 LIKE与TYPE的区别是LIKE 用在已有值的数据项 如系统变量 而TYPE叙述则是用在指定数据类型 实例 DATA MYDATA LIKE SY DATUM 4 STATICS指令 STATICS用来定义变量 使用格式与DATA相同 与DATA的区别是STATICS只能在子程序中使用 用STATICS定义的变量可以在退出子程序后保留局部数据 对象的值 而DATA不能 语法 STATICS 实例 FORM DATATEST2 STATICS A 20 TYPE C A AAA WRITE A ENDFORM 5 TABLES指令 TABLES 语句用来创建称为表工作区的数据对象 表工作区是参考 ABAP 4 词典对象的字段串 语法 TABLES 其中 是ABAP 4 词典 对象的名称 同时也是创建的表工作区的名称 表工作区组件的顺序和名称与在 ABAP 4 词典中声明的对象相同 实例 TABLES EBAN ABAP初级技术培训教材功能名称 功能编号模块作成日 作成者 3 ABAP3 ABAP基基础础 3 23 2 数数据据运运算算指指令令 3 2 13 2 1 赋赋值值 语法 MOVE TO 将F1的值存至变数 F2 中 也可写成 F2 F1 实例 NAME FIRSTNAME 变成 LULU NAME LASTNAME 变成 CHOU 而 NAME E MAIL 则不变 M NAME CHER 3 2 23 2 2 截截取取字字符符串串赋赋值值 语法 MOVE TO 实例 DATA F1 10 TYPE C VALUE ABCDEFGHIJ F2 5 TYPE C F2 F1 3 5 自第4个位置开始取出5个字符 F2 的内容会变成 DEFGH 3 2 33 2 3 数数组组值值的的复复制制 语法 MOVE CORRESPONDING TO 将Strings1中的字段名称相同的数据复制至Strings2相应字段中 实例 DATA BEGIN OF ADDRESS FIRSTNAME 10 TYPE C VALUE LULU LASTNAME 10 TYPE C VALUE CHOU TEL 12 TYPE C VALUE 4660570 END OF ADDRESS DATA BEGIN OF NAME FIRSTNAME 10 TYPE C LASTNAME 10 TYPE C E MAIL 30 TYPE C END OF NAME MOVE CORRESPONDING ADDRESS TO NAME NAME FIRSTNAME 变成 LULU NAME LASTNAME 变成 CHOU 而 NAME E MAIL 则不变 3 2 43 2 4 变变量量 CALLCALL BYBY VALUEVALUE 的的使使用用 在变量的使用上 可以使用类似Call By Value 的方法 语法 WRITE TO 实例 DATA NAME 20 TYPE C VALUE SOURCE SOURCE 10 TYPE C VALUE LILY TARGET 10 TYPE C WRITE NAME TO TARGET WRITE TARGET 执行结果 LILY 3 2 53 2 5 清清除除变变量量内内容容 语法 CLEAR 清除变量现在内容 实例 DATA N TYPE I VALUE 100 CLEAR N 变量 N 的内容变成 0 3 2 63 2 6 算算术术符符号号 1 乘幂 2 乘 3 除 4 加 5 减 6 DIV 整数除法 7 MOD 余数除法 3 2 73 2 7 数数值值函函数数 1 ABS N 取数值 N 的绝对值 2 SIGN N 1 if N 0 0 if N 0 1 if N 0 3 CEIL N 传回大于数值N的最小整数 实例 DATA INT1 TYPE I INT2 TYPE I INT1 CEIL 5 65 WRITE INT1 输出结果 5 INT2 CEIL 4 54 WRITE INT2 输出结果 5 4 FLOOR N 传回小于数值N的最大整数 实例 DATA INT1 TYPE I INT2 TYPE I INT1 FLOOR 5 65 WRITE INT1 输出结果 6 INT2 FLOOR 4 54 WRITE INT2 输出结果 4 5 TRUNC N 传回数值N的整数部分 实例 DATA INTI TYPE I INTI TRUNC 5 65 WRITE INTI 输出结果 5 6 FRAC N 传回数值 N 的小数部分 实例 DATA MYF TYPE F MYF FRAC 5 65 WRITE MYF 输出结果 0 65 7 COS A SIN A TAN A 传回三角函数 cos A sin A tan A 的值 A 为弪度量 8 EXP N 传回 e N 值 9 LOG N 传回 log eN 值 LOG10 N 传回 log N值 10 SQRT N 传回 N 的平方根值 3 2 83 2 8 日日期期与与时时间间运运算算 1 日期数据的运算 日期数据可以直接运算 如加法与减法的运算 实例 DATA Mdate TYPE d Mdate SY DATUM 如传回 19971015 Mdate SY DATUM 如传回 19971015 Mdate 6 2 01 Mdate 变成 19971001 Mdate Mdate 1 Mdate 变成 19970930 2 时间数据的运算 时间格式为 hhmmss 如 212030 表 21 20 30 实例 DATA HOURS TYPE I MINUTES TYPE I T2 TYPE T VALUE 200000 T1 TYPE T VALUE 183000 HOURS T2 T1 3600 计算有几小时 MINUTES T2 T1 60 计算几分钟 3 2 93 2 9 字字符符串串数数据据处处理理 1 字符串移位 语法 SHIFT BY PLACES CIRCULAR BY PLACES 表示移动的位数 没有此参数默认移动一位 移动的方向 没有此参数默认向左移动 1 LEFT 字符串往左移 n 位 2 RIGHT 字符串往右移 n 位 CIRCULAR 字符串以环状方式移位 实例 DATA STRING 10 TYPE C VALUE ABCDEFGHIJ SHIFT STRING 得到 BCDEFGHIJ SHIFT STRING BY 2 PLACES RIGHT 得到 ABCDEFGH 2 取代字符串内容 语法 REPLACE WITH INTO 将字符串 中的 以 来取代 实例 DATA STRING 10 TYPE C VALUE ABCDEFGHI STR1 3 TYPE C VALUE DEF STR2 3 TYPE C VALUE 123 REPLACE STR1 WITH STR2 INTO STRING WRITE STRING 得到 ABC123GHI 3 大小写的转换 语法 TRANSLA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60794-1-110:2025 FR Optical fibre cables - Part 1-110: Generic specification - Basic optical cable test procedures - Mechanical tests methods - Kink,Method E10
- 部编人教版小学6六年级语文下册教案
- 重庆知识教育培训课件
- 暑假培优练:实验综合练 -2025高一物理暑假专项提升(人教版)
- 外研版八年级英语上册Module1单元测试试卷-含答案03
- 统编版语文八年级下册第四单元练习 (含答案)
- 重大危险源管控
- 老年人身体变化课件
- 《中外语言对比》课程简介与教学大纲
- CN115359845B 一种融合单细胞转录组的空间转录组生物组织亚结构解析方法(广东工业大学)
- 绿化养护服务投标方案(技术标)
- 电力营销考试题库
- 护理专业实训室设备管理制度
- TB-T 3356-2021铁路隧道锚杆-PDF解密
- 2024届陕西省渭南市临渭区小升初语文重难点模拟卷含答案
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 配电自动化终端缺陷处理
- 《电力系统治安反恐防范要求 第4部分:风力发电企业》
- 小区物业接管方案
- 《生产部月报模板》课件
- 骨质疏松性骨折应对策略骨折联络服务研究进展及应用探讨
评论
0/150
提交评论