2017-07-01 11 views
-1


私は現在、動的クエリを記述する必要がある動的レポートを作成しています。もし誰かが私の出方を示唆してくれれば幸いです。ベロー、私は何をやっているのか、どこにいるのか説明しようとしました。ありがとう。
の定義2フィールドシンボル実行時に定義されたフィールドシンボルにアクセスするABAP

<o_fs> TYPE table, 
<owa_fs> type any. 

動的o_fs

CALL METHOD cl_alv_table_create=>create_dynamic_table 
EXPORTING 
it_fieldcatalog = it_cat 
IMPORTING 
ep_table = d_ref2. 
ASSIGN d_ref2->* TO <o_fs>. 

その後、私は私がのフィールドの1に値を追加したいその後o_fs
にデータを埋めるための内部テーブルを作成します*マークされて

<O_FS> ASSIGNING <OWA_FS>. 
*<owa_fs>-columnname = 'value to be added'. 
IF SY-TABIX = INDEX. 
MODIFY (p_vtab) From <OWA_FS>. 
COMMIT WORK. 
ENDIF. 

ラインAT o_fs LOOPはGIVです"データオブジェクト"には構造体がないため、 'COLUMNNAME'という名前のコンポーネントはありません。 、システムがフィールドシンボルは、構造化されたかどうか分かりません。あなたは、別のフィールドシンボルに構造コンポーネントを割り当てる必要があり

答えて

3

すると、構文チェック「「COLUMNNAME」と呼ばれる。そのためASSIGN COMPONENT ...コマンドを参照してください。

はあなたの例にコマンドを置く:。

ASSIGN COMPONENT 'COLUMNMAME' OF STRUCTURE <owa_fs> TO <another_fs>. 
IF sy-subrc = 0. 
    <another_fs> = 'value to be added'. 
ENDIF. 

<another_fs>は、それが働いたANYタイプ

+0

感謝の男になることができます! –

関連する問題