1、HHMMSS 如:14:03:00X : 16进制数 如:1A03*-*变数宣告DATA decimals变数名称 变数类型及长度 初值 小数位数exp:DATA : COUNTER TYPE P DECIMALS 3.NAME(10) TYPE C VALUE DELTA.S_DATE TYPE D VALUE 19991203.exp: BEGIN OF PERSON,NAME(10) TYPE C,AGE TYPE I,WEIGHT TYPE DECIMALS 2,END OF PERSON.另外,有關DATA宣告的指令還有: CONSTANTS(宣告常數)、STATICS(臨時變數宣告
2、).exp:CONSTANTS PI TYPE P DECIMALS 5 VALUE 3.14159.STATICS 敘述宣告的變數僅在目前的程式中利用, 結束後會自動釋放 語法: STATICS 系統專用變數說明系統內部專門創建了SYST這個STRUCTURE,里面的欄位寄存系統變數,经常使用的系統變數有:SY-SUBRC : 系統執行某指令后,表示執行成功与否的變數,0 表示成功SY-UNAME: 當前利用者登入SAP的USERNAME;SY-DATUM: 當前系統日期;SY-UZEIT: 當前系統時間;SY-TCODE: 當前執行程式的Transaction codeSY-INDEX :
3、 當前LOOP循環過的次數SY-TABIX: 當前處理的是internal table 的第几筆SY-TMAXL: Internal table的總筆數SY-SROWS: 屏幕總行數;SY-SCOLS: 屏幕總列數;SY-MANDT: CLIENT NUMBERSY-VLINE: 畫豎線SY-ULINE: 畫橫線TYPE 敘述用來指定資料型態或宣告自定資料型態Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 敘述跟TYPE敘述利用格式相同,
4、如DATA TRANSCODE LIKE SY-TCODE.不同的是 LIKE 用在已有值的資料項, 如系統變數, 而TYPE敘述則是用在指定資料型態。*-*输出一. WRITE 語句ABAP/4用來在屏幕上輸出資料的指令是WRITE指令,例如:WRITE: USER NAME IS:, SY-UNAME.二. 指定屏幕輸出位置指定輸出位置的語句格式為: AT / () 資料項 其中: / : 在下一行輸出: 指定輸出的行號;():指定輸出位數(長度): 指定顯示格式參數,參數有:LEFT-JUSTIFIED 資料*左對齊CENTERED 資料*中間對齊RIGHT-JUSTIFIED 資料*右
5、對齊UNDER 正對在資料項的下面顯示NO-GAP 緊接著顯示,不留空格USING EDIT MASK : 利用內嵌子元顯示, 如 12:20USING NO EDIT MASK: 不利用內嵌子元NO-ZER 數字前面 0 的部份不顯示NO-SIGN: 不顯示正負號DECIMALS : 顯示 位小數EXPOENT : F(浮點數)指數的值ROUND : 四舍五入至小數點后位CURRENCY : 幣別顯示DD/MM/YY : 日期顯示格式MM/DD/YY: YY/MM/DD: YY/DD/MMMM/DD/YYYY:DD/MM/YYYYYYYY/MM/DD:YYYY/DD/MM:例如1: WRIT
6、E: /10(6) ABCDEFGHIJK.輸出結果為: ABCDEF例如2: DATA: X TYPE I VALUE 11:20:30,A(5) TYPE C VALUE AB CDE.WRITE: / X USING EDIT MASK _:_$_,_ / Y NO-GAP.輸出結果為:30$112,030ABCDEF例如3: LEN TYPE I VALUE 10,POS TYPE I VALUE 11,TEXT(10) VALUE 1234567890WRITE The text - appears in the text.WRITE AT POS(LEN) TEXT.WRITE T
7、O 语句的大体 形式要将值(文 字)或源字 段内容写入 目标字段, 能够利用 WRITE TO 语句:语法WRITE TO .DATA: NUMBER TYPE F VALUE 4.3,TEXT(10),FLOAT TYPE F,PACK TYPE P DECIMALS 1.WRITE NUMBER.WRITE NUMBER TO TEXT EXPONENT 2.WRITE / TEXT.WRITE NUMBER TO FLOAT.WRITE / FLOAT.WRITE NUMBER TO PACK.WRITE / PACK.MOVE NUMBER TO PACK.WRITE / PACK.e
8、xp:DATA: NAME(10) VALUE SOURCE,SOURCE(10) VALUE Antony,TARGET(10).WRITE (NAME) TO TARGET.WRITE: TARGET.exp : COUNTER TYPE I.COMPUTE COUNTER = COUNTER + 1.COUNTER = COUNTER + 1.ADD 1 TO COUNTER.在此,三条 运算语句进 行相同算术 运算输出屏幕上 的线和空行用以下语法 ,能够在输 出屏幕上生 成水平线:语法ULINE AT /().它等同于WRITE AT /() SY-ULINE.AT 后的格式规 范,与
9、在 在屏幕上定 位 WRITE 输出 (页 28) 中为 WRITE 语句说明的 格式标准完 全一样。若是没有格 式标准,系 统那么开始新 的一行,并 用水平线填 充该行。否 那么,只按指 定输出水平 线。生成水平线 的另一种方 法,是在 WRITE 语句中键入 适当数量的 连字符,如 下所示:WRITE AT /() -.垂直线用以下语法 ,能够在输 出屏幕上生 成垂直线:语法WRITE AT / SY-VLINE.或WRITE AT / |.空行用以下语法 ,能够在输 出屏幕上生 成空行:语法SKIP .该语句从当 前行开始, 在输出屏幕 上生成 个空行。如 果没有指定 的值,就输 出一个
10、空行 。要将输出定 位在屏幕的 指定行上, 请利用:语法SKIP TO LINE .该语句许诺 将输出位置 向上或向下 移动。2.利用條件式語法:UPDATE SET = WHERE 根據條件式異動符合條件式的記錄Example:UPDATE SPFLI SET NO=34051920COMPANY = WHERE TEL=4526107.*-*3. MODIFY 語法MODIFY FROM .根據 Primary Key 尋找資料檔中符合的記錄, 假设找到則更新異動, 假设找不到則新增記錄語法:MODIFY FROM Example:WA-NO=.WA-COMPANY=.MODIFY SPF
11、LI FROM WA.4. DELETE 語法DELETE FROM .或: DELETE WHERE 刪除資料檔的記錄1.利用 Primary Key語法: DELETE FROM Example:TABLES SPFLI.DATA WA LIKE SPFLI.WA-NO=.DELETE SPFLI FROM WA.如 SPFLI 的 Primary Key是 NO, 則會找到 NO=的記錄, 找到後將此筆刪除 2.利用條件式語法:DELETE FROM WHERE 根據條件式刪除符合條件式的記錄Example:DELETE FROM SPFLI WHERE AREA = AMERICAN.
12、*-*5. DATABASE CURSORDatabase Cursor是一個資料庫暫存區, 將經SELECT指令讀取的記錄寄存至此暫存區, 再由此暫存區放至Work Area中, 可減少資料庫讀取的次數.1.開啟 Database Cursor語法:OPEN CURSOR FOR SELECT WHERE Example:TABLES SPFLI.DATA: WA LIKE SPFLI,C1 TYPE CURSOR.OPEN CURSOR C1 FOR SELECT * FROM SPFLI WHERE AREA =TAIWAN.2.讀取 Database Cursor的資料存入 Work
13、Area語法:FETCH NEXT CURSOR INTO Example:FETCH NEXT CURSOR C1 INTO WA.讀取下一筆Cursor位置的資料存入WA, 若是已無資料可讀, SY-SUBRC 0. 關閉 Database Cursor語法:CLOSE CURSOR Example:CLOSE CURSOR C1.*-*COMMIT WORK & ROLLBACK WORK要確定資料成功寫入資料庫,可利用COMMIT WORK指令,如: COMMIT WORK.相反的, 若是反悔要復原, 可利用 ROLLBACK WORK, 可復原在上個COMMIT WORK指令之後的資料, 如:ROLLBACK WORK.*-*利用NATIVE SQL指令語法格式:EXEC SQL PERFORMING 窗体顶端.ENDEXEC.舉例一.EXEC SQL.CREATE TABLE AVERI_CLNT (CLIENT CHAR(3) NOT NULL,ARG1 CHAR(3)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1