cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

saplyphtesttest create a alv

linyizhong
Discoverer
364

REPORT z_alv_example.

" 数据声明
DATA: gt_data TYPE TABLE OF spfli,
gs_data TYPE spfli.

" ALV相关声明
DATA: gt_fieldcat TYPE lvc_t_fcat,
gs_fieldcat TYPE lvc_s_fcat,
gt_layout TYPE lvc_s_layo,
gt_events TYPE slis_t_event,
gs_event TYPE slis_alv_event.

" 数据选择
SELECT * FROM spfli INTO TABLE gt_data.

" 准备字段目录
PERFORM prepare_fieldcat USING 'CARRID' '航空公司' 10.
PERFORM prepare_fieldcat USING 'CONNID' '航班连接编号' 10.
PERFORM prepare_fieldcat USING 'CITYFROM' '出发城市' 20.
PERFORM prepare_fieldcat USING 'CITYTO' '目的城市' 20.
PERFORM prepare_fieldcat USING 'AIRPFROM' '出发机场' 20.
PERFORM prepare_fieldcat USING 'AIRPTO' '目的机场' 20.

" 显示ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_structure_name = 'SPFLI'
it_fieldcat = gt_fieldcat
TABLES
t_outtab = gt_data
EXCEPTIONS
program_error = 1
OTHERS = 2.

IF sy-subrc <> 0.
WRITE: / 'Error in ALV display'.
ENDIF.

" 准备字段目录的子程序
FORM prepare_fieldcat USING p_fieldname p_coltext p_outputlen.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = p_fieldname.
gs_fieldcat-seltext_m = p_coltext.
gs_fieldcat-outputlen = p_outputlen.
APPEND gs_fieldcat TO gt_fieldcat.
ENDFORM.

Accepted Solutions (0)

Answers (1)

Answers (1)

linyizhong
Discoverer

プログラムの解説

  1. PARAMETERS:

    • p_id:必須入力のIDパラメータ。
    • p_name:名前パラメータ。
    • p_date:日付パラメータ。
    • p_time:時間パラメータ。
    • p_list:リストボックスパラメータ。
  2. SELECT-OPTIONS:

    • s_id:IDの範囲選択オプション。
    • s_date:日付の範囲選択オプション。
  3. チェックボックス:

    • p_check:チェックボックスパラメータ。
  4. ラジオボタン:

    • p_radio1, p_radio2, p_radio3:ラジオボタンパラメータ。
  5. リストボックス:

    • リストボックスの値を初期化するために、INITIALIZATION イベントで VRM_SET_VALUES を使用しています。
  6. データ選択と表示:

    • SELECT ステートメントでデータを選択し、WRITE ステートメントで結果を表示しています。
    • チェックボックスの状態、選択されたラジオボタン、リストボックスの選択値も表示しています。