SAP ABAP 合集
SAP-ABAP程序设计基础教程第7章ABAP数据库操作PPT课件
其步骤如下: 打开光标: 使用光标几乎可从任何 SELECT 语句的结果集中获得下一行(或 一些行)。为此,应该按如下格式使用OPEN CURSOR 语句将光 标与相关的SELECT 语句链接起来,语法是:
OPEN CURSOR [WITH HOLD] <c> FOR SELECT ........
-
7
SELECT <field list> FROM table INTO | APPENDING [CORRESPONDING FIELDS OF] TABLE itab WHERE <condition> .
-
8
总计表达式
使用总计表达式,可从数据库表的列<f> 中取得统计数据,有 效的总计表达式有: (1) MAX: 返回列<f>的最大值 (2) MIN: 返回列<f>的最小值 (3) SUM: 返回列<f>的总计 (3) AVG: 返回列<f>的平均值 (4) COUNT:给值或行计数:其中COUNT( DISTINCT <f> )
使用光标从数据库表中读取行
-
3
从数据库表中读取数据
SELECT语句的用法
SELECT <result> FROM <source> [INTO <target>] [WHERE <condition>] [GROUP BY <fields>] [HAVING <cond>] [ORDER BY
<sort_order>].
删除行
DELETE: 可使用DELETE 语句从数据库表中删除行。
SAPABAP函数总结常用函数解释
SAPABAP函数总结常用函数解释SAPABAP是一种流行的编程语言,常用于SAP系统开发。
在ABAP中,函数是可重复使用的代码块,用于执行特定的任务或操作。
这些函数可以在ABAP程序中调用,以提高代码的可维护性和重用性。
下面是一些常用的SAPABAP函数以及它们的解释。
1.STRLEN函数:返回一个字符串的长度。
这个函数可以用于计算字符串的字符数,以便于处理和操作字符串。
2.CONCATENATE函数:将多个字符串连接成一个字符串。
这个函数可以用于连接两个或多个字符串,使其成为一个新的字符串。
3.REPLACE函数:替换字符串中指定的内容。
这个函数可以用于替换一个字符串中的一些子串,以实现特定的文本替换需求。
4.SPLIT函数:将一个字符串按照指定的分隔符分割成一个字符串表。
这个函数可以用于将一个长字符串以指定的分隔符分割为多个小字符串,并存储在表中。
5.TRANSLATE函数:替换字符串中的字符。
这个函数可以用于替换一个字符串中的特定字符或字符串,以实现文本的转换或调整。
6.NUMERIC_CHECK函数:检查一个字符串是否为合法的数字。
这个函数可以用于验证一个字符串是否为合法的数字,以确保数据的准确性。
7.DATE_CONVERSION_FUNCTIONS函数:日期转换函数。
这个函数可以用于在不同日期格式之间进行转换,以满足不同日期格式的需求。
8.DYNPRO_NOT_FOUND函数:检查屏幕元素是否存在。
这个函数可以用于检查SAP屏幕中是否存在一个指定的屏幕元素,以便根据结果来决定后续的操作。
9.WRITE函数:向输出窗口或内部表写入数据。
这个函数可以用于将数据写入SAP输出窗口,或写入内部表,以进行后续的数据处理。
10.SY-SUBRC函数:获取最近一次操作的执行状态。
这个函数可以用于获取最近一次操作的执行结果,以便根据结果进行进一步的处理和判断。
11.CONVERSION_EXIT_ALPHA_INPUT函数:输入转换函数。
SAP的ABAP4语言中文培训教材第一部分第二章 ABAP4 程序语法和 格式
第二章ABAP/4 程序语法和格式概览内容语法元素............................................................................................................................. 1语句............................................................................................................................... 1关键字 ........................................................................................................................... 2注释............................................................................................................................... 2语法结构............................................................................................................................. 3语句结构........................................................................................................................ 4注释结构........................................................................................................................ 4连接相似语句............................................................................................................... 5ABAP/4 程序格式.............................................................................................................. 6缩排语句块.................................................................................................................... 6使用模块化工具........................................................................................................... 6正确插入程序注释 ....................................................................................................... 6整齐打印程序............................................................................................................... 6插入已有结构.................................................................................................................... 7插入已有关键字结构.................................................................................................... 7插入已有注释行........................................................................................................... 8本节说明ABAP/4 语法,并且提供关于如何在ABAP/4 中编程的建议。
(sap实施)整理的SAP abap学习的资料
以前整理的SAP abap学习的资料以前记录下来的资料,现在把它放到这个上面来.唉,就是不知道这个bolg怎么能把图贴上来,要不还可以做好多的操作手册放在上面.这两天改FI/CO的一个报表,弄得我头都大了,不想接手这一块,可是我们公司就我一个abap,不写谁写呢?可怜的孩子!最近家里又发生了事情,更加让我心神不宁了!SAP R/3System 系统Application 应用Products 产品Real-time 三层系统架构********************************************************** *********************1,Abap的数据类型分为三种类型*1,类型*2,结构*3,内表********************************************************** *********************2,数据定义*1 直接定义Data int_a type I.*2 参照自己定义的数据类型定义Type char_six(6) type c.Data chs type char_six.*3 参照se11中建立的数据类型定义*4 直接使用likeData ch4 like ch3. (其中ch3已经在se11中定义过)定义常数:使用constants基本语法:Constants: <> type <type> value <literal>.CONSTANTS INT TYPE I VALUE 99.********************************************************** *********************3.选择copy按钮,输入程序名字即可(客户的程序名字,需要以Z开头)********************************************************** *********************4,如何设置关键字的大小写功能?路径:在utilities--settings—pretty printer********************************************************** *********************5,模式按钮作用:可以call function,写write等固定格式,message等功能操作方法:将光标放在程序中你要输入的地方,然后按pattern,输入你要输入的参数,回车即可。
sap abap技巧
sap abap技巧摘要:一、引言1.ABAP背景介绍2.ABAP在SAP系统中的重要性二、ABAP编程技巧1.基本语法与规范2.数据类型与变量3.流程控制与循环4.函数与模块5.异常处理与调试三、ABAP实用技巧1.高效SQL查询2.数据传输与转换3.用户定义函数与数据类4.接口与调用5.性能优化与调试技巧四、ABAP最佳实践1.模块化编程2.面向对象编程3.代码重用与封装4.数据安全性保障5.项目管理与团队协作五、ABAP发展趋势与展望1.面向未来的技术栈2.云原生与微服务3.数字化与智能化4.跨平台开发与应用5.开源生态与社区发展正文:一、引言1.ABAP(Advanced Business Application Programming)是一种高级编程语言,起源于SAP系统。
它被广泛应用于企业级业务应用程序的开发和维护。
2.ABAP在SAP系统中的重要性不言而喻,它是SAP系统的基础,掌握了ABAP,就等于掌握了SAP系统的核心。
二、ABAP编程技巧1.基本语法与规范:熟悉ABAP的基本语法和编程规范,例如命名规则、注释、缩进等,有利于编写整洁、易读的代码。
2.数据类型与变量:了解ABAP的数据类型及其对应的变量,如字符型、数值型、逻辑型等,以便在编程过程中正确处理数据。
3.流程控制与循环:掌握ABAP的流程控制语句,如IF、ELSE、LOOP 等,以便灵活地实现业务逻辑。
4.函数与模块:学会使用ABAP提供的内置函数和自定义函数,以及如何创建和调用模块化程序。
5.异常处理与调试:了解ABAP的异常处理机制,如ERROR、WARNING 等,以及调试技巧,如使用STACK、DEBUG等工具。
三、ABAP实用技巧1.高效SQL查询:掌握ABAP中的SQL语句,如SELECT、INSERT、UPDATE等,实现对数据库的高效操作。
2.数据传输与转换:学会使用ABAP进行数据传输,如使用BAPI、FM等接口,以及数据格式转换技巧。
SAP ABAP_4编程语法汇总(中文版)
SAP ABAP_4编程语法汇总(中文版)本文是由塞依教育编辑整理,了解更多SAP培训信息,请进入/news/一、Data Type (数据类型)C: 字符(串), 长度为1, 最大有65535 BYTES, 初始值为: space,例: ‘M’;D: 日期, 格式为YYYYMMDD, 最大是’9999/12/31’ ,例:’1999/12/03’.F: 浮点数, 长度为8, 例如: 4.285714285714286E-01I: 整数范围 :-2^31 ~ 2^31-1N: 数值组成的字符串: 011, ‘302’.P: packed 数,用于小数点数值,例如: 12.00542;T: 时间, 格式为HHMMSS,例如: ’14:03:00’, ’21:30:39’.X: 16进制数, 例如‘1A03’.二、变量宣告变量宣告包含name, length, type, structure等,语法如下:DATA <F> [<length>] <type> [<value>] [<decimals>]其中: <f> :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符;<length><type>:变量类型及长度;<value>:初值<decimals>:小数位数Example 1:DATA: COUNTER TYPE P DECIMALS 3,NAME (10) TYPE C VALUE ‘Delta’,S_DATE TYPE D VALUE ‘19991203’.Example 2:DATA: BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE P DECIMALS 2,END OF PERSON.另外,有关DATA宣告的指令还有: CONSTANTS(宣告常数)、STATICS(临时变量宣告).三、系统专用变量说明系统内部专门创建了SYST这个STRUCTURE,里面的字段存放系统变量,常用的系统变量有: SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,’0’表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX : 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: CLIENT NUMBERSY-VLINE: 画竖线SY-ULINE: 画横线附注:1.SAP的全称是: System Application Products in Data Processing;2.ABAP/4的全称是:Advanced Business Application Programming;3.ABAP/4的路径为:Tools → ABAP/4 WorkBench→ABPA/4 Editor ;4.ABAP/4每条语句以句号结束;5.ABAP/4中象= ,>, <,+,-,*,/等符号左右都需要有至少一个空格;6.整行注释用’*’号, 注释本行后面部分用’”’号;一. WRITE 语句ABAP/4用来在屏幕上输出数据的指令是WRITE指令,例如:WRITE: ‘USER NAME IS:’, SY-UNAME.二. 指定屏幕输出位置指定输出位置的语句格式为:WRITE: [AT] [ / ] [<pos>] [(<len>)] 资料项 [<par>]其中: / : 在下一行输出<pos>: 指定输出的行号;(<len>):指定输出位数(长度)<par>: 指定显示格式参数,参数有:LEFT-JUSTIFIED 资料靠左对齐CENTERED 数据靠中间对齐RIGHT-JUSTIFIED 资料靠右对齐UNDER <g> 正对在数据项<g>的下面显示NO-GAP 紧接着显示,不留空格USING EDIT MASK <m>: 使用内嵌子元显示, 如 12:03:20 USING NO EDIT MASK: 不使用内嵌子元NO-ZERO: 数字前面 0 的部分不显示NO-SIGN: 不显示正负号DECIMALS <d>: 显示 <d> 位小数EXPOENT <e>: F(浮点数)指数的值ROUND <r>: 四舍五入至小数点后<r>位CURRENCY <c>: 币别显示DD/MM/YY : 日期显示格式MM/DD/YY:YY/MM/DD:YY/DD/MMMM/DD/YYYY:DD/MM/YYYYYYYY/MM/DD:YYYY/DD/MM:例如1: WRITE: /10(6) ‘ABCDEFGHIJK’.输出结果为: ABCDEF例如2: DATA: X TYPE I VALUE ’11:20:30’,A(5) TYPE C VALUE ‘AB CDE’.WRITE: / X USING EDIT MASK ‘__:__:__’.WRITE: / X USING EDIT MASK ‘$___,___’.WRITE: / Y NO-GAP.输出结果为:11:20:30$112,030ABCDEF一. 显示图标:语法: WRITE: <symbol-name> AS SYMBOL.WRITE: <icon-name> AS ICON.例如: INCLUDE <SYMBOL>.INCLUDE <ICON>.WRITE: / ‘Phone symbol:’, SYM_PHONE AS SYMBOL.WRITE: / ‘Alarm Icon:’, ICON_VOICE_OUTPUT AS ICON.要查看系统所提供有那些符号及图标,可选择’EDIT’下的’Insert Statement’,选择’Write’,接下来选择要查看的群组,如SYMBOL 或ICON, 接下来按’Display’即可.§ INTERNAL TABLE一. Internal Table 的宣告ABAP/4中的Internal Table是一种Data Structure,类似于其它语言中的STRUTURE,它可以由几个不同类型的字段(field)组成,用来表示具有不同属性的某一事物,单独一笔资料表示某个事物,多笔数据表示具有相同属性的多个事物.例如:为了存取或记录某班的同学数据,我们创建如下的internal table:DATA: BEGIN OF STUDENT OCCURS 20,STD_ID TYPE N,NAME(10) TYPE C,AGE TYPE I,BIRTH TYPE D,SCORE TYPE P DECIMALS 2,END OF STUDENT.此时我们已经创建了名叫STUDENT的internal table,并且为它预先申请了能够存放20笔数据的Buffer(当然,如果存取数据不止20笔,程序执行时,会自动申请系统Buffer)Internal table 的定义有以下几种格式:格式一. DATA: BEGIN OF <internal table> OCCURS <n>,<field 1> TYPE <type1>,[<field 2> TYPE <type 2>,<field 3> TYPE <type 3>,… ]END OF <internal table>.格式二. TYPES: BEGIN OF <work area>,<field 1> TYPE <type1>,[<field 2> TYPE <type 2>,<field 3> TYPE <type 3>,… ]END OF <work area>.TYPES <internal table> TYPE <work area> OCCURS <n>.格式三. DATA: BEGIN OF <work area>.INCLUDE STRUCTURE <table name>.DATA: END OF <work area>.DATA: <internal table> LIKE <work area> OCCURS <n>.二. APPEND LINE格式: APPEND [<work area> TO ] <internal table>.举例一. (使用work area)DATA: BEGIN OF LINE,COL1 TYPE I,COL2 TYPE I,END OF LINE.DATA ITAB LIKE LINE OCCURS 10.DO 2 TIMES.LINE-COL1 = SY-INDEX.LINE-COL2 = SY-INDEX ** 2.APPEND LINE TO ITAB.ENDDO.LOOP AT ITAB INTO LINE.WRITE: / LINE-COL1, LINE-COL2.ENDLOOP.执行结果为:1 12 4举例二. (不使用work area)DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 2 TIMES.ITAB-COL1 = SY-INDEX.ITAB-COL2 = SY-INDEX ** 2.APPEND ITAB.ENDDO.LOOP AT ITAB.WRITE: / ITAB-COL1, ITAB-COL2.ENDLOOP.执行结果与举例一相同.举例三. (加入另一个Internal table的元素)格式: APPEND LINES OF <itab1> [FROM <n1> ] [TO <n2>] TO <itab2>.将<itab1>的元素加入至<itab2>中,可选取自<n1>至<n2>的范围.APPEND LINES OF ITAB TO JTAB.三. COLLECT LINECOLLECT 指令也是将元素加入Internal table中,与APPEND 的区别是: COLLECT指令在非数值字段相同的情况下,将数值字段汇总.格式: COLLECT [<work area> INTO ] <itab>DATA: BEGIN OF ITAB OCCURS 3,COL1(3) TYPE C,COL2 TYPE I,END OF ITAB.ITAB-COL1 = ‘ABC’. ITAB-COL2 = 10.COLLECT ITAB.ITAB-COL1 = ‘XYZ’. ITAB-COL2 = 20.COLLECT ITAB.ITAB-COL1 = ‘ABC’. ITAB-COL2 = 80.COLLECT ITAB.此时, internal table中放的是2笔数据, 分别为:ITAB-COL1 ITAB-COL2‘ABC’ 90‘XYZ’ 20四. INSERT LINE将元素插入在指定的internal table位置之前.格式: INSERT [<wa> INTO] [INITIAL LINE INTO ] <itab> [INDEX <idx>]或者: INSERT LINES OF <itab1> [FROM <n1> TO <n2>] INTO <itab2> INDEX <idx>其中: <wa>即work area,工作区中的元素.[INITIAL LINE INTO] :插入一笔初始化的记录.<itab>: internal table[INDEX <idx>]: internal table 的记录号.(新加入的元素放在此记录前面)五. 读取internal table格式一:LOOP AT <itab> [INTO <wa>][FROM <n1> TO <n2>][WHERE <conditions>]<statement>ENDLOOP.格式二:READ TABLE <itab> [INTO <wa>] [INDEX <idx> / WITH KEY <conditions>]举例. (格式二)DATA: BEGIN OF ITAB OCCURS 10,COL1 TYPE I,COL2 TYPE I,END OF ITAB.DO 10 TIMES.ITAB-COL1 = SY-INDEX.ITAB-COL2 = SY-INDEX * 2.APPEND ITAB.ENDDO.READ TABLE ITAB INDEX 3.(或者: READ TABLE ITAB WITH KEY COL1 = 3.)WRITE: / ‘ITAB-COL1 = ‘, ITAB-COL1, ‘ITAB-COL2 = ‘, ITAB-COL2.执行结果同样是:ITAB-COL1 = 3ITAB-COL2 = 6.六. 修改internal table 中的值格式: MODIFY <itab> [FROM <wa>][INDEX <idx>][TRANSPORTING <f1><f2>…][WHERE <conditions>]举例一. READ TABLE ITAB INDEX 3.LINE-COL1 = 29.MODIFY ITAB FROM LINE TRANSPORTING COL1.将第三笔记录的COL1字段的值修改为29.举例二. T_SALARY – salary = 50.MODIFY T_SALARY TRANSPORTING salary WHERE birthday = ‘1999/12/06’.七. DELETE internal table中的字段格式: DELETE <itab> INDEX <idx>.或: DELETE <itab>[FROM <n1> TO <n2>] [WHERE <conditions>]八. Internal table 排序SORT <itab> [<order way>][BY <f1><f2>…]其中:<order way> 有DESCENDING 和ASCENDING, Default 为ASCENDING.<f1>: 为指定排序的字段.九. 加总SUM.总和计算存放与work area中,但只能在LOOP 中使用.例: LOOP AT ITAB INTO LINE.SUM.ENDLOOP.WRITE: / LINE-COL1, LINE-COL2.十. 初始化internal tableREFRESH <itab>. 清空<itab>中的值.CLEAR <itab>. 清空<itab>的Header Line.FREE <itab>. 释放记忆体空间.§屏幕输入命令在ABAP/4中要从屏幕输入变量, 使用的命令是 PARAMETERS 及SELECTION-OPTIONS:1. PARAMETER: 输入一个变量2. SELECTION-OPTIONS: 使用条件筛选画面来输入数据一. PARAMETERS 指令基本的输入命令, 类似如BASIC的INPUT命令, 但无法使用F格式(浮点数)语法:PARAMETERS <p> [DEFAULT <f>] [LOWER CASE][OBLIGATORY] [AS CHECKBOX][RADIOBUTTON GROUP <rad>]Example:PARAMETERS: NAME(8),AGE TYPE I,BIRTH TYPE D.执行结果:在日期的输入格式上为 MM/DD/YY , MM/DD/YYYY, MMDDYY或MMDDYYYY , 如输入 020165表 1965年02月01日, 与02/01/65的输入是一样的, 日期输入范围为公元1950年至2049年1.DEFAULT设定输入的默认值Example:PARAMETERS: COMPANY(20) DEFAULT ‘DELTA’,BIRTH TYPE D DEFAULT ‘19650201’.2. LOWER CASEABAP/4预设是将字符串输入值自动转换为大写, 加上此参数会将输入的数据转成小写,3. OBLIGATORY强制要求输入, 屏幕上会出现一个 ? , 使用者必须要输入才可.4. AS CHECKBOX输入 CHECKBOX的格式Example:PARAMETERS: TAX AS CHECKBOX DEFAULT ‘X’,NTD AS CHECKBOX.执行结果:5. RADIOBUTTON GROUP <rad>输入 RADIO BUTTON GROUP 的方式Example:PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT ‘X’,GIRL RADIOBUTTON GROUP SEX.执行结果:二. SELECT-OPTIONSSELECTION-OPTIONS所输入的值实际上是放在internal table中的,该Internal table 有四个字段,分别是:SIGN,OPTION,LOW,HIGH.. 条件筛选检查条件输入画面指令, 输入条件后可配合SELECT指令自TABLE读取符合条件的数据, 直接执行或放入 Internal Table中, 条件有四个参数:1. SIGN:I: 表筛选条件符合的资料E: 表筛选条件不符合的资料2. OPTION: 比较的条件符号EQ(等于),NE(不等于),GT(大于),LE(小于),CP(包含),NP(不包含)3. LOW: 最小值4. HIGH: 最大值语法:SELECT-OPTIONS <check-option> FOR <table-field>Example:TABLES SPFLI.SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.将条件的输入值存放入 AIRLINE, 筛选选择为SPFLI中的CONNID字段执行结果:可直接输入起始范围或按下选择画面, 输入完后按下左上角的执行键三. 条件输入选择画面1.自Table中选取按下输入项的右边往下箭头, 叫出Table中数据项, 选取开始和结束的范围2.Selection Options按下”Selection options”按键, , 输入Option及 Sign参数内容, 屏幕如下:3.Multi-Options输入按下最右边的Multi-Options输入键, 输入条件选取的范围, 画面如下:条件输入完后按下”Copy”按键四. 改变条件输入格式1.DEFAULT <begin> TO <end>设定开始结束范围输入默认值Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNIDDEFAULT ‘2042’ TO ‘4555’.2.NO-EXTENSION设定不要Multi-Option输入画面3.NO INTERVALS设定不要区间范围输入画面4.LOWER CASE输入转换成大写5.OBLIGATORY强制要求输入五. 配合 SELECT 命令条件输入完后要将符合条件的数据筛选出来, 可配合使用 SELECT 指令 1.使用WHERE <条件式>Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI WHERE CONNID IN AIRLINE.WRITE: / CONNID,FROMCITY,TOCITY.ENDSELECT.2.使用CHECK参数Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.CHECK AIRLINE.WRITE: / CONNID,FROMCITY,TOCITY.ENDSELECT.3.使用 IF … IN 叙述Example:SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.SELECT * FROM SPFLI.IF SPFLI-CONNID IN AIRLINE.WRITE: / CONNID,FROMCITY,TOCITY.ENDIFENDSELECT.六. SELECTION-SCREEN1.产生空白列语法:SELECTION-SCREEN SKIP [<n>]Example:SELECTION-SCREEN SKIP 2.产生两列空白列2.产生底线语法:SELECTION-SCREEN ULINE / <pos>(length)Example:SELECTION-SCREEN ULINE /10(30).自第10格开始产生长度30的底线3.印出备注说明语法:SELECTION-SCREEN COMMENT / <pos>(length) <name>Example:REMARK = ‘Pls enter your name’.SELECTION-SCREEN COMMENT /10(30) REMARK.4. 同一列中输入数个数据项语法:SELECTION-SCREEN BEGIN OF LINE.……SELECTION-SCREEN END OF LINE.Example:SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN POSITION 20.PARAMETERS NAME(10).SELECTION-SCREEN POSITION 40.PARAMETERS BIRTH TYPE D.SELECTION-SCREEN END OF LINE.在20格输入NAME内容, 40格输入 BIRTH的内容5. 绘出BLOCK PANEL语法:SELECTION-SCREEN BEGIN OF BLOCK <block>[WITH FRAME [TITLE <title>].…….SELECTION-SCREEN END OF BLOCK <block>.Example:SELECTION-SCREEN BEGIN OF BLOCK RADIO WITH FRAME .PARAMETER R1 RADIOBUTTON GROUP GR1.PARAMETER R2 RADIOBUTTON GROUP GR1.PARAMETER R3 RADIOBUTTON GROUP GR1.SELECTION-SCREEN END OF BLOCK RADIO.§SQL语法我们在编写ABAP4程序的时候,经常需要从TABLE中根据某些条件读取数据,.读取数据最常用的方法就是通过SQL语法实现的.ABAP/4中可以利用SQL语法创建或读取TABLE,SQL语法分为DDL(DATA DEFINE LANGUAGE)语言和DML(DATA MULTIPULATION LANGUAGE)语言,DDL语言是指数据定义语言,例如CREATE等, DML语言是数据操作语言,例如SELECT, INSERT等语句. SQL语句有OPEN SQL语句和NATIVE SQL语句. OPEN SQL语句不是标准SQL语句,是ABAP/4语言,利用OPEN SQL语句能在Databases 和 Command 之间产生一个BUFFER,所以它有一个语言转换的过程.而NATIVE SQL语句则是标准的SQL语句, 它直接针对Databases操作.一. OPEN SQLOPEN SQL 语句包含有: SELECT,INSERT,UPDATE,MODIFY,DELETE,OPEN CURSOR, FETCH,CLOSE CURSOR,COMMIT WORK,ROLLBACK WORK等.1. SELECT语句语法格式:SELECT <result> [INTO <target>] [FROM <source>] [WHERE <condition>][GROUP BY <fields>] [ORDER BY <sort order>]其中: <result>指定要抓取的字段<target>将读取的记录存放在work area中<source>指定从那个TABLE中读取数据<condition>抓取资料的条件<fields>指定按那些字段分组<sort order>排序的字段及方式相关的系统变量:SY-SUBRC = 0 表示读取数据成功<> 0 表示未找到符合条件的记录SY-DBLNT: 被处理过的记录的笔数.相关的命令:EXIT. 退出循环.CHECK <logistic statement>.如果逻辑表达式成立,则继续执行,否则,开始下一次循环.◆.利用循环方式读取所有记录SELECT ….ENDSELECT.是循环方式读取记录的.例如:TABLES MARD.SELECT [DISTINCT] * FROM MARD WHERE MATNR = ‘3520421700’.<Statements>.ENDSELECT.(从MARD中抓取所有料号=3520421700的数据)◆读取一笔数据TABLES MARD.SELECT SINGLE * FROM MARD WHERE MATNR = ‘3520421700’.(从MARA中抓取一笔料号=3520421700的资料)◆将读取的记录放在work area中,并且加入Internal table 中.格式有:... INTO <work area>... INTO CORRESPONDING FIELDS OF <work area>... INTO (f1, ..., fn) 变量组.... INTO TABLE <internal table>... INTO CORRESPONDING FIELDS OF TABLE <internal table>... APPENDING TABLE <internal table>... APPENDING CORRESPONDING FIELDS OF TABLE <internal table>举例一:TABLES MARD.DATA: BEGIN OF ITAB OCCURS 10,MATNR LIKE MARD-MATNR,WERKS LIKE MARD-WERKS,LGORT LIKE MARD-LGORT,LABST LIKE MARD-LABST,END OF ITAB.SELECT MATNR WERKS LGORT LABSTINTO CORRESPONDING FIELDS OF ITABFROM MARDWHERE MATNR = ‘3520421700’.APPEND ITAB.CLEAR ITAB.ENDSELECT.(将读取的结果放在Internal table ITAB中)举例二.TABLES MARD.SELECT MATNR MTART MAKTX INTO (t_matnr, t_mtart, maktx)FROM MARDWHERE MATNR = ‘3520421700’.<Statements>.ENDSELECT.(从MARD中抓取料号=3520421700的料号、类型和描述,放在变量t_matnr, t_mtart, maktx中)。
SAPABAP入门教程参考手册
WebDynpro报表开发方法
01
02
03
04
05
WebDynpro概 述
WebDynpro使 用…
WebDynpro开 发…
WebDynpro高 级…
WebDynpro优 化…
了解WebDynpro的基本概 念、架构和组件。
掌握WebDynpro适用的业 务场景和报表类型。
学习WebDynpro报表的开 发流程,包括创建 WebDynpro组件、定义数 据源、设计界面、实现业务 逻辑等。
文件定位与指针
可以使用文件指针在文件中进行定位和操作。ABAP 提供 了 SEEK 和 TELL 等语句用于文件指针的定位和获取当前 位置。
03
SAPABAP开发环境搭建
安装与配置SAP GUI
下载与安装SAP GUI
01
从SAP官方网站下载最新。
配置连接参数
Web应用开发
SAPABAP支持Web应用开发,可以 通过Web Dynpro等技术实现Web 应用的开发和部署。
02
SAPABAP基础知识
数据类型与变量
03
数据类型
变量声明
变量赋值
SAP ABAP 中有多种数据类型,包括基本 数据类型(如 C、N、D、T 等)、结构数 据类型和引用数据类型等。
后台任务调度
使用SAP系统的任务调度功能,可以定时启动或周期性执行后台任务。可以根据业务需求设置任务的执行频率和时间窗口。
错误处理和日志记录 在批处理程序中添加错误处理和日志记录逻辑,以便在任务执行过程中出现问题时能够及时发现并进行 排查。可以将错误信息记录到日志文件中,方便后续分析和处理。
07
调试与性能优化技巧
SAP ABAP基础语法培训教程珍藏版 ppt课件
类别组织R/3对象的浏览及维护
▪ 程序编辑器:ABAP Editor,编辑ABAP程
序代码
▪ 数据建模器:Data modeler,业务数据建
模工具
▪ 数据字典:ABAP Dictionary,定义系统数
据类型及数据库对象
▪ 简单报表创建器:ABAP Query
事务码SE38
2020/9/1
21
SAP ABAP基础语法培训教程珍藏 版
▪ ABAP advanced business application programming 是“高级商业应用编程”的缩写
▪ “Hello World”程序 ▪ 系统程序实例:ABAPDOCU、DWDM
2020/9/1
22
恢复初始状态不指向任何数据对象2020102068数值运算算术预算语句运算数学表达式语句关键字语句加法2020102069数值运算算术预算原则运算符号及括号都是abap关键字前后都需要有空格使用p类型进行计算时程序属性fixedpointedarithmetic没有选中的话运算时会被当作整数类型进行处理两个结构体同名字段也可以整体进行算术运算语句为addcorresponding前缀和运算关键字一样2020102070数值运算任意类型参数的数学函数函数名称说明abs返回输入参数的绝对值sign返回输入参数符号正数返回10返回0负数返回1trunc返回输入参数的整数部分frac返回输入参数的小数部分ceil返回不小于输入参数的最小整数值floor返回不大于输入参数的最大整数值2020102071数值运算浮点数类型的数学函数函数名称说明cossintan三角函数acosasinatan反三角函数coshsinhtanh双曲函数exp底数为e27182818285的幂函数loglog10底数为e10的对数sqrt平方根2020102072数值运算时间日期运算系统将日期时间先转换为数值类型根据这两种特殊的类型进行合理的增减如下所示data
SAPABAP开发中常用的方法总结
SAPABAP开发中常用的方法总结SAP ABAP(Advanced Business Application Programming)是SAP 系统中一种常用的开发语言,用于基于SAP的企业应用程序开发。
在SAP ABAP开发过程中,有一些常用的方法可以帮助开发人员更高效地完成开发任务。
下面是一些常用的SAP ABAP开发方法的总结:1.数据读取方法:-SELECT语句:用于从数据库表中读取数据。
-READTABLE语句:用于从内部表中读取数据。
-GET语句:用于从SAP系统中获取数据。
2.数据修改方法:-UPDATE语句:用于向数据库表中插入、更新或删除数据。
-MODIFY语句:用于修改内部表中的数据。
-MODIFY语句(DATABASE):用于在数据库表中修改数据。
3.数据处理方法:-LOOP语句:用于对内部表中的数据进行循环处理。
-APPLY_FILTER函数模块:用于在内部表中应用过滤条件。
-SORT语句:用于对内部表中的数据进行排序。
4.日期和时间处理方法:-SY-DATUM系统变量:用于获取当前日期。
-SY-UZEIT系统变量:用于获取当前时间。
-CONVERT_TO_TIMESTAMP函数模块:用于将日期和时间字符串转换为时间戳格式。
5.字符串处理方法:-CONCATENATE语句:用于连接多个字符串。
-REPLACE语句:用于替换字符串中的子字符串。
-SPLIT语句:用于将字符串拆分为多个子字符串。
6.异常处理方法:-TRY...CATCH语句:用于捕获和处理异常。
-MESSAGE语句:用于向用户显示错误消息。
-ASSERT语句:用于在代码中插入断言,用于调试和测试。
7.数据类型转换方法:-MOVE语句:用于将一个数据对象的值复制给另一个数据对象。
-CAST语句:用于在不同的数据类型之间进行转换。
8.函数模块方法:-CALLFUNCTION语句:用于调用SAP系统中的函数模块。
sap abap技巧 -回复
sap abap技巧-回复SAP ABAP技巧:深入理解ABAP语言的基础知识与高级应用ABAP(Advanced Business Application Programming)是用于SAP ERP系统的一种编程语言。
作为SAP系统的核心,ABAP是许多企业中重要业务流程的驱动力。
在本文中,我们将逐步介绍ABAP语言的基础知识和一些高级应用技巧。
第一步:入门理解ABAP语言ABAP是一种面向对象的编程语言,它使用了跟传统编程语言不同的编码规范和语法。
入门ABAP语言的第一步是理解其基础知识。
以下是一些核心概念:1. 数据字典:在ABAP中,数据字典是用于定义数据库中表、视图、数据类型等的工具。
了解和熟悉数据字典中的常用对象和概念将有助于您编写更高效的ABAP代码。
2. ABAP编辑器:SAP系统中的ABAP编辑器是用于创建、修改和管理ABAP程序的工具。
学习如何使用编辑器的不同功能,如代码补全、语法检查和调试器,将大大提高您的开发速度和效率。
3. ABAP语句:ABAP的语法有许多与其他编程语言相似之处,如变量声明、条件语句和循环结构等。
但是,ABAP还具有一些与SAP系统集成紧密相关的特殊语句。
学习掌握ABAP语句的不同类型和用法是成为一名优秀的ABAP开发人员的关键。
第二步:使用ABAP语言进行数据处理在SAP系统中,数据处理是ABAP开发的重要组成部分。
以下是一些重要的数据处理技巧:1. 内表(Internal Table):内表是ABAP中的一种数据结构,用于存储和处理表格数据。
了解如何创建、填充和读取内表是处理大量数据的一项基本技能。
2. 数据选取和过滤:使用SELECT语句从数据库表中检索数据是ABAP 开发的常见操作。
学习如何编写有效的SELECT语句,并掌握过滤数据的技巧,如WHERE子句和JOIN操作,将帮助您更好地处理和操作数据。
3. 事务处理(Transaction Processing):在SAP系统中,事务是一系列相关的业务操作,例如创建销售订单或支付供应商发票。
SAPABAP_4编程语法汇总
SAPABAP_4编程语法汇总SAP ABAP(Advanced Business Application Programming)是SAP 系统中使用的一种编程语言。
在ABAP_4编程语法中,有一些重要的概念和语法规则需要了解。
下面是SAP ABAP_4编程语法的汇总。
1.ABAP程序的基本结构:ABAP程序由一系列的模块组成,每个模块由一对关键字BEGIN和END 组成。
一个程序通常由多个模块组成,每个模块都以ENDMODULE关键字结束。
模块可以是一个函数,一个子程序或一个方法。
2.数据类型:ABAP支持多种数据类型,包括整型(INT,INT1,INT2,INT4),浮点型(F,D),字符型(CHAR,STRING),日期型(D),时间型(T),结构型(STRUCTURE),表型(TABLE)等。
3.变量声明和赋值:在ABAP中,可以使用DATA语句声明变量,使用WRITE语句输出变量的值。
变量可以通过赋值语句(如"="和"=")来获得新的值。
另外,可以使用CONSTANTS语句定义常量。
4.控制结构:ABAP支持多种控制结构,包括条件语句(如IF,CASE),循环语句(如DO,WHILE,LOOP),跳转语句(如BREAK,CONTINUE,EXIT)等。
5.内部表和工作区:内部表用于存储和操作数据集。
可以使用内部表的语句(如SORT,READTABLE)对内部表进行排序和检索。
内部表可以是标准表,排序表,散列表或索引表。
6.函数和子程序:在ABAP中,可以使用FUNCTION和FORM语句定义函数和子程序。
函数是可重用的代码块,可以被其他程序调用。
子程序是一个独立的代码块,可以在同一个程序中调用。
7.对象和类:ABAP支持面向对象编程,可以使用CLASS语句定义类。
类包含属性和方法,并且可以实例化为对象。
对象可以使用NEW关键字创建,并且可以使用点号(.)来访问对象的属性和方法。
SAPABAP函数总结常用函数解释
SAPABAP函数总结常用函数解释1.CONCATENATE:该函数用于连接多个字符串。
它可以将两个或多个字符串连接在一起,并生成一个新的字符串。
2.REPLACE:REPLACE函数用于将一个字符串中的一些字符替换成其他字符。
开发人员可以指定要替换的字符以及替换后的字符。
3.SPLIT:SPLIT函数用于将一个字符串分割成一个内部表。
开发人员可以指定分隔符,并且可以将分隔后的子字符串存储在一个内部表中。
4.STRLEN:STRLEN函数用于获取一个字符串的长度。
它返回字符串中字符的数量。
5.CONDENSE:CONDENSE函数用于去掉一个字符串中的多余空格。
它会去掉字符串开头和结尾的空格,并将连续的多个空格替换成一个空格。
6.CONVERT:CONVERT函数用于在不同的字符集之间进行转换。
它可以将一个字符串从一种字符集转换成另一种字符集。
7.TRANSLATE:TRANSLATE函数用于将一个字符串中的一些字符替换成其他字符。
它可以将一个字符集中的字符映射到另一个字符集中的字符。
8.TO_UPPERCASE:TO_UPPERCASE函数用于将一个字符串中的所有字符转换为大写形式。
9.TO_LOWERCASE:TO_LOWERCASE函数用于将一个字符串中的所有字符转换为小写形式。
10.SHIFT:SHIFT函数用于将一个字符串中的字符向左或向右移动。
它可以将字符串中的所有字符向左或向右移动指定的数量。
11.STRIP:STRIP函数用于去掉一个字符串中的多余字符。
开发人员可以指定要去掉的字符,并将被去掉的字符替换成指定的字符。
12.NUMERIC_CHECK:NUMERIC_CHECK函数用于检查一个字符串是否只包含数字字符。
它可以用于验证用户输入的数据是否为数字。
13.CURRENCY_CONVERSION:CURRENCY_CONVERSION函数用于将一个金额从一种货币转换为另一种货币。
SAPABAP实用培训教程(增加多场景)
SAPABAP实用培训教程引言SAP(系统应用与产品)是一家德国公司,提供企业资源规划(ERP)软件,以帮助企业管理和整合业务运营。
ABAP(高级业务应用程序编程)是SAP的编程语言,用于开发SAP应用程序。
本教程旨在为初学者和希望提高ABAP编程技能的开发人员提供实用的培训。
第一部分:ABAP基础1.1ABAP概览ABAP是一种高级编程语言,专门用于SAP应用程序的开发。
它具有结构化和面向对象的特点,支持模块化、可重用性和可维护性。
ABAP编程环境包括ABAP工作台,它是开发SAP应用程序的主要工具。
1.2数据定义在ABAP中,数据定义是通过数据字典实现的。
数据字典是用于定义和描述数据元素、结构和表格的地方。
数据元素是基本的数据单位,结构是由多个数据元素组成的复合数据类型,表格是用于存储大量数据的集合。
1.3ABAP程序结构ABAP程序由多个块组成,包括声明、执行和异常处理块。
声明块用于定义变量和常量,执行块用于编写程序的主要逻辑,异常处理块用于处理程序运行时可能出现的错误。
第二部分:ABAP编程实践2.1报表开发报表是ABAP编程中最常见的应用程序之一。
通过编写SELECT 语句,可以从SAP数据库中检索数据,并通过报表显示格式化输出。
报表开发涉及定义选择屏幕、处理用户输入、执行数据库查询和显示结果。
2.2输入输出处理输入输出处理是ABAP编程中的重要部分。
输入屏幕用于收集用户输入,输出屏幕用于显示程序的结果。
通过使用屏幕元素,如字段符号、表格控制和循环结构,可以创建用户友好的界面。
2.3数据处理数据处理是ABAP编程中的核心任务。
通过使用内部表、工作区和数据库表,可以对数据进行读取、写入和修改。
ABAP提供了丰富的数据处理语句,如MODIFY、APPEND和DELETE,以及用于数据转换和验证的内建函数。
第三部分:ABAP高级特性3.1面向对象编程ABAP支持面向对象编程(OOP)的概念。
SAP ABAP开发实战从入门到精通系列
掌握用户交互逻辑的设 计和实现方法,如数据 校验、错误处理等
01
02
03
04
学习使用ABAP事件处 理程序编写事件处理逻 辑
学习使用对话编程技术 实现复杂交互逻辑
界面性能优化与用户体验提升
了解界面性能优化的重要性 和方法
掌握提升用户体验的方法和 技巧,如减少响应时间、提 供友好提示等
学习使用ABAP性能分析工具 进行性能分析和优化
设计完善的测试用例
针对项目需求中的各项功能,设计全面、细致的测试用例,确保 测试的覆盖率和准确性。
制定明确的验收标准
与业务人员充分沟通,制定明确的验收标准和流程,确保项目成 果符合业务需求和预期目标。
项目总结与经验分享
项目成果总结
对项目成果进行全面的总结,包括项目目标达成情况、实施过程中 的经验教训以及后续改进方向等。
批处理与后台任务
实战
通过实例演示如何编写批处理程 序和后台任务,以及如何处理批 量数据和执行长时间运行的任务 。
Web Dynpro开发技术
Web Dynpro概述
简要介绍Web Dynpro的基本概念、架构和开发环境。
Web Dynpro组件开发
详细讲解Web Dynpro组件的开发过程,包括创建组件、定义界面元 素、编写事件处理程序等。
格式化处理技术
了解格式化处理的概念和需求,学习使用ABAP语言进行格式 化处理。掌握数据的格式化显示、特殊字符处理等技术。
报表性能优化与调试技巧
报表性能优化
分析影响报表性能的因素,学习优化报表性能的方法。包括优化SQL查询、减 少数据传输量、使用缓存等技术。
调试技巧
掌握ABAP语言的调试技巧,包括设置断点、单步执行、查看变量值等。学习如 何定位和解决报表开发过程中的问题。
SAP-第009章模块化ABAP
SAP-第009章模块化ABAP第九章模块化 ABAP/4 程序概览内容源代码模块 ...................................................................... 1宏的定义与调用 .................................................................. 1包含程序......................................................................... 2子程序.......................................................................... 3定义子程序 ....................................................................... 3调用子程序 ....................................................................... 3在调用程序与子程序之间进行数据传递............................................. 5在子程序中定义局部数据类型和对象............................................. 13中断子程序..................................................................... 15功能模块...................................................................... 16使用现有功能模块 .............................................................. 16创建和编写功能模块 ............................................................ 18本章将介绍如何模块化ABAP/4 程序。
SAP_ABAP学习实例讲解part3
第八章ALV控件的使用ALV(SAP List Viewer)控件是SAP业务中最常用的控件之一,本章先用一个简单的例子介绍用ALV控件显示数据,再以实例方式介绍ALV的强大功能,示例程序可以直接使用。
本章主要内容有:()简单的ALV控件实例;()自定义输出字段的ALV控件实例;()在屏幕上建立ALV控件;()自定义ALV控件的工具条按钮;()处理ALV控件双击事件;()通过ALV控件编辑内表和数据库更新;()ALV Tree的使用。
8.1 简单的ALV控件实例以航班表(SPFLI)为例,使用数据字典定义结构,通过ALV控件显示数据。
【例8.1】REPORT YTEST26.*定义内表DATA WA_SPFLI LIKE TABLE OF SPFLI WITH HEADER LINE.*内表赋值SELECT * INTO TABLE WA_SPFLI FROM SPFLI.*通过数据字典结构显示ALVCALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'EXPORTINGI_STRUCTURE_NAME = 'SPFLI'TABLEST_OUTTAB = WA_SPFLIEXCEPTIONSPROGRAM_ERROR = 1OTHERS = 2.IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.输出结果如图8-1所示。
图8-18.2 自定义输出字段的ALV控件实例【例8.2】REPORT YTEST27.*ALV使用到的类库TYPE-POOLS: SLIS.*一列描述DATA WA_ALV_FIELD TYPE SLIS_FIELDCAT_ALV.*列描述内表,列清单DATA WA_ALV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.*定义内表DATA WA_SPFLI LIKE TABLE OF SPFLI WITH HEADER LINE. *内表赋值SELECT * INTO TABLE WA_SPFLI FROM SPFLI.*定义第一到第四个字段WA_ALV_FIELD-COL_POS = 1.WA_ALV_FIELD-FIELDNAME = 'CARRID'.WA_ALV_FIELD-SELTEXT_M = '航线承运人'.APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.WA_ALV_FIELD-COL_POS = 2.WA_ALV_FIELD-FIELDNAME = 'CONNID'.WA_ALV_FIELD-SELTEXT_M = '航班连接'.APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.WA_ALV_FIELD-COL_POS = 3.WA_ALV_FIELD-FIELDNAME = 'CITYFROM'.WA_ALV_FIELD-SELTEXT_M = '起飞城市'.APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.WA_ALV_FIELD-COL_POS = 4.WA_ALV_FIELD-FIELDNAME = 'CITYTO'.WA_ALV_FIELD-SELTEXT_M = '目标城市'.APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.*调用ALV显示表单数据CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'EXPORTING* I_INTERFACE_CHECK = ' '* I_BYPASSING_BUFFER =* I_BUFFER_ACTIVE = ' '* I_CALLBACK_PROGRAM = ' '* I_CALLBACK_PF_STATUS_SET = ' '* I_CALLBACK_USER_COMMAND = ' '* I_STRUCTURE_NAME =* IS_LAYOUT =IT_FIELDCAT = WA_ALV_FIELDCAT * IT_EXCLUDING =* IT_SPECIAL_GROUPS =* IT_SORT =* IT_FILTER =* IS_SEL_HIDE =* I_DEFAULT = 'X'* I_SAVE = ' '* IS_VARIANT =* IT_EVENTS =* IT_EVENT_EXIT =* IS_PRINT =* IS_REPREP_ID =* I_SCREEN_START_COLUMN = 0* I_SCREEN_START_LINE = 0* I_SCREEN_END_COLUMN = 0* I_SCREEN_END_LINE = 0* IMPORTING* E_EXIT_CAUSED_BY_CALLER =* ES_EXIT_CAUSED_BY_USER =TABLEST_OUTTAB = WA_SPFLI* EXCEPTIONS* PROGRAM_ERROR = 1* OTHERS = 2.IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.输出结果如图8-2所示。
SAP ABAP基础学习整理汇总
目录一、创建ABAP (2)1.1用ABAP REPORT来实现: (2)1.2用ABAP DIALOG来实现: (2)二、ABAP基础知识学习 (2)2.1数据类型 (2)2.2变量声明 (3)2.3关键字 (3)2.3.1 STATICS 关键字 (3)2.3.2 TYPE 关键字 (3)2.3.3 LIKE 关键字 (4)三、输出 (4)3.1 WRITE 语句 (4)3.2指定屏幕输出位置 (4)3.3 WRITE TO 语句的基本形式 (5)四、常见关键字 (7)4.1显示图示 (7)4.2 Internal Table 的声明 (7)4.3 APPEND LINE (9)4.4 COLLECT LINE (10)4.5 INSERT LINE (10)4.6读取internal table (11)4.7修改internal table 中的值 (12)4.8确定内表属性 (13)4.9加总SUM (13)4.10添加字段顺序并将结果赋给另一个字段 (14)4.11屏幕输入命令 (15)4.12 SELECTION-OPTIONS (16)4.13改变条件输入格式 (16)4.14配合SELECT 命令 (17)五、SQL语法 (19)5.1 SELECT语句 (19)5.2 INSERT 语句 (22)5.3 UPDATE 指令 (23)5.4 MODIFY 语法 (24)5.5 DELETE 语法 (24)5.6 DATABASE CURSOR (25)5.7 COMMIT WORK & ROLLBACK WORK (25)5.8 PERFORMING <form name>的使用 (26)5.9结果语句 (27)5.10循环关键字 (28)5.11循环控制关键字 (28)5.12搜索字符串 (29)SAP ABAP基础学习整理汇总一、创建ABAP在SAP中,每一个功能基本上都对应了一个事务代码,你可以输入相应的事务代码来执行相应的功能,事务代码在SAP MENU下面的输入框中输入。
SAPABAP基础XX07
Plattner, Klaus Tschira, and Claus Wellenreuther〕迪特 马·荷普、克劳斯·魏伦路特、哈 索·普拉特纳、克劳斯·奇拉以及 汉斯魏纳·海克特五位原IBM公 司的系统咨询人员 。
初创时的公司名为Systemalyse und Programmentwicklung
SAP 产品分类
• 高端产品 • SAP 的中心产品R/3 以及网络化的
mySAP 协同商务系统。SAP 推出的 mySAP 协同商务就是在R/3 系统之上添 加了CRM 〔客户关系管 〕、 SCM 〔供应 链管 〕、PLM 〔产品生命周期管 〕3个运 用系统,将企业的外部管理与外部商务分 歧集成。
...
Sequent SNI
Digital
操作系统
AIX
Reliant
Digital UNIX UNIX (SINIX)
HP-UX
SOLARIS
Windows NT
数据库
ADABAS D DB2 for AIX INFORMIX-OnLine
ORACLE
ADABAS D MS SQL Server INFORMIX-OnLine
• 1977年公司改名,在这一年SAP推出了资产会计(Assets Accounting) 模块。同年SAP开发了会计模块的法语版,国际化一末尾就成为了 SAP产品的一项重要特征。
SAP公司产品展开历程—R/2的承上启下
• SAP的第二代软件,SAP R/2的开发于1979年在沃尔多夫末尾成型。 硬件前景的改动发作了更好的运用资源的方法,这对SAP R/2的开发 起到了协助。例如,存储空间的增大为对话信息的暂时性存储提供了 便利。如今数据可以写到缓冲区中,这就简化并加快了顺序的执行。 另外一个创新 点是"BASIS"系统的运用,它可以作为不同操作系统之 间的适配器,保证SAP R/2能在IBM的计算机上运转,也能在西门子 的新型机上运用。Hasso Plattner说:〝我自己对这个系统的开发义 务 更多的着眼于潜在的技术而非仅仅是运用顺序。〞
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cluster Table本身是一個Key Field集合的Table,他在DB中實體的Table name是RFBLG,用SE11查一下你會發現它只有幾個Key Field,跟BSEG差了一堆,所以BSEG是SAP的東西,他本身是FITable的集合體,意思就是說當你每查一筆BSEG的ROW ,DB就要同步去把 RFBLG的cluster table MAP table都找出來組成一筆記錄回傳給SAP。Cluster Table 本來就是SAP的應用系統在使用,主要是加快處理效能這跟Oracle 的Cluster table有些類似。所以ABAP在使用Cluster & Pool Table本來就有些限制的,如果去了解一下Cluster table的定義你就會知道,在Query中如果沒有小心使用這個Table,那你的PRD 系統會付出一定的代價的,用ST04 去查一下這個Table的大小你會嚇一跳的。
BSIS:总帐明细(未清帐)
BSAK:应付明细(已清帐)
BSIK:应付明细(未清帐)
BSEG主要通过“凭证号”“会计年度”“行号”和这六张表关联。一般情况下一笔业务产生的凭证都是未清的,那么:如果该业务行是客户相关的,则被记录到BSID;如果该业务行是供应商相关的,则被记录到BSIK;无论和客户相关还是和供应商相关,都是和总帐相关,所以也会有记录到BSIS;但是如果这笔业务被清帐了,则相应的记录会从BSIS转移到BSAS。
BSEG是一个CLUSTER TABLE(簇表)。CLUSTER TABLE和POOL TABLE在SAP中形式是TABLE CLUSTER(表簇)和TABLE POOL(表池),这两种表实际是由若干表组成的。一般CLUSTER TABLE是由若干大的表(如财务凭证数据等业务数据表)组成的,而POOL TABLE是由许多小的表组成的。所以,在INNER JOIN的时候,由于不是和一个表JOIN所以找不到连接的KEY。如果真要用INNER JOIN的话,可以使用这类表的索引表。如BSEG的索引表有:BASAS,BASIS,BSAK,BSIK,BSAD,BSID。
一般情况下:应收账款、预收账款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的总帐科目相关;
应付账款、预付账款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关; 其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。
BSEG本身是一个 Cluster Table(簇表),BSEG就是由上述的六大表的集成,当要读取”BSEG”Table时就等于去读取那六个表,这样你可以想像它读起来会就多慢。对於簇表或Pool Table,都是SAP系统本身在使用的,因此簇表本身是不存在资料库实体的,虽然是可以在ABAP使用,不过还是有一些限制:1.不能使用select distinct or group by语法; 2.不能使用Native SQL; 3.不能使用specify field names after the order by clause; 4.不能在建立次索引; 5.查询时一定要用KEY FIELD。
对于财务数据的增强中涉及BSEG表字段的,最好不要直接读取BSEG表,因为这个表是个簇表( cluster table ),读取性能很差,不到万不得已不要直接读取。而应该搞清楚这个字段是和哪个业务相关,转而在下面六个表中寻找:
BSAD:应收明细(已清帐)
BSID:应收明细(未清帐)
BSAS:总帐明细(已清帐)