ABAP开发笔记原创Word文档格式.docx

上传人:b****6 文档编号:20389266 上传时间:2023-01-22 格式:DOCX 页数:26 大小:31.12KB
下载 相关 举报
ABAP开发笔记原创Word文档格式.docx_第1页
第1页 / 共26页
ABAP开发笔记原创Word文档格式.docx_第2页
第2页 / 共26页
ABAP开发笔记原创Word文档格式.docx_第3页
第3页 / 共26页
ABAP开发笔记原创Word文档格式.docx_第4页
第4页 / 共26页
ABAP开发笔记原创Word文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

ABAP开发笔记原创Word文档格式.docx

《ABAP开发笔记原创Word文档格式.docx》由会员分享,可在线阅读,更多相关《ABAP开发笔记原创Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

ABAP开发笔记原创Word文档格式.docx

表工作区提供一个接口,通过该接口可以将数据从数据库表加载到程序,或利用开放式SQL语句修改数据库表的内容。

要显示表的组件及其数据类型的列表,请在ABAP/4编辑器的命令行中(选择“编辑->

其它功能->

命令输入”)键入“SHOW”。

要定址表工作区的组件,可以将表名作为前缀,然后用连字符添加组件:

dbtab>

-

例子:

TABLES:

SPFLI.

Select 

FROM 

SPFLI. 

WRITE:

SPFLI-MANDT, 

SPFLI-CARRID, 

SPFLI-CONNID, 

......

ENDSelect.

示例中,TABLES语句创建表工作区SPFLI。

SPFLI与ABAP/4词典中声明的数据库表SPFLI结构相同。

在Select循环中,用属于数据库表SPFLI的行填充表工作区SPFLI。

15.TYPES语句:

使用TYPES语句创建用户定义的基本数据类型和结构化数据类型。

TYPES:

SURNAME(20) 

NAME 

SURNAME,

....

通过TYPES定义的类型不能直接使用,需要通过DATA进行定义其对应的变量后,使用其变量。

ADDRESS_1 

ADDRESS_2 

ADDRESS. 

16.内表示例:

下列程序是有关如何将结构化数据对象声明为内表的示例。

PROGRAM 

SAPMZTST.

MYSTRING,

I,

NAME(10) 

MYSTRING.

TYPES 

MYTAB 

MYSTRING 

OCCURS 

5. 

STRING 

ITAB 

MYTAB. 

STRING-NUMBER 

1. 

STRING-NAME 

'

John'

APPEND 

TO 

ITAB.

2. 

Paul'

3. 

Ringo'

4. 

George'

LOOP 

AT 

INTO 

STRING.

STRING-NUMBER,STRING-NAME.

ENDLOOP.

该程序在屏幕上产生下列输出:

John

Paul

Ringo

George

示例中,首先将数据类型MYSTRING定义为字段串。

然后,根据字段串MYSTRING,用TYPES语句的OCCURS参数将数据类型MYTAB定义为内表。

利用数据类型MYSTRING和MYTAB声明数据对象STRING和ITAB。

然后逐行填充内表ITAB的字段。

通过使用字段串STRING,在屏幕上显示ITAB的内容。

17.TYPE或TYPES所定义的变量不能直接赋值,只能通过DATA针对TYPE所定义的用户类型进行定义变量,然后使用这个变量。

18.如何确定数据对象的长度?

Data:

text(8),len 

type 

i. 

//定义了两个变量

Describe 

field 

text 

length 

len. 

//将变量text的长度存放于变量len中

Write 

//打印变量text的长度值 

19.如何确定数据对象的类型?

TEXT(8) 

N, 

TYP. 

//定义了两个变量TEXT和TYP

DESCRIBE 

FIELD 

TEXT 

//将变量TEXT的类型存放于变量TYP中 

WRITE 

//打印变量TEXT的类型 

19.如何确定数据对象的输出长度?

f, 

len 

I, 

out-len 

//定义了三个变量

output-length 

out-len. 

//将变量text的长度存放于变量中

Write:

len,out-len. 

20.如何确定数据对象的小数位数?

decimals 

2,dec. 

dec. 

dec 

21.如何确定转换例程?

n, 

exam 

edit 

mask 

//打印变量text的长度值

三、 

TERNAL 

内表

为了在内存中处理多条记录,不能使用结构,而要使用INTERNAL 

TABLE 

他有三种形式:

STANDARD 

TABLES

SORTED 

TABLEHASHED

我们将只讨论STANDARD 

1、DECLARING 

INERTAL 

参照字典内表类型

itab_flightinfo 

abc400_t_sbc400focc 

[with 

header 

line].

2、程序中的本地表类型 

SYNTAX 

(语法)

flightinfo_type 

sbc400focc

WITH 

NON-UNIQUE 

KEY 

carrid 

connid 

fldate 

3、使用BEGIN…END 

*******

DATA:

itab 

*Carrid 

like 

scarr-carrid,

*Carrname 

scarr-carrname,

NAME(20), 

AGE 

……

itab-NAME 

Michael'

itab-AGE 

25. 

itab. 

*插入内表数据 

Gabriela'

22. 

4、EXAMPLE 

将内表数据显示方法:

3-4-1、使用LOOP

*先申明内表和工作区(结构)declaration 

of 

internal 

table 

and 

workarea

sbc400_t_sbc400focc, 

*参照字典内表

Wa_flightinfo 

Like 

line 

*参照内表结构声明结构(工作区)

Itab_flightinfo 

[WITH 

HEADER 

LINE] 

*用工作区与带表头内表的操作区别:

EXAMPLE:

STRUTURES 

AND 

ASSIGNING 

VALUE

/h 

打开调试模式

program 

code 

:

REPORT 

sapbc400tss_itab_loop 

it_spfli 

sbc400_t_spfli. 

sbc400_t_spfli为数据字典内表

wa_spfli 

spfli. 

*参照透明表定义结构(工作区)

(tables 

.) 

START-OF-SelectION.

spfli 

it_spfli.

at 

least 

one 

dataset 

selected

IF 

sy-subrc 

0.

move 

each 

single 

from 

to 

structure 

WA_SPFLI 

in

order 

write 

data 

on 

list

wa_spfli.

wa_spfli-carrid,

wa_spfli-connid,

wa_spfli-cityfrom,

wa_spfli-cityto,

wa_spfli-deptime,

wa_spfli-arrtime.

ENDIF. 

EXAMPLE 

2:

sapbc400dds_select_sflight_tab 

wa_flight 

sbc400focc,

it_flight 

sbc400_t_sbc400focc.

PARAMETERS:

pa_car 

s_carr_id. 

*Select 

all 

datasets 

database 

SFLIGHT 

corresponding 

to

*carrier 

PA_CAR 

seatsmax 

seatsocc 

sflight

CORRESPONDING 

FIELDS 

wa_flight

Where 

pa_car.

*Calculate 

occupation 

flight 

wa_flight-percentage 

=

100 

wa_flight-seatsocc 

wa_flight-seatsmax. 

Insert 

into 

table

it_flight. 

Alternatively, 

you 

could 

use 

the 

statement,

if 

are 

using 

standard 

tables:

*

it_flight.

ENDSelect. 

*sort 

SORT 

BY 

percentage. 

*Create 

List 

sorted 

wa_flight.

wa_flight-carrid,

wa_flight-connid,

wa_flight-fldate,

wa_flight-seatsocc,

wa_flight-seatsmax,

wa_flight-percentage,'

%'

ENDLOOP. 

补充:

NODES:

spfli,sflight.

定义一个与后面表名结构相同的工作区

原来用TABLES,现在此法也兼容。

更新数据库表格

Update

1、使用工作区更新

Update 

2、针对于某个字段的更新

SET 

=… 

MODIFY 

根据Primary 

Key寻找数据库中符合条件的记录,若找到则更新相应字段

的值,若找不到则新增该记录。

Delete

1、使用工作区删除

Delete 

2、有条件地删除 

abap4 

SelectION-SCREEN

BC400

USER 

Dialog 

SelectION 

SCREENS 

涉及内容:

概念:

PARAMETERS 

-- 

SINGLE 

FIELDS

Select-OPTION 

--- 

VALUE 

SETS 

事件:

INITIALIZATION

SelectTION-SCREEN

系统参数:

MESSAGE 

格式命令:

***注:

程序显示行号参考最下图 

SAMPLE 

SAPBC400DDD_Select_SINGLE

*&

---------------------------------------------------------------------*

Report 

SAPBC400DDD_Select_SINGLE 

reading 

form 

---------------------------------------------------------------------* 

sapbc400ddd_select_single 

workarea 

for 

datas 

database

wa_scarr 

scarr.

scarr

wa_scarr

Where

specify 

key 

fields 

in 

clause

client 

is 

specified 

by 

system

pa_car. 

Output

wa_scarr-carrid,

wa_scarr-carrname,

wa_scarr-currcode.

else 

write:

text-001 

color 

col_negative.

SAPBC400UDS_SEL_SCREEN

SAPBC400UDS_SEL_SCREEN 

sapbc400uds_sel_screen.

CONSTANTS:

actvt_display 

activ_auth 

03'

wa_sbook 

sbook. 

wa_flight-carrid.

Data 

complex 

restrictions 

applied 

connection 

id

Select-OPTIONS:

so_con 

FOR 

wa_flight-connid. 

First 

event 

processed 

after 

leaving 

selection 

screen

SelectION-SCREEN.

AUTHORITY-CHECK 

OBJECT 

S_CARRID'

ID 

CARRID'

pa_car

ACTVT'

actvt_display.

<

>

Show 

screen 

again 

show 

message 

status 

bar

BC400'

E'

045'

IN 

so_con.

HIDE:

wa_flight-carrid, 

wa_flight-connid, 

wa_flight-fldate.

CLEAR 

wa_flight. 

LINE-SelectION.

sy-lsind 

1.

ULINE.

SKIP.

bookid 

customid 

custtype 

class 

order_date

smoker 

cancelled 

loccuram 

loccurkey

sbook 

wa_sbook

wa_flight-carrid

wa_flight-connid

wa_sbook-bookid,

wa_sbook-customid,

wa_sbook-custtype,

wa_sbook-class,

wa_sbook-order_date,

wa_sbook-smoker,

wa_sbook-cancelled,

wa_sbook-loccuram 

CURRENCY 

wa_sbook-loccurkey,

wa_sbook-loccurkey.

CLEAR:

wa_flight, 

wa_sbook. 

注意:

1、 

各类事件出发的时间

2、 

选择屏幕也是screen 

屏幕的一种

一个报表样例

ZSD_LONG 

基础参考 

下载 

MESSAGE-ID 

zmsgtest 

line-size 

120 

****************************************************************

***数据段 

声明表

tables 

MAKT, 

"

material 

VBAK, 

sale 

VBAP, 

item 

KNA1. 

address 

声明结构以便内表使用

data:

begin 

it_addr 

occurs 

0, 

12/01 

add

name1 

KNA1-name1, 

com 

name

orT01 

KNA1-ORT01, 

city,

STRAS 

KNA1-STRAS, 

city,street

end 

it_addr. 

it_header 

0,

vbeln 

VBAK-vbeln, 

no

kunnr 

VBAK-kunnr, 

erdat 

VBAK-erdat, 

created 

date

addr 

it_addr, 

rewrite 

str可以嵌套

KNA1-ADRNR, 

customer 

old

bukrs 

vbak-BUKRS_V

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1