ABAP
CONSTANTS PI TYPE P DECIMALS 10 VALUE '3.1415926536'. 定义常量
? SY-SUBRC 返 回代码值( 0,如果操 作成功)
? SY-UNAME 用 户的登录名
? SY-DATUM 当 前日期
? SY-UZEIT 当 前时间
? SY-TCODE 当 前事务
列程序是 有关如何利 用用户定义 的基本数据 类型声明数 据对象的示 例。
PROGRAM SAPMZTST.
TYPES MYTEXT(10) TYPE C.
TYPES MYAMOUNT TYPE P DECIMALS 2.
DATA TEXT TYPE MYTEXT.
DATA AMOUNT TYPE MYAMOUNT.
TEXT = ' 4 / 3 = '.
AMOUNT = 4 / 3 .
WRITE: TEXT, AMOUNT.
PROGRAM SAPMZTST.
TYPES: BEGIN OF NAME,
TITLE(5) TYPE C,
FIRST_NAME(10) TYPE C,
LAST_NAME(10) TYPE C,
END OF NAME.
TYPES: BEGIN OF MYLIST,
CLIENT TYPE NAME,
NUMBER TYPE I,
END OF MYLIST.
DATA LIST TYPE MYLIST.
LIST-CLIENT-TITLE = 'Lord'.
LIST-CLIENT-FIRST_NAME = 'Howard'.
LIST-CLIENT-LAST_NAME = 'Mac Duff'.
LIST-NUMBER = 1.
WRITE LIST-CLIENT-TITLE.
WRITE LIST-CLIENT-FIRST_NAME.
WRITE LIST-CLIENT-LAST_NAME.
WRITE / 'Number'.
WRITE LIST-NUMBER.
该程序在屏 幕上产生下 列输出:
Lord Howard Mac Duff
Number 1
下列程序是 有关如何将 结构化数据 对象声明为 内表的示例 。
PROGRAM SAPMZTST.
TYPES: BEGIN OF MYSTRING,
NUMBER TYPE I,
NAME(10) TYPE C,
END OF MYSTRING.
TYPES MYTAB TYPE MYSTRING OCCURS 5.
DATA STRING TYPE MYSTRING.
DATA ITAB TYPE MYTAB.
STRING-NUMBER = 1. STRING-NAME = 'John'.
APPEND STRING TO ITAB.
STRING-NUMBER = 2. STRING-NAME = 'Paul'.
APPEND STRING TO ITAB.
STRING-NUMBER = 3. STRING-NAME = 'Ringo'.
APPEND STRING TO ITAB.
STRING-NUMBER = 4. STRING-NAME = 'George'.
APPEND STRING TO ITAB.
LOOP AT ITAB INTO STRING.
WRITE: / STRING-NUMBER,STRING-NAME.
ENDLOOP.
该程序在屏 幕上产生下 列输出:
1 John
2 Paul
3 Ringo
4 George
在自身的 SQL 中没有自动 集团处理( 参见 为数据库表处理指定集团)。始终需 要指定集团 。
数据通过主 机变量在数 据库表和 ABAP/4 程序之间传 送。这些变 量在 ABAP/4 程序中声明 ,在自身的 SQL 语句中,这 些变量前面 要有一个冒 号(:)。 可将基本字 段和结构化 字段用作主 机变量。
如果 SELECT 语句的结果 是表,那么 ,就使用 PERFORMING <form> 选项在闭循 环中逐行读 取数据。对 于每一行,
都将调用一 次子程序 <form>。 在该子程序 中,可通过 将数据附加 到内表以便 对其作进一 步的处理。
有关自身的 SQL 的详细信息 ,参见 EXEC SQL 的关键字文 档。
DATA: BEGIN OF WA,
CLIENT(3),
ARG1(3),
ARG2(3),
END OF WA.
DATA F3 VALUE ' 1 '.
EXEC SQL PERFORMING LOOP_OUTPUT.
SELECT CLIENT, ARG1 INTO :WA FROM TABLE_001 WHERE ARG2 = :F3
ENDEXEC.
FORM LOOP_OUTPUT.
WRITE: / WA-CLIENT, WA-ARG2.
ENDFORM.
在该示例中 ,工作区 WA 和字符字段 F3 都在自身的 SQL SELECT 语句中用作 主机变量。 WA 是目标区,
所选数据将 读入该目标 区。F3 用在 WHERE 条件中。在 子程序 LOOP_OUTPUT 中,将读入 WA 中的数据写 到屏幕上。
.
SELECT SINGLE [FOR UPDATE] * ....... WHERE <condition> ......
FOR UPDATE 选项不是将 SAP 锁定机制与 ENQUEUE/DEQUEUE 功能模块一 起使用的替 代品。例如 ,显示一个 新的屏幕时 ,所有用 FOR UPDATE 锁定的行都 将自动解锁 。要保证在 显示新屏幕 时锁定的行 保留锁定状
态,就必须 使用 SAP 锁定机制。 这是使锁定 的行一直到 事务的结束 都保留其锁 定状态的唯 一方法。
文章来自于网络,如果侵犯了您的权益,请联系站长删除!