【崗位說(shuō)明書(shū)】SAPABArogrammingIntroduction
【崗位說(shuō)明書(shū)】
SAPABArogrammin
gIntroduction
zn
non
Introduction to ABAP/4
Author:
Date:
Dec, 2002
[一 Overview
SAP/R3的鷹用程式是在 ABAP Workbench璟境中^^,使用的程式言吾言 SAP命名懸 ABAP/4(Advanced Business Application Programming),依不同的功能,程式型魅(Program Type)可分成:
Type 1
Type 1程式軌行謾程首先H User輸入?yún)?shù)在輸入逗攆重面上,根擄數(shù)僚件自Database中H取資 料,最彳爰符結(jié)果示在輸出重面上 ,道槿程式在 SAP上通常幸艮表程式(Reports),你也可以在程 式中使用Submit指令去軌行另一支幸艮表程式,符輸入?yún)?shù)傅入.
Type M
使用重面程序控制(Screen flow logic control)慮理程式不同功能,軌行需使用Transaction code感程式 的第T固重面(Initial screen),慮理的重面要使用 Screen Painte褸tF工具,整彳固程式由官午多的 screen所
成,也被耦作懸 module pools.
Type F
Type F 程式包含數(shù)彳固Function modules ,不能由transaction code 感回J而是另一支程式所呼叫軌
行,因可包含算午多的 Function modules, 也被耦作懸 Function groups .使用的工具懸
Function Builder .
Type K
不能由 transaction code 改勤,包含數(shù)彳固 global classes , Type K 程式class definitions .使
用 Class Builder 懸工具.
Type J
同檬不能由 transaction code 改勤,包含數(shù)彳固 global interface , Type K 程式interface
definitions .使用 Class Builder 懸工具.
Type S
不能由transaction code 改勤,包含數(shù)彳固副程式 (subroutine), Type S 程式耦懸 subroutine pool ,
不能包含screen敘述.
Type I
ABAP program 使用 INCLUDE 指令符
Type I程式includes,目的在減少程式石房,可以在另
Type I的程式包含迤來(lái),通常使用在資料宣告及程式
K ABAP Statement
附注明(Comments):在每列程式的第一偃I位置檄明 *或在同一列的任一位置以 "檄示.程式
每列第一偃I字必須是 ABAP指令,如
write Test program
每列程式的最彳爰必須以 .檄示程式結(jié)束.
指令的型魅可分成:
宣告U料(Declarative Statements)
宣告程式孰行所需燮數(shù)名耦,如TYPES, DATA, TABLES
模宣告指令(Modularization Statements)
在ABAP程式中宣告11^1敘述:
? Event Keywords
AT SELECTION SCREEN, START-OF-SELECTION, AT USER-COMMAND
? Defining keywords
FORM ..…ENDFORM, FUNCTION ... ENDFUNCTION, MODULE ... ENDMODULE.
控制指令(Control Statements)
根摞資料值修彳行程序 ,如IF, WHILE, CASE
呼叫指令(Call Statements)
呼叫模程式敘述 (modulation statement), 如 PERFORM, CALL, SET USER-COMMAND,
SUBMIT, LEAVE TO
算指令(Operational Statements)
軌行資料的^算如 WRITE, MOVE, ADD
It料康指令(Database Statements)
軌行資料康槽案的It理 ,可使用Open SQL或Native SQL言吾法.
Open SQL
Open SQL 依循檄型SQL92言吾法,透謾資料康介面至資料理資料 ,如SELECT, INSERT, and DELETE.但不包含WWI定薪吾法,如 CREATE TABLE 或 CREATE INDEX.
Native SQL
Native SQL 直接存取資料康不透謾資料康介面 ,在一月^的ABAP程式3t不使用.只使用在某些
特殊資料康虞理,如Data Dictionary 即是使用 Native SQL 去Create Table
Creating and Change Program Using ABAP Editor
使用 ABAP Editor 直接來(lái)褊It程式,軌彳T Transaction code SE38(Tools-> ABAP Workbench -> User Interface -> ABAP Editor).
Prog ran
fCHOU804
Crea te
Subobjecrs/
Source code
Var iani5
Attributes
IkicLmEnrati on Q Text elements
Di 印 lay ) Cha 曄
.Source Code
ABAP程式重面
Variants
定兼程式軌行畤輸入楠位的值 ,存入指定Variant名耦,軌行程式日寺可供逗取
Attributes
(1) .Title:程式描述或功能^明
(2) .Type :Execute mode: 1: Stand-along Program 如 Reports
1: Include Program
M: Module Pool
F: Function Group
S: Subroutine Pool
(3) .Status :Program development status: P: SAP standard production program
K: Customer production program
S: System program
T: Test program
(4) .Application: 程式所腐的 application module, 如 F 表 Financial acounting
(5) .Development class:用於同一 SAP系統(tǒng)中各彳固program,用於停至另一 SAP系統(tǒng),測(cè)封港1式可 使用$TMP
? Documentation
撰K程式相信封的程式文件 .
? Text elements
指定程式text elements 的內(nèi)容,用在程式軌行日寺的輸入提示敘述或幸艮表輸出
Begin to Writing ABAB Program
以撰示系統(tǒng)日期日寺^的程式卷例 ,需求輸出卷
This is my first ABAP Program
System Date: 12/29/2002
System Time: 16:58:51
Step1: Assign Program Name
孰彳T Transaction code SE38(Tools-> ABAP Workbench -> User Interface -> ABAP Editor).
Piogratn SCH0120020011 g) [□ Create
5ubot)jECt5
9 5口um code
怕 r iants
口 kttrilbutes
Uocumentatwn
/ Tux t elecaents
q Di splay 夕 Change
It入程式名耦懸 ZCHOU2002001, 第一偃I字母 Z或丫表Add-on Program, 按
n Create
Step2: Edit Program Attribution
ft入 Title, Type 及 Status 彳爰按
號(hào)A3AP: Program ATtiibutes 2noJNtlK口口: ChanEe
Step3: Assign Development Class
Local object
如果^目的,逗擇
ft 入指定的 Development Class,
Step4: Writing Program Source
Report
ZCHOU2002001
Inactv.
[第]□同 百扇ii匾 畫(huà)面 EEPORT ZCHOU200200r.
可RITE: / This is iy first ABAP progran1.
可RITE: / System Date: 1 ,SY-DATIJM .
可RITE; / System Tli^: 1 PSY-UZEIT.
WRITE指令懸符之彳爰的資料輸出在蟄幕上 ,加上/表示跳列
Step5: Statement Syntax Check
■Program-〉Check-> Syntax check 或按Ctrl + F2檢查言吾法是否瓢嵌^ ,需完全沒(méi)有^嵌^程式才 可孰行.
Step6: Save Program
SProgram-〉Save 或按 Ctrl + S I?存程式.
Step7: Active Program
Program->Active 或按 Ctrl + F3 Active 程式,如果程式未 Active 同M堇能使用 ABAP Editor 軌 行,不能使用Transaction code 或由另一程式呼叫.
Step8: Execute Program
SProgram-> Execute 或按 F8 軌行程式.
Step9: Display Result
如果程式^至It出重面II示結(jié)果 :
_ 白| q e[曰聞圈|豹的電團(tuán)]_國(guó)
Tra in ing Program
Training Program
This is iy first ABAP proeran
System Date: 11/29/2002
System Tine: 16:58:51
Step10: Left Display Screen
按下 或F3回Source Screen, 恭喜你!你已^完成彳第一偃I ABAP/4 Program.
Dat Data Type
SAP的H料型熊名耦最是:& 30他I字元,使用型熊可分成三H :
Predefined Data Type
由SAP系統(tǒng)定兼的資料型熊,做懸程式中資料宣告及槽案楠位型熊 ,有下列黑槿:
Type
Length
Range
Initial Value
Description
C
1
1-65535Byte
Space
字串資料,如Program
F
8
8Byte
0
浮黑惻
P
8
1-16Byte
0
Packed數(shù),用在小數(shù)黑占數(shù)
I
4
-2人31 至 2A31-1
0
整數(shù)
N
1
1-65535Byte
00 …0
數(shù)值所^成的字串
D
8
8Byte
Oooooooo
日期資料,格式潟1 YYYYMMDD
T
6
6Byte
000000
日寺^資料,格式熱HHMMSS
X
1
1-65535Byte
X’00
16迤位數(shù)
STRING
Dynamic 1-65535Byte
Space
JI度不固定的字串
Local Data Type in Program
用在程式中宣告自定的資料型魅 ,使用TYPES指令宣告
TYPES <T> [TYPE <type> / LIKE <object>]
Example:
TYPES: length TYPE I.
Example:
TYPES: name(10) TYPE C.
Example:
TYPES: BEGIN OF person,
Name(10) TYPE C,
Tel(25) TYPE C,
END OF person.
Example:
TYPES ty_p TYPE p.
DATA gv_p TYPE ty_p.
gv_p = 1.
Data Type in ABAP Dictionary
U料型熊名耦由 ABAP Dictionary(Transaction code SE11) 定H ,
冢 rans pa rmt" taliTe
VBAK
Active
Short description
Attributes
Sales DocLiienc. Headei Eata
Fitlds
picM type Eaca Type
山.
Chtc .
Short rtAt
GVLDT
GffLDT _DATS
8
juarantee date
SUEKI
SUBHI SD CHAR
10
Collective number (5D)
L1FSE
LIFSK CHAR
2
TVLS
Deliveiy block (document header)
1
F螳罪卡缺、一
2
TVFS
Billing block in 5D dociuinent
HETUR
WETPR AK CURE J)
15
Net Value of the Sales Order in Duct皿ent Qjriency
叫 EEK_
諭ERK _匚呼/
5 Tme
5D document currency
?K0RG
H
VKORG CHAR
4
ITO
Sales DrianisatiDii
PTIEG
H
VTVEG CHAR
2
TVKQV
Distribution channtl
A
—
SPAR!
ID
SPART CHAR
2TVTA
Division
*
園尋同lg囪
New rows
D& e element/Di red type
fields \ CuTienc^quan:. fieldi
如上6I檄示資料型熊名耦懸 VBAK-NETWR, 是度及其它腐性在 Data Element NETWR_AK ”定兼
Data Objects
Data Objects 存在於程式軌行期^ (run time),在程式中先宣告 Object Name,自U料康槽案或程式
^算得到的結(jié)果都要先存入 Data Object中供程式其它指令軌行.
二 Literals
以下是合法的資料表示:
Numeric Data
1000
-3500
125.56
12E2 ???
小數(shù)黑占數(shù)及科擘符虢瓷料前彳爰必以
Text Data
Neihu, Taipei
Kenny "s Document
字串前彳爰必須以 ‘檄示.
Text Symbols
在ABAP Editor中的 Text Elements指定,Symbol ID 篇3礁,曾瞬上自001 始褊礁
Pros 整國(guó) ZCIDV2002002 Active
Tcjst ( 5rIrction trarg Li it hrgdtngi
團(tuán)花畫(huà)闞
國(guó)道
Text
> 1 ti El cc tram c Inc JI
diLen rn
0
(I
n
o-
□LEH.
0
如上6I靶例,程式中使用懸
WRITE:/ text-001.
慚出結(jié)果左y :
Delta Electronics Inc,
Variables
名耦最是懸30 Character,第一偃I字元必懸英文字母 避免使用特殊符虢,使用DATA指令宣告:
(A-Z),由文數(shù)字及特殊字元成 (—)所<!成,
Example:
DATA: age TYPE I.
Predefined data type 使用 TYPE
Example:
DATA: money LIKE VBAK-NETWR.
Dictionary Object 使用 LIKE
Example:
DATA: BEGIN OF ADDRESS,
CITY(20)
TYPE
C,
STREET(30)
TYPE
C,
TEL
LIKE
ADRC-TELFX,
END OF ADDRESS.
宣告 Structure ADDRESS 包含 CITY ,STREET,TEL 楠位.
* Constants
Constants懸在程式中所指定的固定值
名^度最是30彳固字兀
Syntax:
CONSTANTS
[VALUE
Example:
CONSTANTS:
Example:
CONSTANTS
<Object> [TYPES / LIKE <data type>] [DECIMALS n]
<const> / VALUES IS INITIAL]
company LIKE VBAK-BUKRS VALUES TW00
pdate TYPES D VALUES SY-DATUM.
Predefined Data Objects
由SAP系統(tǒng)定兼的 Data Objects, 如:
SPACE
Data Type 篇C, <度1彳固字元,是T固Constant, 值懸空白字元
System Object
SY-SUBRC 系統(tǒng)軌行傅回值,0表示成功
SY-UNAME logon 巧
SY-DATUM 系統(tǒng)日期
SY-UZEIT 系統(tǒng)畤
SY-TCODE 目前的 transaction code
得知所有 System Object
可至 Dictionary 查Structure SYST
Processing Data
Assign Value
Syntax:
MOVE <F1> TO <F2>
> F1的值存至燮數(shù) F2中,也可K成 F2 = F1
Example:
MOVE MONEY TO M_NAME.
M_NAME = CHER
Syntax: MOVE-CORRESPONDING <Struc1> TO <Struc2> > Structure <Struc1>所有楠位內(nèi)容存至 Structure <Struc2>相同名耦楠位中
Example:
DATA: BEGIN OF ADDRESS, FIRSTNAME(10) VALUE LULU,
LASTNAME(10) VALUE CHOU,
TEL(12) VALUE 4660570 , END OF ADDRESS.
DATA:BEGIN OF NAME, FIRSTNAME(10), LASTNAME(10), E_MAIL(30), END OF NAME.
MOVE-CORRESPONDING ADDRESS TO NAME. NAME-FIRSTNAME 建成 LULU , NAME-LASTNAME 建成 CHOU 而NAME-E_MAIL 即不燮
Syntax:
MOVE <F1>[+<O1>] TO <F2>[+<O2>]
Example:
DATA: F1(10) VALUE ABCDEFGHIJ .
F2(5).
5偃I字元
F2 = F1+3(5). 自第4偃I位置^始取出
F2的內(nèi)容曾建成 DEFGH
「哆 Initial Variable Objects
Syntax: CLEAR <f>
清除燮數(shù)現(xiàn)在內(nèi)容,恢彳復(fù)成初值
Example:
DATA N TYPE I VALUE 100.
CLEAR N.
燮數(shù)N的內(nèi)容建成 0
I 可 Numeric Operand
** 乘幕
* 乘
/ 除
+ 加
- 3成
DIV 整數(shù)除法
MOD 繪數(shù)除法
在^算符虢前彳爰至少需一偃I空白字元 .
Example:
Amount = Qty * Price.
「鄉(xiāng) Numeric Function
1.ABS( N ):?;?cái)?shù)值N的觸射值
2.SIGN( N ):
1 if N > 0
0 if N = 0
-1 if N < 0
3 .CEIL(N):傅回大於數(shù)值 N的最小整數(shù)
Example:
WRITE CEIL(-5.65) 印出 500
WRITE CELL(4.54) 印出 5.00
4 .FLOOR(N):傅回小於數(shù)值 N的最大整數(shù)
Example:
WRITE FLOOR(-5.65) 印出 600
WRITE FLOOR(4.54)印出 4.00
5 .TRUNC(N):?;?cái)?shù)值N的整數(shù)部分
Example:
WRITE TRUNC(5.65) 印出 5.00
6 .FRAC(N): 停回?cái)?shù)值 N的小數(shù)部分
Example:
WRITE FRAC(5.65)印出 0.65
7 .COS(A),SIN(A),TAN(A): ?;厝呛瘮?shù) cos A, sin A, tan A 的值,A 懸蟀度量
8 .EXP(N):?;?eAN 值
9 .LOG(N):停回 log eN 值
10 LOG10(N): ?;?log N 值
11 .SQRT(N):停回N的平方根值
Date and Time Data Calculation
1 .日期資料的^算
日期資料可以直接^算,如加法輿減法的^算
Example:
DATA: Mdata TYPE D.
Mdate = SY-DATUM. “如?;?19971015
Mdate+6(2) = 01 Mdate 建成 19971001
Mdate = Mdate - 1 “Mdate 建成 19970930
2 .日寺^資料的^算
日寺^格式懸 hhmmss,如 212030 表’21:20:30
Example:
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. 算黑分金童
T2 T1得到結(jié)果的軍位懸秒
String Object Calculation
「Shifting field contents
Syntax:
SHIFT <c> [BY <n> PLACES] [<modes>] <modes> : (1).空白,字串往左移一位
⑵.LEFT,字串往左移 n位
(3) .RIGHT,字串往右移 n位
(4) .CIRCULAR: 字串以璟狀方式移位
Example:
DATA STRING(10) VALUE ABCDEFGHIJ .
SHIFT STRING. 得至U BCDEFGHI
SHIFT STRING BY 2 PLACES RIGHT. 得至U ABCDEFGH
2.Replacing field contents
Syntax:
REPLACE <string1> WITH <string2> INTO <c> 月等字串 <c>中的<string1> 以<string2> 來(lái)取代
Example:
DATA: STRING(10) VALUE ABCDEFGHI ,
STR1(3) VALUE DEF,
STR2(3) VALUE 123.
REPLACE STR1 WITH STR2 INTO STRING. WRITE / STRING. 得至U ABC123GHI
3.Converting to uppercase or lowercase characters Syntax:
TRANSLATE <c> TO UPPER CASE. 傅成大嘉
TRANSLATE <c> TO LOWER CASE. 傅成小嘉
4.Searching character string
Syntax:
SEARCH <c> FOR <str>
Example:
DATA STRING(10) VALUE ABCDEFGHIJ .
曾回存至廂固 System Object, SY-SUBRC 和 SY-FDPOS,若找到HU SY-SUBRC 熱 0 SY-FDPOS 存^始位置,若找不到HU SY-SUBRC 熱 4, SY-FDPOS 熱 0
5.String length STRLEN(<c>)
Example:
LEN = STRLEN( XYZABC ).
得到6
LEN = STRLEN( ABC ). 得至 U 3
6.Substring
<f>[+<o>][<l>]
Example:
DATA T(10) VALUE ‘ABCDEFGHIJ ’.
WRITE / T+2(4). “得到 CDEF
7 .Condencing character string
Syntax:
CONDENSE <String> [NO-GAPS]
去除<String>前彳爰的空白字串,加上參數(shù) NO-GAPS表去除<String>中的所有空白 Example:
DATA: NAME(20) TYPE C VALUE ‘Green Tea! ’.
LEN = STRLEN(NAME). “得到 20
CONDENSE NAME.
LEN = STRLEN(NAME). “得到 10
CONDENSE NAME NO-GAPS.
WRITE:/ NAME. 得到的結(jié)果是 GreenTea! 是度建成 9
8 .Concatenating character fields
Syntax:
CONCATENATE <str1> <str2> INTO <str0> [SEPARATED BY <deli>] 合伊 <Str1> 和 <Str2> 至 <Str0>,力口上[SEPARATED BY <deli>] 可以 <deli> 分隔 Example:
STR1 = ‘NEIHU ’.
STR2 = ‘TAIPEI ’.
CONCATENATE STR1 STR2 INTO NAME.
WRITE: / NAME. 結(jié)果懸 NEUHUTAIPEI
CONCATENATE STR1 STR2 INTO NAME SEPARATED BY SPACE.
WRITE: / NAME. 結(jié)果懸 NEUHU TAIPEI
9 .Splitting character fields
Syntax:
SPLIT <str0> AT <deli> INTO <str1> <str2>
依字元<deli>分割字串<str0>懸<Str1>和<Str2>
Example:
NAME = ‘NEIHU ,TAIPEI ’. .
SPLIT NAME AT ‘,’ INTO STR1 STR2.
WRITE:/ STR1.
WRITE:/ STR2.
結(jié)果
NEIHU
TAIPEI
Flow Controlling
P
Compared
Operand
1.
二或EQ
:等於
2.
〈>或〉〈或NE
:不等於
3.
〈或LT
:小於
4.
〈二或 LE
:小於等於
5.
>或GT
:大於
6.
>=或 GE
:大於等於
7.
AND
:且
8.
OR
:或
9.
NOT
:非
Branch Coi
ntrolling
1.
IF述敘
Syntax:
IF <Condition1>.
〈Statement 1 >
ELSEIF <Condition2>.
〈Statement 2>
ELSEIF <Condition3>.
〈Statement 3>
…..
ELSE.
〈else Statement >
ENDIF.
Example:
IF 3 > 8.
WRITE / 3 is less than 8
ENDIF.
2. CASE敘述
Syntax:
CASE 〈燮數(shù) f>.
WHEN〈Value1>.
〈Statement。
WHEN <Value2>.
<Statement2> ….
WHEN OTHERS.
〈others Statement〉
ENDCASE.
Example:
S = A.
CASE S.
WHEN X.
WRITE / String is X .
WHEN A.
WRITE / String isA.
WHEN OTHERS.
WRITE / String isOTHERS .
ENDCASE.
根擄I Variable S的值(A),得到輸出結(jié)果懸
String is A
包
L Loop Controlling
Syntax:
WHILE 〈Condition〉.
〈Statement Block〉
ENDWHILE
Example:
I = 1.
S=0.
WHILE I <= 10.
S = S+I.
I=I+1.
ENDWHILE.
WRITE: / 1+2+3+ …+10= ,S
軌行結(jié)果懸:1+2+3+…+10=55
1. SY-INDEX
SY-INDEX 懸言己金氮1圈次數(shù)的 System Object. Data type 懸整數(shù)型魅
2. Skip to next loop
CONTINUE
跳至迥圈的下一次
Example:
I = 1.
WHILE I <= 3.
IF SY-INDEX = 2.
CONTINUE.
WRITE: / SY-INDEX.
ENDIF.
I = I + 1.
ENDWHILE.
軌行結(jié)果:
1
3
3. Condition check for next loop
CHECK <Condition>
CHECK修件成立才畿往下軌行迥圈
Example:
I = 1.
WHILE I <= 5.
4.
CHECK SY-INDEX BETWEEN 2 AND
WRITE / SY-INDEX.
ENDWHILE.
軌行結(jié)果:
2
3
4
4. Terminated from loop
EXIT
跳雕迥圈敘述
Example:
I = 1.
WHILE I <= 10.
IF SY-INDEX = 4.
EXIT.
ENDIF
WRITE / SY-INDEX.
ENDWHILE.
軌行結(jié)果:
1
Output and Input Commands
WRITE command
蟄幕上ft出 Data Object內(nèi)容
Syntax::
WRITE [ / ] <Object> [〈Parameters〉]
Example:
WRITE This is sample
WRITE: COMPANY: :STFL-CARRID.
Represent position
Syntax:
WRITE [ / ] [<pos>] [(<len>)] 〈Object〉
/ :先往下一列
pos :蟄幕X軸座檄
(len): 示資料的是度
Example:
WRITE / 6 Second Line.
輸出結(jié)果:
Second Line
Example:
DATA: NUMBER TYPE I VALUE 1234567890 TEXT(10) VALUE ABCDEFGHIJ .
WRITE: /(5) NUMBER.
WRITE: /(6) TEXT.
輸出結(jié)果:
*7890 aaa
ABCDEF 字串資料由左至右取出 5偃I字元
Output Formatting
Syntax:
WRITE <Object>
<Format> Parameters:
LEFT-JUSTIFIED
CENTERED
<Format>
資料靠左II示
資料靠中示
資料靠右II示
在資料項(xiàng)<g>的X*蠅O臺(tái)座檄IK示
聚接著II示,不留空格
使用內(nèi)嵌字元I1示 ,如11:20:30
不使用內(nèi)嵌字元
數(shù)字前面0的部分不I1示
不II示正I1虢
II示d位小數(shù)位數(shù)
F(浮黑占矍攵)exponent的值
四拾五人至小數(shù)位數(shù)下 r位
整別II示
日期示格式
RIGHT-JUSTIFIED
UNDER <g>
NO-GAP
USING EDIT MASK <m>
USING NO EDIT MASK
NO-ZERO
NO-SIGN
DECIMALS <d>
EXPONENT<e>
ROUND <r>
CURRENCY <c>
DD/MM/YY
MM/DD/YY
DD/MM/YYYY
MM/DD/YYYY
DDMMYY
MMDDYY
YYMMDD
Example:
DATA: X TYPE I VALUE 112030, A(5) VALUE ABCDE .
WRITE X USING EDIT MASK
It出結(jié)果懸 11:20:30
WRITE X USING EDIT MASK $,
It出結(jié)果懸 $112,030
SKIP command
Syntax:
SKIP [<n>]
罩褐一偃I SKIP曾生一偃I空白列
Example:
WRITE PASS1.
SKIP.
WRITE PASS2.
輸出結(jié)果:
PASS1
PASS2
Display icons
可以H示R/3系統(tǒng)所提供的符虢或圃示
Syntax:
WRITE <symbol-name> AS SYMBOL
WRITE <icon-name> AS ICON
Example:
INCLUDE <SYMBOL>
INCLUDE <ICON>
WRITE: / Phone Symbol:, SYM_PHONE AS SYMBOL.
WRITE: / Alarm Icon: , ICON_ALARM AS ICON.
軌行結(jié)果:
Phone Spmbol:雙
Alarn Icun:如
要查看系統(tǒng)所提供有那些符虢及圃示 ,可逗攆 Edit”下的 Pattern ”,逗攆
WRITE ”
接下來(lái)1攆要查的群^ ,如SYM_*或ICON*, 按下拉查前即可.
Asscnib lc a WRITE Sts /I
I can s
in 1 i q M
—
◎ Copy 赦 Display Initialize
Icon
Name
Prints bl
Ontput froca
ICOH_NEXr_VALUE ICON PREVIOUS VALUE
y
y
Fid
iconIejecute.object
V
Wol |5YM_*
ICO]f_SELECT_SrUL
ICOK_PRINT
ICOH_CDPy_比犯口1
ICOW_t
l/
1/
3 Line LINE *
ICOH SORT DOW
V
Checkbsx
1COM S3RTJP
IOT SEARCH
ICON INSERT ROW
11/
Ol tpiu t to
II/
X
Struct-
t口 naw J ine
_| Ttii thcut liai 1 ing blank
ICOlf_DELETE_RO1 ICO]f_OiAUGE_TEXr IC01T_CREiTE_IEXr icoujisplayjekt ICOK.ANNOTATION ICOJ.CREiTEJIOTE ICOlf.DISPLAY HOTE ICOlf ADDRESS
8
1/
/
1/
1/
undtr fid
1/
a
K
Color HcOL_*
I COILGRAPH ICS ICOIJNFDRSATIOW ICON_CALCULATIOW
it/
| Intcnsi f icd display
1 Invtrse display
Di splay Es inpu t fi =!d
/ l/
.
*
L
Di splay . hotsuDt
/ aoose M ffl
nm>n
多 Display data as check box
以字串資料內(nèi)容的第一偃|字元懸 CHECK BOX的輸出,如果是空白,CHECK BOX 示
懸空白,相反HUil示X ,可用在暹輯判H檢查
Syntax:
WRITE <Object> AS CHECKBOX.
Example:
DATA:
FLAG1 VALUE
.
FLAG2 VALUE
X:
WRITE: /
CHECK FLAG 1:
,FLAG1
AS
CHECKBOX.
WRITE: /
CHECK FLAG 2:
,FLAG2
AS
CHECKBOX.
軌行結(jié)果:
Check
Flag 1: r
Check
Flag 2:
一 PARAMETERS command
基本的輸入命令,^似如BASIC的INPUT命令,It入 Data object內(nèi)容,但瓢法使用 F(Floating)
資料格式
Syntax:
PARAMETERS <p> [LIKE <Object> ] [DEFAULT <f>] [LOWER CASE]
[OBLIGATORY] [AS CHECKBOX]
[RADIOBUTTON GROUP <rad>]
Example:
PARAMETERS: NAME(8),
AGE TYPE I,
BIRTH TYPE D.
軌行結(jié)果:
NAIVE l.lLtf
AGE 32
BIRTH USfVn/19f>6
在日期的 It 入格式上懸 MM/DD/YY , MM/DD/YYYY , MMDDYY
或 MMDDYYYY , 如It入 020165 表 1965 年 02 月 01 日,輿 02/01/65
的輸入是一檬的,日期輸入靶圉懸西元 1950年至2049年
LIKE
指定輸入箭逗逗攆懸<Object>資料內(nèi)容
Example: PARAMETERS: MID LIKE VBAK-VBELN.
DEFAULT
^定輸入的51^值
Example: PARAMETERS: COMPANY(20) DEFAULT DELTA ,
BIRTH TYPE D DEFAULT 19650201 .
LOWER CASE
ABAP/4 J1骰:是符字串輸入值自勤醇換卷大K ,加上此參數(shù)曾符輸入的資料
醇成小K ,
OBLIGATORY
弓金制要求輸入,螯幕上曾出現(xiàn)一彳固 ?,使用者必要輸入值.
AS CHECKBOX
輸入CHECKBOX的格式
Example: PARAMETERS: TAX AS CHECKBOX DEFAULT X, NTD AS CHECKBOX.
軌行結(jié)果:
g : TAX |— IM TO
RADIOBUTTON GROUP <rad>
It入 RADIO BUTTON GROUP 的方式
Example:
PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT X,
GIRL RADIOBUTTON GROUP SEX.
軌行結(jié)果:
BOY [ff]
GIRL C
SELECT-OPTIONS command
修件甄圉輸入重面指令,
Syntax:
SELEC-OPTIONS <check-option> FOR <table-field>
Example:
TABLES SPFLI.
SELECT-OPTIONS AIRLINE FOR SPFLI-CONNID.
符修件的It入值存放入 AIRLINE,箭國(guó)圜載^ SPFLI中的CONNID楠位
軌行結(jié)果:
Selediora options
如 RUNE
可直接輸入起始靶圉或按下逗擇重面 ,輸入完彳爰按下左上角的軌行H
From search help
按下輸入]1的右遏往下箭H ,叫出育德量巽擇楠位 Table中資料XK ,逗取^始和結(jié)束的甄圉
Selection Options
軌行日寺按下 Edit”-> Selection options ”輸入Option及Sign 11數(shù)內(nèi)容,蟄幕如下
M ID
Description
Single value
Greatei than ci equal to
Lt5 5 tWn 口 i rquml to
Greatei than
Lr5 5 tlian
Nat equal to
_ I k「,.
105Elec1: | ■ Ek elude frcim 弓2 1,2匚 tiu ?
Multi-Options
按下最右遏的 4 H,輸入僚件逗取的甄圉,重面如下
O Single s OO QO Sinfile a I s ,<? Rarges
可輸多彳固不速^值或修件靶圉,修件輸入完彳爰按下 口
DEFAULT
^定^始結(jié)束甄圉輸入51^值
Example:
SELECT-OPTIONS: AIRLINE FOR SPFLI-CONNID
DEFAULT 2042 TO 4555
NO-EXTENSION
骰:定不要Multi-Option ft入重面
NO INTERVALS
定不要甄圉輸入重面
LOWER CASE
輸入醇換成大癮
OBLIGATORY
弓金制要求輸入
SELECTION-SCREEN command
如外框等.
SKIP [<n>]
SKIP 2.
ULINE / <pos>(length)
ULINE /10(30).
30的底^
BEGIN OF BLOCK <block> FRAME [TITLE <title>].
END OF BLOCK <block>.
BEGIN OF BLOCK RADIO WITH
FRAME.
崖生輸入重面的效果
Insert space line
Syntax:
SELECTION-SCREEN
Example:
SELECTION-SCREEN
fg生雨列空白列
Under score
Syntax:
SELECTION-SCREEN
Example:
SELECTION-SCREEN
自第10格^始生辰度
Printing block panel
Syntax:
SELECTION-SCREEN
[WITH
SELECTION-SCREEN
Example:
SELECTION-SCREEN
PARAMETER R1
PARAMETER R2
PARAMETER R3
SELECTION-SCREEN
RADIOBUTTON
GROUP
GR1.
RADIOBUTTON
GROUP
GR1.
RADIOBUTTON
GROUP
GR1.
END OF BLOCK
RADIO.
int Internal Tables
ABAP/4的Internal Table如同其它言吾言的 Array資料結(jié)情,由言午多具有相同楠位的言己金泉所仙成 ,
在程式孰行中存於系統(tǒng)制隨ft ,在慮理上可以有^^,刪除,新增插入等功能.
自 SAP R/3 4.0 彳菱 Table type 可分成:
Standard Table
Standard table 具有 internal linea門(mén)ndex ,在U料H取日f(shuō)可藉由 index 或 key field 至U料位置,key field可指定懸可重覆值(non-unique)或不可重覆值,所以在增加新言己金翱寺速度較快,但H取U料祝 table4圖肇?cái)?shù)而定,Mtm愈多,速度愈慢.
Sorted Table
同檬也具有internal linear index ,在U料H取日f(shuō)可藉由 index或key field 至U料位置,在key field 可指定懸可重覆值(non-unique)或不可重覆值,U料取速度相封 standard table較快,新增加言己金錄 日寺由於key field ^故較慢.
Hashed Table
沒(méi)有internal linear index , U料取日寺藉由 key field 做二元搜尊(binary search),搜尊速度不受4 1sli 數(shù)影!!是固定的,key field 一定要指定懸不可重覆 (unique),較遹合用在大量肇?cái)?shù)的 internal table M
理.
sapDB table 分為三種類(lèi)型:
1 .透明表(Transp table ),這個(gè)表中的字段是與數(shù)據(jù)庫(kù)里的字段一一對(duì)應(yīng),是最常用,最多的表
例如:Mara
2 .共享表Pooled Table 在數(shù)據(jù)庫(kù)里的存儲(chǔ)是存儲(chǔ)到一個(gè)表中,存儲(chǔ)是多對(duì)一的關(guān)系,可能多個(gè)
Pooled Table 存儲(chǔ)到一個(gè)數(shù)據(jù)庫(kù)表。
例如:A004,A005
Cluster Table 存
3 .聚集表 Cluster Table 和Pooled Table 一樣,存儲(chǔ)也是多對(duì)一的關(guān)系,區(qū)別是
Cluster Table
儲(chǔ)關(guān)鍵字段(鍵),其中有一個(gè)字段存儲(chǔ)了 Cluster Table的其它字段。注意一點(diǎn):
除主鍵其它字段不能寫(xiě)其它表進(jìn)行連接( join )。
例如:BSEG(BSEG于一般的透明表不同,它是一個(gè)簇表。對(duì)于一個(gè)簇表來(lái)說(shuō),除了 主鍵項(xiàng)目外,其他項(xiàng)目都被編輯到一個(gè)長(zhǎng)文本項(xiàng)目