Ситуация такая. Теряется буфер таблицы Привожу код
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.
Не могу понять, что не так?
Теряется буфер таблицы
-
- Старожил
- Сообщения: 98
- Зарегистрирован: 24 мар 2010, 16:20
Re: Теряется буфер таблицы
Мне кажется, что для того, чтобы первый вариант сработал, условие
ttElement.cName = "/root/row"
должно идти в таблице ttElement обязательно РАНЬШЕ условия
CASE ttElement.cName:
WHEN "/root/row/u_numb_regist_record"
- в противном случае новая запись таблицы polis.xmlpasp при срабатывании CASE просто не создана.
Во втором варианте находится СТАРАЯ последняя запись таблицы polis.xmlpasp
Вроде так.
ttElement.cName = "/root/row"
должно идти в таблице ttElement обязательно РАНЬШЕ условия
CASE ttElement.cName:
WHEN "/root/row/u_numb_regist_record"
- в противном случае новая запись таблицы polis.xmlpasp при срабатывании CASE просто не создана.
Во втором варианте находится СТАРАЯ последняя запись таблицы polis.xmlpasp
Вроде так.
Дилетант построил ковчег, а профессионал - Титаник
-
- Старожил
- Сообщения: 98
- Зарегистрирован: 24 мар 2010, 16:20
Re: Теряется буфер таблицы
Дилетант построил ковчег, а профессионал - Титаник
-
- Старожил
- Сообщения: 98
- Зарегистрирован: 24 мар 2010, 16:20
Re: Теряется буфер таблицы
Дилетант построил ковчег, а профессионал - Титаник