在路上---周围的世界灯火辉煌,我却把握不住任何一种灿烂。

我---一条深海之鱼,却注定要爱上天空,爱上飞翔……

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

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 锁定机制。 这是使锁定 的行一直到 事务的结束 都保留其锁 定状态的唯 一方法。



posted on 2005-04-13 20:53  久久塔吧  阅读(392)  评论(0)    收藏  举报