0
私は動的なtempテーブルと動的なクエリをcretedしている。今私はbrowse.Hereにそれを設定したい。私の問題は、 "バッファコピーステートメントのソース要素はレコードを持っていないようなエラーを表示している(5365 )」。 これを解決するにはどうすればよいですか?あなたがTTにソースクエリからのデータをコピーするためのいくつかのコード行方不明UIブラウザのデータをtemp-tableから読み込む?
CREATE BUFFER hBuffer FOR TABLE cip-tablename.
CREATE QUERY hQuery. /*this query I need for some other logic.
hQuery:SET-BUFFERS(hBuffer).
hQuery:QUERY-PREPARE("FOR EACH " + cip-tablename + " WHERE " + cip-condition).
hQuery:QUERY-OPEN().
create temp-table hTT.
hTT:Create-Like(cip-tablename).
hTT:temp-table-prepare("tt" + cip-tablename).
hTTb = htt:default-buffer-handle.
hTTb:buffer-create().
hTTb:buffer-copy(hBuffer).
CREATE QUERY hQuery1.
hQuery1:SET-BUFFERS(hTTbh).
hQuery1:QUERY-PREPARE("for each tt " + cip-tablename).
hQuery1:QUERY-OPEN().
CREATE BROWSE hbrowse-hdl1
ASSIGN
TITLE = cip-tablename + " Browse"
FRAME = Frame DetailsFrame:Handle
QUERY = hQuery1
X = 48
Y = 100
WIDTH = 96
DOWN = 10
VISIBLE = YES
SENSITIVE = TRUE
READ-ONLY = yes.
hbrowse-hdl1:ADD-COLUMNS-FROM(hTTbh).
私は完全に質問を理解していません。あなたのコードの1つの問題は、hQuery1:SET-BUFFERS(hTTbh)です。 "hTThh"はどこにもないので、2番目の問題は次の行、hQuery1:QUERY-PREPARE( "each tt" + cip-tablename)であるかもしれないので、うまくいかないかもしれません。ここでは、xxxのtablenameで準備されたクエリの文字列は "for each tt xxx"と評価されますが、あなたはtempテーブルttxxxをさらに呼び出しています...(hTT:temp-table-prepare( "tt" + cip-tablename) 。) – LyrixDeRaven