ABAP學習之 【一】

来源:互联网 发布:入骨相思知不知瓶邪 编辑:程序博客网 时间:2024/04/28 09:59

1.      引用類型z_ref數據對象myref在程序中的聲明方式:

DATA myref TYPE z_ref.

CREATE DATA myref TYPE z_ref.

2.      參照數據字典中的表類型生成內表對象或結構體:

DATA mytable TYPE z_table,”數據字典表類型,聲明內表.

myline TYPE LINE OF z_table.”表類型的行結構,聲明結構體.

3.      取系統日期:SY-DATUM,

4.      取系統時間:SY-UZEIT.0

5.      系統字段定位:SY-FDPOS.字符比較結果為真時,此字段將給出偏移量信息.

6.      系統字段SY-FDPOS給出字符的位置信息.(P109)

7.      系統字段SY-INDEX記錄循環語句中的循環次數

8.      操作內表行結束后系統字段SY-TABIX返回該行索引.對於所有行操作,如果操作成功,系統變量SY-SUBRC返回0,否則返回非0.

9.      系統用戶名:SY-UNAME.

10.  SY-HOST?屏幕序號:sy-dynnr.

11.  OK代碼:SY-UCOMMSYST-UCOMM

12.  屏幕組ID:SY-DYNGR.

13.  常量聲明:CONSTANT const(len) TYPE type|LIKE dobj [DECIMALS dec] [VALUE val].

14.  確定數據對象屬性:DESCRIBE FIELD f [LENGTH l] [TYPE t [CONPONENTS n]] [OUTPUT-LENGTH o] [DECIMALS d] [EDIT MASK m] [HELP-ID h].

15.  數據賦值:MOVE source TO destination.destination = source.

16.  設定初始值:CLEAR F.

17.  檢查字段是否為初始值:f IS INITIAL….

18.  檢查字段是否被分配:fs IS ASSIGNED…..

19.  檢查過程中的參數是否被實參填充:p IS [SUPPLIED|REQUESTED]….

20.  檢查數據對象的值是否屬于某範圍之間:f1 BETWEEN f2 AND f3…..

21.  檢查數據對象f的內容是否遵從某個選擇表的邏輯條件:f in seltab….

22.  WRITE: /10 g,”10個空格后輸出變量g

/(8) time using edit mask ‘__:__:__’.”輸出的變量time保持8位的長度.

23.  將光標移動到下一行:SKIP.

24.  強制結束循環:EXIT,STOPREJECT.

25.  循環的中止:CONTINUE無條件中止當前循環並開始下一輪循環,CHECK條件為真時循環,為假時結束本次循環並開始下一輪循環,EXIT無條件中止並退出整個循環.

26.  將字符串左移:SHIFT string.

27.  連接字符串:CONCATENATE s1 s2 …..sn INTO s_dest [SEPARATED BY sep].如果結果出現被截斷的情況,SY-SUBRC返回4,否則返回0.符號&用于在字字符串換行時的連接.

28.  根據分隔符sep拆分字符串:SPLIT s_source AT sep INTO s1 s2 ……sn.使用內表操作可以避免被截斷的情況:SPLIT s_source AT sep INTO TABLE itab.此語句根據子串數目生成n行的內表.

29.  循環輸出內表的每一行數據:LOOP AT itab INTO text.ENDLOOP.

30.  替換字段內容:REPLACE str1 WITH str2 INTO s_dest [LENGTH len]. 字段SY-SUBRC的返回值為0時表示己成功替換.

31.  確定字段長度:[COMPUTE] n = STRLEN( str ).

32.  刪除字符串中的多余空格:CONDENSE

33.  字符轉換,如將ABC轉換為abc:TRANSLATE

34.  創建一個可以排的格式:CONVERT TEXT.

35.  用一個字符串覆蓋另一個字符串:OVERLAY

36.  WRITE TO賦值時將忽略數據對象的類型,而將其視為字符類型數據.

37.  字符串比較中的換碼字符:#,用於轉換比較時使用的通配符:*+.及進行區分大小寫,空格的比較,#A表示比較大寫的A.

38.  定位操作子串:strName[+0][(1)].

39.  字段符號,數據引用:動態數據對象.

40.  子程序定義:FORM subroutine_name USING parameters1 parameters2…. ….ENDFORM.

41.  子程序調用:PERFORM subroutine_name USING actual_parameters1 p2…. (其中USING可換成CHANGING)

42.  ULINE.輸出下劃線.

43.  錯誤查看:ST22

44.  程序打包release:SE01:找到對應的程序,點開后點上面小汽車,再選中上面的后再點小汽車.check.程序修改后需要重新打包.

45.  制作T-CODE:SE93,TCODE應按順序編號:ZMF+流水號,我的程序名

46.  創建table:t-code:se11,attributes:Delivery class:C.開發類別:ZFI,當自定義Field type,名稱需為Z+…..格式.->設置技術屬性(Technical Setting):Logical storage parametersData class:APPL1,Size category:4à創建function group:SE80,創建好后將創建的TABLE挂接到function grouph上去:se11查出table,utilites->table maintenance generator:Authorization groups:&NC&,Function group中填剛才創建的功能組名稱->one step->overview screen中必須填未使用的number,此處screen numbertable是一一對應的關系,也可讓點系統上面的按鈕:find screen number來自動搜索適合的scr. Number.->create,成功后,找到對應的function group中的screen number雙擊即可看到生成的代碼.需要修改欄位名稱可在function group中的element listlayout.-->se93創建t-code,start objecttransaction with parameters(parameter transaction)->default values for->transantion:SM30->Default Values->name of screen field:viewname/update,value:table name/X.

47.  field-sign:,fieldoption:,field-low:表示選擇條件中起始值

48.  where子句中如果只有一個表的話,可以不用指定表名.

49.  獲取用戶IP地址及用戶名:

  call function 'TH_USER_INFO'    " Get user IP,hostname

   importing

     hostaddr = iporg轉化前的IP地址

     terminal = host電腦名

  exceptions

         others   = 1.

 

"Conv.IP addr to format 'xxx.xxx.xxx.xxx'

  call function 'ZGJ_IPADR2STRING'  "Conv.IP addr

  exporting

   ipadr   = iporg轉化前的IP地址

  importing

   string  = ipdec.轉化后的最終需要的IP地址

50.刪除內表中數據完全相同的行,只保留一行:  delete adjacent duplicates from itab1 COMPARING <f1> <f2> / COMPARING ALL FIELDS.

51.  spro:后臺設定

52.  輸出選擇框write:/ itab1-flag as checkbox

原创粉丝点击