学习SAP ABAP需要哪些基础知识

5S的理想状态 在日常的精益管理中,我们都会强调5S,认为这是通往精益的基...
您有可能感兴趣的文章
推荐学习文档
热点学习文档
年度热点学习文档
Copyright &
All Rights Reserved.
网站声明:SAP和SAP LOGO是SAP AG公司商标,SAP中文学习网与SAP并无任何关联。Anything is possible!(专注.NET,SAP FIOC,SAP ABAP)
一个人对于某个领域的理解,领会,实践,都有可能是片面的,沟通是最好的老师,可达到共同提高。
随笔- 274&
评论- 350&
三、各种定义
DATA:XX TYPE YY VALUE'ZZ'
*参照数据字典定义
*参照数据元素定义
data v9 type zdata_jg_.
*参照数据库表的字段定义
data v10 type scarr-carrid.
CONSTANTS c1 TYPE i VALUE '1'.
*定义单值选侧屏幕
PARAMETERS p1(8) TYPE n default 'AA'.
*参照自定义类型定义变量
TYPES t1(10) TYPE c.
DATA v9 TYPE t1.
*参照自定义变量定义变量
DATA v10 LIKE v9.
*参照数据字典中的TYPE GROUP定义数据类型
TYPE-POOLS zjg01 .
data v20 type zjg01_z1.
DATA : BEGIN OF wa,
&&&&&& carrid TYPE spfli-carrid,
&&&&&& connid TYPE spfli-connid,
&&&&&& cityfrom TYPE spfli-cityfrom,
&&&&&& cityto TYPE spfli-cityto,
&&&&&& distance TYPE spfli-distance,
&&&&&& distid TYPE string,
&&&&&& END OF wa.
根据结构定义内表
DATA itab LIKE TABLE OF wa.
流程控制-IF…ELSE
IF a & 12.
&WRITE : '他比12大'.
&WRITE : '他比12小'.
DO 10 TIMES.
&WRITE: / '这是第',ie,'次'.
&ie = ie + 1.
把内表循环到结构中
LOOP AT itab INTO wa.
&WRITE : / wa-id.
内表各种操作-collect
在内表中一定有一个数值型的字段,而且其他字段均为字符型
把数值型字段上的数加起来
DATA : BEGIN OF wa,
&&&&& a(4) TYPE c,
&&&&& b(4) TYPE c,
&&&&& c TYPE i,
&&&&& END OF wa.
DATA itab LIKE TABLE OF wa.
wa-a = '001'.
wa-b = '0101'.
wa-c = 100.
*APPEND wa TO itab.
COLLECT wa INTO itab.
wa-a = '002'.
wa-b = '0201'.
wa-c = 200.
*APPEND wa TO itab.
COLLECT wa INTO itab.
wa-a = '002'.
wa-b = '0201'.
wa-c = 100.
*APPEND wa TO itab.
COLLECT wa INTO itab.
LOOP AT itab INTO wa.
&WRITE : / wa-a,
&&&&&&&&&&& wa-b,
&&&&&&&&&&& wa-c.
内表各种操作-read
LOOP AT itab1 INTO wa.
&READ TABLE itab2 INTO wa1 WITH KEY carrid = wa-carrid.
&IF sy-subrc && 0.
&clear wa1.
&&& move-corresponding wa to wa1.
&&& append wa1 to itab2.
根据结构修改内表
modify itab from wa.
1、把SQL结果放入内表中
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO CORRESPONDING FIELDS OF TABLE itab. 放到了内表中
INTO CORRESPONDING FIELDS OF wa.放到了结构中
2.1、多表查询
SELECT scarr~carrid scarr~carrname spfli~connid spfli~cityfrom
spfli~cityto
&&FROM scarr INNER JOIN spfli
&&&& &ON scarr~carrid = spfli~carrid
&& INTO CORRESPONDING FIELDS OF TABLE itab.
2.2、更多表查询
SELECT spfli~carrid spfli~connid spfli~cityfrom spfli~cityto
sbook~fldate sbook~bookid sbook~customid sbook~custtype scustom~name
scustom~street
&& FROM spfli INNER JOIN sbook
&&&& &ON spfli~carrid = sbook~carrid AND spfli~connid = sbook~connid
&&&&&&&& &INNER JOIN scustom
&&&&&&&&&&&& ON sbook~customid = scustom~id
&&&&&&&&&&&&&&& INTO CORRESPONDING FIELDS OF TABLE itab.
各种关键字
APPEND wa TO itab.把结构搞到内表中
MOVE&TO 结构赋值
modify itab from wa根据结构修改内表
MOVE-CORRESPONDING str1 TO str3.同名字段赋值
data:v1 type i value '1'.
v2 type i.
do 50 times.
v2 = v1 ** 2.
write :&v1,v2.
字符串操作
CONCATENATE wa-fldate wa-week INTO wa-www SEPARATED BY
三种类型:值传递,值传递并返回
# 1.值传递-实参在传递过程中不发生改变,只是传递一个实参的拷贝,适用于值不能改变的单值,不适合内表参数传递。
# 2.值传递并返回结果-传递一个实参的拷贝,实参的拷贝发生改变,返回给实参,适合于可以改变的单值传递,不适合内表参数传递。
# 3.引用传递-传递实参,子程序运行结束后,实参根据子程序运行结果,适合单值也适合内表。
看看代码就知道怎么用了
DATA : a TYPE i,
&&&&&& b TYPE i,
&&&&&& c TYPE i.
PERFORM x &USING a.这是值传递
PERFORM y CHANGING b.这是值传递改变
PERFORM z CHANGING c.这是引用传递
PERFORM xyz USING a
&&&&&&&&&&& CHANGING b
&&&&&&&&&&&&&&&&&&&& c.连起来就是这么用滴
*值传递和值传递引用改变需要写个value,引用传递不需要
FORM xyz USING value(f1) TYPE i值传递
&&&&&&&& CHANGING value(f2) TYPE i值传递改变
&& &&&&&&&&&&&&&&&f3 TYPE i.引用传递
*如果传入的是内表,子程序中可以这么写
FORM xyz CHANGING p-itab like itab.
*也可以这么写吧
FORM xyz CHANGING p-itab type itab.
START-OF-SELECTION. &&&"主程序开始了!
&WRITE : / text-001,sy-lsind.
AT LINE-SELECTION.
&CASE sy-lsind.
&&& WHEN '1'.
&&&&& WRITE : / '第一级详细列表',sy-lsind.
&&& WHEN '2'.
&&&&& WRITE : / '第二级详细列表',sy-lsind.
&&& WHEN '3'.
&&&&& WRITE : / '第三级详细列表',sy-lsind.
单值选择屏幕
PARAMETER p1 TYPE scarr-carrid DEFAULT 'AA'.
多重选择屏幕
TABLES scarr.相当于data scarr type scarr.
SELECT-OPTIONS pi FOR scarr-carrid. for后面不是类型是变量
*下面是用法
SELECT carrid carrname FROM scarr
&INTO CORRESPONDING FIELDS OF TABLE itab
&WHERE carrid IN pi.
LOOP AT itab INTO wa.
&WRITE : / wa-carrid,
&&&&&&&&&&& wa-carrname.
data : v1 type i value '1'.
data : v2 type i value '1'.
data : v3 type i value '2'.
data : v4 type i value '3'.
do v1 times.
write : v1, '-' , v2.
write : v1, '-' , v2.
write : v1, '-' , v2.
data :&begin of wa1,
&&&&&&& ebeln(3) type c,
&&&&&&& dat type d,
&&&&&&& menge type i,
&&&&&&&end of wa1.
&data itab like table of wa1.
&wa1-ebeln = '001'.
&wa1-dat = ''.
&wa1-menge = '10'.
&append wa1 to itab.
&clear wa1.
&wa1-ebeln = '001'.
&wa1-dat = ''.
&wa1-menge = '20'.
&append wa1 to itab.
&clear wa1.
&wa1-ebeln = '002'.
&wa1-dat = ''.
&wa1-menge = '20'.
&append wa1 to itab.
&clear wa1.
&wa1-ebeln = '003'.
&wa1-dat = ''.
&wa1-menge = '30'.
&append wa1 to itab.
&clear wa1.
loop at itab into wa1.
write : / wa1-ebeln,
&&&&&&&&& wa1-dat,
&&&&&&&&& wa1-menge.
data :&begin of wa2,
&&&&&&& ebeln(3) type c,
&&&&&&& menge type i,
&&&&&&& end of wa2.
&& data itab2 like table of wa2.
loop at itab into wa1.
move-corresponding wa1 to wa2.
collect wa2 into itab2.
loop at itab2 into wa2.
write : / wa2-ebeln,
&&&&&&&&& wa2-menge.
sy-subrc&&& 判断有没有东西
condense 字符型&&& //去空格
for all entries in 内表&
DATA wa LIKE LINE OF itab.&& //参照内表建结构
sort it by carrid connid fldate.
delete adjacent duplicates from it comparing all fields.
阅读(...) 评论()整理的SAP abap学习的资料_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
整理的SAP abap学习的资料
上传于|0|0|文档简介
&&整理的SAP abap学习的资料
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信