abap_BC415中文自学笔记
ABAP入门知识最全总结新人小白必备学习资料
SAP系统与ABAP关系
01
SAP系统是一款广泛应用于企业 资源计划(ERP)、供应链管理 (SCM)、客户关系管理 (CRM)等领域的软件产品。
02
ABAP是SAP系统的开发语言, 用于编写SAP系统中的业务逻辑、 数据处理和报表生成等功能。
调试日志
在调试过程中,可以开启调试日 志功能,记录程序执行过程中的 详细信息和操作步骤。这对于复 杂问题的排查和分析非常有帮助。
08
实战案例分析与经验分 享
案例一:简单报表开发实例
报表需求分析与设计
明确报表目的、数据源和输出格式,设计报 表布局和字段。
ABAP报表开发流程
创建报表程序,定义数据源和选择条件,编 写报表逻辑和输出处理。
根据实际需求设置报表的输出格式, 如PDF、Excel、Word等。
格式调整
调整报表的页面设置、边距、字体、 颜色等,确保报表输出的美观和易读 性。
报表性能优化策略
数据源优化
优化数据库查询语句,减少数据冗余和提高查询 效率。
报表缓存
合理利用报表缓存机制,减少重复计算和数据库 访问次数。
分页处理
对于大量数据的报表,采用分页处理技术,提高 报表加载速度和用户体验。
Eclipse与SAP系统连接
配置Eclipse连接参数,连接到SAP系统,实现ABAP代码的上传、下载和执行等操作。
其他辅助工具推荐
SAP Notepad
一款轻量级的文本编辑器,支持ABAP语法高亮显示和代 码折叠等功能,适合编写简单的ABAP程序。
ABAP Doc
ABAP学习笔记
ABAP学习笔记一、ABAP语法简介:ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。
它适合生成报表,支持对数据库的操作,如:Sqlserver,Oracle,DB2等主流数据库系统。
主要的语法有:数据类型、控制流程、文本摘要、输出格式、程序调试1、数据类型:(八种基本数据类型)D :日期类型,格式为YYYYMMDD,长度为8T :时间类型,格式为HHMMSS,长度为6I :整数类型,默认长度为4,初始值为0F :浮点类型,默认长度为8,初始值为0,常用于计算C :字符串类型,定义变量时指定字符个数N :数字字符串类型,定义变量时指定数值字符个数X :字节序列类型,定义变量时指定字节数P(压缩号) :允许的长度为1 到16 个字节,系统会指定默认值8 个字节(也就是15 位数字)和0 个小数位常用:大小,长度,重量,货币等单位的场合.2、输出格式:WRITE 'First line.'.WRITE 'Still first line.'WRITE / 'Second line.'WRITE /13 'Third line’.3、控制流程:使用IF的条件分支IF <条件表达式1>.< statement block >ELSEIF <条件表达式2>.< statement block >ELSEIF <条件表达式3>.< statement block >.....ELSE.< statement block >ENDIF.使用CASE的条件分支CASE <f>.WHEN <F1>.<statement block>WHEN <F2>.<statement block>WHEN <F3>.<statement block>WHEN .........WHEN OTHERS.<statement block>ENDCASE.二、ABAP的语法特点:1、由各自独立的语句构成。
ABAP编程技术与技巧总结
ABAP编程技术与技巧总结1.时间及⽇期合法性检查FUNCTION:TIME_CHECK_PLAUSIBILITY Time plausibility checkDATE_CHECK_PLAUSIBILITY Date plausibility check说明:当数据合法时SY-SUBRC返回值为0,否则返回1.2.弹出⽤户交互对话框:CALL FUNCTION 'POPUP_TO_CONFIRM'EXPORTINGtitlebar = 'CHECK'* DIAGNOSE_OBJECT = ' 'text_question = texttext_button_1 = 'YES'icon_button_1 = 'NO'IMPORTINGanswer = answer* TABLES* PARAMETER =EXCEPTIONStext_not_found = 1OTHERS = 2.说明:其中text是⽤于显⽰在弹出对话框的中的⽂本字符.需事先设置好其值. Answer为⼀位字符型数据,1表⽰YES,2表⽰NO.3.根据某年某⽉某⽇得到本年本⽉的最后⼀天:call function 'RP_LAST_DAY_OF_MONTHS'exportingday_in = sdataimportinglast_day_of_month = sdataexceptionsday_in_no_date = 1others = 2.4.传输请求:STMS(se10)->选择要传输的主机名双击->细节—>Other Requeset->ADD,输⼊需传输的Request num..刷新->是->登录被传输的系统->查到需要传输的Request num.->import Request(后⾯的⼩车)->选择集团->是。
ABAP知识清单梳理
掌握情况学习方式
数据定义和操作
基本掌握结构控制(分支和循环)
基本掌握内表的使用基本掌握模块化引用基本掌握类和对象知道理论方法
知道理论继承
知道理论接口知道理论事件
知道理论数据表维护
基本掌握SELECT操作数据
基本掌握更新数据
基本掌握数据一致性
未知点文件接口和数据簇操作未知点Quick Viewer
未知点SAP Query 未知点选择屏幕
基本掌握逻辑数据库LDB
未知点标准列表
基本掌握交互式列表基本掌握ALV列表
基本掌握后台工作模式
未知点列表打印管理
未知点保存列表未知点定义屏幕基本掌握调用屏幕
基本掌握用户交互基本掌握消息处理
基本掌握定义和调用模块
基本掌握数据传输控制
未知点输入检查未知点上下文菜单未知点下拉框基本掌握表格控件
基本掌握选项卡控件未知点ALV表格控件
基本掌握屏幕中的传统列表基本掌握SAPscript(FORM)
SAPscript 知道理论Smart Forms Smartforms 基本掌握Tree Control Tree Control 知道理论Table Control Table Control 知道理论
开发规格说明书
功能增强BC400传输请求BADI BAPI 函数
各种语句的效率se30重点学习程序测试及优化技巧
后台处理与打印事务屏幕设计
控制逻辑设计高级屏幕元素
ABAP知识点
ABAP语言基础
ABAP面向对象数据库操作报表生成工具
ABAP报表设计
实践成果。
SAP的ABAP4语言中文培训教材第二部分第三章使用变式预 设置选择
第三章使用变式预设置选择概览内容什么是变式? ................................................................................................................................... 1创建和更改变式 .............................................................................................................................. 1显示所有变式报表 ..................................................................................................................... 1创建变式 ..................................................................................................................................... 1变式属性 ..................................................................................................................................... 2更改变式 ..................................................................................................................................... 2删除变式 ..................................................................................................................................... 2打印变式 ..................................................................................................................................... 2使用变式变量.................................................................................................................................. 2使用变量日期计算 ..................................................................................................................... 3使用特定用户值......................................................................................................................... 3使用表格TVARV ........................................................................................................................ 4使用变式执行报表程序.................................................................................................................... 5本节描述:什么是变式?启动报表程序时,ABAP/4 在选择屏幕上提供特定数据库和特定报表选择的输入字段。
(2024年)ABAP培训教程
修改表
使用ALTER TABLE语句修 改已存在的数据库表结构, 如添加、删除或修改字段。
删除表
使用DROP TABLE语句删 除指定的数据库表。
15
数据库查询优化
索引优化
根据查询条件和数据量大小,合 理创建和使用索引,提高查询效
率。
2024/3/26
SQL语句优化
编写高效的SQL查询语句,避免全 表扫描和不必要的JOIN操作。
在ABAP中,使用 `INHERITING FROM`关键字 实现继承,通过方法重写实现 多态。
21
封装与接口
封装(Encapsulation)将数据 和行为捆绑在一起,隐藏内部实 现细节,只暴露必要的接口。
2024/3/26
接口(Interface)定义了一组方 法的规范,但不提供具体实现。 实现接口的类必须提供这些方法
01
设计报表的布局,包括表格、图表、文本等元素的排列和组合。
格式化
02
对报表中的数据进行格式化处理,如日期、数字、货币等格式
的显示。
样式设置
03
设置报表的样式,包括字体、颜色、背景等,以提高报表的可
读性和美观度。
26
报表输出与打印
2024/3/26
输出格式
支持多种输出格式,如PDF、Excel、Word等,以满足不同用户 的需求。
用于ABAP程序的开发、调试和执行,提 供了丰富的开发工具和界面设计功能。
SAP Web IDE
基于Web的集成开发环境,支持ABAP和 其他SAP开发语言,提供了代码编辑、版 本控制、团队协作等功能。
Eclipse ADT
基于Eclipse平台的ABAP开发工具,提供 了代码自动补全、语法检查、调试等功能。
ABAP笔记
ABAP笔记工作进程分类Dialog Work Process ,Update Work Process,Background Work Process,Enqueue Work Process,Spool Work ProcessR/3 application programs run within the R/3 Basis system on the work processes of application servers.work process containsABAP contains a special set of commands called OPEN SQL. This allowsyou to read from and write to the database regardless of the database you are using.每个屏幕都有一个mask,可以自己设置。
屏幕有两类事件:the Process Before Output (PBO) event is processed. When the user interacts with the screen, the Process After Input (PAI) event is processed. Each screen is linked to a single PBO processing block and a single PAI processing block. The PAI of a screen and the PBO of the subsequent screen together form a dialog step in the application program.The screen language is a special subset of ABAP, and contains only a few keywords.The most importantscreen keywords are MODULE, FIELD, CHAIN, and LOOP.Their only funciton is to link theprocessing logic to the flow logic, that is, to call modules in the processing logic, and control datatransfer between the screen and the ABAP program, for example, by checking fields.Each ABAP program consists of the following two parts:Declaration Part for Global Data, Classes and Selection ScreensThe following program types are relevant to application programming:Type 1we refer to type 1 programs asexecutable programs.Type Mit can only be controlled usingscreen flow logic. You must start them using a transaction code,You can start type J programs using a transaction codeABAP programs with type M contain the dialog modules belonging to the various screens. Type FType F programs are containers for function modules, and cannot be started using a transaction code or by entering their name directly.Type F programs are known as function groups.Type KThey are containers for global classes in ABAP ObjectsType K programs are known as classdefinitions.Type JThey are containers for global interface in ABAP ObjectsType J programs are known asinterface definitions.Type SType S programs are known as subroutine pools.Type IType I programs - called includesProcessing Blocks in ABAP ProgramsDialog ModulesYou call dialog modules from the screen flow logic (screen command MODULE).You can write a dialog module in an ABAP program for each state (PBO, PAI; user input) of any of the screens belonging to it. The interaction between the flow logic and the screen is controlled by a dialog processor.ABAP StatementsThe source code of an ABAP program consists of comments and ABAP statements. ABAP statements use ABAP data types and objects.The different statement categories are as follows:Declarative StatementsExamples of declarative keywords:TYPES, DATA, TABLESModularization StatementsThese statements define the processing blocks in an ABAP program.The modularization keywords can be further divided into:Event KeywordsAT SELECTION SCREEN, START-OF-SELECTION, AT USER-COMMANDDefining keywordsFORM ..... ENDFORM, FUNCTION ... ENDFUNCTION,MODULE ... ENDMODULEControl StatementsYou use these statements to control the flow of an ABAP program within a processing block according to certain conditions.IF, WHILE, CASECall StatementsPERFORM, CALL, SET USER-COMMAND, SUBMIT, LEAVE TOOperational StatementsWRITE, MOVE, ADDDatabase StatementsThese statements use the database interface to access the tables in the central database system. There are two kinds of database statement in ABAP: Open SQL and Native SQL. Open SQLOpen SQL is a subset of the standard SQL92 language. It contains only Data Manipulation Language (DML) statements,Open SQL contains all of the DMLfunctions from SQL92 that are common to all of the database systems supported by SAP. It alsocontains a few SAP-specific functions.Native SQLIt allows you to take advantage of all of your database’s characteristics inyour programs.Data Types and ObjectsABAP statements access these contents by addressing the name of the data object.Each ABAP data object has a set of technical attributes, The technical attributes of a data object are: Data type, field length, and number of decimal places.P57。
SAP的ABAP4语言中文培训教材第一部分第四章 将数据输出 到屏幕
第四章将数据输出到屏幕概览内容WRITE 语句....................................................................................................................... 1在屏幕上定位WRITE 输出 ............................................................................................. 3格式化选项 ......................................................................................................................... 5在屏幕上输出符号和图标................................................................................................ 7输出屏幕上的线和空行 ................................................................................................ 8垂直线 ........................................................................................................................... 8空行............................................................................................................................... 8将字段内容作为复选框输出............................................................................................ 9通过语句结构使用WRITE ............................................................................................... 9本节说明如何在屏幕上创建简单输出列表。
abap简明教程
abap简明教程abap介绍ABAP是一种高级企业应用编程语言(Advanced Business Application Progra mming),起源于20世纪80年代。
经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。
ABAP/4是面向对象语言。
它支持封装性和继承性。
封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。
ABAP/4具有事件驱动的特性。
ABAP/4和COBOL具有类似之处。
ABAP/4适合生成报表。
ABAP/4支持对数据库的操作。
SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。
经过不断的改进和修改以满足商业领域的需要。
现在,A BAP/4已成为SAP开发所有自己的应用程序的仅有工具。
SAP客户用ABAP/4进行其自身开发。
这样的开发对R/3标准解决方案适应特殊问题非常重要。
ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。
ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。
此过程也叫做早期原形处理,意味着您不必丢弃中级版本。
ABAP/4是第四代支持结构化程序设计的语言。
它合并了所有通常的控制结构和模块化概念。
在ABAP/4开发宝典中文版的第一部分,对ABAP/4的基本特性进行了详细描述。
这些特性包括:ABAP/4- 带有各种类型和结构的声明数据的声明元素- 数据制作的操作元素- 控制程序流的控制元素- 反应外部事件的事件元素·ABAP/4支持多种语言。
文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。
您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。
·ABAP/4支持商业数据类型和操作。
您可以用特殊日期和时间字段进行计算。
系统会自动执行必需的类型转换。
·ABAP/4提供一系列功能处理字符串。
abap笔记
1.Object Navigator是ABAP工作平台上众中开发工具的中心入口,事务代码为:se80,其中还有几个经常会用到的T-CODE: SE38, SE24, SE37.2.在ABAP Editor中有一个Excute with variant 按钮,代表通过变量运行(变式与选择屏幕相关).3.Editor Pretty Printer ON/OFF的设置: 菜单项: Utilites->settings有相关项,选中Indent,Convert upper/lowercase同Keyword Uppercase.4.ABAP有三种类型的处理块:Event blocks, Dialog Modules,Procedures只有后一种可拥有自己的局部变量,而且程序语句是内部调用,前两者处理块之间实行外部调用.5.应用程序类型, 可执行的:以Report关键字引导,不能定义功能模块但可以调用.模块池的:以Program关键字引导,必须通过事务代码运行.6.语句链 Write: text1, text2. 等同于: Write text1. Write text2.7,在一个Program中,处于Form和Endform之间的是Subroutines. 该程序由Program引导,不能直接运行,需被调用,不能包含自定义的用户屏幕.8.数据内部定义: types type(len) Type type [decimal dec]data data(len) Type type [decimal dec] [value var]Decimal 附加项只适用于指定P类型的小数位.9.两个结构体进行赋值操作,如果 Source与Destination的组件结构不完全相同,则用Move-corresponding, eg: move-corresponding source-data todestination-data.10.在ABAP数据表达式中,关键字前后必须有空格,eg: Fault: (a=b+c) true:: a = b + c .11.在用户主记录里可以设置日期的显示分隔符,小数点字符和千位分隔符,在system->userprofile->owndata 或T-code: su01.12.内表是一种大批量数据管理形式,用于在程序运行期间存储多行结构相同的数据,程序对内表的行操作不能直接进行,必须通过一种接口来传输,这个接口就是工作区.13.ABAP的两种动态数据对象: Field symbols 与 Data reference.14.内表有三种形式: standard table , sorted table , hashed table后一种不能进行索引查找,只能通过关键字搜索.15.子程序的定义和调用分别用Form/Endform和perform来实现,如果想生成子程序的代码框架,则在prefom add处双击即可.16.package的命名规则: begin with A-S or U-X是SAP standard object, begin with Y or Z are customer objects, begin with T are private test package, begin with $ are local package.17.在数据字典中,每创建一个TABLE,都将生成一个同名的结构化数据类型,其中的组件字段与实际物理数据库表完全一致.18.在select查询中如果要指定多个数据对象,则需要将这些对象放在括号内,并用逗号隔开,eg: select * from spfli into (a, b).19.Function Module是最为常用的复用组件,它是独立的R/3仓库对象,也是一种过程模块,在不同的系统间可以通过RFC(Remote function call)技术进行功能模块的调用.20.几个有用的系统函数: sy-uname, sy-host, sy-datum, sy-uzedit, sy-subrc, sy-bdcnt,sy-index, sy-tabix,sy-dynnr.21.可用于交互式报表的列表事件有: at line-selection, at user-command 前者为选择某行时触发,后者由某个GUI触发.22.在可执行程序中,只要在程序代码中使用parametes或select-options语句,则在程序运行后就会产生用户的选择屏幕.23.LDB(逻辑库)节点在程序访问之前需用Nodes语句声明,在旧版本中则使用Tables声明. 两种中止语句 Reject与check(有条件中止).24.由系统自动调用的子程序称回调线程,-----call back routine,利用此程序可以实现许多高级屏幕功能.25.在OO设计中对象的识别和寻址是通过对象引用来实现的.26.在二种对象运算访问符中->与=>,对于类中的静态组件是通过类名称加=>直接对类进行操作的.eg: class=>comp.27.对象的自身引用可使用变量ME,是一个局部变量来的.28.Append与Insert r的区别: append wa to itab; insert wa into table itab前者不能用于Hashed表, 后者不能用于Sorted表的non-unique.29.修改内表语法: modify itab from wa transporting col2 where….. 表明根据where条件来更新COL2字段值,表类型为SORTED或HASHED.30.删除内表语法: Delete table itab: from wa, with table key col = 1. 三个标点不可少,with后的为条件关键字.如果用条件的则为: DELETE ITAB WHERE (COL > 17 AND COL < 4 )31.在LOOP AT…ENDLOOP内有一个AT ,<…>,ENDAT循环. 其中的包括: FRIST, LAST, NEW , END OF.这些可以用来进行内表中按某个字段进行分组统计.32.几条记录作一次取用:PACKAGE SIZE N eg: select * from spfli into corresponding fields of table itab package size 3.33.接口成员只能为类的公有成员,接口没有自己的实例,一个接口可以被任意多个不同的类实现,接口中定义的成员集在各类中名称要相同.34. 在程序中使用逻辑数据库有两种方法:通常是通过GET事件或者功能模块进行调用.如: NODES node.35.在程序代码中输入NEW-PAGE PRINT ON ,将生成的列表直接发送走到SPOOL 系统进行打印,不在屏幕上显示.36.将一组选择屏幕组合在一个区域,可以使用Begin of block…..eg:Selection-screen begin of block blocka [with frame [title tit] ][no intervals]—只选单值不出现TO.Selection-screen end of block.37.屏幕流逻辑分为两个最基本的处理块: PBO与PAI, 前者是在向用户显示屏幕GUI之前触发,后者是在用户进行某些屏幕行为后并回车时触发.流逻辑模块是在语句MODULE/ENDMODULE之间定义.这里的语法不属于ABAP系列.38.屏幕中的OK字段其作用是:返回在屏幕和GUI状态中用户触发的功能代码:一般情况字段命名为:OK_CODE,数据类型与SY-UCOMM相同.39.通过SE93可以为程序创建自定义的事务代码.40.GUI中的交互元素包括菜单条,标准工具按扭,APPLICATIONTOOLBAR,FUNCTIONKEYS共四种,在作屏幕事务设计时这些都要分配具体的功能代码与之对应.41.在定义EXPORTING、IMPORTING与CHANGING的时候,前两者分别为基本输入与输出参数,而CHANGING可用于前两者功能。
ABAP4培训手册_final
ABAP4培训手册_finalABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功2022年04月ABAP4 TrainingABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功ABAP/4程序设计诧言A BA P / 4dvanced (高级) usiness(商业)ABAP/4 是一个面向对象的符合SQL标准的第四代专业开发语言。
SAP R3 的绝大多数是用ABAP/4开发的。
pplication(应用) rogramming(程序设计)ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功ABAP/4 程序类型 1.报表程序报表程序用亍分析数据库表中的数据。
返种分析的结果可以显示在屏幕上戒収送到打印机上。
逻辑数据库支持报表程序。
逻辑数据库是特殊的ABAP/4 程序,使开収者丌必编码所有的数据库访问。
2.对话程序将对话程序组织为包含对话模块的模块池。
每个劢态程序(由一个屏幕及其流逻辑组成的“ 劢态程序” )都基亍一个ABAP/4对话程序。
流逻辑包含对ABAP/4对话模块的调用。
ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功第一部分ABAP/4基础ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功第一章创建简单的ABAP/4程序步骤:1. 命名程序2. 指定程序属性3. 编写程序代码4. 测试程序ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功1.1打开编辑器1.创建程序,请迕行如下操作:a.在“ SAP R/3”初始屏上选择“工具- ABAP/4 工作台”。
出现“开发”屏幕,选择“ABAP4 编辑器”。
双击ABAP4编辑器ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功1.1打开编辑器b. 在屏幕左上角输入事务代码“SE38”。
在此输入“SE38”,然后点击左边的执行按钮ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功1.1打开编辑器执行后出现“ABAP/4 编辑器:初始屏幕”屏幕:创建程序输入程序名称显示程序代码显示程序并处于修改状态ABAP4开发基本语法,适合刚接触abap语言的新手或者工程师扎实基本功1.2命名程序在“程序”字段输入创建的程序名称,必须遵守程序命名规则。
SAP的ABAP4语言中文培训教材第三部分第三章处理错误和 消息
第三章处理错误和消息概览内容错误处理简介.................................................................................................................................. 1检查屏幕字段的有效性.................................................................................................................... 2理解自动字段检查 ..................................................................................................................... 3检查屏幕流逻辑中的字段......................................................................................................... 3在ABAP/4 中检查字段 .............................................................................................................. 4检查单个字段 ............................................................................................................................ 4检查多个字段 ............................................................................................................................ 5有条件地调用模块........................................................................................................................... 6条件FIELD 语句........................................................................................................................ 6条件CHAIN 语句....................................................................................................................... 6避免自动字段检查........................................................................................................................... 7发布消息........................................................................................................................................... 7发送消息 ..................................................................................................................................... 8创建消息类.................................................................................................................................. 9创建消息 ..................................................................................................................................... 9当用户键入屏幕输入时,事务在使用此输入之前必须检查其是否合法。
ABAP开发笔记二
ABAP开发笔记⼆ABAP是事件驱动的语⾔,程序的运⾏由事件引导由过程块组成程序架构1.ABAP分类2.命名规范3.报表过程块事件关键字之间或事件关键字与form关键字之间的语句形成⼀个过程块⼦程序form和endform之间的语句形成⼀个⼦程序,⼦程序在过程块中被调⽤没有紧跟着事件关键字或FORM-ENDFORM 块的语句⾃动成为默认事件START-OF-SELECTION过程块的⼀部分主要事件块INITIALIZATION 在选择屏幕显⽰前,对变量进⾏初始化赋值AT SELECTION-SCREEN 对选择屏幕的数据输⼊进⾏检查START-OF-SELECTION 选择屏幕处理完后,数据的处理(缺省事件块)TOP-OF-PAGE 列表显⽰启动新页,页头的输出END-OF-PAGE ⼀页结束时,页尾的处理AT LINE-SELECTION ⽤户双击选中某⾏触发该事件AT PF 设置⾃定义的菜单AT USER-COMMAND 当⽤户功能健时,触发该事件跳出事件:exit,check,stop事件跳过事件在所有事件中:check离开当前事件并继续进⾏下⼀个事件处理;stop离开当前事件并直接跳到end-of-selection事件。
在Start-of-selection之前的事件,exit,check都是离开当前事件继续处理下⼀个事件。
在start-of-selection之后的事件,exit⽴即镜像输出显⽰,check离开当前事件并继续处理下⼀个事件。
4.基本语法数据类型系统变量结构data begin of 结构名.data f1[(l)] [type t] [decimals d] [value 'xxx'].data f2[(l)] [type t] [decimals d] [value 'xxx']....[include structure 另⼀个结构.]data end of 结构名.注意这⾥定义的⽅法和⼀般的结构不同。
abap面向对象 笔记(一)--抽象类、继承、多态
*&-------------------------------------------------------------------*& ABAP面向对象学习笔记。
结论经过实际测试。
如有错误,欢迎斧正。
*&-------------------------------------------------------------------REPORT ZBCRP_OO_LYB_02.CLASS base_class DEFINITION ABSTRACT. "抽象类,关键字abstract。
这里作为基类PUBLIC SECTION.METHODS: mess ABSTRACT "声明抽象方法,关键字abstractIMPORTING msg TYPE STRING OPTIONAL."抽象类可以包含静态成员,class-data,class-methods,class-events"抽象类可以包含非抽象方法."抽象类可以不定义任何方法。
"抽象类不可以用creat object创建实例。
"但是可以用data obj type ref to 创建抽象类的引用,并接受子类的实例。
ENDCLASS.CLASS base_class IMPLEMENTATION."抽象类如果不包含非抽象方法,那么可以没有implementation部分。
ENDCLASS.CLASS super_class DEFINITION INHERITING FROM base_class. "继承,关键字inheriting fromPUBLIC SECTION." 重定义父类的方法,关键字redefinitionMETHODS: mess REDEFINITION." 关于final方法:" final类中的所有方法都自动识别为final方法。
ABAP基础知识整理
ABAP开发分为RICEF-WReport开发、Interface开发、Conversion 转换开发、Enhancement开发、Form开发、Workflow工作流开发。
Table: SE111. 建议Field中先定义Data element 不建议先定义field2. 特殊DataType:CLNT:Data element/Domain有MANDTCURR:小数位设定CUKY:Currency:Domain like WAERSDATS:日期 YYYYMMDD Domain like DATUMTIMS:时区管理 hhmmss Domain like UZEIT3. Delivery class A和CA - Application table 业务数据不会经常修改物料供应商客户C - Customizing table 会产生Transport RequestData browser/table view maint.Not allowed 和allowed区别4. Sigh 金额有关打钩支持正负号5. Lowercase 大小写区分6. Value range 取值限制男、女Single val。
单个取值Intervals 一段取值7. Text table 用在master table8. Append structure 只能用在一个地方Include structure 能用多次9. 创建表的时候:设置Technical Setting10. 设置Enhancement category for table missing:Extras - Enhancement category11. Table Maintenance Generator:se11->unitilies->table maintenance generator12. Fixed values——屏幕输入时检查Report:SE381. Tool bar:where-used list 这个程序被什么地方调用过2. Utility-more utility -edit pattern 用户、时间、用途等格式3. 不想让别的公司看到报表1.权限检查 2.select option4. Like [table]-[field] 后加search help,检查field-data element-..5. Type [data element] 后加search help,检查data element-…6. Goto - Text element - selection texts Dictionary打钩则p_name显示为nameLong7. 屏幕分块 Selection-screen begin of block 名字(四位)WITH FRAME TITLE text-002.8. file exist检查的message放在At selection screen 中Select-options 默认参数:1. MEMORY ID 就是在SAP内定义的一段内存区域,方便你从里边读出数据或者往里边写入数据你这里使用的MEMORY ID最明显的现象就是:你在选择画面上输入一个值后,该PARAMETER/SELECT-OPTIONS会将其设为默认值,当你退出程序再进入时,你会发现该PARAMETER/SELECT-OPTIONS保留了你上一次输入的值。
abap基本语法汇总(2021年整理精品文档)
(完整版)abap基本语法汇总编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)abap基本语法汇总)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)abap基本语法汇总的全部内容。
一数据类型和对象在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。
在程序中必须声明要使用的全部数据对象。
声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。
1。
1对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。
类型 P 数据允许在小数点后有数字。
有效大小可以是从 1 到 16 字节的任何值。
将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。
在小数点后最多允许 14 个数字。
1。
2 系统定义的数据对象1。
3 确定数据对象的属性如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用 DESCRIBE 语句.语法如下:DESCRIBE FIELD 〈f〉 [LENGTH <l〉] [TYPE <t> [COMPONENTS 〈n>]][OUTPUT-LENGTH 〈o>][DECIMALS 〈d〉][EDIT MASK 〈m>].将由语句的参数指定的数据对象〈f〉的属性写入参数后的变量。
DESCRIBE FIELDS 语句具有下列参数:1.3.1 确定字段长度要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD <f> LENGTH <l>。
SAP的ABAP4语言中文培训教材第一部分第三章 声明数据
第三章SAP的ABAP4语言中文培训教材第一部分第三章声明数据概览内容数据类型和对象简介......................................................................................................... 2数据类型............................................................................................................................. 3差不多数据类型- 预定义的........................................................................................ 3差不多数据类型- 用户定义的.................................................................................... 5结构化数据类型........................................................................................................... 5数据类型的兼容性 ....................................................................................................... 7数据对象............................................................................................................................. 7文字............................................................................................................................... 8变量............................................................................................................................... 9常量........................................................................................................................... 10系统定义的数据对象................................................................................................ 10创建数据对象和数据类型............................................................................................ 10DATA 语句 ............................................................................................................... 11CONSTANTS 语句................................................................................................... 16STATICS 语句.......................................................................................................... 17TABLES 语句 ........................................................................................................... 17TYPES 语句 ............................................................................................................. 18例如汇总......................................................................................................................... 20预定义差不多数据类型和对象例如 ........................................................................ 20用户定义的差不多数据类型和对象示例 ............................................................... 20字段串例如................................................................................................................ 21内表例如.................................................................................................................... 22使用类型组 ..................................................................................................................... 23确定数据对象的属性..................................................................................................... 24确定字段长度........................................................................................................... 25确定数据类型........................................................................................................... 25确定输出长度........................................................................................................... 26确定小数位................................................................................................................ 27确定转换例程........................................................................................................... 27本节说明如何在ABAP/4程序中声明数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP 学习笔记系列 (by 强晟 qiangsheng@)
BC415: Remote Function Calls in ABAP
10
第二单元:介绍 • 通讯和数据接口
Internet 远程系统 (R/2、R/3、 外部系统) 程序
HTTP SAP R/3 4.7 或者 SAP Web Application Server 6.20
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 2
目录
• 第一单元:课程概览 • 第二单元:介绍 • 第三单元: 远程函数调用(Remote Function Calls) • 第四单元: BAPI-业务应用编程接口 (Business Application Programming Interface) • 附录
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 15
第二单元:介绍 • SAP 网关的架构和使用(续)
– 接口顾问(Interface Adviser)在选择接口技术和设计 自己的接口时可以提供建议。(链接为:https://websmp108.sapag.de/~sapidb/011000358700002529571998E/default4.htm,版本为 4.5,时间 为 1998 年,我没有能找到更新版本的 SAP Interface Adviser,如果你知道,请 跟我联系。)
第二单元:介绍 • R/3 架构
– SAP R/3 系统具有 模块化的软件架构, 遵循面向软件的客 户/服务器原理。 – 系统把表示、应用 逻辑和数据分布在 不同层上的主机。 这构成了 R/3 系统 高可伸缩性的基础。
表示层
SA PG UI SA PG UI
SA PG UI
应用层
ABAP ABAP ABAP
• 无法使用 RFC(极少的平台会这样) • 维护以前通过 CPI-C 进行通讯的旧程序 • 需要更多复杂通讯协议的时候(用 RFC 只能处理简单的输入 /输出)
– 在附录里,会找到有关 CPI-C 的练习和解决方案。
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 8
4
第二单元:介绍 • 单元目标
– 跨系统数据分布:
• 基本术语 • 环境和架构 • 技术背景
• 学习本单元后应该可以
– – – – 学习跨系统数据分布的基本概念、环境和架构 了解现有可用来维护分布式系统数据一致性的接口 学习在选择、设置和实现接口时从何处获得支持 熟悉跨系统通讯的技术背景
BC415: Remote Function Calls in ABAP 5
SAP BC415 课程 中文自学笔记
强晟 2007年11月9日 v1.0 E-mail:qiangsheng@ Blog:
前言
• SAP R/3(及以后的 ERP 和其他系统)做为企业业务操 作的基础平台,不可避免的要跟其他系统(如数据分析、 办公自动化等)进行数据交互。同时随着企业应用 SAP 范围的增加,会出现很多不同版本或不同功能的 SAP 系 统。如何让这些系统之间能够实现信息共享和业务互操作, 就成为 SAP 扩展应用的重要课题。 • SAP 提供了 RFC(Remote Function Calls)来解决这些 问题。RFC 是一个概念,它包含了软件技术发展和 SAP 开发过程中的很多具体技术,如 OLE、DCOM 等公共技 术以及 IDoc、BAPI 等 SAP 专有技术。本文就将介绍 RFC 的有关知识。 强晟 2007年10月15日
通讯接口:RFC、CPI-C
文件 I/O
应用 服务器
ABAP 程序
数据接口:批输入、SAP-SQL 等
数据库 服务器
RDBMS
– 上图描绘了 SAP 的各种接口
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 11
RFC CPI-C – RFC 基于 CPI-C,也就是说,RFC 调用总是通过 CPI-C 调用来传输。
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 7
第二单元:介绍 • 数据分布接口概览(续)
• 学习本课程后应该可以
– 在 R/3 系统和其他应用系统之间进行数据交换的 RFC 接口在 R/3 系统的实现 – 关于 BAPI 的概念和把它做为 R/3 数据的一个接口
SAP 学习笔记系列 (by 强晟 qiangsheng@)
BC415: Remote Function Calls in ABAP
SAP 学习笔记系列 (by 强晟 qiangsheng@)
BC415: Remote Function Calls in ABAP
13
第二单元:介绍 • SAP 网关(续)
– 当一个应用服务器(分配器)与外部系统通讯时,它 通常使用自己的网关工作进程。然而,在与 SNA 通讯 时,使用一个运行在专门主机上的网关可能更有用, 这需要网关和一个附加组件。原因是可以最小化配置 和维护的影响(网关附加只在一台服务器上,而不是 每个应用服务器)。例如,对于远程的 Windows NT 应用,只能使用远程网关,因为远程程序只能用这个 网关来启动。
– R/3通讯总是通过 SAP网关进行,基于 TCP/IP 协议。 – R/3 与 IBM R/2 系统或者其他 LU6.2 系统通讯时,使 用 LU6.2 传输协议,这时需要给 SAP 网关增加附加 的 SNA 功能。SAP 网关上可选的 SNA 功能主要包含 一套在 TCP/IP LU6.2 转换(SAP) 和 LU6.2 R/3 R/3 功能(外部软件)之间 SAP 网关 的转换协议。一个带有 可选 SNA LU6.2 R/2 R/2 SAN 功能的 SAP 网关 Siemens 功能 IBM 外部系统 外部系统 也称作(SAP)SNA (TCP/IP) (LU6.2) 网关。
ABAP ABAP ABAP
数据库
RDBMS
SAP 学习笔记系列 (by 强晟 qiangsheng@)
BC415: Remote Function Calls in ABAP
9
第二单元:介绍 • R/3 架构(续)
– 最低层是数据库层。数据在这层上用关系型数据库管 理系统(RDBMS)进行管理。除了主数据和事务数据 外,数据库还存储了 R/3 系统中声明的程序和元数据, 以及这些数据的结构。 – 第二层是应用层,包含了 ABAP 程序。可以使用 ABAP 工作台写自己的程序来补充现存的 SAP 功能。 – 第三层是表示层(SAPGUI),包含用户界面,终端 用户通过它来访问应用功能、输入数据和显示工作的 结果。在这一层上,除了 SAPGUI 外,还可以使用其 他前端(AFE:alternative front ends)或者接口。
SAP 学习笔记系列 (by 强晟 qiangsheng@)
BC415: Remote Function Calls in ABAP
3
第一单元:课程概览 • 课程目标
– 在 R/3 系统端,在 R/3 系统和其他应用系统之间进行 数据交换的 RFC 接口的使用知识 – 使用 BAPI 的基础知识
– 总算明白了,为什么 SAP 安装程序下载里面 NetWeaver 2004s 等都要有一个单独的 IGS,并且还有各种服务器平台的版本。
SAP 学习笔记系列 (by 强晟 qiangsheng@)
BC415: Remote Function Calls in ABAP
14
第二单元:介绍 • SAP 网关的架构和使用
17
第三单元:远程函数调用 第一课:概览 • SAP R/3 内部的 RFC
– 当本地调用一个函数模块时,它跟调用程序运行在相 同工作进程。 – 远程调用一个函数模块时,如果远程系统是一个 SAP R/3 系统,它运行在自己的工作进程(它自己的 SAP LUW)。 – 远程目的地可以是相同或者不同的 SAP R/3 系统、 SAP R/2 系统或者一个外部的非 SAP 系统上的应用服 务器。 – 注意,调用程序在每个远程函数调用(RFC)上执行 转出(roll out),也就触发一个隐式的数据库提交。
其他 R/3 R/2 R/3 其他
分布式系统
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 6
第二单元:介绍 • 数据分布接口概览
ALE
-SAP 为跨系统数据分布提供的接口 -基于(绝大部分)RFC 和 IDoc -培训课程:BIT300(ALE), BIT320(IDoc),BIT350(IDoc)
– SAP 提供了 ALE 组件和预定义接口来维护分布系统 的数据一致性。 – RFC 基于 CPI-C。然而,CPI-C 应该只有在绝对必要 的时候才使用,因为它的使用复杂。 – 在通讯接口和数据接口间有不同之处。 – R/3 通讯通常通过网关运行。
SAP 学习笔记系列 (by 强晟 qiangsheng@) BC415: Remote Function Calls in ABAP 16
ห้องสมุดไป่ตู้
SAP 学习笔记系列 (by 强晟 qiangsheng@)
第二单元:介绍 • 选择和设计接口
– 在一个集成项目中,选择合适的接口技术是一项中心 任务。在选择接口技术和合适设计接口时,接口顾问 可以提供必要的支持。 – SAP 集成技术,一个知识产品,会在实现接口 时提供细节信息。