1. 程式人生 > >有表頭行與無表頭行的內表在模組化中的應用(ABAP)

有表頭行與無表頭行的內表在模組化中的應用(ABAP)

PROGRAM SAPMZTST.
TYPES: BEGIN OF LINE,
         COL1 TYPE I,
         COL2 TYPE I,
       END OF LINE.
DATA: ITAB TYPE LINE OCCURS 10 WITH HEADER LINE,
      JTAB TYPE LINE OCCURS 10.
PERFORM FILL TABLES ITAB.
MOVE ITAB[] TO JTAB.
PERFORM OUT  TABLES JTAB.
FORM FILL TABLES F_ITAB LIKE ITAB[].
   DO 3 TIMES.
      F_ITAB-COL1 = SY-INDEX.
      F_ITAB-COL2 = SY-INDEX ** 2.
      APPEND F_ITAB.
   ENDDO.
ENDFORM.
FORM OUT TABLES F_ITAB LIKE JTAB.
   LOOP AT F_ITAB.
      WRITE: / F_ITAB-COL1, F_ITAB-COL2.
   ENDLOOP.
ENDFORM.
啟動 SAPMZTST 後,輸出如 下:
         1          1
         2          4
         3          9

詳細解釋:WITH HEADER LINE 指明瞭ITAB要帶表頭行,
先解釋下表頭行的作用吧:

內表是按行 進行訪問的 。必須使用 某個工作區 域作為與表 格互相傳輸 資料的介面 。在先前的

學習中我們都又看見這樣一個訪問內表的句子: LOOP AT F_ITAB INTO F_LINE. F_LINE就是

這樣一個介面。那麼如果有表頭行的話,你就可以省略F_LINE,直接LOOP AT F_ITAB,因為表頭行就

是這樣一個系統幫你建立的一個表格工作區域(只要你宣告時加上WITH HEADER LINE ),那ITAB[]

中的[]是用來做什麼的?這個其實是因為如果在語句中使用內表名稱,系統將其解釋為表格工作區域

的名稱,也就是ITAB其實代表 表頭行、表格工作區域、訪問內表的介面。這樣應該理解了吧。有表

頭行的內表在運用時要帶個中括號,這樣才是我們平時用的內表


重點理解:FORM OUT TABLES F_ITAB LIKE JTAB.

請注意,在這種情況下, 將無表頭行 的實表格傳遞給有表頭行的形式表 格,並在子程式中使用了表格工作域 F_ITAB。
這是因為如果傳遞無表頭行的內表,則在子程式中自動建立作為區域性資料物件的表頭行,也就是說F_ITAB是帶表頭行的,所以LOOP AT F_ITAB.的後面不用指明表格工作區域

相關推薦

表頭表頭模組應用ABAP

PROGRAM SAPMZTST. TYPES: BEGIN OF LINE,          COL1 TYPE I,          COL2 TYPE I,        END OF LINE. DATA: ITAB TYPE LINE OCCURS 10 WI

Android ORM——greenDAO 3之Properties、QueryBuilder資料庫的增刪改查的基本語法應用

引言 Android ORM——初識greenDAO 3及使用greenDAO 3前應該掌握的一些知識點介紹了greenDAO的配置步驟和一些重要的知識點,以及重要的角色的功能和聯絡,這一篇就正式開始結合點原始碼從應用greenDAO方面總結。在使用green

Redis在三層服務框架應用——RedisModel的結合

個人宣告:本系列所有文章旨在拋磚引玉,為有興趣深入使用Redis的同學提供一些參考。本系列所有文章純屬原創,均是筆者在實際工作中的總結。本文所有引用的MDB系列元件均由米多網路架構部提供,在此向架構部表示感謝。筆者經驗能力有限,如有不適之處還請多多指教。一、為什麼要使用Red

CSS強制英文、中文換不換 強制英文換

字母 psi 省略號 -s 換行 適合 hidden 強制 超出 1. word-break:break-all;只對英文起作用,以字母作為換行依據 2. word-wrap:break-word; 只對英文起作用,以單詞作為換行依據 3. white-space:pre-

CSS強制英文、中文換不換

代碼 英文 指定 ext 亞洲 tran book 了解 bsp 設計制作HTML時會遇到CSS強制英文、中文換行與不換行的問題,可以通過本文了解一下相關知識。 結構: 1.Transshipment Booking System is launched只對英文起作用,以字

02_符號數符號數

isp line 變量 ott splay pla return else if 整數 有符號數與無符號數 1、計算機中的符號位 編程實驗: #include <stdio.h> int main() { char c = -5; sho

源定位源定位

當衛星導航系統使用有源時間測距來定位時,使用者終端通過導航衛星向地面 控制中心發出一個申請定位的訊號,之後地面控制中心發出測距訊號,根據訊號 傳輸的時間得到使用者與兩顆衛星的距離。除了這些資訊外,地面控制中心還有一 個數據庫,為地球表面各點至地球球心的距離,當認定使用者也在此不均勻球面的

監督學習監督學習

機器學習的常用方法,主要分為有監督學習(supervised learning)和無監督學習(unsupervised learning)。簡單的歸納就是,是否有監督(supervised),就看輸入資料是否有標籤(label)。輸入資料有標籤,則為有監督學習;沒標籤則為無監督學習。 有監督

監督學習監督學習的幾大區別

當下無監督作為一種熱門的機器學習技術,網上有不少關於無監督與有監督差異討論的文章。DataVisor作為率先將無監督技術運用在反欺詐行業的嬌嬌領先者,我們在本文中,將深入淺出的講解無監督機器學習技術與有監督技術在不同方面的區別,通過對比這兩種技術,讓大家對無監督

Eclipse格式化程式碼時不換 自動換

每次用Eclipse自帶的Ctrl+shift+f格式化程式碼時,如果原來的一行程式碼大於80列,Eclipse就會自動換為多行,這點感覺不是很舒服,簡單試了一下,通過以下方式可以修改: 1、preferences->Java->Code Style->C

CSS強制英文/中文換不換

p1{ word-break:break-all; width:150px;}/*只對英文起作用,以字母作為換行依據*/.p2{ word-wrap:break-word; width:150px;}/*--只對英文起作用,以單詞作為換行依據*/.p3{white-spac

GridView一般換強制換

  首先設定<asp:BoundField DataField="家庭住址" HeaderText="家庭住址"   ItemStyle-Width="100" />gridview裡有一列繫結的資料很長,顯示的時候在一行裡面顯示,頁面拉得很寬。原因是連續英文段為

ASP.NET:GridView的一般換強制換

 //正常換行   GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");   //下面這行是自動換行   GridView1.Attributes.Add("style", "word-break:break-al

java符號數符號數互相轉換

java中有符號數與無符號數互相轉換 文章目錄 java中long型別轉換成無符號數 java中無符號數轉換成有符號數 java中long型別轉換成無符號數 由於JAVA中基本資料型別均為有符號數,而且最大資料型別lon

極性電容極性電容的概述(詳解)

有極性電容與無極性電容的概述 有極性電容與無極性電容的概述 有極性電容的識別 有極性電容於無極性電容的區別 網友見解 有極性電容與無極性電容的概述 理想的電容,本來是沒有極性的。但是在實際中,為了獲得大容量,就使用了某些特殊的材料和結構,這就導致了實際的電容有些是有極性的

Eclipse-格式化程式碼時不換自動換的實現方法

preferences->Java->Code Style->Code Formatter->Show… ,開啟之後,選擇“Line Wrapping”選項卡,在“Maximun line width”指定大於多少列時換行。 還是在“

HTML學習之塊級元素和元素的特徵和區別

這幾天在學習HTML,這裡總結一下塊級元素和行內元素的特徵和區別,本文也是來自於其他同行的一些文章,在這裡感謝一下那些作者,下面先把這些原文粘貼出來 http://www.cnblogs.com/Ja

符號數符號數的強制型別轉換問題

在C語言中有符號數轉化為無符號會出現一些問題,先看以下的程式例子: int main() { char ch[12] = {0xF0, 0xFF, 0xFF, 0x00, 0xF0, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00};

通過UltraEdit(UE)轉化\r\n(回車換)\n(換)

\r\n(回車換行)是window上的換行符,\n(換行)是linux上的換行符,下面介紹通過UltraEdit(UE)在windows上實現相互轉化。 1.\r\n(回車換行)轉化為\n(換行)     用UE開啟對應的文字檔案,然後按照下圖進行轉化,轉化後儲存就OK了。

css相容多瀏覽器強制換不換

相容多瀏覽器強制換行與不換行 強制不換行,多餘的部分用省略 overflow:hidden;white-space:nowrap;text-overflow:ellipsis; 1. word-break:break-all;只對英文起作用,以字母作為換行依據 2.