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**

輸入應用程式型別,然後單擊頂部的輸出型別。

NACE

Output Types

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

Partner Functions

列印程式 - 示例

以下是一個示例列印程式,它建立包含公司相關資訊(如客戶資料、日期、航班預訂等)的發票。

第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**功能模組顯示要列印的“textelement”,而“WINDOW”顯示要列印的表單的哪個視窗。

  • **TYPE**顯示視窗的輸出區域,如TOP、BOTTOM或BODY。

  • **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/ 

您在最後呼叫此功能模組,它沒有匯出引數。

廣告

© . All rights reserved.