問題タブ [internal-tables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1026 参照

javascript - HRインフォタイプitab行の条件付きループクリア?

私は ABAP について何も知りませんが、私の同僚 (それについてもまったく知りません) は、彼が思いついたいくつかのコードを見せてくれました。JavaScript では改善できたかもしれませんが、ABAP では配列が見つからないため少し迷っています;)。代わりに内部テーブルが使用されていることがわかりました。しかし、私はまだそれを理解することはできません。

コードは、EPI-USE 製の Query Manager の列に配置されます。これは、クエリの結果を調整する方法にすぎず、レポートを作成しようとすると(「既にプログラム内に」)、クラスまたはメソッドを作成すると(「try-catch-block を閉じます」)、エラーが発生することに気付きました。新しいクラスを宣言する前」)。

問題は非常に単純です。

多くのプロパティを持つ人がいます。値は数値です。これらはプロパティです

PA0013 ブロックをループして次のルールに従いたい:

条件:

が空の場合PA0013-RVNUM、他のすべてのプロパティを空に設定する必要があります。

PA0013-Value が空の場合、後続のすべてのPA0013-Values を空に設定する必要があります (前のものではありません)。

-Value が空の場合PA0013、対応するPA0000-Value を空に設定する必要があります。

最初のループの後:

いずれかのPA0000-Values の値が 3 の場合REJECT.、その行を結果から除外するためにコマンドを実行します。

このための私の JS コードは次のようになります。

誰かが私のjsコードをABAPに「翻訳」することで私を助けることができますか?

私の同僚は、すべての条件に対して次のようなことをしました。

...

...

彼は、クエリが間違った PERNR で満たされないように、PERNR を空に設定したと私に言いました。

0 投票する
2 に答える
2478 参照

abap - INSERT INTO itab 中の抑制不可能な警告の抑制

ループ内のソートされた内部テーブルに新しいエントリを追加しています。私がいるループには、ソートされたテーブルのソート順とは異なるソート順があるため、INSERT INTOステートメントの代わりにステートメントを使用する必要がAPPEND TOあります。後者はソート順に違反してダンプが発生するリスクがあるためです。

ただし、そのコードを追加すると、内部メッセージ コード " MESSAGE GJK" で構文チェックの警告が表示されます。EPC では次のように表示されます。

しかし、「プラグマを使用して非表示にすることはできません」はうまくいきません。警告の理由は理解していますが、ビルド時に、新しいレコードを挿入する内部テーブルでループがアクティブにならないことを 100% 確実に知っています。それでも、この警告を隠すことはできません。開発中に役に立たない警告が表示されることは別として、一部の環境では、構文チェックの警告が含まれるコードを転送することができません。

この抑制できない警告を抑制する方法はありますか?

それができない場合、それを回避する方法はありますか?おそらく、ソートされていない一時テーブルを中間テーブルとして使用し、ソートされたテーブルに行を追加することでこれを行うことができますが、明らかな見落としと思われるものを回避するためだけに、役に立たない (100 万行の) 内部テーブルを作成することに躊躇しています。

0 投票する
1 に答える
596 参照

abap - 内部テーブル宣言 OCCURS と TYPE TABLE OF の違いは?

そして、どちらが優先されるべきですか/なぜですか?

したがって、ローカルで定義された TYPE があります。

そして、以下に示すこれら2つのステートメントは両方とも同じことを行うと思います:

上記の 2 つのステートメントに違いはありますか?どちらが優先されますか?

0 投票する
6 に答える
5477 参照

performance - WHERE の条件 =、>=、<= で LOOP AT を最適化する

内部テーブルには大量のデータが含まれています。

次のコードがあります。

データベース テーブルには 7 つのフィールドが含まれ、内部テーブルにはデータベース テーブルと同じ型があります。

where 句には、主キー フィールドはありません。

テーブルには、2 つの主キーで構成される複合キーがあります。テーブル フィールドは、transid(主キー)、item1(主キー)、、、value1およびです。value2value3value4

これらの条件のみに基づいてテーブルを検索する必要があります。しかし、これには時間がかかりすぎます。それを最適化する方法は?

0 投票する
1 に答える
814 参照

abap - セカンダリ キーが完全に指定されているが使用されていない場合は警告、指定されている場合はエラー

私は困惑しています。次のコードをコンパイルすると

次の警告が表示されます

プログラム ZZY
2 次キー「SEC_KEY」は完全に指定されています。ただし、アクセスには主
キーが使用されます。「SEC_KEY」を使ったアクセスの方が
効率的かチェック

しかし、このキーを指定するとUSING KEY sec_key、コンパイル時エラーが発生します!

プログラム ZZY
キー「SEC_KEY」は、「HASHED KEY」タイプの 2 次キーです。これらの場合、すべての主要コンポーネントを提供する必要があります

ここで何が間違っていますか?

0 投票する
3 に答える
6134 参照

abap - 既存のデータベース テーブルから内部テーブルを作成するための構文は?

ABAP初心者です。内部テーブルについて学び始めました。内部テーブルを作成する方法を読んでいました。

既存のデータベーステーブルから内部テーブルを作成するために、次の構文に出くわしました。

mara はテーブルであるため、私は混乱しています。lhs と rhs の両方が同じタイプである場合、次のようにすべきではありません。

mara が既にテーブルになっている場合、mara をテーブルに変換する必要は何ですか?

0 投票する
1 に答える
1708 参照

abap - インデックスを使用してヘッダーなしで内部テーブルを変更する

古い BW3.x コード (ヘッダー付きのテーブル) を BW7.x (ヘッダーなしのテーブル) に変更する方法

古いコード:

ここで、ヘッダー行が変更され、テーブルが更新されますmodifyindex

index残念ながら、ヘッダーのないテーブルでキーワードを使用する方法がわかりません。

これまでのところ、次のようにコーディングしました。

しかし、それが正しいかどうかはわかりません。

0 投票する
4 に答える
24139 参照

dynamic - ABAP での動的内部テーブルのループ - 未知の属性

ユーザーからの入力文字列としてテーブル名を使用して動的内部テーブルを構築しましたが、同じものをループするにはどうすればよいですか?

MWE を見つけてください: