ABAP 学习笔记一
Abap 的主要工作。
*& Report YLWY001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
*WRITE 'MY 003 PROGAM'.
*data wa like spfli.
* uline.
* Select * into wa from spfli.
* WA-Connid under 'CONNECT',
* WA-Countryfr under 'COUNTRY CODE',
* WA-cityfrom UNDER 'START CITY',
* WA-airpfrom UNDER 'START PORT'.
* endselect.
* data mytb_spfli type table of spfli with header line.
* select * into table mytb_spfli from spfli package size 5.
* *loop at mytb_spfli.
* *write: / mytb_spfli-carrid, mytb_spfli-cityfrom,mytb_spfli-airpfrom.
* *endloop.
* *uline.
* *endselect.
* *data:begin of arcd,
* * carrid type spfli-carrid,
* * connid type spfli-connid,
* * end of arcd.
* * data arcd1 like arcd.
* * select spfli~carrid spfli~connid into arcd1 from spfli
* * inner join sflight on spfli~carrid = sflight~carrid up to 10 rows.
* * write : / arcd1-carrid,arcd1-connid.
* * endselect.
Tables spfli.
skip .
uline at /(106).
format color col_heading.
write : / sy-vline,(15) 'man',sy-vline,(15) 'connect',sy-vline, (15) 'code',sy-vline, (15) 'start',
sy-vline,(30) 'start port',sy-vline.
uline at /(106).
format color off.
select * from spfli.
write: / sy-vline,(15) spfli-carrid,sy-vline,(15) spfli-connid,sy-vline,(15) spfli-countryfr,
sy-vline,(15) spfli-cityfrom,sy-vline,(30) spfli-airpfrom,sy-vline.
uline at /(106).
endselect.
write /.
start-of-selection.
write 'please click'.
format hotspot on color 6 inverse on.
write 'hot'.
format hotspot off color off.
at line-selection.
write ' welcome'.
ABAP 报表求和统计功能实现方法
LAST 内 表的最后一 行
NEW <f> 行组 的开头,与 字段 <f> 和 <f> 剩余字段中 的内容相同
END Of <f> 行组 的结尾,与 字段 <f> 和 <f> 剩余字段中 的内容相同
在 AT - ENDAT 语句块中, 工作区域没 有用当前表 格行进行填 充。初始化 所有不是标 准关键字部 件的字段( 参见
标识表格行 )。对于行 条件 FIRST 和 LAST, 系统用星号 (*) 改写所有标 准关键字段 。对于行条 件 NEW <f> 和 END OF <f>,系 统用星号 (*) 改写所有出 现在工作区 域中指定字 段 <f> 右边的标准 关键字段。 用户可根据 自己的需求 在 AT - ENDAT 语句块中填 充工作区域 。
COL1 TYPE C,
COL2 TYPE I,
COL3 TYPE I,
END OF LINE.
DATA ITAB LIKE LINE OCCURS 10.
LINE-COL1 = 'A'.
DO 3 TIMES.
LINE-COL2 = SY-INDEX.
LINE-COL3 = SY-INDEX ** 2.
APPEND LINE TO ITAB.
ENDDO.
LINE-COL1 = 'B'.
DO 3 TIMES.
LINE-COL2 = 2 * SY-INDEX.
LINE-COL3 = ( 2 * SY-INDEX ) ** 2.
APPEND LINE TO ITAB.
ENDDO.
LOOP AT ITAB INTO LINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
AT END OF COL1.
SUM."按Col1 求和.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
SKIP.
ENDAT.
SUM."总求和.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
ENDAT.
ENDLOOP.
其输出为:
A 1 1
A 2 4
A 3 9
________________________________
A 6 14
B 4 16
B 6 36
________________________________
B 12 56
* 18 70
*&--------------------------------------------------------------*
*& Report Z_X_XXXXX
*& Module : Module / SubModule
*&--------------------------------------------------------------*
*& Created : author (2003.10.09)
*& Modified : author (someday)
* Intention : 程序的详细说明
* 请用户在ABAP/4 REPORT编程时,参考本程序提供的编程框架
*
* 在编码规范有出入时,以本程序为准
* 以下各事件可根据实际编程需要使用,对于需要处理的事件,可将该事
* 件后面的语句注释去掉,再编写相应的子程序代码。
*&--------------------------------------------------------------*
*INCLUDE Z_X_XXXXXO01 . " PBO 子程序
*INCLUDE Z_X_XXXXXI01 . " PAI 子程序
*INCLUDE Z_X_XXXXXF01 . " form 子程序
* PERform INI_SELECTION_SCREEN. " 初始化选择屏上的变量
* PERform INI_DATA. " 初始化全局变量
* PERform PRECESS_DATA. " 主要数据处理逻辑
* PERform PRECESS_LINE_SELECTED. " 行选择时的处理
* PERform PRECESS_USER_COMMAND. * 用自定义命令按钮时的处理
* PERform PAGE_HEADER. " 页眉
* PERform PAGE_FOOT. " 页脚
*&--------------------------------------------------------------*
*& form PRECESS_DATA
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
*如果逻辑简单, 则合并若干form为一个
PERform SEL_DBTAB_XXXXX. " 从透明表中取数据赋给内表
PERform CMP_ITAB_XXXXX. " 内表中数据计算处理
PERform WRT_ITAB_RESULT. " 输出内表数据
ENDform. " PRECESS_DATA
*& form SEL_DBTAB_XXXXX
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form SEL_DBTAB_XXXXX.
select * into corresponding fields of itab_sales
from bsid
where bukrs = s_bukrs.
id 'ACTVT' field '03'
id 'BUKRS' field itab_sales-bukrs
id 'GSBER' field itab_sales-gsber. "权限检查
continue.
endif.
append itab_sales.
clear itab_sales.
endselect.
ENDform. " SEL_DBTAB_XXXXX
*& form CMP_ITAB_XXXXX
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
*& form WRT_ITAB_RESULT
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form WRT_ITAB_RESULT.
* PERform WRT_ITAB_SUB.
ENDform. " WRT_ITAB_RESULT
*& form PAGE_HEADER
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form PAGE_HEADER.
*& form INI_DATA
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form INI_DATA.
*& form INI_SELECTION_SCREEN
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form INI_SELECTION_SCREEN.
*& Include Z_X_XXXXXTOP
*&--------------------------------------------------------------*
REPORT Z_X_XXXXX .
*-------------------声明系统字典对象----------------------------*
TABLES: t001.
SELECTION-SCREEN BEGIN OF BLOCK B1
WITH FRAME
TITLE TEXT-001.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS: S_BUKRS FOR T001-BUKRS MEMORY ID BUK.
PARAMETERS: P_DATE LIKE SY-DATUM DEFAULT SY-DATUM.
*声明内表时,表名为 ITAB_XXXX,后缀尽可能为关联DBTab或内表用途
DATA: bldat like bsid-bldat.
RANGES: R_FIELD FOR DBTAB-FIELD.
*& Report Z_X_XXXXX
*& Module : Module / SubModule
*&--------------------------------------------------------------*
*& Created : author (2003.10.09)
*& Modified : author (someday)
* Intention : 程序的详细说明
* 请用户在ABAP/4 REPORT编程时,参考本程序提供的编程框架
*
* 在编码规范有出入时,以本程序为准
* 以下各事件可根据实际编程需要使用,对于需要处理的事件,可将该事
* 件后面的语句注释去掉,再编写相应的子程序代码。
*&--------------------------------------------------------------*
*INCLUDE Z_X_XXXXXO01 . " PBO 子程序
*INCLUDE Z_X_XXXXXI01 . " PAI 子程序
*INCLUDE Z_X_XXXXXF01 . " form 子程序
* PERform INI_SELECTION_SCREEN. " 初始化选择屏上的变量
* PERform INI_DATA. " 初始化全局变量
* PERform PRECESS_DATA. " 主要数据处理逻辑
* PERform PRECESS_LINE_SELECTED. " 行选择时的处理
* PERform PRECESS_USER_COMMAND. * 用自定义命令按钮时的处理
* PERform PAGE_HEADER. " 页眉
* PERform PAGE_FOOT. " 页脚
*&--------------------------------------------------------------*
*& form PRECESS_DATA
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
*如果逻辑简单, 则合并若干form为一个
PERform SEL_DBTAB_XXXXX. " 从透明表中取数据赋给内表
PERform CMP_ITAB_XXXXX. " 内表中数据计算处理
PERform WRT_ITAB_RESULT. " 输出内表数据
ENDform. " PRECESS_DATA
*& form SEL_DBTAB_XXXXX
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form SEL_DBTAB_XXXXX.
select * into corresponding fields of itab_sales
from bsid
where bukrs = s_bukrs.
id 'ACTVT' field '03'
id 'BUKRS' field itab_sales-bukrs
id 'GSBER' field itab_sales-gsber. "权限检查
continue.
endif.
append itab_sales.
clear itab_sales.
endselect.
ENDform. " SEL_DBTAB_XXXXX
*& form CMP_ITAB_XXXXX
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
*& form WRT_ITAB_RESULT
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form WRT_ITAB_RESULT.
* PERform WRT_ITAB_SUB.
ENDform. " WRT_ITAB_RESULT
*& form PAGE_HEADER
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form PAGE_HEADER.
*& form INI_DATA
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form INI_DATA.
*& form INI_SELECTION_SCREEN
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*---------------------------------------------------------------*
form INI_SELECTION_SCREEN.
*& Include Z_X_XXXXXTOP
*&--------------------------------------------------------------*
REPORT Z_X_XXXXX .
*-------------------声明系统字典对象----------------------------*
TABLES: t001.
SELECTION-SCREEN BEGIN OF BLOCK B1
WITH FRAME
TITLE TEXT-001.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS: S_BUKRS FOR T001-BUKRS MEMORY ID BUK.
PARAMETERS: P_DATE LIKE SY-DATUM DEFAULT SY-DATUM.
*声明内表时,表名为 ITAB_XXXX,后缀尽可能为关联DBTab或内表用途
DATA: bldat like bsid-bldat.
RANGES: R_FIELD FOR DBTAB-FIELD.
7,在一个Program中,处于Form和Endform之间的是Subroutines. 该程序由Program引导,不能直接运行,需被调用,不能包含自定义的用户屏幕.
data data(len) Type type [decimal dec] [value var]
Decimal 附加项只适用于指定P类型的小数位.
Move-corresponding, eg: move-corresponding source-data to destination-data.
本文出自 51CTO.COM技术博客
ABAP 学习笔记一相关推荐
- ABAP学习笔记(转自百度文库)_小七_新浪博客
ABAP学习笔记 一. ABAP语法简介: ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是 ...
- 【ABAP学习笔记】
ABAP学习笔记 记录实习培训的学习记录 文章目录 ABAP学习笔记 前言 一.ABAP是什么? 二.使用步骤 1.先建立链接: 2.输入应用服务器 IP 地址,实例编号,系统标识等信息 正文 day ...
- ABAP学习笔记之——第三章:OPEN SQL和NATIVE SQL
一.SAP R/3体系结构 SAP R/3一个分为三层:数据库层.应用层.表示层.其中应用层和数据库层由一个系统构成. 表示层:表示层(Presentation Layer)简单来讲其实就是指个人PC ...
- ABAP学习笔记之——第一章:包与变更传输系统
一.包 包(Package)也称做开发类,是为了将程序等对象根据功能划分,进行区分和管理而导入的概念.当创建 ABAP 数据字典的 R/3 存储对象时,一定要把这些对象添加到包里进行管理.包具有以下几 ...
- abap学习笔记-SAP字段与表的对应关系
MASTER DATA-主数据 Customer Master KNA1 Customer Basic Data KNB1 Customer Company Level Data客户的公司数据 KNV ...
- ABAP学习笔记之——第十一章:Function ALV
一.Function ALV Function ALV 从名字中可以推出,是由 Function(函数)形式提供,因此开发者只需适当使用以有的功能即可.没有必要创建屏幕也没有必要一一写出代码,因此可认 ...
- ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Client-specific 的区别
很多 ABAP 初学者通过各种社交平台向我提出这个问题: ABAP初学者如何系统地学习ABAP编程? 所以我专门写了一篇同名的文章来回答. 文章里提到,我的 ABAP 学习之路,其实并没有阅读过中文的 ...
- ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍
很多 ABAP 初学者通过各种社交平台向我提出这个问题: ABAP初学者如何系统地学习ABAP编程? 所以我专门写了一篇同名的文章来回答. 文章里提到,我的 ABAP 学习之路,其实并没有阅读过中文的 ...
- 《SAP高级应用开发》---Idoc学习笔记
黄佳<SAP高级应用开发>,第四章Idoc技术学习笔记,记录如 一,Idoc:Intermediate document,系统间数据交换过程的媒介 A: 面向消息(mes ...
- 零基础 ABAP 学习教程系列文章的目录
零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...
最新文章
- Node-RESTful
- Linux crontab定时任务示例
- 20145202马超《网络对抗》Exp7 网络欺诈技术防范
- YUV422/420 format
- android 仿qq it蓝豹,《IT蓝豹》listview实现各种版面设计功能
- jQuery1.3.2 源码学习 -2 两个重要的正则表达式
- java 数据队列_Java 数据结构 - 队列
- QQ浏览器如何添加并进入书签地址?QQ浏览器添加并进入书签地址的方法
- Dataloader与Dataset
- 2016年百度面试题
- 黑鲨4S磁动力升降肩键将全面升级:颜值和按压手感稳步提升
- mysql 数据备份方案_MySQL常见备份方案
- bat获取当前文件夹路径
- 分布式任务队列:Celery使用记录
- Samba通过ad域进行认证并限制空间大小
- Mac 设置 word 单面打印 双面打印
- pycharm2016破解方法
- 中国有些东西不是给人吃的
- 【Matlab】mod函数和rem函数的区别
- 守望先锋的蜂窝盾制作