заполнить данные в браузере из временной таблицы? - PullRequest
0 голосов
/ 23 февраля 2012

Я создал одну динамическую временную таблицу и динамический запрос. Теперь я хочу заполнить его в браузере. Вот мой код. Моя проблема заключается в том, что он показывает ошибку, как «у исходного элемента оператора buffer-copy нет записи 5365)». Как решить это? cip-tablename = tableName, получаемый из пользовательского интерфейса

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 Ответ

2 голосов
/ 23 февраля 2012

Вам не хватает некоторого кода для копирования данных из исходного запроса в TT:

hQuery:Get-FIRST(no-lock).

DO WHILE hbuffer:AVAILABLE:

   hTTb:buffer-create().
   hTTb:buffer-copy(hBuffer).
   hQuery:Get-NEXT(no-lock).

END.

Честно говоря, было бы проще просто показать обзор из исходной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...