SAP ABAP Programming ManualWord文档格式.docx
《SAP ABAP Programming ManualWord文档格式.docx》由会员分享,可在线阅读,更多相关《SAP ABAP Programming ManualWord文档格式.docx(67页珍藏版)》请在冰豆网上搜索。
8.数据结构的使用,如processinternaltable的宣告与使用
ReportsOverview
1.ReportsTask,如报表屏幕预览或打印机打印的选择
2.Reports模块是一个Stand-along程序,
3.database读取方式,如可定义logicaldatabase(与磁盘的physicalstorage对映)
4.报表数据的计算与产生
5.报表的输出
DialogOverview
1.专处理database的读取与异动,如使用SQL指令
2.Dialog不是一个Stand-AlongProgarm,使用transactioncode来产生屏幕对话框
3.由flowlogic控制,flowlogic分成PBO(ProcessBeforeOutput)与PAI(ProcessAfterInput)
2.BeginToProgramming
2.1ABAP/4Editor
CreatingABAP/4Program
使用ABAPWorkbench撰写程序(ChooseTools->
ABAP/4Workbench,TransactionCode:
S001),萤
幕如下:
可分成:
1.ABAP/4Editor:
针对简单的报表或程序,仅使用几个组件或不使用
2.ObiectBrowser:
针对复杂的报表或程序,如DialogTransactionModule撰写
使用ABAP/4Editor撰写程序
1.ABAP/4Editor画面如下(TransactionCode:
SE38):
2.输入程序名称,如果是新程序,按下”Create”,如果修改已存在程序,则按下”Change”或F6键
在命名规则上,Reports程序为Yaxxxxxx或Zaxxxxxx,a表applicationmodule简称,如s表SD
Dialog程序为SAPMYxxx或SAPMZxxx
3.输入程序Attribute
(1).Title:
程序描述或功能说明
(2).Type:
Executemode:
1:
Stand-alongProgram如Reports
I:
IncludeProgram
M:
ModulePool
F:
FunctionGroup
S:
SubroutinePool
(3).Status:
Programdevelopmentstatus:
P:
SAPstandardproductionprogram
K:
Customerproductionprogram
Systemprogram
T:
Testprogram
(4).Application:
程序所属的applicationmodule,如F表Financeialacounting
(5).Developmentclass:
用于同一系统中各个program,如果不属任一class,可使用$TMP
4.撰写SourceCode
Program之后接的是程序名称,Write是显示的意思,会将所接的字符串在屏幕上显示,注意每一
行最后要有一个.(点),表示叙述的结束,储存后回ABAP/4Editor画面
5.执行程序
按”Execute”或F8键,屏幕可见执行所得的结果
重要的编辑键
key
Function
F8
F5
F11
CTRL+F11
执行程序
复制游标所在列的内容
储存档案
删除游标所在列
2.2ABAP/4DataElement
DataType
ABAP/4的数据型态可分成:
TypeLengthRangeInitialValueDescription
C11-65535ByteSpace字符串数据,如’Program’
D88Byte‘00000000’日期数据,格式为YYYYMMDD
F88Byte0浮点数
I4-2^31至2^31-10整数
N11-65535Byte‘00…0’数值所组成的字符串
P81-16Byte0Packed数,用在小数点数
T66Byte‘000000’时间数据,格式为HHMMSS
X11-65535ByteX’00’16进位数
变量宣告
变量宣告包含name,type,length和structure四个部分,使用DATA指令,如
DATA:
S1TYPEI,
SUMTYPEI.
常数宣告
常数宣告使用CONSTANTS指令,如宣告PI是一个小数点5位的值3.14159,
CONSTANTSPITYPEPDECIMALS5VALUE‘3.14159’.
系统所定义数据
这是由系统所定义的专有名辞,如
SPACE空白字符串
SY-SUBRC系统执行传回值,0表示成功
SY-UNAMElogon账号
SY-DATUM系统日期
SY-UZEIT系统时间
SY-TCODE目前的transactioncode
TYPE叙述
用来指定数据型态或宣告自定数据型态
Example:
TYPES:
BEGINOFMYLIST,
NAME(10)TYPEC,
NUMBERTYPEI,
ENDOFMYLIST.
DATALISTTYPEMYLIST.
LIKE叙述
跟TYPE叙述使用格式相同,如
DATATRANSCODELIKESY-TCODE.
不同的是LIKE用在已有值的数据项,如系统变量,而TYPE叙述则是用
在指定数据型态。
DATA叙述
语法:
DATA<
f>
[<
length>
]<
type>
value>
][<
decimals>
]
<
:
变量名称,最长30个字符,不可含有+.,:
()等字符
<
数据型态及长度,如LINE(20)TYPEC.MYNAMELIKESY-UNAME.
初值
小数位数
COUNTERTYPEPVALUE1,
FLAGTYPECVALUEISINITIAL,
WEIGHTTYPEPDECIMALS2VALUE‘1.25’.
字段变量的宣告:
BEGINOFADDRESS,
NAME(10)TYPEC,
NUMBERTYPEP,
ENDOFADDRESS.
使用时用字段变量加上组件名称,如ADDRESS-NAME
CONSTANTS叙述
用来宣告常数
CONSTANTS<
c>
CONSTANTS:
CNAME(10)VALUE‘周庆日’,
BIRTH_DAYTYPEDVALUE‘19650201’.
STATICS叙述
宣告的变量仅在目前的程序中使用,结束后会自动释放
STATICS<
TABLES叙述
用来宣告TableWorkArea的数据,对映至ABAP/4资料文件(DictionaryObject),
由SQL指令加载所需数据
TABLES<
dbtab>
TABLES:
SPFL.
SELECT*FROMSPFL.
WRITE:
SPFL-MANDT,SPFL-CARRID,SPFL-CONNECTION.
ENDSELECT.
从ABAP/4Dictionary的SPFL档载入MANDT,CARRID,CONNECTION三个字段至
SPFL此TableWorkArea
2.3OutputtingDatatoScreen
Write叙述
ABAP/4用来在屏幕上输出数据的指令是Write指令
Write资料项
数据项可以是常数或变量,如:
WRITE‘Thisissample’.
‘COMPANY:
’,STFL-CARRID.
指定屏幕位置显示
WriteAT[/][<
pos>
][(<
len>
)]资料项
/:
先往下一列
pos:
屏幕X轴坐标
(len):
显示资料的长度
WRITE‘FirstLine’.
WRITE/6‘SecondLine’.
输出结果:
FirstLine
SecondLine
NUMBERTYPEIVALUE‘1234567890’.
TEXT(10)VALUE‘ABCDEFGHIJ’.
(5)NUMBER,/(6)TEXT.
*7890
ABCDEF
指定显示格式
WRITE资料项<
显示格式参数>
显示格式参数:
LEFT-JUSTIFIED资料靠左显示
CENTERED资料靠中间显示
RIGHT-JUSTIFIED资料靠右显示
UNDER<
g>
在资料项<
的X轴开始坐标显示
NO-GAP紧接着显示,不留空格
USI