用件:
・ レポートをバックグラウンド処理にてPDFファイルとしてファイルサーバーに保存する
・ レポートをバックグラウンド処理にてPDFファイルとしてファイルサーバーに保存する
方法:
・汎用モジュールCONVERT_ABAPSPOOLJOB_2_PDFを実行
(参照PG:PTRA_WEB_EXPENSE_FORM_PDF_GET)
・汎用モジュールCONVERT_ABAPSPOOLJOB_2_PDFを実行
(参照PG:PTRA_WEB_EXPENSE_FORM_PDF_GET)
手順:
1. ファイルサーバーに臨時保存ファイルののパス、ファイルを作成する
・ パス、ファイル名を指定して、Commondの Open、Transferを利用してファイルを作成する
2. スプールを作成する
① GET_PRINT_PARAMETERSを利用して、パラメータをセットする
取得値: DATA_SET ← スプールテーブル名の初期値
LIST_NAME ← スプール依頼名の初期値
OUT_PARAMETERS ← コールされた印刷パラメータ一覧
② スプールを作成する(SUBMIT rep TO SAP-SPOOL)
例:
SUBMIT XXX
TO SAP-SPOOL
SPOOL PARAMETERS OUT_PARAMETERS
WITHOUT SPOOL DYNPRO
AND RETURN.
・ABAP 命令の NEW-PAGE PRINT ON を使用し 、レポートからの印刷機能を有効にし、ス
プールを作成する方法もある。
3. スプールIDを取得する(汎用モジュール:RSPO_FIND_SPOOL_REQUESTS)
I/F: DATA_SET、LIST_NAME
取得値: L_SPOOL_IDS
4. スプールをPDFに変換する(汎用モジュール:CONVERT_ABAPSPOOLJOB_2_PDF)
I/F: SRC_SPOOLID = ‘XXX’ “ ← 3.で取得したスプール番号
5. 汎用モジュールDOWNLOADを利用して、PDFファイルを取得する
1. ファイルサーバーに臨時保存ファイルののパス、ファイルを作成する
・ パス、ファイル名を指定して、Commondの Open、Transferを利用してファイルを作成する
2. スプールを作成する
① GET_PRINT_PARAMETERSを利用して、パラメータをセットする
取得値: DATA_SET ← スプールテーブル名の初期値
LIST_NAME ← スプール依頼名の初期値
OUT_PARAMETERS ← コールされた印刷パラメータ一覧
② スプールを作成する(SUBMIT rep TO SAP-SPOOL)
例:
SUBMIT XXX
TO SAP-SPOOL
SPOOL PARAMETERS OUT_PARAMETERS
WITHOUT SPOOL DYNPRO
AND RETURN.
・ABAP 命令の NEW-PAGE PRINT ON を使用し 、レポートからの印刷機能を有効にし、ス
プールを作成する方法もある。
3. スプールIDを取得する(汎用モジュール:RSPO_FIND_SPOOL_REQUESTS)
I/F: DATA_SET、LIST_NAME
取得値: L_SPOOL_IDS
4. スプールをPDFに変換する(汎用モジュール:CONVERT_ABAPSPOOLJOB_2_PDF)
I/F: SRC_SPOOLID = ‘XXX’ “ ← 3.で取得したスプール番号
5. 汎用モジュールDOWNLOADを利用して、PDFファイルを取得する
問題点: サーバーへ格納するのは直接DOWNLOADを利用できるかなぁ?
→
① サーバーへ格納する時、OPEN DATASETとTRANSFERを利用する
EXAMPLE:
LC_OUTPUT_FILE_PATH = ‘/SAP/UP/TESTPDF.PDF.
OPEN DATASET LC_OUTPUT_FILE_PATH FOR OUTPUT IN BINARY MODE.
LOOP AT LIT_PDF_TABLE INTO LFC_PDF_TABLE
TRANSFER LFC_PDF_TABLE TO LC_OUTPUT_FILE_PATH.
ENDLOOP.
CLOSE DATASET LC_OUTPUT_FILE_PATH.
① サーバーへ格納する時、OPEN DATASETとTRANSFERを利用する
EXAMPLE:
LC_OUTPUT_FILE_PATH = ‘/SAP/UP/TESTPDF.PDF.
OPEN DATASET LC_OUTPUT_FILE_PATH FOR OUTPUT IN BINARY MODE.
LOOP AT LIT_PDF_TABLE INTO LFC_PDF_TABLE
TRANSFER LFC_PDF_TABLE TO LC_OUTPUT_FILE_PATH.
ENDLOOP.
CLOSE DATASET LC_OUTPUT_FILE_PATH.
② GUI_UPLOADはローカルのファイルを内部テーブルに格納する