問題タブ [opensql]

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 投票する
1 に答える
55 参照

abap - マスターに一致するレコードがないときに子レコードが挿入されました

ZTR_DEPT(マスターテーブル) とZTR_EMP(子テーブル)の 2 つのテーブルを作成しました。

ABAPプログラムを介して親テーブルに一致するレコードがない子テーブルにレコードを挿入すると、エラーを報告せずにデータベースに挿入されます。レコードを子テーブルに手動で挿入すると、エラーが表示されます。

このような不一致の理由は何ですか?

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

subquery - WHERE 変数 = (サブクエリ) in OpenSQL

サブクエリが変数と一致するテーブルから行を取得しようとしています。ただし、WHERE 句では、選択したテーブルのフィールドを定数、変数、またはサブクエリと比較することしかできないようです。

私は次のようなものを書くことを期待しています:

しかし、明らかに、この選択はローカル変数をフィールド名として扱い、「ランタイムまで不明な列名「lv_expected_lines」、フィールドリストを指定できません」というエラーが表示されます。

しかし、標準 SQL では、これは完全に可能です。

では、RSQL / Open SQL でこのロジックを複製するにはどうすればよいでしょうか?

仕方がない場合は、おそらくネイティブ SQL を作成するだけで済みます。

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

abap - プログラム内のエラー DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_SQL_DB

次のエラーが表示されます: DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_SQL_DB (Open SQL コマンドが大きすぎます。Open SQL コマンドの条件 WHERE に含まれる条件が多すぎます)。エラーは次の行を指しています。

コードの他の部分:

私は ABAP を初めて使用するので、助けていただければ幸いです。

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

join - 2 つのテーブルの JOIN で行が返されない

関数ビルダーで SQL を使用して入力する3 つのテーブル を作成Z588Bしました。Z588TZFINALTABLE

最初にこれらのテーブルに参加しようとしましたが、エラーが発生しました

プール テーブルのクラスタ テーブルとプロジェクション ビューの結合は許可されていません

T588Bそのため、テーブルからのデータを格納する一時テーブルを作成したT588Tので、一時テーブルを使用して、必要な出力フィールドである ZFINALTABLE にそれらを結合できます。

必要なデータを入力できましたがZ588BZ588T これらの一時テーブルを使用した JOIN はデータを返しませんでした。

私の手順:

  1. Z_BAPI_TESTP_FMSE37を使用して関数モジュールを作成

  2. [インポート] タブで、パラメーターを定義しました。

  3. se11 を使用して作成した宣言済み一時テーブル

  4. ソースコードに私のSQLクエリを入力しました。

指定されたパラメーターの Z588B、Z588T にデータをロードできましたが、結合を含む最終的な sql は ZFINALTABLE テーブルのデータを返しません。

JOIN を使用した最後の SQL が ZFINALTABLE にデータを返さない理由を誰か教えてもらえますか?

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

aggregate-functions - FOR ALL ENTRIES itab キーによる SUM 合計

6 つのキー フィールドを持つデータベース テーブルに対して SELECT クエリを実行したいと考えています。キー フィールドが keyA、keyB、...、keyF であるとします。

ABAP 機能モジュールへの入力パラメータとして、キー項目の構造が正確に示されている内部テーブルを受け取ります。したがって、その内部テーブルの各エントリは、データベース テーブルの 1 つのタプルに対応します。

したがって、内部テーブルのエントリに対応するデータベース テーブルからすべてのタプルを選択するだけです。さらに、まったく同じクエリで、そのデータベース テーブルの金額列を集計したいと考えています。

疑似 SQL では、クエリは次のようになります。SELECT SUM(amount) FROM table WHERE (keyA、keyB、keyC、keyD、keyE、keyF) IN {内部テーブル}。

ただし、この表現は ABAP OpenSQL では不可能です。

複合キーではなく、1 つの列 (keyA など) のみを指定できます。さらに、「選択テーブル」(SIGN、OPTIOn、LOW、HIGH を持つテーブル) は、キーワード IN の後にのみ使用できます。FOR ALL ENTRIES を使用することは可能ですが、この場合、同じクエリで集計が許可されていないため、SUM を使用できません。

助言がありますか?

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

abap - ABAPの「select into table where」で10進フィルタを指定する方法は?

ABAP でこのようなクエリが必要ですが、うまくいきません。

私は試しました: WHERE amount = '100,15' しかし、それもうまくいきません。

where構文で小数点を指定する方法は?

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

abap - 3 つのテーブルを LEFT OUTER JOIN できない

問題があります。現在、私は 3 つのテーブルを持っています。最初のテーブルがメイン テーブルで、2 番目のテーブルにレコードがない場合は、それも書き込みます。ただし、2 番目のテーブルにレコードが存在する場合は、3 番目のテーブルから "dispo" 情報を表示します。

3 つの SAP テーブル (lagp、lqua、および marc) を使用したいと考えています。私の目標は、ラグからすべての株式ポジションを書き込むことです。

2x LEFT JOIN は機能しません: 「"B~MATNR" と比較できません。テーブルは、LEFT OUTER JOIN を使用して最大 1 つの他のテーブルと結合できます。

構造:

そしてSQLコマンド:

しかし、結果として、ストック ポジションは 1 つだけです - http://i.stack.imgur.com/1sEEo.png

SQL コードがどのようになっているのか教えていただけますか?

ありがとうございました