!--a11y-->

ABAP プログラムを呼び出す場合、そのプログラムの一覧を修正し、画面ではなくそれらの一覧をスプールファイルに送信するか、ABAP メモリに保存することができます。
SUBMIT 命令の以下のオプションを使用して、呼び出されたプログラムの一覧構造を修正することができます。
SUBMIT...[LINE-SIZE <width>] [LINE-COUNT <length>].
呼び出されたプログラムに REPORT 命令のオプションがない場合は、SUBMIT 命令のオプションにしたがって呼出元プログラムの一覧がフォーマットされます。呼び出されたプログラムの REPORT 命令によって一覧構造が指定されている場合は、SUBMIT 命令のオプションは無視されます。これらのオプションの追加情報については、 ユーザ固有の一覧構造の定義 /SAPIrExtHelp/IWB_EXTHLP.asp?_LOIO=9FDBA01B35C111D1829F0000E829FBFE を参照してください。

REPORT STA0RTER NO STANDARD PAGE HEADING.
DATA: NAME(8) VALUE 'SAPMZTS1',
WID
TYPE I VALUE 80,
LEN
TYPE I VALUE 0.
SET PF-STATUS 'SELECT'.
WRITE: 'Select a report and its list
format:',
/
'-------------------------------------'.
SKIP.
WRITE: 'Report ', NAME
INPUT ON,
/ 'Line size ', WID INPUT
ON,
/ 'Page length', LEN INPUT ON.
AT USER-COMMAND.
CASE
SY-UCOMM.
WHEN
'SELE'.
READ LINE: 4
FIELD VALUE NAME,
5 FIELD VALUE WID,
6 FIELD VALUE LEN.
SUBMIT
(NAME) LINE-SIZE WID LINE-COUNT LEN AND RETURN.
ENDCASE.
このプログラムを使用して、ユーザ定義一覧のフォーマットができる実行可能プログラムを開始することができます。基本一覧では、デフォルト値を上書きしてレポート名と希望する一覧幅および長さを入力することができます。

AT USER-COMMAND イベントでは、これらの値が読み込まれ、指定された実行可能プログラムが SUBMIT によって開始されます。呼び出されたプログラムの REPORT 命令に、LINE-SIZE または LINE-COUNT の指定がない場合、値 WID および LEN を使用して一覧が表示されます。呼び出されたプログラムの終了時に、基本一覧の入力値を変更して、新たにプログラム開始することができます。
呼び出されたプログラムから、一覧を画面上に表示せずにスプールシステムに直接送信することができます。それには、SUBMIT 命令で TO SAP-SPOOL オプションを使用します。
SUBMIT...TO SAP-SPOOL <print-parameters>.
ここで使用できるパラメータの詳細については、 一覧印刷を参照してください。
一覧を画面上に表示せずに、SUBMIT 命令のEXPORTING LIST TO MEMORY オプションを使用して ABAP メモリに保存することができます。
SUBMIT...AND RETURN
EXPORTING
LIST TO MEMORY.
この命令によって一覧が ABAP メモリに保存されるため、一度呼び出されたプログラムが終了した後は呼出元プログラムが一覧にアクセスできるようになります。この場合は、AND RETURN オプションを使用する必要があります。EXPORTING LIST TO MEMORY と TO SAP-SPOOL のオプションを一緒に使用することはできません。
汎用グループ SLST に、以下を含む保存一覧にアクセスするための汎用モジュールが用意されています。
キ LIST_FROM_MEMORY
キ WRITE_LIST
キ DISPLAY_LIST