abapで内部テーブルの行数を取得するには?
内部テーブルの行数を取得するには?ループさせればいいのだろう。でも、もっとまともな方法があるはずだ。
違いがあるかどうかわかりませんが、このコードは4.6cで動作するはずです。
32
9
内部テーブルの行数を取得するには?ループさせればいいのだろう。でも、もっとまともな方法があるはずだ。
違いがあるかどうかわかりませんが、このコードは4.6cで動作するはずです。
このタスクのための組み込み関数もある:
IronGoofy]1で説明されている純粋なABAP構文と同様に、関数"lines( )"はテーブルitab_nameの行数を変数に書き込みます。
以下の機能を使うことができる:
呼び出し後、変数には内部テーブル の行数が格納されます。
推奨の横。
システム変数「SY-TFILL」もあります。
ドキュメントから:
例:
結果:
2番目のエントリの値0に注意してください。「SY-TFILL」は、最初のループの後にのみ、各ステップで更新されません。
READ
(1)の直後に必要な場合は、SY-TFILLの使用をお勧めします。..READ
とSY-TFILLの使用の間に他のコマンドがある場合、システム変数が変更される危険が常にあります。(1)または表を説明します。
参考文献: http://www.sapnuts.com/courses/core-abap/internal-table-work-area.html。
機能モジュールEM_GET_NUMBER_OF_ENTRIESも行数を提供します。 1つのパラメーター-テーブル名が必要です。
OPEN Sqlを使用して、COUNTグループ化句を使用して行数を見つけることもできます。また、テーブルの行(ROWS)をカウントするシステムフィールドSY-LINCTもあります。
答えは「3」になります。 (vcnt = 3)。`。
ご質問の内容を正しく理解すれば、内部テーブルに対する条件ループ中に行番号を知りたいということですね。 内部テーブルを扱う場合、システム変数sy-tabixを使用することができます。より詳細な情報が必要であれば、ABAPドキュメントを参照してください(特に内部テーブル処理の章)。
例
そのような結果にはSAPパラメーターはないと思います。 以下のコードが配信されますが。