!--a11y-->

このセクションでは、SAP ArchiveLink を使用して ABAP 一覧をアーカイブする方法について説明します。アーカイブリストは、特別なアプリケーションにはリンクしていません。アーカイブがレポートによって内部で実行される場合を除き、アーカイブリストはレポートを使用して登録されたすべての一覧に対して使用することができます。
印刷スプールから一覧が自動的に登録されます。そのため、印刷リストのみをアーカイブすることができます。ただし、遡及的に画面リストを印刷リストに変換することができます。
アーカイブリストの追加情報については、
印刷リストのアーカイブの SAP
ArchiveLink
に関する文書を参照してください。
実行および印刷 ではなく、実行を選択してレポートを実行する場合、一覧は画面に表示されます ( レポート自体に印刷リストを出力するための明示的なコマンドが含まれていない場合) 。
一般に、画面リストは画面表示専用にフォーマットされます。つまり、この一覧は改ページや特定の印刷書式用に指定されたページ幅のない、エンドレスな一覧です ( 内部制限は 60,000 行) 。
画面リストはインタラクティブにもなります。たとえば、アプリケーションが適切にプログラムされている場合、行をダブルクリックして詳細一覧を登録することができます。
印刷 を選択すると、画面リストをスプールシステムに送信することができます。表示される 印刷リストダイアログボックスで、リストを内部アーカイブシステムでアーカイブすることができます。システムで、画面リストが印刷リストに遡及的に変換されます。
リストは遡及的に印刷書式に調整されるため、この変換中に情報が喪失する可能性があります ( たとえば、リストの右側がカットされたり、不適切な位置でリストが改ページされるなど) 。最悪のシナリオでは、画面リストをまったく印刷できないことがあります。
画面リストには索引行を含めることができないため、アーカイブした画面リストで索引による検索 ( 属性検索) を実行することはできません。
印刷リストは、ABAP によってスプールシステムでアーカイブされます。印刷リストはスプールシステムで一時的に保存され、物理プリンタに送信されるか、またはアーカイブされます。
2 つの方法のいずれかで印刷リストを登録することができます。
キ プログラムの実行中に印刷リストを登録します。
キ プログラムの実行後に印刷リストを登録します。
プログラムの実行中に印刷リストを登録するために、3 つの選択肢があります。
キ ユーザによる入力がほとんど、あるいはまったくなしで ABAP プログラムで直接登録します。
キ 選択画面で実行および印刷を選択して登録します。
キ レポートをバックグラウンドジョブに含めることによって登録します。
これらの場合、リストは画面に表示されません。表示される印刷リスト出力ダイアログボックスで、一覧をアーカイブすることを選択することができます ( プログラムにこのオプションをオフにするための命令が明示的に含まれていない場合) 。リストは、登録中にプリンタに対して適切にフォーマットされます。そのため、情報が喪失する可能性は非常に低くなります。内部メカニズムにより、このようなリストでパラメータが競合することはありません。
プログラムの実行中に登録される印刷リストには索引行を含めることができるため、アーカイブしたリストで索引による検索 ( 属性検索) を実行することができます。
この場合、完全な画面リストがスプールシステムに送信されます。画面リストは後からプリンタに対して適切にフォーマットされるため、情報が喪失したり、リストを印刷できない可能性があります。
スプールシステムに保存された印刷リストをアーカイブすることができます。印刷リストは、スプールシステムで適用されたフォーマットで SAP ArchiveLink によってアーカイブされます。
ABAP 一覧のアーカイブの技術的実装は、以下のもので構成されます。
キ 印刷リストの登録
キ 内部での印刷パラメータとアーカイブパラメータの指定
キ アーカイブ用の索引行の登録
ABAP
一覧のアーカイブは、クロスアプリケーション機能です。
基本カスタマイジングの
SAP
ArchiveLink
の文書で説明されている設定以外のアクションは不要です。ただし、特定のアプリケーション専用に ABAP
一覧をアーカイブしたい場合は、BC
- SAP ArchiveLink -
アプリケーションシナリオ
の関連セクションに記載されている指示に従う必要があります。
アーカイブ機能の正確な使用方法は、使用しているレポートによって異なります。一般には、特定の場所で 印刷機能を選択します。印刷リスト出力ダイアログボックスで、リストをアーカイブすることも選択できます。レポートに応じて、ダイアログボックス内の項目は読込専用、入力可能、またはデフォルト値の入力済になります。原則としては、一覧はスプールシステムで印刷リストとしてフォーマットされ、アーカイブに送信されます。
以下の例から開始します。

REPORT demo_list_print_control_2.
PARAMETERS number TYPE i.
DATA: index TYPE i,
square TYPE i, numb TYPE i, num(4) TYPE c,
dkey(100) TYPE c, dain(100) TYPE
c.
dkey ='DKEYIndex'.
dkey+44 = '0'.
dkey+47 = '3'.
PRINT-CONTROL INDEX-LINE
dkey.
CLEAR dkey.
dkey ='DKEYNumber'.
dkey+44 = '3'.
dkey+47 = '4'.
PRINT-CONTROL INDEX-LINE
dkey.
index = 0.
DO number TIMES.
index = index + 1.
IF index = 100.
numb = sy-index / 100.
WRITE numb TO num LEFT-JUSTIFIED.
CONCATENATE 'DAIN' 'IDX' num INTO dain.
PRINT-CONTROL INDEX-LINE dain.
index = 0.
ENDIF.
square = sy-index ** 2.
WRITE: / sy-index, square.
ENDDO.
サンプルのレポートは、データベースにアクセスしません。ここでは、DO ループを使用して平方数の一覧が表示されます。ユーザは、選択画面の入力項目 NUMBER で、ループパスの回数を指定することができます。
100 行ごとに、PRINT-CONTROL 命令によってアーカイブのための索引行 (DAIN 行) が登録されます。DAIN 行の構造は、一覧先頭の 2 行の DKEY 行で定義されます。
PRINT-CONTROL 命令を使用して、一覧をアーカイブするための索引行を挿入します。
PRINT-CONTROL INDEX-LINE <f>.
この命令により、現在の印刷行の終了後に項目 <f> の内容が索引行に書き込まれます。この索引行は、スプールファイルに保存されます。索引行は印刷されません。
イメージストア中に、スプールシステムで一覧がデータファイルと説明ファイルに分割されます。データファイルには、実際のデータ情報 ( 印刷リスト) が含まれます。説明ファイルには、索引情報が含まれます。
ArchiveLink
Viewer
の属性検索機能を使用すると、アーカイブされた一覧の索引行を検索することができます。この追加検索は、非常に大きい一覧を検索する際のパフォーマンスにとって重要です。ArchiveLink
Viewer
の機能編集
→
属性検索
を有効化するには、特別な命名規則にしたがった索引行 <f>
を挿入する必要があります
(
追加情報については、
印刷リストの索引作成を参照してください)
。
ユーザが選択画面で実行 + 印刷 を選択し、印刷依頼をスプールシステムに保存する場合、ユーザはシステム → サービス → 印刷依頼 を使用して依頼を参照することができます。

1 行目と 2 行目は DKEY 索引行です。これらの行により、以下の DAIN 索引行の構造が定義されます。
たとえば、100 行あたりでは、一覧は以下のようになります。

DAIN 索引行は 100 行ごとに挿入されます。最初の DAIN 索引の名称は 'Index' です。これは位置 0 から開始し、長さが 3 で値 'IDX' を含みます。2 つ目の DAIN 索引の名称は 'Number' です。これは位置 3 から開始し、長さが 4 で行 100 の前に値 1 を含みます ( 行 200 の前では値 2 を含みます) 。
索引行が考慮されるのは、一覧がレポート実行時にスプールシステムに送信された場合 ( 選択画面で 実行および印刷 を選択する場合) だけです。レポートの実行後に一覧をアーカイブする場合 ( つまり、選択画面で印刷を選択する場合) は、索引行は考慮されません。
出力一覧をアーカイブするには、その一覧をスプールシステムに送信する必要があります。つまり、一覧を " 印刷する" 必要があり、印刷リスト出力ダイアログボックスのスプール管理に関する項目に入力する必要があります。
特に、アーカイブする際にはプリンタを入力する必要があります。印刷リスト、つまりアーカイブされる一覧は、このプリンタ用にフォーマットされます。
入力項目アーカイブモードの入力可能値ヘルプを使用すると、以下のことが可能です。
キ 印刷のみ
キ アーカイブのみ
キ 印刷とアーカイブ
上記の処理を一覧に対して行うことができます。アーカイブまたは印刷およびアーカイブを選択し、次に 続行を選択すると、印刷リスト出力ダイアログボックスから印刷を選択してアーカイブプロセスを開始することができます。 アーカイブパラメータ ダイアログボックスが表示されます。以下のように、必要な入力を行います。
...
1. 必要に応じて入力可能値ヘルプを使用して、オブジェクトタイプと文書タイプを選択します。
2. 必要に応じて入力可能値ヘルプを使用して、オブジェクトタイプに適した文書タイプを選択します。
3. 情報 項目に、3 桁の情報キーを入力します。
4. テキスト項目には、任意のテキストを入力することができます。
アーカイブプロセスを開始するには、アーカイブを選択します。
これで、出力一覧がアーカイブされます。
アーカイブされた一覧を照会するには、以下の手順に従います。
...
1. SAP R/3 システムの第一画面で、オフィス → ビジネスドキュメント→ 一覧 を選択します。
2. 選択画面で適切な検索情報を入力します ( この例では、レポート名) 。
3. 実行 を選択します。選択基準に一致するアーカイブされた一覧がすべて表示されます。
4. 一覧を選択し、アーカイブシステムから照会などを選択します。アーカイブされた一覧が表示されます。
5. 一覧に索引行が含まれている場合には、編集 → 属性検索 を使用して検索することができます。この例は、一覧には 100 行ごとに以下のエントリを含む索引が含まれています。
|
名称 |
値 |
|
Index |
IDX |
|
Number |
索引行の現在数 |
属性検索 機能を使用して、行 100 、200 、300 などにナビゲートすることができます。索引行自体は表示されません。属性検索を使用できるのは、プログラムの実行中に一覧がスプールシステムに送信された場合のみです。一覧が最初に表示されてからアーカイブされた場合には、 属性検索は使用できません。