SAP的ABAP4語言中文培訓教材第三部分第十一章調用外部程序組件_第1頁
SAP的ABAP4語言中文培訓教材第三部分第十一章調用外部程序組件_第2頁
SAP的ABAP4語言中文培訓教材第三部分第十一章調用外部程序組件_第3頁
SAP的ABAP4語言中文培訓教材第三部分第十一章調用外部程序組件_第4頁
SAP的ABAP4語言中文培訓教材第三部分第十一章調用外部程序組件_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第十一章 1調用外部程 序組件概覽在 ABAP/4 中,有多種 使事務模塊 化的選項可 供選擇。這 些選項包括 所有可以調 用程序外部 代碼組件的 方法。這些 外部組件可 以是功能模 塊、其它事 務、對話模 塊或報表。內容嵌入程序調 用外部程序和 滾動區(qū)外部程序和 LUW 處理調用功能模 塊訪問功能庫進行調用使用功能模 塊接口處理例外情 況調用其它事 務轉到事務調用事務調用與調用 程序共享 SAP LUW 的事務調用對話模 塊運行時執(zhí)行 對話模塊用事務作為 對話模塊提交報表向報表傳送 數據保存或打印 報表在程序間傳 送數據用 SPA/GPA 參數傳送數 據詳細信息, 參見:嵌入程序調 用 (頁

2、 ) 調用功能模 塊 (頁 ) 調用其它事 務 (頁 ) 調用對話模 塊 (頁 ) 提交報表 (頁 ) 在程序間傳 送數據 (頁 ) 1嵌入程序調 用外部程序組 件由系統(tǒng)進 行維護,對 所有程序都 可用??稍?事務中按任 意組合調用 這些組件。外部程序和 滾動區(qū)滾動區(qū)包含 程序的運行 時間上下文 。除運行時 間堆棧和其 它結構外, 所有局部變 量和程序可 以識別的任 何數據都存 儲在這里。 系統(tǒng)是如何 處理外部程 序組件的滾 動區(qū)的呢? 事務在各 自的滾動區(qū) 中運行 報表在各 自的滾動區(qū) 中運行 對話模塊 在各自的滾 動區(qū)中運行 功能模塊 在其調用程 序的滾動區(qū) 中運行調用運行自 己的滾動區(qū)

3、的外部程序 時,可以最 多嵌入 9 層調用。所 調用的功能 模塊不單獨 增加一層。外部程序和 LUW 處理運行時,事 務必須以“ 全都或全都 不”方式對 數據庫進行 更新?;蛘?全部執(zhí)行, 或者全部丟 棄?!癓UW” (邏輯工作 單元)是某 一時間段, 在此期間所 需的任何更 新都屬于“ 全都或全都 不”單元?!癝AP LUW”是 指 ABAP/4 事務進行單 式組更新的 時間段。( SAP-LUW, 也稱為更新事務 (頁 Error! Not a valid link.) ,與 數據庫 LUW 不同)。在調用外部 程序時,了 解相關的被 調程序或調 用程序如何 進行更新非 常重要。外 部程序

4、與調 用程序在同 一 SAP LUW 中運行,還 是在單獨的 SAP LUW 運行? 事務用單 獨的 SAP LUW 運行 報表用單 獨的 SAP LUW 運行 對話模塊 與調用程序 在同一 SAP LUW 中運行 功能模塊 與調用程序 在同一 SAP LUW 中運行上述規(guī)則的 唯一例外是 用 IN UPDATE TASK (只是 V2 功能) 或 IN BACKGROUND TASK (ALE 應用程序) 調用的功能 模塊。它們 總是在自己 的(單獨的 )更新事務 中運行。如果程序調 用更新任務 功能或使用 COMMIT WORK, 則外部程序 與其調用程 序共享(或 不共享) SAP LU

5、W 這一事實會 產生特殊效 果。詳細信 息,參見編程數據庫 更新 (頁 Error! Not a valid link.) 。2調用功能模 塊功能模塊是 通用庫例程 ,在整個系 統(tǒng)內都能使 用。有多種 用途,如操 作串、進行 特殊計算、 調用遠程系 統(tǒng)上的程序 或發(fā)行標準 的屏幕序列 。每個功能模 塊都屬于某 個“功能組 ”。功能組 是邏輯相關 的模塊集合 ,相互共享 全局數據。 組內的所有 模塊都包括 在同一主程 序中。當 ABAP/4 程序包含 CALL FUNCTION 語句時,系 統(tǒng)會在運行 時與程序代 碼一起將整 個功能組裝 載進去。訪問功能庫系統(tǒng)在功能 庫中管理功 能模塊。從 中可

6、查閱現 有功能、其 調用接口和 文檔,以及 創(chuàng)建新功能 等。要訪問 功能庫,請 按工作臺中 的“功能庫 ”。在 ABAP/4 編輯器中, 可以雙擊代 碼中的功能 模塊名,或 使用“編輯 - 插入語句” 功能?!安?入語句”會 查找功能模 塊接口并在 程序中插入 功能調用模 板。所插入 的調用包含 預先格式化 的參數。進行調用用 CALL FUNCTION 語句調用功 能模塊。例 如,假定要 在用戶未保 存就退出事 務時給出要 求進行的提 示。有一個 功能模塊可 以完成這一 提示任務:CALL FUNCTION POPUP_TO_CONFIRM_LOSS_OF_DATA EXPORTING TE

7、XTLINE1 = Do you want to save? TEXTLINE2 = ? TITEL = REMINDER IMPORTING ANSWER = REPLY.POPUP_TO_CONFIRM_LOSS_OF_DATA 使用 TEXTLINE 參數產生一 個彈出窗口 :從調用返回 后,變量 REPLY 包含用戶的 回答:是( J)或 否(N )。本節(jié)講述如 何調用和編 寫功能模塊 。關于使用 功能庫工具 的信息,參 見 ABAP/4 工作臺工具 (頁 Error! Not a valid link.) 。使用功能模 塊接口程序只能使 用在功能模 塊接口中說 明的參數向 功能模塊傳

8、 送數據。在 CALL FUNCTION 語句中,參 數賦值的形 式通常為: = 。其中,形 參是接口中 指定的名字 。 可以是變量 或常數。在對 POPUP_TO_CONFIRM_LOSS_OF_DATA 的調用中, 調用程序使 用形參 TEXTLINE1、 TEXTLINE2 和 TITEL 將文本串 想保存嗎? 、? 和REMINDER 發(fā)送給功能 。用戶的回 答放在變量 REPLY 中。功能模塊通 ??梢园?四種類型的 參數: EXPORTING: 用于向被調 功能傳送數 據。相應的 在功能模塊 接口中被指 定為輸入參 數。如果 EXPORTING 參數在功能 模塊接口屏 幕中標記為

9、 “可選”, 則可將其忽 略。 IMPORTING: 用于接受從 功能模塊返 回的數據。 在 功能模塊接 口中被指定 為輸出參數 。如果不需 要,可忽略 任何 IMPORTING 參數:這些 都是可選的 。 TABLES: 只用于通過 引用(即通 過地址)傳 送內部表。 TABLES 參數在功能 模塊接口屏 幕中未標記 為“可選” ,則不能將 其忽略。 CHANGING: 用于與功能 相互傳送參 數(可能更 改為調用程 序版本)。 如果 CHANGING 參數在功能 模塊接口屏 幕中標記為 “可選”, 則可將其忽 略。也可以使用 “編輯 - 插入語句” 功能(位于 ABAP/4 編輯器中) 指

10、明哪些參 數可選。在 功能插入 CALL FUNCTION 語句之后, 就將可選參 數標注出來 。關于處理功 能模塊中例 外情況的詳 細信息,參 見:3處理例外情 況功能模塊允 許程序員決 定出現例外 之后是由調 用程序進行 處理還是由 系統(tǒng)進行處 理。要告知 系統(tǒng)由調用 程序處理例 外,則應在 CALL FUNCTION 語句中指定 EXCEPTIONS:CALL FUNCTION CONVERT_TO_FOREIGN_CURRENCY EXPORTING DATE = TRANS_DATE FOREIGN_CURRENCY = FCURRKEY LOCAL_AMOUNT = AMOUNT

11、LOCAL_CURRENCY = LCURRKEY IMPORTING EXCHANGE_RATE = RATE_USED FOREIGN_AMOUNT = CONVD_AMT FOREIGN_FACTOR = FCURR_FACTOR EXCEPTIONS NO_RATE_FOUND = 1 OVERFLOW = 2.例外類型在 功能模塊接 口中進行定 義。對于 CALL FUNCTION 中提到的各 種例外類型 ,系統(tǒng)都假 定調用程序 自己處理該 錯誤類型。 在上述語句 中,程序員 指明程序處 理兩種錯誤 類型(NO_RATE_FOUND 和 OVERFLOW) ,其他則由 系統(tǒng)進行處 理

12、。要處理所有 的例外類型 ,請使用:CALL FUNCTION CONVERT_TO_FOREIGN_CURRENCY EXPORTING . IMPORTING . EXCEPTIONS NO_RATE_FOUND = 1 OVERFLOW = 2 NO_FACTORS_FOUND = 3 OTHERS = 4.OTHERS 關鍵字包含 CALL FUNCTION 語句中未列 出的所有例 外。使用 OTHERS 可包含打算 用同一方法 處理的所有 例外類型。 例如,如果 編寫以下代 碼:CALL FUNCTION CONVERT_TO_FOREIGN_CURRENCY EXPORTING .

13、 IMPORTING . EXCEPTIONS OTHERS = 4.則程序仍將 得到所有相 同的例外通 知,但這次 都使用單獨 例外代碼。調用程序處 理例外時如果出現了 程序應處理 的例外,功 能模塊就將 SY-SUBRC 設置為相應 的數字,并 將控制直接 返回給程序 。只有引用 所調用的參 數才包含返 回值。如果 例外是由 MESSAGE . RAISING 產生的,則 系統(tǒng)用以下 系統(tǒng)字段中 將消息傳回 去: SY-MSGID (消息標識 符) SY-MSGTY (消息類型 ) SY-MSGNO (消息號) SY-MSGV1 到 SY-MSGV4( 消息中包括 字段 到 的 內容)。這

14、些字段有 助于使用具 有特殊參數 的 MESSAGE 語句:MESSAGE SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.如果字段 SY-MSGV1 到 SY-MSGV4 中有任何一 個為空,系 統(tǒng)就將其全 部忽略。關 于發(fā)布消息 的詳細信息 ,參見發(fā)布消息 (頁 Error! Not a valid link.) 。系統(tǒng)處理例 外時如果讓系統(tǒng) 處理例外, 對于用戶則 會發(fā)生以下 兩種情況之 一: 程序終止 系統(tǒng)顯示 消息并根據 消息類型繼 續(xù)進行處理 。如果既要編 寫功能模塊 又

15、要編寫調 用程序,參 見 編程功能模塊 (頁 Error! Not a valid link.) 以獲取有關 例外處理的 詳細信息。4調用其它事 務可以從事務 內部轉到或 調用其它事 務。“轉到 ”新事務將 完全終止原 事務:用戶 無法返回。 “調用”新 的事務則可 在被調事務 結束后返回 原事務。返 回后,將恢 復執(zhí)行緊跟 在調用后面 的指令。轉到事務要轉到另一 事務并結束 當前事務, 請使用 LEAVE TO TRANSACTION 語句:LEAVE TO TRANSACTION .系統(tǒng)將顯示 要轉到的事 務初始屏幕 。開始新事 務之后,用 戶就無法通 過按“退出 ”圖標返回 上一事務的

16、上下文。在 上一事務中 用戶沒有保 存的所有數 據都將丟失 。調用事務如果希望用 戶在處理完 中間事務后 能夠返回初 始事務,請 使用 ABAP/4 語句:CALL TRANSACTION .與 LEAVE TO TRANSACTION 語句不同, CALL TRANSACTION 語句使系統(tǒng) 開始新的 SAP LUW(或更新事務 (頁 Error! Not a valid link.) )。第二個 SAP LUW 與調用事務 的 SAP LUW 并行運行。 通過在被調 事務中使用 關鍵字 LEAVE, 可以讓用戶 返回調用程 序的程序上 下文。在調用事務 時,可以告 知系統(tǒng)取消 事務的初始

17、屏幕而直接 到序列中的 下一個屏幕 :CALL TRANSACTION AND SKIP FIRST SCREEN.對初始屏幕 進行處理但 不顯示。只 有當初始屏 幕中所有必 需字段都已 賦值時取消 初始屏幕才 有意義。否 則,調用事 務時程序必 須傳送數據 值。有關參 數傳送技術 的信息,參 見 在程序間傳 送數據 (頁 ) 。調用與調用 程序共享 SAP LUW 的事務有時需要調 用獨立的事 務,但又希 望其與調用 程序在同一 SAP LUW 中運行。其 技巧在于將 現有事務轉 換成對話模 塊。為此, 只需創(chuàng)建一 個新的對話 模塊,使其 主程序和初 始屏幕與現 有事務相同 。然后用 CAL

18、L DIALOG 調用新的對 話模塊。必須按照一 定規(guī)則對同 時用作事務 和對話模塊 的事務進行 編程。詳細 信息,參見 用事務作為 對話模塊 (頁 ) 。4調用對話模 塊對話模塊是 不屬于特定 事務的可調 用屏幕序列 。對話模塊 有自己的模 塊池,可由 任何事務調 用。對話模 塊與調用事 務在同一 SAP LUW (或更新事務 (頁 Error! Not a valid link.) )中運 行。因此, 系統(tǒng)忽略對 話模塊發(fā)送 給更新任務 的任何更新 例程。這就 使得在編寫 使用異步更 新的應用程 序時對話模 塊特別有用 。因為對話 模塊在自己 的滾動區(qū)中 運行(功能 模塊共享調 用程序的滾

19、 動區(qū)),所 以對話模塊 比功能模塊 運行速度慢 的多。 系統(tǒng)采用類 似于功能庫 的工具管理 對話模塊。 可以使用該 工具查閱現 有對話、其 調用接口和 文檔,以及 創(chuàng)建新對話 等。要在 Workbench 中使用對話 模塊工具, 請使用菜單 選項“開發(fā) - 編程環(huán)境 - 對話模塊” 。在“對象 瀏覽器” 中,使用“ 環(huán)境 - 程序開發(fā) - 對話模塊” 。運行時執(zhí)行 對話模塊使用 CALL DIALOG 語句調用對 話模塊。例 如:CALL DIALOG SWO_OBJTYPE_GENERATEEXPORTINGDIALOG_MODE FROM MODEDIALOG_OBJTYPE FROM

20、OBJTYPEIMPORTINGDIALOG_RETURN TO RESULT.5用事務作為 對話模塊必須將用作 對話模塊的 事務編程為 要作為事務 和對話模塊 運行。以下 各節(jié)講述事 務代碼必須 適合兩種用 途的兩個區(qū) 域。編寫兩用 SAP LUW 事務必須既 能夠在自己 的 SAP LUW (或更新事務 (頁 Error! Not a valid link.) )中運 行,也能夠 在調用程序 的 SAP LUW 中運行。對話模塊運 行時,(在 其調用程序 的 SAP LUW 中),要有 特殊的條件 : 繼承調用 程序用 ENQUEUE 創(chuàng)建的鎖事務作為對 話模塊運行 時,可以假 定給定對象

21、 的鎖已存在 。事務作為 事務運行時 ,則必須排 列自己的鎖 ??梢允褂?系統(tǒng)變量 SY-CALLD 來確定在運 行時程序是 否在調用模 式下運行。關于鎖的詳 細信息,參 見 SAP 系統(tǒng)中的鎖 (頁 Error! Not a valid link.) 。 繼承調用 程序的更新 任務關鍵字關于更新任 務處理的信 息,參見 更新任務中的綁定更新 (頁 Error! Not a valid link.) 。 忽略 COMMIT WORK 語句可以在兩用 事務中包含 COMMIT WORK, 但在程序作 為對話模塊 運行時則被 將忽略。對 話模塊中所 要求的全部 更新將在調 用程序的下 一 COMM

22、IT WORK 中進行處理 。詳細信息 ,參見 COMMIT WORK 處理 (頁 Error! Not a valid link.) 。 調用 IN UPDATE TASK 的功能模塊 不在對話模 塊中觸發(fā)。必須確保用 ON UPDATE TASK 調用的任何 功能模塊都 可以延遲到 調用程序中 的下一 COMMIT WORK 之后。 PERFORM ON COMMIT 例程不在對 話模塊中執(zhí) 行。必須確保用 PERFORM ON COMMIT 調用的任何 FORM 例程都可以 延遲到調用 程序中的下 一 COMMIT WORK 之后。特殊 情況下,在 控制返回調 用程序時, 對話模塊滾 動

23、區(qū)中的局 部數據會消 失。用這種 方式調用的 FORM 例程不應依 賴該局部數 據。詳細信 息,參見調用更新任 務功能的對 話模塊 (頁 Error! Not a valid link.) 。在編寫“保 存”功能( F12)或 在其它允許 用戶確認其 操作的地方 ,通常需要 上述特征。 通常情況下 ,在編寫兩 用事務的代 碼時,必須 使所有托付 處理所需的 更新既可以 在被調程序 中發(fā)生也可 以在調用程 序中發(fā)生, 而不失去其 正確性。編寫兩用退 出從兩用事務 中退出必須 符合兩種情 況:即從調 用模式返回 和從離開模 式返回。如 果程序由 CALL TRANSACTION、 CALL DIA

24、LOG 或 SUBMIT REPORT( 及其它)等 激活,則以 調用模式執(zhí) 行。在這種 情況下,系 統(tǒng)變量 SY_CALLD 設置為X 。如果當前 沒有活動的 嵌入調用, 則以離開模 式執(zhí)行。LEAVE 語句用于以 下情況: LEAVE 語句導致從 調用模式返 回。 LEAVE TO SCREEN NNN 導致從離開 模式返回。由于兩用事 務既能在調 用模式下, 又能在離開 模式下,因 此,應該同 時使用兩個 語句,其順 序如下:AT USER-COMMAND. LEAVE. LEAVE TO SCREEN NNN.如果當前是 作為事務運 行的,則忽 略第一個 LEAVE, 而執(zhí)行 LEAV

25、E TO SCREEN NNN。如 果是作為對 話模塊運行 的,則執(zhí)行 第一個 LEAVE ,而始終不 會執(zhí)行第二 個 LEAVE。5提交報表有兩種從事 務生成報表 的選項:LEAVE TO LIST-PROCESSING 語句或 SUBMIT 語句。在模塊池中 使用 LEAVE TO LIST-PROCESSING 來編寫列表 處理權。當 事務收集到 大量報表數 據時,用 LEAVE TO LIST-PROCESSING 生成報表是 最好的方法 。詳細信息 ,參見 轉到列表過 程 (頁 Error! Not a valid link.) 。使用 SUBMIT 語句開始獨 立于事務的 報表。該

26、報 表在自己的 滾動區(qū)中運 行,不與調 用程序共享 公共數據區(qū) 。因此,當 事務和報表 很少使用共 同數據時, SUBMIT 比較合適。 使用 SUBMIT 的語法為:SUBMIT RSBBB013.要執(zhí)行該語 句,系統(tǒng)將 離開當前程 序并啟動報 表。返回調用程 序: 要允許用戶 返回調用事 務,請使用 關鍵字 AND RETURN。SUBMIT RSFLFIND AND RETURN. 在這種情況 下,系統(tǒng)將 為報表打開 內部會話。 當用戶從列 表顯示返回 時,系統(tǒng)將 返回啟動報 表的事務屏 幕。(直接 從緊跟 SUBMIT 后的指令繼 續(xù)執(zhí)行。)顯示選擇屏 幕: 缺省情況下 ,在使用簡 單

27、 SUBMIT 語句時,不 會出現報表 的選擇屏幕 。要顯示報 表的選擇屏 幕,請使用 VIA SELECTION-SCREEN 關鍵字:SUBMIT RSFLFIND VIA SELECTION-SCREEN.系統(tǒng)顯示選 擇屏幕,用 戶可指定自 己的選擇條 件。在從列 表顯示返回 后,再次出 現選擇屏幕 (以便用戶 請求另一列 表)。關于 使用 SUBMIT 的詳細信息 ,參見:6向報表傳送 數據有三種向報 表傳送選擇 和參數數據 的選項。分 別是: 使用 SUBMIT.WITH 使用報表 變量 使用 RANGE 表下面將講述 這些選項。使用 WITH 關鍵字可以使用 WITH 關鍵字指定

28、參數或選擇 項所需的全 部值:SUBMIT RSBBB013 WITH CARRID = SPFLI-CARRID.在上述語句 中,“航空 公司”是報 表 RSBBB013 的選擇項( 航空公司) 。報表只顯 示與要求的 航空公司相 關的記錄??梢酝ㄟ^以 下方法找到 相應選擇屏 幕字段的名 字: 使用“編 輯 - 插入語句 ”功能(位 于 ABAP/4 編輯器中) 將 SUBMIT 語句添加到 代碼中 用 F1 鍵請求字段 幫助(在選 擇屏幕中) 使用“實 用程序 - 有關幫助” 請求邏輯數 據庫信息指定值的范 圍可以用 WITH 指定值的范 圍。例如:SUBMIT RSFLFIND WITH

29、 DATE BETWEEN AND .其中,date 是 RSFLFIND 的選擇項, 要求程序帶 指定邊界值 之間的日期 顯示所有記 錄。WITH 規(guī)范有多種 合法的格式 :WITH SIGN WITH BETWEEN AND SIGN WITH NOT BETWEEN AND SIGN WITH IN WITH SELECTION-TABLE WITH FREE SELECTIONS 可以是 EQ、NE、 CP、NP、 GE、LT、 LE、GT 中的任何一 個。符號可 選。如果使 用,則 必須是I (包含)或 E(排 斥)。所有 操作符 、 和 都將按內部 (非顯示) 格式傳送給 程序。當

30、 是選擇項時 ,系統(tǒng)將在 相關選擇項 表中創(chuàng)建條 目,按照指 定情況對 LOW、HIGH、 OPTION 和 SIGN 字段進行。 如果 是參數,則 將 的所有值都 解釋為 EQ。關于使用 WITH 的詳細信息 ,參見 SUBMIT 的關鍵字文 檔。關于使用 RANGES 表的信息, 參見 RANGES 語句 (頁 Error! Not a valid link.) 。關于選擇項 表的詳細信 息,參見 選擇表 (頁 Error! Not a valid link.) 。在報表中使 用變量可以使用報 表變量來指 定參數和選 擇項值。為 此,請使用 USING SELECTION-SET 關鍵字:

31、SUBMIT RSFLFIND USING SELECTION-SET VARIANT1.關于報表變 量的詳細信 息,參見 使用變式預定義選擇 (頁 Error! Not a valid link.) 。使用 RANGES 指定選擇項可以通過填 寫 RANGES 表指定選擇 項值。例如 :TABLES SPFLI.RANGES S_CARRID FOR SPFLI-CARRID.S_CARRID-SIGN = I.S_CARRID-OPTION = EQ.S_CARRID-LOW = LH.APPEND S_CARRID.SUBMIT RSFLFIND WITH CARRID IN S_CAR

32、RID.在此例中, S_CARRID 是結構與選 擇表相同的 內部表。通 過引用列 CARRID (數據庫表 SPFLI) ,字段 S_CARRID-LOW 和 S_CARRID-HIGH 獲得與 CARRID 相同的數據 類型。內部 表 S_CARRID 的表頭行將 被填寫并被 附加到表中 。該表功能 中定義的選 擇條件類似 于邏輯表達 式 SPFLI-CARRID EQ LH。關于使用 RANGES 表的詳細信 息,參見 RANGES 語句 (頁 Error! Not a valid link.) 。7保存或打印 報表不必為用戶 顯示列表。 可以將其打 印出來,或 保存到其它 存儲設備中

33、。將報表發(fā)送 給打印機可以將報表 發(fā)送給打印 機而不顯示 在屏幕上。 為此,請使 用關鍵字 TO SAP-SPOOL:SUBMIT RSFLFIND . TO SAP-SPOOL DESTINATION LT50.在使用該特 征時,有多 種選項可指 定打印所需 的參數。詳 細信息,請 參見 SUBMIT 聯(lián)機文檔( ABAP/4 編輯器中的 “工具 - 有關幫助.” )。將報表保存 在內存中可以使用 SUBMIT 生成報表并 將其保存在 ABAP/4 內存中,而 不顯示在屏 幕上。為此 ,請使用關 鍵字 EXPORTING LIST TO MEMORY:SUBMIT RSFLFIND . AN

34、D RETURN EXPORTING LIST TO MEMORY.該特征將生 成的報表放 在 ABAP/4 內存中,從 SUBMIT 調用返回之 時,調用程 序可從中進 行訪問。功 能組 SLST 提供訪問已 保存的報表 的功能模塊 ,其中包括 :LIST_FROM_MEMORYWRITE_LISTDISPLAY_LIST請注意,AND RETURN 關鍵字是該 特征所必需 的,但不允 許使用 TO SAP-SPOOL 關鍵字。詳 細信息,參 見 SUBMIT 聯(lián)機文檔( ABAP/4 編輯器中的 “工具 - 有關幫助.” )。7在程序間傳 送數據事務、對話 模塊和報表 都在自己的 滾動區(qū)中

35、運 行。在從事 務中調用其 中任何一個 時,都必須 給它們傳送 運行所需的 數據。向外 部程序傳送 數據的選項 有: 使用 SPA/GPA 參數(SAP 內存)這是在外部 程序之間傳 送數據的最 常用方法。 詳細信息, 參見:用 SPA/GPA 參數傳送數 據 (頁 ) 。 使用 EXPORT/IMPORT 數據(ABAP/4 內存)任何程序都 可以使用 EXPORT 語句在 ABAP/4 內存中存儲 數據字段簇 。因此,該 數據就全局 有效(使用 IMPORT) ,在程序本 身中以及任 何被調事務 、報表或其 它模塊中都 有效。使用 EXPORT:EXPORT . TO MEMORY ID .然后調用程 序就會檢索 數據:IMPORT . FROM MEMORY ID .ID 參數標識唯 一的數據簇 。如果將同 一對象多次 輸出到同一 ID,則會 改寫內存中 該簇的第一 個版本。如 果第二次輸 出對象的子 集,則仍會 改寫該組的 第一個版本 中的“所有 ”對象(不 僅是子集) 。只有調用程 序和被調用 程序經常一 起使用時, 才

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論