ABAP程式中的統計求和

2021-06-22 14:13:30 字數 1250 閱讀 3130

在abap開發中,如何在程式中實現統計求和呢?

其實在loop ... endloop 中間,有個at ,<…>,endat迴圈. 其中的包括:

frist, last, new , end of.這些可以用來進行內錶中按某個字段進行分組統計.

first 內 表的第一行

last 內 表的最後一 行

new 行組 的開頭,與 字段 和 剩餘欄位中 的內容相同

end of 行組 的結尾,與 字段 和 剩餘欄位中的內容相同

at - endat 塊中的語句 塊使用這些 行條件代表 預定義的控 制結構。用 戶可以使用

它們處理內 表中的控制 斷點,而不必使用 程式設計分支和迴圈 中所述的控 制語句自己 程式設計。

在 at - endat 語句塊中, 工作區域沒 有用當前表 格行進行填 充。初始化 所有不是標

準關鍵字部件的字段( 參見 標識**行 )。對於行 條件 first 和 last,系統用星號

(*) 改寫所有標 準關鍵字段 。

對於行條 件 new 和 end of ,系 統用星號 (*) 改寫所有出 現在工作區 域中指定字

段 右邊的標準關鍵字段。 使用者可根據 自己的需求 在 at - endat 語句塊中填 充工作區域 。

data: begin of line,

col1 type c,

col2 type i,

col3 type i,

end of line.

data itab like line occurs 10.

line-col1 = 'a'.

do 3 times.

line-col2 = sy-index.

line-col3 = sy-index ** 2.

enddo.

line-col1 = 'b'.

do 3 times.

line-col2 = 2 * sy-index.

line-col3 = ( 2 * sy-index ) ** 2.

enddo.

loop at itab into line.

write: / line-col1, line-col2, line-col3.

at end of col1.

sum."按col1 求和.

uline.

write: / line-col1, line-col2, line-col3.

skip.

endat.

sap上海顧問中心

ABAP程式中的事件

事件流 6個 initialization 初始化 at selection screen 螢幕跳出前 start of selection 取資料 end of selection 展示資料 top of page 普通報表輸出頁頭 end of page 普通報表輸出頁尾 1.load of p...

ABAP程式中Data object的可見性

簡單總結一下abap程式中資料物件的可見性。1 在form.endform和function.endfunction中使用data定義的資料物件,始終是子程式的區域性物件。2 在其他位置,data定義的都是全域性物件,在整個程式中都可見。3 如果全域性資料和區域性資料有相同的變數名稱,則區域性資料 ...

ABAP 在程式中啟動後台JOB

data lv job name like tbtco jobname 作業名 lv job nr like tbtco jobcount 作業號 lv job released type c,lv job start sofort type c,lv print parameters type p...