私はABLにはかなり新しくて(フランス語ですので私の英語を間違えてください)、私はあなたの助けが必要です。 OPEN QUERYでBREAK BYを使用する方法を知りたいです。進捗状況ABL:休憩OPEN QUERYの複数の結合を使用して
は、ここで私は何をすべきかです:
define query Q-REQ for
ENT_RCP_FRN,
LIG_RCP_FRN,
CONSO_UNV_MDIM,
LIG_DOC_TRS,
ENT_DOC_TRS scrolling.
open query Q-REQ for
each ENT_RCP_FRN no-lock
where ENT_RCP_FRN.STO-c-CodeDes = "DRET",
each LIG_RCP_FRN no-lock break by LIG_RCP_FRN.SKU-c-cod
where LIG_RCP_FRN.SOU-c-Cod = ENT_RCP_FRN.SOU-c-Cod
and LIG_RCP_FRN.ERF-c-NumRcpFrn = ENT_RCP_FRN.ERF-c-NumRcpFrn,
each CONSO_UNV_MDIM no-lock
where CONSO_UNV_MDIM.UMA-c-Code = "8B6A9/0001354"
and CUMD-c-LstCleCumConso = LIG_RCP_FRN.SKU-c-cod,
each LIG_DOC_TRS no-lock LEFT OUTER-JOIN
where LIG_DOC_TRS.SKU-c-Cod = LIG_RCP_FRN.SKU-c-Cod,
each ENT_DOC_TRS no-lock left outer-join
where ENT_DOC_TRS.SOU-c-Cod = LIG_DOC_TRS.SOU-c-Cod
and ENT_DOC_TRS.EDT-c-NumDocTrs = LIG_DOC_TRS.EDT-c-NumDocTrs
and ENT_DOC_TRS.TR-c-CodeCatDoc = "BT"
and ENT_DOC_TRS.STO-c-CodeOri = "DRET"
and ENT_DOC_TRS.STO-c-CodeDes = "DWHO".
repeat :
get next Q-REQ.
if not available ENT_RCP_FRN then leave.
end.
私は、次のステートメントでエラーが発生します:
each LIG_RCP_FRN no-lock break by LIG_RCP_FRN.SKU-c-cod
where LIG_RCP_FRN.SOU-c-Cod = ENT_RCP_FRN.SOU-c-Cod
and LIG_RCP_FRN.ERF-c-NumRcpFrn = ENT_RCP_FRN.ERF-c-NumRcpFrn,
後に理解することができません: "LIG_RCP_FRN.SKU-C-タラ"(私の誤りがありますフランス語では247です):
247 ** L'expression: "LIG_RCP_FRN.SKU-c-cod" estincompréhensible。 (247)
私がしたいのは、SKU-c-Codが変更されたときに破損するテーブルLIG_RCP_FRNの列を合計できることです。
このエラー後にすべてのステートメントを削除しようとしましたが、どちらも機能しませんでした。
詳細情報が必要な場合は質問してください。 Openedge進行10.2A
は、あなたの助け Corentin
PSありがとう:不可能ポストに "こんにちは" 言うことを?
もありますマニュアルによると(V9.1いえ) - あなたはca n開いているクエリで "BY"を使用してクエリを注文しますが、ブレークバイを使用することはできません。 "BREAK BY"を使用する場合は、FOR EACHループを使用する必要があります。 – Screwtape
@Screwtapeそれは少なくとも後のバージョンでは正しくありません。 – Jensd
これはいいですね。私は現時点でv9を超えてテストすることはできません。FOR EACHでは、BREAK BYはすべてのレコードフレーズの後にあるはずなので、おそらくクエリの終わりに移動するだけで、OE10でも動作しますか?ちょうど推測。 – Screwtape