Intro to ABAP - Chapter 02
- 格式:ppt
- 大小:1.36 MB
- 文档页数:20
ABAP学习⼿册ABAP⾃学经历次⽂件来源于⽹络1, ⼏个重要的表1.1 BasisTSTCT 事务代码⽂本1.2 Sales document additionalVBPA 销售凭证:合作伙伴VBUK 销售凭证:抬头状态和管理数据VBUP 销售凭证:项⽬状态VEDA 合同数据1.3 Vendor masterM_KREDA匹配码标识KRED 的已⽣成视图1.4 Customer masterKNA1客户主⽂件的⼀般数据KNVV客户主记录销售数据2, ABAP 常⽤的⼏个事务代码2.1 SE38 程序设计SE80 程序开发SE24 类开发SE37 模组开发SE11 表结构SE16 表数据SE91 消息管理的SE10 管理请求号SU01 创建帐号PFCG 创建⾓⾊STMS传输管理系统SE81 跨客户端的应⽤层次SE84 寻找跨客户端组件SE93 创建事务代码Cmod 创建增强⼯程3, ABAP有三种类型的处理块3.1 Event blocks, Dialog Modules,Procedures只有后⼀种可拥有⾃⼰的局部变量,⽽且程序语句是内部调⽤,前两者处理块之间实⾏外部调⽤4, 应⽤程序类型4.1 可执⾏的:以Report关键字引导,不能定义功能模块但可以调⽤.4.2 模块池的:以Program关键字引导,必须通过事务代码运⾏.5, Abap的数据类型分为三种类型5.1 类型 5.2 结构 5.3 内表6, 数据定义6.1 直接定义: Data int_a type I.6.2 参照⾃⼰定义的数据类型定义Type char_six(6) type c.Data chs type char_six.6.3 参照T-CODE:SE11中建⽴的数据类型定义6.4 直接使⽤likeData ch4 like ch3. (其中ch3已经在se11中定义过)6.5 定义常数:使⽤constants基本语法:Constants: type value .Eg: CONSTANTS INT TYPE I V ALUE 99.7, Form……Endform在⼀个Program中,处于Form和Endform之间的是Subroutines. 该程序由Program引导,不能直接运⾏,需被调⽤,不能包含⾃定义的⽤户屏幕.8, 设置⽇期的显⽰分隔符,⼩数点字符和千位分隔符在⽤户主记录⾥可以设置⽇期的显⽰分隔符,⼩数点字符和千位分隔符,在system->userprofile->owndata 或T-code: su01.9, Copy程序Se38->输⼊被Copy的程序名称->Ctrl+F5(快捷键)或者选择注意:客户的程序名称必须要以Z开头10, 两个结构体进⾏赋值两个结构体进⾏赋值操作,如果Source与Destination的组件结构不完全相同,则⽤Move-corresponding.Eg: move-corresponding source-data to destination-data.11, 关键字表达式在ABAP数据表达式中,关键字前后必须有空格。
ABAP的学习资料及方法一、 ABAP进入方式:(500 ABAP01 123456)(200 ABAP01 initinit) 1、输入事务码“SE38”点击回车,输出屏幕如下:输入程序名称“ZMM0001”,点击创立,输出屏幕:点击保存,输出屏幕如下:点击保存,输出屏幕如下:点击保存屏幕如下:点击保存按钮,输出屏幕如下:点击“√”输出屏幕如下:SAP学习总结立谈之间,来集团参加ERP工程已近四个月,通过集团ERP工程组精心组织的培训,经过自己的努力学习,我对ERP的认识有了很大程度的转变。
从一开始的不了解,带着对很多专业名词及模块功能的疑问,到现在融入到ERP工程组后,被SAP庞大的功能所震撼;从一开始认为SAP仅仅是一种应用软件,跟其他公司的ERP差不多,到现在深刻的地体会到SAP在企业管理中的重要位置;从一开始对SAP可能带来的不便以及人力、财力、时间本钱产生抵触情绪,到现在对SAP产生依赖心理。
这些对SAP认识的转变,让我意识到作为一名关键用户和信息人员,为确保ERP的上线成功,应该如何发挥自身的作用。
5月9日,初步接触到了SAP软件。
五月份到七月份我初步学习SAP中ABAP语言,起初感觉这跟平时学校学习的语言差不多,但是接触的越久,我就越深深的震撼ABAP语言的严谨性,以及ABAP 语言在SAP中的重要的位置,对其他工作模块工作有非常重要的影响。
通过这段时间ABAP语言的学习后,我进入技术组协助技术组中的各位老师,解决些小问题。
工作一段时间之后,我才觉察,ERP前期工程的工作量大大超乎我的想像,它的重要性也让人感到紧张。
在每天的工作中,大家加班加点,热火朝天的讨论业务流程问题,以及程序代码如何实现业务需求,有时候为了一个观点不同而争论不休,有时候又为达成共识而言欢快乐。
大家良好的沟通交流,让我们这些初识者更积极主动地参与进来。
在技术组组工作了近两周之后,为了让我们全面认识SAP,从而更深入地开展工作,ERP工程组办公室组织人员进展了为期一周的SAP开发语言ABAP的培训。
Introduction to ABAP (Beginning) ∙第一章Overview (Terms: Program, Report, Module Pool, List)1.ABAP/4 简介ABAP 是 SAP 为了开发应用程序而创建并使用的编程语言。
它包括报表,屏幕,界面,数据转换。
ABAP是事件驱动的编程语言。
用户行为和系统事件控制着整个应用程序的执行。
2.概念程序 --- 一系列 ABAP/4 语句的集合。
报表 --- 输出结果为列表(list)的 ABAP/4 程序模块存储 --- 一系列屏幕的集合列表 --- 一个 ABAP 报表程序产生的输出。
∙第二章相关工具1.程序设计环境 --- ABAP/4 Editora.Editor 的基本功能你可以在 ABAP Editor 中创建,维护,和执行 ABAP 程序。
在Tools菜单中选择ABAP Workbench,单击ABAP Editor按钮:注意:用户创建的程序名必须以Y或Z开头。
ABAP程序编辑器提供许多功能,比如:-- 在显示模式和编辑模式之间转换;-- 剪切,复制,粘贴;-- 撤销(Undo);-- 查找和重复查找;-- 语法检查,包括有限的自动校正;-- ABAP 帮助;♦Program 菜单中包括下列功能:----- Other Program 在当前编辑环境中调入另外一个程序。
----- Save as 将当前内容另存为别的文件。
♦在Goto 菜单中,能迅速进入以下功能:----- Attributes 显示程序属性-----Text elements 编辑标题和表头,选择文本和text symbols----- Variants 创建,改变,或显示变量----- Messages 编辑消息类♦在Utilities 菜单中,能完成以下功能:----- Data Browser 显示数据内容----- Help 与工具栏的‟i‟按钮作用相同----- Breakpoints 设置或移去断点----- Edit Locally 允许程序员在未联机时用NotePad 编辑程序♦在Block/buffer菜单中,能完成以下功能:----- 将程序代码拷贝至任意一个剪贴板中(X,Y,Z)----- 将程序代码拷贝至Windows剪贴板,选择”Copy to clipboard”----- 使用”Insert Comment*”和”Delete Comment*”选项可以在程序中插入或删除注释b.打开或创建一个程序--- 在Repository Browser 中创建程序1)显示一个Development class2)选择Create3)在Development objects对话框中选择Program objects ,并按回车4)在 Program objects对话框中,输入程序名并选择Create5)在Create program 对话框中,确定是否为程序创建TOP include,选择Enter6)如果你选择了创建TOP include,会出现对话框提示你输入名称,然后选择Enter7)在下一个对话框中,输入程序属性,选择Save8)选择Source code 进入ABAP 编辑器创建新程序时,标题,类型和应用类型(application)是必须的。
第六章创建列表概览内容标准列表........................................................................................................................................... 1标准列表示例 ............................................................................................................................ 1标准列表结构 ............................................................................................................................ 2标准列表的用户界面.................................................................................................................. 2自定义列表 ....................................................................................................................................... 4单个页眉 ..................................................................................................................................... 4确定列表宽度 ............................................................................................................................ 5确定页长 ..................................................................................................................................... 5定义页脚 ..................................................................................................................................... 6多页列表........................................................................................................................................... 7编程分页 ..................................................................................................................................... 7单页的标准页眉......................................................................................................................... 8单页页长 ..................................................................................................................................... 9列表级的页宽 ........................................................................................................................ 10在程序之内滚动..................................................................................................................... 10列表页面设置.............................................................................................................................. 13定位输出 ................................................................................................................................. 13格式输出 ................................................................................................................................. 16特殊输出格式 ........................................................................................................................ 21创建空行 ................................................................................................................................. 23画线、框架和网格 ................................................................................................................. 24确定页的哪一部分可以水平滚动 .......................................................................................... 28列表是ABAP/4 报表程序数据的输出媒介。
第二章ABAP/4 程序语法和格式概览内容语法元素............................................................................................................................. 1语句............................................................................................................................... 1关键字 ........................................................................................................................... 2注释............................................................................................................................... 2语法结构............................................................................................................................. 3语句结构........................................................................................................................ 4注释结构........................................................................................................................ 4连接相似语句............................................................................................................... 5ABAP/4 程序格式.............................................................................................................. 6缩排语句块.................................................................................................................... 6使用模块化工具........................................................................................................... 6正确插入程序注释 ....................................................................................................... 6整齐打印程序............................................................................................................... 6插入已有结构.................................................................................................................... 7插入已有关键字结构.................................................................................................... 7插入已有注释行........................................................................................................... 8本节说明ABAP/4 语法,并且提供关于如何在ABAP/4 中编程的建议。
SAP ABAP - 快速指南SAP ABAP - 概述ABAP代表高級業務應用程序編程,4GL(第四代)語言。
目前,它與Java一樣被定位爲SAP應用服務器編程的主要語言。
讓我們從SAP系統的高級架構開始。
典型SAP系統的3層客戶端/服務器體系結構如下所示。
表示層包括可用于控制SAP系統的任何輸入設備。
這可以是web瀏覽器,移動設備等。
所有中央處理都在應用程序服務器中進行。
應用服務器本身不僅僅是一個系統,而且它可以是處理系統的多個實例。
服務器與通常保存在單獨的服務器上的數據庫層通信,主要出于性能原因和安全性。
通信發生在系統的每個層之間,從表示層到數據庫,然後備份鏈。
注 - ABAP程序在應用程序服務器級運行。
軟件的技術分發與其物理位置無關。
這意味著基本上所有三個級別可以在一台計算機上彼此安裝,或者每個級別可以安裝在不同的計算機或服務器上。
ABAP程序駐留在SAP數據庫中。
它們在作爲SAP內核一部分的運行時系統的控制下執行。
運行時系統處理所有ABAP語句,控制流邏輯和響應用戶事件。
因此,與C ++和Java不同,ABAP程序不存儲在單獨的外部文件中。
在數據庫中,ABAP 代碼以兩種形式存在-∙可以使用ABAP工作臺工具查看和編輯的源代碼。
∙生成的代碼,它是一個二進制表示。
如果你熟悉Java,這個生成的代碼有點類似于Java字節碼。
運行時系統可以被認爲是一個虛擬機,就像Java虛擬機一樣。
ABAP運行時系統的一個關鍵組件是將數據庫獨立語句(Open SQL)轉換爲底層數據庫(本機SQL)理解的語句的數據庫接口。
SAP可以與各種各樣的數據庫一起工作,幷且相同的ABAP程序可以在所有這些數據庫上運行。
SAP ABAP - 環境報告是熟悉常規ABAP原則和工具的良好起點。
ABAP報告用于許多領域。
在本章中,我們將看到編寫一個簡單的ABAP報告是多麽容易。
Hello ABAP讓我們開始使用常見的“Hello World”示例。
ABAP快速入门培训教材3.ABAP基础3.3 屏幕输入指令在ABAP/4中要自屏幕输入变量的内容, 使用的命令是PARAMETERS 及 SELECTION-OPTIONS:1. PARAMETER:输入一个变量或字段内容2. SELECTION-OPTIONS:使用条件筛选画面来输入数据3.3.1 PARAMETERS 指令语法:PARAMETERS[DEFAULT ] [LOWER CASE] [OBLIGATORY] [AS CHECKBOX] [RADIOBUTTON GROUP ] 实例:PARAMETERS: NAME(8) TYPE C,AGE TYPE I,BIRTH TYPE D.执行行結果:图29LOWER CASE:ABAP/4预设是将字串输入值自动转换为大写, 加上此参数会将输入的资料转成小写。
OBLIGATORY:强制要求输入, 屏幕上会出現一个“ ?” , 使用者必须要输入才可。
AS CHECKBOX:输入 CHECKBOX的格式。
实例:PARAMETERS: TAX AS CHECKBOX DEFAULT ‘X’,NTD AS CHECKBOX.执行結果:图30RADIOBUTTON GROUP :输入 RADIO BUTTON GROUP 的方式。
实例:PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT ‘X’,GIRL RADIOBUTTON GROUP SEX.执行結果:图313.3.2 SELECTION-OPTIONS语法:SELECT-OPTIONS FOR[DEFAULT TO ][NO-EXTENSION][NO INTERVALS][LOWER CASE][OBLIGATORY]实例:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID. *将条件的输入值存放入AIRLINE, 筛选对象为SPFLI中的CONNID栏位。
目录1. 报表知识 (6)1.1基础知识 (6)1.1.1报表事件,有哪些? (6)1.1.2报表选择画面 (7)1.2ALV报表 (8)1.2.1ALV报表实现的流程 (8)1.2.2显示ALV常用的两个FM (8)1.2.3如何设置ALV中的热键 (8)1.2.4ALV显示中的小计 (8)1.2.5FM ALV 和 OO ALV的比较 (8)1.3WRITE LIST (8)2. 数据库知识 (9)2.1基础知识 (9)2.1.1 ABAP数据字典有哪些对象或元素? (9)2.1.2 据库提交确认和数据库回滚取消语句 (9)2.1.3 什么是LUW (9)2.1.4简述modify 、insert、update对数据库表做操作时的影响 (9)2.1.5 要描述域、数据元素、表字段之间的关系 (9)2.1.6数据字典有几种缓冲方式,适用范围? (9)2.2ABAP和数据库 (10)2.2.1 ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项! (10)2.2.2 ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响? (10)2.2.3 SAP中有几种表,他们的区别是什么? (10)2.2.4什么是簇表(cluster table)?举出知道的簇表。
(10)2.2.5找数据库表,有哪些常用的方法。
(10)2.2.6如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况? (10)2.2.7更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢? (11)2.2.7使用OPEN SQL注意原则 (11)2.3与表相关 (11)2.3.1 MM模块有哪些常用表格 (11)2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表? (11)2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述 12 2.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现 (12)2.3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明: (12)2.3.6PM 常用的TABLE (12)2.3.6inner join 与 left-outer join的区别? (13)3. 权限相关 (14)3.1什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权检查? (14)3.2与权限对象有关的事务代码有哪些? (14)4. DIALOG (15)4.1DIALOG 中的几个事件 (15)4.2何在TABLE CONTROL中实现选中一行或多行的效果 (15)4.3DIALOG 开发的常用几个控件是什么? (15)5. BDC (16)5.1BDC录屏的事务代码 (16)5.2BDC与BAPI之间的区别 (16)5.3BDC录屏的注意事项 (16)5.4谈谈BDC的运行模式和更新模式 (16)6. 增强 (17)6.1什么叫增强?有哪些方式进行增强? (17)6.1.1 User EXIT (17)6.1.2 Customer exit (17)6.1.3 BADI (17)6.1.4 Enhancement Spot (17)6.2如何建立增强? (17)6.3与增强相关的事务代码有哪些 (18)6.4如何进行数据库表字段的增强?Append和Include的方式有何区别? (18)7. SMARTFORMS (19)7.1谈谈SmartForm中,Template和Table表格的区别 (19)7.2SMART FORM如何实现公司LOG打印,其步骤是什么? (19)7.3smartform 中如何控制段落、单个字符输出格式? (19)8. RFC和BAPI (20)8.1 RFC (20)8.1.1什么是RFC,有哪些通信模式? (20)8.1.2 RFC中涉及到常用的事务代码有哪些? (20)8.1.3根据调用方式的不同,RFC接口提供了什么样的服务? (20)8.1.4RFC接口的具体功能包括哪些? (20)8.1.5在通过CALL FUNCTION语句进行远程功能调用的基本模式有哪些 (20)8.1.6怎么创建一个支持远程调用的RFC (21)8.1.7怎么调用一个SAP标准RFC (21)8.1.8怎样建立RFC程序?RFC程序传递的参数都是传递值还是引用?如何建立函数组? 21 8.1.9怎么来维护这个DESTINATION(远程目标) (21)8.2 BAPI (21)8.2.1什么是BAPI?你使用过哪些BAPI实现什么功能? (21)8.2.2什么是业务对象类型?它包含哪些主件? (21)8.2.3如何创建一个BAPI? (22)8.2.4编写BAPI的注意事项有哪些? (22)8.2.5谈谈与BAPI相关的事务代码。
ABAP开发简单教程及案例ABAP三月通前言...................................................................... (2)一.基础篇...................................................................... ..................................................... 2 1.什么是ABAP ?.................................................................. ...................................... 2 2.ABAP开发环境的建立...................................................................... ...................... 5 3.获得AccessKey .................................................................... ............................. 6 4.ABAP workbench和ABAP dictionary.............................................................. ... 6 5.第一个程序-Hello World................................................................... ................. 7 6.ABAP语法简介...................................................................... .................................. 7 7.Open SQL和Native SQL..................................................................... .................. 8 8.内表和工作区......................................................................................................... 8 9.使用字段符号...................................................................... ................................... 8 10.模块化程序...................................................................... ..................................... 8 11.文件处理...................................................................... ......................................... 8 12.簇数据库和逻辑数据库...................................................................... ................. 8 13.消息和错误处理...................................................................... ............................. 8 14.使用用户授权...................................................................... ............................... 14 15.调用外部程序和程序动态生产...................................................................... ... 15 16.选择屏幕...................................................................... ....................................... 15 17.使用程序运行变式...................................................................... ....................... 15 18.制作Tcode................................................................... (15)二.加强篇...................................................................... .. (15)1.CATT.................................................................. .. (15)2.BDC................................................................... ...................................................... 16 3.制作background job..................................................................... (16)4.SapScript............................................................. (16)5.Smartform............................................................. ................................................ 16 6.SAP Query................................................................... (16)7.ALV................................................................... (16)8.ALE/iDoc.............................................................. ................................................. 16 9.Report painter和Drilldown Report. (16)10.RFC/BAPI............................................................. ................................................ 16 11.编写用户增强...................................................................... ............................... 16 12.深入ABAP工作台...................................................................... . (16)三.实战篇...................................................................... ................................................... 18 MM模块开发实例...................................................................... ............................... 18 SD模块开发实例...................................................................... ............................... 31 PP模块开发实例...................................................................... ............................... 31 FI模块开发实例...................................................................... ............................... 32 CO模块开发实例...................................................................... ............................... 48 开发项目流程简介...................................................................... . (58)附录:..................................................................... (59)ABAP/Basis TransactionCodes ....................................................... 错误~未定义书签。