Теряется буфер таблицы

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область

Теряется буфер таблицы

Сообщение MaksimZ » 21 май 2013, 16:51

Ситуация такая. Теряется буфер таблицы Привожу код


FOR EACH ttElement NO-LOCK:

IF ttElement.cName = "/root/row" THEN

DO:
CREATE polis.xmlpasp NO-ERROR.

END.

CASE ttElement.cName:
WHEN "/root/row/u_numb_regist_record" THEN
DO:
polis.xmlpasp.u_numb_regist_record = ttElement.cVALUE. /* здесь уже нет таблицы Polis.xmlpasp */
END.
END CASE.
END.



Если написать следующим образом, то все работает:

FOR EACH ttElement NO-LOCK:

IF ttElement.cName = "/root/row" THEN

DO:
CREATE polis.xmlpasp NO-ERROR.

END.

CASE ttElement.cName:
WHEN "/root/row/u_numb_regist_record" THEN
DO:
FIND LAST polis.xmlpasp EXCLUSIVE-LOCK.
polis.xmlpasp.u_numb_regist_record = ttElement.cVALUE. /* В таком варианте работает*/
END.
END CASE.
END.
Не могу понять, что не так? :(

Dilettante_Pro
Старожил
Сообщения: 98
Зарегистрирован: 24 мар 2010, 16:20

Re: Теряется буфер таблицы

Сообщение Dilettante_Pro » 22 май 2013, 10:14

Мне кажется, что для того, чтобы первый вариант сработал, условие
ttElement.cName = "/root/row"
должно идти в таблице ttElement обязательно РАНЬШЕ условия
CASE ttElement.cName:
WHEN "/root/row/u_numb_regist_record"
- в противном случае новая запись таблицы polis.xmlpasp при срабатывании CASE просто не создана.
Во втором варианте находится СТАРАЯ последняя запись таблицы polis.xmlpasp

Вроде так.
Дилетант построил ковчег, а профессионал - Титаник

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Теряется буфер таблицы

Сообщение George » 22 май 2013, 10:24


Dilettante_Pro
Старожил
Сообщения: 98
Зарегистрирован: 24 мар 2010, 16:20

Re: Теряется буфер таблицы

Сообщение Dilettante_Pro » 24 май 2013, 09:51

Дилетант построил ковчег, а профессионал - Титаник

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Теряется буфер таблицы

Сообщение George » 24 май 2013, 18:49


Dilettante_Pro
Старожил
Сообщения: 98
Зарегистрирован: 24 мар 2010, 16:20

Re: Теряется буфер таблицы

Сообщение Dilettante_Pro » 25 май 2013, 09:48

Дилетант построил ковчег, а профессионал - Титаник

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Теряется буфер таблицы

Сообщение George » 26 май 2013, 08:53