
- SAP指令碼教程
- SAP指令碼 - 首頁
- SAP指令碼 - 概述
- SAP指令碼 - 智慧表單
- SAP指令碼 - 表格繪製器
- SAP指令碼 - 佈局集
- SAP指令碼 - 列印程式
- SAP指令碼 - 建立視窗
- SAP指令碼 - 輸出區域
- SAP指令碼 - 文字模組
- SAP指令碼 - 文字分組
- SAP指令碼 - 格式選項
- SAP指令碼 - 輸出型別
- SAP指令碼 - 控制列印輸出
- SAP指令碼 - 資料格式
- SAP指令碼 - 匯出
- SAP指令碼 - 匯入
- SAP指令碼 - 控制表
- SAP指令碼 - 文字和圖形
- SAP指令碼 - 控制命令
- SAP指令碼 - 複製指令碼
- SAP指令碼 - 標準文字
- SAP指令碼 - 文字處理
- SAP指令碼 - 建立文件
- SAP指令碼 - 更新文件
- SAP指令碼 - 查詢文件
- SAP指令碼 - 儲存文件
- SAP指令碼 - 刪除文件
- 文件列印預覽
- SAP指令碼 - 格式轉換
- SAP指令碼 - 原始資料介面
- SAP指令碼 - 輸出模式SPOOL
- SAP指令碼 - 輸出模式IDOC
- 在系統中建立指令碼
- SAP指令碼有用資源
- SAP指令碼 - 快速指南
- SAP指令碼 - 有用資源
- SAP指令碼 - 討論
SAP指令碼 - 快速指南
SAP指令碼 - 概述
SAP指令碼用於生成格式化文件,並用於外部目的列印和傳輸業務文件。格式化文件包含徽標、表格和其他格式化物件。您可以列印預格式化的表單文字,而這在普通的ABAP程式碼中是不可能的。
SAP指令碼包含以下元件:
一個編輯器,用於輸入和編輯由應用程式事務自動呼叫的文字行。
一個隱形合成器,用於從輸出裝置準備文字並提供不同的列印格式選項。
要將指令碼元件包含到您的應用程式程式中,它包含一個程式設計介面。
使用維護事務為列印佈局建立樣式和表單。
一個中央資料庫,用於儲存文字、表單和其他列印格式樣式。
當執行列印程式時,它從表單和資料庫中檢索資料並列印輸出。
下圖顯示瞭如上所述的SAP指令碼的關鍵元件。

要設計指令碼,請使用事務程式碼 - SE71
在SAP輕鬆訪問中輸入事務程式碼,然後開啟以下螢幕。

輸入程式名稱並單擊儲存按鈕以儲存它。

建立段落、頁面和視窗,並將視窗分配給元素。建立指令碼並建立報告以呼叫指令碼。
SAP指令碼 - 智慧表單
SAP智慧表單已由SAP推出,以增強SAP指令碼的功能和關鍵特性。在智慧表單中,與SAP指令碼相比,您需要最少的編碼。
SAP建議用智慧表單替換SAP指令碼,因為智慧表單提供了優於指令碼的各種優勢。
以下是SAP指令碼和智慧表單之間的主要區別:
您可以在智慧表單中建立多個頁面格式,而在SAP指令碼中則無法實現。SAP指令碼中的所有頁面都遵循相同的格式。
您無法在智慧表單中建立標籤。
可以在沒有視窗的情況下建立智慧表單。
啟用智慧表單時,它會生成一個功能模組。您還可以使用智慧表單建立背景圖形。但是,使用SAP指令碼是不可能的。
智慧表單的維護成本低,而SAP指令碼的維護成本高。
與SAP指令碼相比,生成智慧表單所需的時間更少。
智慧表單支援以XML格式進行Web釋出。但是,SAP指令碼中不支援此功能。智慧表單生成XML輸出,可以透過Web檢視。
SAP指令碼 - 表格繪製器
表單繪製器工具提供了SAPscript表單的圖形佈局和用於操作表單的各種功能。在以下示例中,我們將建立一個發票表單,方法是從標準SAPscript表單RVINVOICE01複製其佈局結構,並透過訪問表單繪製器工具來顯示其佈局。
開啟表單繪製器。您可以透過導航SAP選單或使用SE71事務程式碼來請求螢幕。
步驟1 - 在表單繪製器中,請求螢幕,分別在“表單”和“語言”欄位中輸入SAPscript表單的名稱和語言。讓我們分別在這些欄位中輸入'RVINVOICE01'和'EN'。

步驟2 - 在“子物件”組框中選擇“頁面佈局”單選按鈕,如上圖所示。
步驟3 - 選擇“實用程式”→“從客戶端複製”以建立RVINVOICE01表單的副本。

出現“在客戶端之間複製表單”螢幕。
步驟4 - 在“在客戶端之間複製表單”(以下)螢幕中,在“表單名稱”欄位中輸入表單的原始名稱“RVINVOICE01”,在“源客戶端”欄位中輸入源客戶端“000”的編號,並在“目標表單”欄位中輸入目標表單的名稱“ZINV_01”。確保其他設定保持不變。

步驟5 - 單擊“在客戶端之間複製表單”螢幕中的“執行”圖示。出現“建立物件目錄條目”對話方塊。輸入儲存物件的包名稱。單擊“儲存”圖示。

ZINV_01表單從RVINVOICE01表單複製並顯示在“在客戶端之間複製表單”螢幕中。
單擊兩次“後退”圖示,然後導航回表單繪製器:請求螢幕,其中包含已複製表單ZINV_01的名稱。
單擊“顯示”按鈕後,將出現“表單ZINV_01:頁面FIRST的佈局”視窗和“表單:更改頁面佈局:ZINV_01”螢幕,如下面的螢幕截圖所示。

“表單ZINV_01:頁面FIRST的佈局”視窗顯示錶單的初始佈局。表單的佈局包含五個視窗:HEADER、ADDRESS、INFO、INFO1和MAIN。這些視窗的描述可以在PC編輯器中訪問。
例如,只需選擇MAIN視窗並單擊“表單:更改頁面佈局:ZINV_01”螢幕中的“文字”圖示,您就可以檢視所有邊距值。
SAP指令碼 - 佈局集
佈局集是一種使用程式設計介面輸出文件的程式。佈局集是SAP指令碼的一部分,用於定義列印頁面的佈局,並使用文字元素來提供可以由列印程式呼叫的輸出塊。佈局集本身不包含任何資料,文件的資料選擇是使用列印程式完成的。
當呼叫列印程式時,會選擇資料庫中的資料並將其傳遞給佈局集。當執行列印程式時,文件將被列印。
佈局集包含以下元素:
頁首
佈局集頁首包含管理資訊以及其他元件的設定。
段落
段落提供格式化文字段落和字型所需的所有資訊。要建立段落,請單擊“段落格式”,如下面的螢幕截圖所示。

頁面
當您覺得輸出太長,無法在一頁中容納時,您可以建立一個新頁面來列印剩餘部分。您可以使用不同的頁面設定顯示剩餘部分。
要建立頁面,請轉到“頁面”選項卡。輸入頁面名稱並提供一些說明。


頁面視窗
當您有一個型別為MAIN的完整視窗時,SAP指令碼會自動觸發分頁符,輸出的其餘文字將出現在後續頁面的主視窗中。型別為MAIN的頁面視窗在整個佈局集中具有相同的寬度。

字元字串
這些用於定義輸出文字的字型設定。您可以覆蓋段落中特定單詞的段落設定。
視窗
可以使用視窗將輸出文件組織到頁面上。在佈局集中,您有以下型別的視窗:
主視窗 - 只有一個預設建立的主視窗。此視窗可以跨多個頁面流動。
常量視窗 - 可以有多個常量視窗,每個常量視窗可以在每頁上使用一次。
變數視窗 - 變數視窗的內容將在每個出現視窗的頁面上重新處理。

SAP指令碼 - 列印程式
在SAP指令碼中,列印程式用於列印實際表單並從資料庫表中獲取資料,選擇表單並以定義的格式列印文字元素。它從資料庫檢索資料並將其與使用者輸入結合起來,格式化資料並列印它。
所有列印程式和表單都儲存在表TNAPR中。
列印程式中使用了不同的功能模組。要啟動列印程式,使用OPEN_FORM功能模組,要結束程式,使用CLOSE_FORM功能模組。
OPEN_FORM - 在列印程式中,在進行任何列印之前,應首先呼叫此函式。您指定表單的名稱和列印語言。
CALL FUNCTION 'OPEN_FORM'
START_FORM - 呼叫此函式以在單個請求中使用具有類似特徵的不同表單。
CALL FUNCTION ’START_FORM’
WRITE_FORM - 此函式用於使用文字元素在表單的視窗中寫入文字。
CALL FUNCTION ‘WRITE_FORM’
CONTROL_FORM - 此函式用於在ABAP程式中插入SAP指令碼控制命令。
CALL FUNCTION ‘CONTROL_FORM’
END_FORM - 此函式在最後被呼叫,它沒有匯出引數。
CALL FUNCTION ‘END_FORM’
CLOSE_FORM - 要檢視標準表單和標準列印程式,請執行事務程式碼:NACE
輸入應用程式型別,然後單擊頂部的“輸出型別”。


在下圖中,您可以看到所選服務的應用程式名稱。

列印程式 - 示例
以下是一個示例列印程式,它建立包含公司相關資訊(如客戶資料、日期、航班預訂等)的發票。
第1部分 - 獲取客戶資料
TABLES: zcustom, zbook, zpfli. DATA: bookings like zbook... select * from... /In this section, you are reading the data from tables in database./
第2部分 - 開啟表單
CALL FUNCTION 'OPEN_FORM' EXPORTING DEVICE = 'PRINTER' FORM = 'EXAMPLE1' DIALOG = 'X' OPTIONS = EXCEPTIONS CANCELLED = 1 DEVICE = 2 FORM = 3 OTHERS = 11 /In this section, you are calling OPEN_FORM function module to initialize print output./
在上面的功能模組中,引數:
FORM顯示錶單的名稱。
DEVICE可以是PRINTER(使用SPOOL列印)、TELEFAX(傳真輸出)或SCREEN(輸出到螢幕)
OPTIONS顯示型別為ITCPO的結構,用於控制各種屬性 - 列印預覽、副本數量。
第3部分 - 打印表格標題
CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'textelement’ TYPE = 'TOP' WINDOW = 'MAIN' FUNCTION = 'SET' ... /In this section, you use WRITE_FORM function to output general text elements and column heading/
ELEMENT 函式模組顯示要列印的“文字元素”,而“WINDOW”則顯示要列印的表單的哪個視窗。
TYPE 顯示視窗的輸出區域,例如:頂部、底部或主體。
FUNCTION 指示要替換、新增或附加的文字。
第 4 節 - 列印客戶預訂
LOOP AT bookings WHERE CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'BOOKING' TYPE = 'BODY' WINDOW = 'MAIN' ... ENDLOOP /In this section, text element BOOKING is used to output the bookings of a customer from the loop from BOOKING table in database./
第 5 節 - 關閉表單
CALL FUNCTION 'CLOSE_FORM' IMPORTING * RESULT = EXCEPTIONS UNOPENED = 1 OTHERS = 5 /To end the Print Program/
您在最後呼叫此函式模組,它沒有匯出引數。
SAP指令碼 - 建立視窗
建立頁面後,您可以在頁面上建立視窗。單個頁面可以有多個視窗。要建立視窗,您必須單擊“視窗”選項卡。
執行事務程式碼 SE71 並轉到“視窗”按鈕。

在下一個視窗中,它將顯示頁面中視窗的螢幕列表。
每個表單都有一個型別為 MAIN 的視窗。此類視窗稱為表單的主視窗。對於 SAPscript 表單,主視窗具有以下功能:
用於控制頁面中斷。
包含可用於多個頁面的文字主體。
允許在分配的頁面視窗的上、下邊距處固定文字元素。
主視窗中的文字可以跨越多個頁面。如果文字填充一頁,則輸出將在下一頁和後續頁面的視窗中繼續。您可以建立最多 99 個主視窗 00-98。

步驟 1 - 要建立新視窗,請單擊選單欄中的“編輯”選項 → 單擊“建立元素”。

它將生成一個彈出視窗。
步驟 2 - 您必須輸入視窗名稱和簡短描述,然後按 Enter 鍵。單擊勾號以建立視窗。


步驟 3 - 現在要放置視窗,您必須單擊“頁面視窗”按鈕。系統將提示您瞭解要將該視窗放置在頁面的哪個位置。
步驟 4 - 單擊選單欄上的“編輯”選項,編輯 → 建立元素。
您也可以從頁面佈局建立新視窗。如果您在 SE71 事務中看不到“佈局”選項,則必須啟用表單繪製器。要啟用表單繪製器,請轉到“設定”→“表單繪製器”。

您必須選擇“圖形表單繪製器”複選框選項。

步驟 5 - 選擇“圖形表單繪製器”後,事務程式碼 SE71 下將提供“佈局”選項。單擊“佈局”,將開啟“頁面佈局”。

使用“佈局”,它提供了一個 GUI 編輯器,使拖動視窗位置變得更加容易。
預設情況下,您可以在“佈局”中看到主視窗。
步驟 6 - 要建立新視窗,您可以在“佈局”上右鍵單擊 → 建立視窗。

步驟 7 - 在下一個螢幕中,您必須輸入視窗的名稱。
- 輸入含義
- 左邊界
- 右邊界

步驟 8 - 要儲存此視窗,請選擇儲存選項 。將建立一個名為 Window1 的新視窗。

要檢視與頁面視窗連結的文字,請轉到頂部的“文字元素”選項。

SAP指令碼 - 輸出區域
要將文字輸出到主視窗或頁面視窗,您可以選擇不同的輸出區域。
- 上邊距(主視窗的頂部區域)
- 下邊距(主視窗的底部區域)
- 主視窗主體(頂部區域和下邊距之間的區域)
上邊距
在頁面佈局中,頂部區域始終顯示在主視窗的開頭。頂部區域可用於自動輸出表格後續頁面的標題,以覆蓋多個頁面。
使用列印程式放置在上邊距區域的輸出不會立即格式化,而是最初在 SAP 指令碼中內部儲存。僅當列印程式將文字寫入主體區域時才會進行格式化。變數也在那一刻被檢索和替換。
在程式到達上邊距的定義部分之前,將填充主視窗的主體區域。此定義用作後續頁面的頂部區域。可以說,在將文字寫入主體區域後,無法刪除頂部區域中的標題。
下邊距
下邊距位於主視窗的末尾。完成主體區域的輸出時,將為當前頁面定義底部區域。如果頁面上沒有足夠的空間,則輸出的底部區域文字將在頁面佈局的下一頁上生成。
如果列印程式將輸出文字生成到主視窗的底部區域,它會將這些行記住以供後續頁面使用(就像頂部行一樣)。同時,編輯器處理這些行以確定底部區域所需的空間和主體區域剩餘的空間。此時,它將替換當前頁面底部區域中設定的變數。
SAP指令碼 - 文字模組
SAPscript 中的文字模組是由文字標題中的管理資訊元件和實際文字行建立的。文字標題包含有關以下方面的資訊:
- 文字模組標題
- 建立日期和時間
- 最後更改資訊
- 分配的樣式
- 文字格式
您使用文字型別 - 文字節點的文字模組 - 來引用系統中現有的文字模組。這使您可以輕鬆地在多個表單中使用文字模組中的文字。此外,無需載入整個表單描述即可維護這些文字。
文字模組可以透過以下兩種方式使用:
引用 - 這指的是文字模組。然後,文字以只讀方式顯示在 PC 編輯器中,並在打印表單時包含在內。
複製 - 用於複製文字模組。然後,系統會複製模組的文字並自動將文字節點轉換為可編輯的文字元素。
要管理特定於應用程式的表單文字,應用程式使用事務程式碼 SE75定義自己的文字物件及其從屬文字 ID。

要為應用程式建立文字物件和文字 ID,請選擇單選按鈕並單擊“更改”。

要建立文字物件,請單擊“建立”按鈕。系統將提示您輸入此資訊。您可以使用帶有文字 ID 的文字物件輸入常規標準文字。

要維護標準文字,請使用事務程式碼:SO10

文字模組也可用於智慧表單。要建立和更改文字模組,請使用事務程式碼智慧表單並選擇“文字模組”,如下面的螢幕截圖所示。單擊“建立”按鈕。

SAP指令碼 - 文字分組
在 SAP Scripts 中,分組文字提供了更好的文字處理,並有助於控制指令碼中的內部流程。文字由文字物件和文字 ID 組成。
文字物件
文字物件可以連結到其他業務應用程式中的物件,並定義上下文關係。除此之外,文字物件還用於確定不同的處理引數。儲存文字模組時,取決於物件,是否應將文字模組直接寫入文字資料庫。
SAP Script 中的文字物件及其各自的屬性在 TTXOB 表中定義。
文字 ID
要區分物件的文字,您需要一個在 SAP Script 中呼叫的分組屬性,稱為文字 ID。文字 ID 用於識別描述相同文字物件的不同文字。文字 ID 及其屬性必須在 TTXID 表中定義。
由於一個文字不足以表示一個物件,因此要定義物件的多個特徵,您需要多個由文字 ID 識別的文字。
要管理特定於應用程式的表單文字,應用程式使用事務程式碼 SE75定義自己的文字物件及其從屬文字 ID。

要為應用程式建立文字物件和文字 ID,請選擇單選按鈕並單擊“更改”。

SAP指令碼 - 格式選項
在 SAPscript 中,文字輸出格式由段落格式控制,或者您可以將文字與樣式組合。在輸出格式中,您可以使用佔位符來建立靈活的資料。在 SAPscript 中,佔位符稱為符號,它們用於顯示在稍後時間點之前未新增到文字中的資料。
這些用於格式化輸出,並且文字中的所有符號都將替換為實際的當前值。此替換僅在文字模組的輸出中執行,原始文字模組保持不變。
SAPscript 中有四種類型的符號:
系統符號 - 不同型別的系統符號可以從表中檢索 - SAPSCRIPT、SYST、TTSXY。它們是全域性變數,從系統表中檢索。
標準符號 - 它們是預定義的,並儲存在 TTDTG 表中。它們基於指令碼的語言設定。
程式符號 - 這表示來自資料庫表或內部表的的資料。列印程式用於為這些符號提供必要的資料。
文字符號 - 它們是在本地定義的,用於定義文件中重複出現的術語或文字片段。
佔位符/符號結構
每個符號都以名稱表示,並且對符號的呼叫是在文字行中進行的,該文字行還包含其他文字。這些符號與普通文字區分開來,並且執行呼叫以識別對符號或模組其他部分的呼叫。
使用符號時應遵循以下規則:
不應在符號名稱中使用空格字元。
始終在符號的前後立即使用“&”符號。
不應在符號之間出現編輯器換行符。
請注意,符號名稱不區分大小寫,最多包含 130 個字元,並且僅使用前 32 個字元來識別符號。
有效符號示例
- &symbol&
- &MY_symbol&
- &DATE&
無效符號示例
&mysymbol - 它不包含結束字元
&symbol(Z& - 沒有結束括號
&my symbol& - 在此,符號名稱包含空格
&mysymbol)& - 在此,名稱包含無效字元
SAPscript 中常用的符號
當前日期 | &DATE& |
當前日期的天數 | &DAY& |
當前月份的編號 | &MONTH& |
當前年份的編號 | &YEAR& |
當前時間的分鐘部分 | &MINUTES& |
當前時間的秒部分 | &SECONDS& |
當前頁碼 | &PAGE& |
輸出長度 | &symbol(length)& |
省略前導符號 | &symbol(S)& |
前導符號在左側 | &symbol(<)& |
前導符號在右側 | &symbol(>)& |
省略前導零 | &symbol(Z)& |
空格壓縮 | &symbol(C)& |
小數位數 | &symbol(.N)& |
省略“千位”分隔符 | &symbol(T)& |
指定浮點數的指數 | &symbol(EN)& |
SAP指令碼 - 輸出型別
使用 SAPscript,您可以配置不同的輸出型別,例如您需要用於內部使用的打印表單或透過電子郵件傳送的電子郵件訊息。您還可以以 PDF 格式或任何其他所需格式獲取輸出型別。
您可以使用不同的輸出型別,例如打印表單,其中,當您選擇輸出型別“列印輸出”時,將列印文件。類似地,您可以選擇“傳真”、“電子郵件”、“PDF”作為輸出型別。當您選擇“傳真”作為輸出型別時,將傳送文件的傳真。
所有輸出型別都儲存在 NAST 表中。要檢視已配置的輸出型別,您可以使用事務程式碼 - NACE。
在新螢幕中,您必須選擇應用程式型別:V1 表示銷售,V3 表示計費,E1 表示入庫交貨等。

在以下示例中,選擇了採購訂單應用程式。現在要檢視已配置的輸出型別,請單擊螢幕頂部的“輸出型別”按鈕。


要檢視SAPscript中的輸出型別,請選擇任何輸出格式,然後單擊螢幕左側的“處理例程”,如下面的螢幕截圖所示。透過檢視詳細資訊,您可以找到SAPscript的精確輸出型別。

您可以檢視已配置的輸出型別和表單例程的以下詳細資訊。

要檢查任何文件的輸出型別,請使用**事務程式碼- VF03**

選擇發票憑證編號並按Enter鍵。

在選單“轉到”→“抬頭”下選擇“輸出”。

您可以從可用列表中看到所選的輸出型別。可用選項包括:
**列印輸出** - 以列印形式傳送輸出。
**傳真** - 將輸出傳送到傳真機。
**外部發送** - 將輸出傳送到外部系統。
**電傳** - 將輸出傳送到電傳打字機。
**EDI** - 透過標準化的訊息格式將資料從一個計算機系統傳輸到另一個計算機系統。
**簡單郵件** - 透過電子郵件傳送輸出。
**特殊功能** - 執行任何特殊功能,例如傳送發票等。
**事件** - 觸發工作流到訊息控制的事件。
**分發** - 將輸出傳送到分散式系統中的應用程式,以相互通訊。
**任務** - SAP業務工作流。

SAP指令碼 - 控制列印輸出
要控制文件的列印輸出,您可以使用函式模組- **PRINT_TEXT** 和 **OPEN_FORM** 傳遞不同的引數。PRINT_TEXT 函式模組用於為輸出裝置準備引數HEADER和LINES中指定的文字模組並輸出它。列印的輸出格式取自文字抬頭中的欄位**TDSTYLE**和**TDFORM**。
您還可以使用**TDPREVIEW**欄位以列印格式在螢幕上檢視顯示。您可以使用各種欄位來控制列印輸出。
TDPAGESLCT | SAPscript:選擇列印頁面 |
TDPREVIEW | SAPscript:顯示列印檢視 |
TDNOPREV | SAPscript:停用列印檢視 |
TDNOPRINT | SAPscript:在列印檢視中停用列印 |
TDTITLE | SAPscript:輸出選擇螢幕中標題行的文字 |
TDPROGRAM | SAPscript:用於替換符號的程式名稱 |
TDTEST | SAPscript:測試列印 |
TDIEXIT | SAPscript:列印後立即返回 |
TDGETOTF | SAPscript:返回OTF表,不列印輸出 |
TDSCRNPOS | SAPscript:OTF在螢幕上的顯示位置 |
TDDEST | Spool:輸出裝置的名稱 |
TDPRINTE | Spool:裝置型別的名稱 |
TDCOPIES | Spool:副本數 |
TDNEWID | Spool:新請求 |
TDIMMED | Spool:立即列印請求 |
TDDELETE | Spool:列印後刪除請求 |
TDLIFETIME | Spool:請求的保留時間 |
TDDATASET | Spool:請求的標識 |
TDSUFFIX1 | Spool:請求的字尾1 |
TDSUFFIX2 | Spool:請求的字尾2 |
TDARMOD | Spool:歸檔模式 |
TDCOVER | Spool:列印封面 |
TDCOVTITLE | Spool:封面:標題文字 |
TDRECEIVER | Spool:封面:收件人姓名 |
TDDIVISION | Spool:封面:部門名稱 |
關鍵函式模組
以下是可用於控制列印輸出的關鍵函式模組:
TDPREVIEW
此函式用於在您列印輸出之前在螢幕上顯示輸出。此函式模組始終建立SPOOL請求,並且不會在後臺處理中解釋。
**'X'** - 需要列印檢視
**' '** - 不需要列印檢視
TDPAGESELECT
此函式模組可用於選擇列印輸出中要列印的頁面。您可以選擇單個頁面或頁面範圍,也可以選擇組合。當您不選擇頁面編號欄位時,將列印所有頁面。
請注意,此處的頁面編號顯示SAPscript列印輸出的物理頁面,而不是表單中的邏輯編號。
**2** - 這將列印單個頁面編號2
**1-5** - 這將列印所有從1到5的頁面,包括這兩個頁面
**2-** - 這將列印從第2頁到結尾的所有頁面
要組合這些值,您可以在它們之間用逗號分隔以使用組合。2, 1-5, 2-
TDTITLE
此函式模組用於選擇列印選擇標題行的文字。
TDSCHEDULE
此函式模組用於確定是否立即傳送SPOOL請求或您希望在晚上列印它。
**'IMM'** - 立即傳送SPOOL請求
**'NIG'** - 在晚上傳送請求
如果未為此欄位選擇任何值,則系統預設將其視為IMM。
SAP指令碼 - 資料格式
**資料格式**用於定義樣式和表單,也稱為交換文字格式(ITF)。所有使用SAPscript建立的文字都具有特定的資料格式。資料格式包含兩個欄位:
- 格式欄位
- 實際行內容
此ITF格式的某些元素是固定的,/表示換行。
ITF元素用於定義樣式和表單。即使這些屬性未在ITF格式中維護。組合器準備用於輸出的ITF文字,該文字將轉換為表示列印版本的格式,這稱為輸出文字格式(OTF)。
原始資料輸出格式
要獲得列印輸出,可以使用以下技術:
- SAPscript
- SmartForms
- 基於PDF的打印表單
**SAPscript**允許您使用原始資料輸出格式,其中輸出模式在指令碼本身或列印程式的執行時定義。此處首選的格式是原始資料介面,因為它開銷較小且壓縮了spool檔案。
您必須在RDI輸出模式下選擇SAPscript格式。

當您將SAPscript格式與**SmartForms**和基於PDF的打印表單進行比較時,Smartforms是SAPscript的改進,用於以XSF格式獲取基於XML的原始資料輸出。**基於PDF的打印表單**提供稱為XFP的原始資料輸出格式,無論是否進行上下文評估。
SAP指令碼 - 匯出
SAPscript不提供版本管理,因此建議將指令碼的每個版本儲存為匯出到本地系統的檔案。如果您想將SAPscript從一個客戶端複製到另一個客戶端,可以使用匯出/匯入或複製選項。
匯出檔案
要將SAPscript匯出到本地檔案,請使用表**RSTXSCRP**。
以下是將SAPscript匯出到系統上以後可以更改以滿足需求的本地檔案的步驟。
**步驟1** - 執行事務程式碼- **SE38**並執行程式**RSTXSCRP**

**步驟2** - 輸入程式名稱並執行。

現在,您必須從列表中選擇所需的專案型別- 表單/樣式/標準文字/裝置型別。
**步驟3** - 要在本地匯出SAP指令碼,請選擇“表單”。
**步驟4** - 選擇“模式”引數。這裡我們將選擇“匯出”作為模式引數。
- 匯出表示下載到本地檔案。
- 匯入表示從本地檔案上傳。
**步驟5** - 輸入要匯出的物件名稱。
預設匯出路徑採用以下格式- C:\temp\********&&&&

當您從頂部圖示執行報告時,系統將提示您選擇一個位置以將指令碼儲存到您的本地系統。

SAP指令碼 - 匯入
匯入表示從本地檔案上傳。當您希望從本地檔案複製指令碼時,可以使用匯入選項。
匯入檔案
要從本地計算機執行SAPscript的匯入,請執行**事務程式碼:SE38**。
**步驟1** - 在事務程式碼SE38中執行程式**RSTXSCRP**。

**步驟2** - 輸入程式並執行。

現在,您必須從列表中選擇所需的專案型別- 表單/樣式/標準文字/裝置型別。
**步驟3** - 要在本地匯出SAP指令碼,請選擇“表單”。
**步驟4** - 選擇“模式”引數。匯入表示從本地檔案上傳。在模式引數中選擇“匯入”。
**步驟5** - 輸入要匯出的物件名稱。
**步驟6** - 輸入匯入路徑- C:\temp\********&&&&

使用上述方法,您可以使用以下步驟將SAPscript從一個客戶端512複製到客戶端500:
**步驟1** - 登入到客戶端512。
**步驟2** - 執行事務程式碼- **SE38**或**SA38**並執行ABAP程式:**RSTXSCRP**
**步驟3** - 輸入模式引數:EXPORT並將SAPScript本地儲存到系統上。
**要匯入指令碼** -
**步驟1** - 登入到客戶端500。
**步驟2** - 執行事務**SE38**或**SA38**並執行ABAP程式:**RSTXSCRP**
**步驟3** - 輸入模式引數:IMPORT
複製指令碼從一個客戶端到另一個客戶端的其他選項是使用以下步驟。
**步驟1** - 使用事務程式碼**SE71**。
**步驟2** - 登入到您要執行復制操作的客戶端500。
**步驟3** - 執行事務程式碼:SE71 → 單擊“實用程式”→“從客戶端複製”

**步驟4** - 輸入源表單、源客戶端和目標客戶端。
**步驟5** - 單擊“執行”按鈕。

SAP指令碼 - 控制表
SAPscript包含各種控制表,這些表用於定義文字物件的定義、文字ID的定義及其描述。
要維護控制表,請使用事務程式碼:**SE75**
TTXOB | 文字物件的定義 |
TTXOT | 文字物件的描述 |
TTXID | 文字ID的定義 |
TTXIT | 文字ID的描述 |


控制表- TTXOB
此表包含SAPscript支援的所有文字物件的定義。當您使用SAPscript函式模組時,您可以處理其物件儲存在此表中的文字。當傳遞給函式的物件的定義未在表TTXOB中維護時,將觸發異常物件。
可以使用事務**SE75**維護此表。

表中有不同的引數:
**編輯器的行寬** - 這顯示了編輯器中允許的文字的最大行寬。
**預設樣式** - 當您建立新的文字模組時,系統會自動分配在此欄位中指定的樣式。
**預設表單** - 當您建立新的文字模組時,系統會建議其中指定的表單。
**文字格式** - 這用於確定文字的格式,並且根據格式,系統會呼叫相應的編輯器。

控制表- TTXOT
此表包含文字物件的簡短描述。
控制表- TTXID
此表包含分配給文字物件並由SAPscript支援的所有文字ID。
此表中使用的不同引數包括 -
TDSHOWNAME - 顯示文字的名稱。
TDTEXTTYPE - 用於確定文字的格式。
TDKEYSTRUC - 可以儲存描述文字模組名稱欄位的關鍵結構的結構名稱。
TDOBLIGAT - (保留)
TDDELPROT - (保留)
TDINCLRES - (保留)
TDINCLID - 將第二個文字的內容包含到第一個文字中。
要檢視物件的測試 ID 定義,請選擇任何物件並單擊“文字 ID”。您可以檢視每個文字 ID 的所有上述引數。


控制表 - TTXIT
此表包含文字 ID 的簡短描述。
SAP 指令碼 - 文字和圖形
您還可以將圖形新增到 SAPscript 中 - 徽標、影像等。要在指令碼中使用圖形,您需要將其匯入到 R/3 系統中。這可以透過使用事務程式碼SE78完成,或者也可以執行報表RSTXLDMC。
您必須輸入圖形的名稱,支援的影像型別為.tmp檔案或.bmp檔案。您可以直接將.tif格式的影像匯入到 R/3 系統中,因為它們儲存為標準文字,並且可以使用“包含”語句包含在 SAPscript 中。
要使用不是.tif格式的影像,您需要將其轉換為這種格式。
將圖形新增到 SAPscript
步驟 1 - 執行事務程式碼SE78。

步驟 2 - 展開樹,從左側選擇點陣圖影像。單擊“匯入”按鈕。

步驟 3 - 要選擇.bmp影像,請單擊如下螢幕截圖中所示的箭頭。

步驟 4 - 選擇檔案後,輸入圖形名稱和描述。單擊“繼續”按鈕。

步驟 5 - 單擊應用程式工具欄上的“預覽”按鈕。

您可以看到如下螢幕截圖中所示的圖片徽標。

這就是您如何將徽標、影像新增到 SAP 系統中的方法。
SAP指令碼 - 控制命令
在 SAPscript 中,您可以使用控制命令來控制由 SAPscript 編譯器處理的輸出格式。編譯器將文字從編輯器中顯示的格式轉換為用於列印的格式。
控制命令以與普通文字行相同的方式放置在文字編輯器中。控制命令使用以下結構 -
控制命令以段落格式輸入/
每行應只輸入一個控制命令。
控制命令輸入在文字中。
您必須確保控制命令及其引數不超過一行。
當控制命令包含錯誤時,包含控制命令的行將被視為註釋行,並且不會列印。
以下是 SAPscript 中可以使用的一些常用控制命令 -
顯式分頁符:NEW-PAGE
您可以使用此控制命令在文字中的任何位置強制分頁符。
示例
/: NEW-PAGE [page_name]

請注意,空行中不應出現任何隱式分頁符,否則可能會打印出意外的空白頁。
防止分頁符:PROTECT
使用此頁面保護控制命令,您可以在一頁上列印完整的段落。
主視窗:NEW-WINDOW
當其中一個主視窗填滿時,使用此控制命令。然後,將獲取該頁面上的下一個主視窗。
以下是一些其他常用的控制命令,您可以在 SAPscript 中使用它們來控制輸出 -
SET DATE MASK - 格式化日期欄位
DEFINE - 為文字符號分配值
SET TIME MASK - 格式化時間欄位
SET COUNTRY - 國家/地區相關格式
SET SIGN - 定位前導符號
RESET - 初始化編號段落
TOP - 在主視窗中設定頁首文字
BOTTOM - 在主視窗中設定頁尾文字
IF - 新增條件文字
STYLE - 更改樣式
INCLUDE - 包含其他文字
示例
INCLUDE MYTEXT OBJECT TEXT ID ST
INCLUDE name OBJECT name ID name PARAGRAPH name LANGUAGE name

SAP指令碼 - 複製指令碼
在 SAP 系統中,您可以將指令碼複製到本地系統或從一個客戶端複製到另一個客戶端。由於 SAPscript 沒有提供版本管理功能,因此需要在本地儲存指令碼。
要將指令碼從一個客戶端複製到另一個客戶端,請使用事務程式碼SE71。
步驟 1 - 登入到要執行復制操作的客戶端 500
步驟 2 - 執行 T 程式碼:SE71 - 單擊“實用程式”→“從客戶端複製”

步驟 3 - 輸入源表單、源客戶端、目標客戶端。
步驟 4 - 單擊“執行”。

如果源表單在客戶端中不可用,您將看到一條訊息(如下面的螢幕截圖所示),提示表單測試在客戶端 xxx 中不可用。

SAP指令碼 - 標準文字
您可以在 SAP 中使用標準文字在輸出文件上顯示資料庫儲存的值,這可以透過使用事務程式碼:SO10完成
示例
假設您希望在每張發票上列印條款和條件,並且希望每張發票都直接包含這些法律條款和條件。您可以建立一個標準文字並在發票中使用它。
步驟 1 - 執行事務 SO10

您有不同的文字選項。這可以透過使用查詢選項來檢查。
步驟 2 - 選擇“標準文字”並透過單擊綠色勾號單擊“回車”。

步驟 3 - 要選擇任何文字,請單擊“執行”。您將看到所有標準文字的列表。

步驟 4 - 從列表中選擇以下任何一項。這裡我們選擇了FI_CASH_SI並單擊“顯示”選項。


您可以看到預設情況下顯示以下文字。
步驟 5 - 您必須將其新增到您的指令碼中。
Signed Enclosures Prepared Approved Confirmed Receipts Expenditures &uline(130)& &rfcash-anzsb(Z)& &Rfcash-anzhb(Z)&

步驟 6 - 選擇要更改的表單。選擇並單擊底部的“更改”選項。然後單擊“轉到”→“更改編輯器”。

步驟 7 - 輸入文字名稱、物件 ID、語言等。

以類似的方式,您可以使用螢幕頂部的“插入”選項插入文字符號、系統符號、文件、超文字。

使用 SO10 事務,您還可以建立自己的標準文字併為其命名,以後可以在指令碼中使用它。

您可以編寫一些內容並將其儲存為標準文字。

您可以直接將其包含在您的表單中。開啟表單並單擊“更改”按鈕。單擊“轉到”→“更改編輯器”。

使用控制命令,您可以在指令碼中插入先前建立的標準文字。

系統符號
系統符號由系統維護,其值由系統提供。系統符號的一些示例包括時間、日期、小時、分鐘、秒、頁面等。
標準符號
您可以使用事務SM30維護標準符號。標準符號的示例包括謝謝、此致敬禮等。它們儲存在表 TTDG 中。
程式符號
它們是資料庫欄位的佔位符,也充當列印程式中的全域性程式符號。
SAP指令碼 - 文字處理
根據需要,您可以使用不同的編輯器建立文字。您可以根據系統配置和平臺使用 Microsoft Word 編輯器、行編輯器或 PC 編輯器。所有這些編輯器都用於文字處理以及建立和編輯文字。您可以使用這些編輯器打印表單和建立文件。
PC 編輯器
PC 編輯器用於建立和編輯文字,並且向下相容。您可以使用任何使用行編輯器建立的文字。
當您安裝了 Microsoft 編輯器時,如果行編輯器不可用,則可以切換到 PC 編輯器。如果未安裝 MS Word 編輯器,則可以在 PC 編輯器和行編輯器之間切換。使用 PC 編輯器進行文字處理類似於在文字處理中建立文字文件的常用方法。
以下功能可用於 PC 編輯器中的文字處理 -
您可以直接分配段落和文字。
您可以直接剪下/貼上文字。
使用 PC 編輯器,您可以執行整合的錯誤檢查以驗證語法。
您可以使用特殊的文字結構和字元格式的顯示,例如粗體字型、不同的字型大小等。
預設情況下,PC 編輯器在 SAP 系統中的每個應用程式中都被呼叫。要開啟行編輯器,請單擊“轉到”→“更改編輯器”。
行編輯器
行編輯器用於建立和編輯文字以列印標準表單,例如標準信函或建立銷售訂單、發票等文件以供列印。
如前所述,當您安裝了 Microsoft 編輯器時,如果行編輯器不可用,則可以切換到 PC 編輯器。如果未安裝 MS Word 編輯器,則可以在 PC 編輯器和行編輯器之間切換。當您在 PC 編輯器中建立任何文字時,系統會更改格式和樣式,並相應地顯示文字。
要從行編輯器切換到任何其他編輯器,請轉到“轉到”→“更改編輯器”。
Microsoft Word 編輯器
Microsoft Word 編輯器用於建立和編輯文字以列印標準表單,例如標準信函或建立銷售訂單、發票等文件以供列印。此編輯器僅適用於 Windows 200x 和 Windows XP。
您可以在 Unicode 系統中 SAP 支援的所有語言中使用 Microsoft Word 編輯器。在非 Unicode 系統中,此編輯器僅適用於希伯來語。
MS Word 編輯器可用於開啟在其他編輯器中建立的文字,並提供向下相容性。
要選擇 MS Word 編輯器的語言,請轉到“開始”→“控制面板”→“區域和語言選項”→“鍵盤和語言”。

您還可以使用 SAP 系統中未包含的語言,並且您需要在 MS Office 語言選項中啟用這些語言。
轉到“程式”→“Microsoft Office”→“Microsoft Office 工具”→“Microsoft Office”→“語言設定”。

選擇要新增的語言。您可以從列表中選擇任何語言,然後單擊“新增”按鈕。

要切換到任何其他編輯器,請轉到“轉到”→“更改編輯器”。
將 Microsoft Word 設定為 SAPscript 的編輯器
要將 MS Word 設定為編輯器,您應該擁有 Microsoft Office 2000 或更高版本。它應該已安裝並激活。您可以將 MS Word 作為 Unicode 和非 Unicode 系統的編輯器。您應該將安全級別設定為中等,並且您應該安裝所有載入項並接受模板。
步驟 1 - 要定義安全級別,請轉到“工具”→“宏”→“安全性”。
步驟 2 − 要在您的系統中啟用 Microsoft 編輯器,請呼叫事務 i18N

步驟 3 − 轉到 i18N 自定義選項,並選擇 Microsoft Word 編輯器。

步驟 4 − 如果您的系統中沒有提供 i18N 自定義,則可以在事務 SE38 中選擇程式 RSCPINST 將 MS Word 設定為編輯器。
步驟 5 − 呼叫事務 SE38 並在以下螢幕中輸入程式。

步驟 6 − 輸入程式名稱並按 F8 移動到新螢幕。單擊“轉到”→“將 MS Word 設定為編輯器”,如下面的螢幕截圖所示。


SAP指令碼 - 建立文件
在 SAP 系統中,如果您的 SAP 系統不呼叫編輯器,您也可以手動建立和更改文件。要建立文件,您必須按照以下路徑操作:
工具 → SAP Script → 標準文字或呼叫事務 SO10

您必須輸入以下詳細資訊才能建立文件:
文字名稱
這顯示文件的名稱。您可以使用字母、數字、空格和特殊字元作為名稱。但是,不允許使用 * 等特殊字元。

文字 ID
這定義了文件所屬的應用程式。標準文字是不特定於任何 SAP 應用程式的文件,或者系統文字和 SAP 應用程式使用自己的文字 ID 用於特定於應用程式的文件。
語言
這顯示了文件應在系統中儲存的語言。

您可以在文件中設定各種選項。它就像一個 Word 文件。要定義文件的屬性,請轉到選項。

SAP指令碼 - 更新文件
在 SAP Script 中,使用 SO10 事務,您可以更新 SAP 系統中現有的標準文字。您可以使用“更改”選項對現有文件進行更改或使用“顯示”選項顯示文件。在警告視窗中單擊“允許”按鈕。

您可以看到文件已在“更改”模式下開啟。您可以複製以下文字或直接在系統中進行更改。
Report of the ABC Inc. board meeting of the 28.08.95 ---------------------------------------------------------------------- Main Topic: Investment in a new production plant in Mexico Participants: Mr. Walther Chief (CEO) Mr. Stephan Glad (COO) Mr. Alex Miller (CFO) Mr. Burt Sales (Director Sales) Mr. Paul Choice (Director Marketing) ---------------------------------------------------------------------- The plant shall be used for the production of all potato snacks for the American market. Cost reduction, compared with American production, will be more than 35%. The whole investment will be $ 230m within two years. The participants agreed to start plant construction as soon as possible because Japanese companies, producing with very low costs in Korea, will enter next year our home market.

您可以使用各種文字功能對文件進行更改。更改文件後,它將儲存到預設位置。

SAP指令碼 - 查詢文件
也可以在 SAP 系統中搜索文件。您可以根據各種引數(如文字 ID、文字名稱、語言或作者姓名)執行搜尋。
要執行搜尋,請轉到工具 → SAPscript → 標準文字或呼叫事務 SO10
輸入標準文字並單擊“查詢”。它將開啟對話方塊視窗,您可以從以下搜尋條件中選擇。
- 文字名稱
- 文字 ID
- 語言
- 作者


SAP指令碼 - 儲存文件
當您在 SAP 系統中儲存文件時,它會儲存在 SAP 資料庫中。使用“查詢”選項,您可以檢視資料庫中所有文件的列表。您可以檢視預定義文件以及在系統中建立的自定義文件。
要儲存文件,請轉到“文字”→“儲存”。
假設我們已開啟以下文件進行編輯並對文件進行了更改。

要儲存文件,請導航到頂部的“文字”選項 →“儲存”。

您還可以維護文件的不同版本。另請注意,文件不會自動儲存,您應該定期儲存較長的文件。如果您在未儲存文件的情況下從 SAP 系統登出,則文件將丟失。
要維護文件的版本,請單擊“另存為”並輸入文字名稱、文字 ID 和語言。

要檢視版本,您可以在“查詢”選項下可用文件列表中找到該文件。
SAP指令碼 - 刪除文件
可以在 SAP 系統中刪除文件。如果要刪除文件,請導航到 SAPScript → 標準文字 → 輸入文字名稱並單擊“更改”。

文件將在編輯器中開啟。要刪除文件,請轉到“文字”→“刪除”→“是”。

您將收到一條訊息 - 文件已被刪除。您無法恢復 SAP 系統中已刪除的文件。
SAP 指令碼 - 文件的列印預覽
在 SAP Script 中,也可以在列印前預覽文件。要執行文件的列印預覽,請轉到“文字”→“列印預覽”。

我們已開啟包含以下文字的文件:
Signed Enclosures Prepared Approved Confirmed Receipts Expenditures &uline(130)& &rfcash-anzsb(Z)& &Rfcash-anzhb(Z)&

當您轉到“文字”→“列印預覽”時,它將顯示文件的列印格式。您可以選擇各種列印預覽選項。

您可以選擇特定頁面進行列印預覽或列印。當從選項中選擇“列印預覽”時,您可以看到現有文件的預覽,如下面的螢幕截圖所示。

SAP指令碼 - 格式轉換
SAPscript 儲存在交換文字格式 (ITF) 中,您可以使用文字處理器將其轉換為富文字格式 (RTF) 和 ASCII 格式。要執行格式轉換以將 ITF 轉換為 RTF 格式,您需要從文件模板到 SAP Script 段落執行格式轉換。
SAPscript 編輯器允許您執行以下格式轉換:
您可以將文字以 RTF、ASCII、HTML 格式匯出到系統上的本地檔案。
您還可以匯入 RTF、ITF 和 ASCII 格式的本地檔案。
匯入和匯出 RTF 檔案
匯出 RTF 檔案時,一個段落或字元格式可以準確地對映到一個段落或字元樣式。
匯入 RTF 檔案時,可以將其分為兩個部分 - 一個段落格式準確地對映到一個段落指令碼格式,一個字元格式可以對映到最多四個 SAP Script 字元樣式。
要執行 RTF 匯出,請轉到“文字”→“下載”。

您必須選擇“富文字格式 (RTF)”並單擊“傳輸”→ 輸入完整的檔案路徑、文件模板和表單或樣式,然後選擇“傳輸”。
要執行 RTF 匯入,請轉到“文字”→“上傳”。

選擇“富文字格式 (RTF)”並選擇“傳輸”→ 選擇完整的檔案路徑和文件模板。然後,選擇“傳輸”。
SAP指令碼 - 原始資料介面
在 SAP 指令碼中使用原始資料介面,允許您連線到外部文字管理系統。此介面包含 SAP 系統中 SAP Script 表單的所有資料,但不包含任何佈局資訊,例如字型大小、顏色、型別等。您透過介面連線到的外部系統管理佈局並執行資料管理。
使用原始資料介面,您可以輕鬆連線到外部系統,但沒有機制來驗證表單是否在外部系統中正確列印以及佈局是否得到管理。
要為外部系統整合啟用原始資料介面 (RDI),必須在 SAP 系統中執行以下設定:
輸出裝置 − 要執行 RDI 整合,至少應有一個需要為外部列印配置的輸出裝置。
透過 RDI 列印到外部系統 − 您可以在 SAP 系統中為表單標記外部列印,如果您不選擇此自定義設定,則應用程式設定將應用於表單。
外部系統中的表單定義 − 對於要在外部文本系統中列印的每個表單,您都必須在外部文本系統中定義表單定義。
列印狀態管理 − 透過 RDI 列印到外部系統的所有表單,您需要維護所有文件(包括列印失敗的表單)的列印狀態。
表名 STXRDID 用於維護有關 SAPscript RDI 的所有資訊。您可以使用事務程式碼 SE11 或 SE80 檢視此表中的資訊。
這是事務程式碼:SE11。提及資料庫表名並單擊“顯示”。

這是事務程式碼:SE80。輸入表名並單擊“執行”。

原始資料介面輸出格式
要獲得列印輸出,可以使用以下技術:
- SAPscript
- SmartForms
- 基於PDF的打印表單
SAPScript 允許您使用原始資料輸出格式,其中輸出模式在指令碼本身或列印程式的執行時定義。由於開銷較小且壓縮卷檔案,因此此處首選的格式是 RDI。
您必須在RDI輸出模式下選擇SAPscript格式。

當您將 SAPScript 格式與 SmartForms 和基於 PDF 的打印表單進行比較時,Smartforms 是 SAPScript 的進步,用於獲取 XSF 格式的基於 XML 的原始資料輸出。基於 PDF 的打印表單提供稱為 XFP 的原始資料輸出格式,無論是否進行上下文評估。
SAP指令碼 - 輸出模式SPOOL
RDI 輸出格式包含四種類型的記錄值。每個記錄都包含一個標誌,用於指示記錄型別 - 標題 (H)、資料 (D)、排序 (S) 和控制 (C)。
- 標題記錄
- 資料記錄
- 排序記錄
- 控制記錄

標題記錄
您傳送到外部文本系統以進行列印的每個表單都以標誌 H 開頭,該標誌顯示標題記錄結構。文件的標題部分包含以下欄位:
- 表單名稱
- 文件編號
- RDI 版本
- 語言
- 裝置型別
- 客戶端和標題記錄結構中的許多其他欄位
排序記錄
此欄位位於排序欄位之後,並由標誌 S 表示。每個表單包含 10 個內部和 5 個外部排序欄位,每個欄位的長度為 32 個字元。
資料記錄
此欄位位於排序記錄之後,幷包含一個標誌 D,該標誌顯示資料記錄結構。它包含以下欄位:
- 表單視窗名稱
- 下一個主視窗的開始
- 文字元素的名稱
- 文字元素的開始
- 用於識別文字元素中符號的符號名稱
- 符號的值
控制記錄
每個文件都包含一個由標誌 C 表示的控制記錄,用於解釋表單中的資料。控制記錄提供以下詳細資訊:
內碼表和語言資訊 − 當您使用插入語句新增其他語言的文字時,系統會新增包含內碼表和語言的控制記錄以寫入資料記錄。對於內碼表 - 使用 CODEPAGE 關鍵字,對於語言 - 使用 LANGUAGE 關鍵字。
示例 − CCODEPAGE 1000 LANGUAGE DE
頁面名稱 − 使用控制記錄,當您開始新頁面時,您會新增一個控制記錄以指定頁面名稱。用於指定頁面名稱的關鍵字 - PAGENAME。
示例 − CPAGENAME SECOND
SAP指令碼 - 輸出模式IDOC
IDOC 代表 **中間文件**,用於將要列印的文件/表單從 SAP 傳輸到其他系統。當使用此輸出方法時,Header、Sort、Data 和 Control 記錄的結構保持不變,但是標誌 - H、S、D 和 C 會消失。有一個單獨的段用於 Sort、Data 和 Control - **E1RDI_BODY**,並且此段位於 Control 記錄之前。
**E1RDI_BODY** 中的 Header 段不包含任何文件編號,並且 **CLOSE_FORM** 函式模組返回文件編號。
當您使用函式模組 **START_FORM** 和 **END_FORM** 在單個請求中列印多個文件時,會建立一個 IDOC,並且 IDOC 的狀態設定為 30。

SAP 指令碼 - 在系統中建立指令碼
要啟動指令碼,您必須執行事務 **SE71**,這將開啟表單繪製器。
在表單繪製器的請求螢幕中,分別在“表單”和“語言”欄位中輸入 SAP 指令碼表單的名稱和語言。讓我們分別在這些欄位中輸入“RVINVOICE01”和“EN”。

段落提供了格式化文字段落和字型的所有必要資訊。要建立段落,請單擊“段落格式”選項卡,如下面的螢幕截圖所示。
輸入左邊距、右邊距、對齊方式和行距以定義段落格式。

單擊“字元格式”選項卡以輸入字元格式和含義,如下面的螢幕截圖所示。

為格式選項輸入以下設定 -
- 格式
- 含義
- 大小

然後,您必須定義文件的佈局。單擊“佈局”選項卡以設計視窗。

使用佈局,提供了一個 GUI 編輯器,您可以在其中拖動視窗位置,並且易於使用。
預設情況下,您可以在佈局中看到主視窗。要建立新視窗,您可以右鍵單擊“佈局”→“建立視窗”,如下面的螢幕截圖所示。

您還可以將圖形/徽標新增到佈局部分。轉到“視窗”選項卡旁邊的“圖形”按鈕並輸入詳細資訊。

要在相應的視窗上建立元素,請單擊“編輯文字”按鈕。
您可以在事務 SE38 下定義驅動程式以呼叫此指令碼。使用函式模組定義呼叫程式 -
- START_FORM
- WRITE_FORM
- END_FORM
- CLOSE_FORM
這就是您如何開發指令碼並新增多個視窗以及定義表單的段落和佈局。
Form OPEN_FORM CALL FUNCTION 'OPEN_FORM' EXPORTING Form = 'FormName' Endform “OPEN_FORM
Form START_FORM CALL FUNCTION 'START_FORM' EXPORTING Form = 'FormName'. Endform “START_FORM
CALL FUNCTION 'WRITE_FORM' EXPORTING Window = 'GRAPHNAME’
CALL FUNCTION 'WRITE_FORM' EXPORTING Element = 'ELEMENTNAME' FUNCTION = 'SET' TYPE = 'BODY' Window = 'MAIN’ endform. " WRITE_FORM
CALL FUNCTION 'END_FORM' IMPORTING RESULT = EXCEPTIONS UNOPENED = 1 OTHERS = 5 endform. " END_FORM
CALL FUNCTION 'CLOSE_FORM' IMPORTING RESULT = EXCEPTIONS UNOPENED = 1 OTHERS = 5 endform. "CLOSE-FORM