Текущее время: Вт, июл 22 2025, 16:09

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Диалог запроса ключа объекта  Тема решена
СообщениеДобавлено: Пн, окт 08 2012, 15:26 
Ассистент
Ассистент

Зарегистрирован:
Вт, май 11 2010, 14:34
Сообщения: 44
Добрый день.

Столкнулся с неприятным явлением. Ситуация такая: есть транзакция ORGANIZER, в которой ведем записи. К записям можно привязывать различные объекты (те, что в swo1).
В самом органайзере можно открывать несколько записей, причем можно открыть следующую, не сохранив предыдущую(т.е. не вызывая commit).
И проблема заключается в следующем: Если повторить следующую цепочку:
1. открыть в органайзере запись, попробовать привязать к ней объект (т.е. вызвать диалог запроса ключа объекта и потом отменить, не заполняя полей).
2. не закрывая и не сохраняя эту запись, открыть другую или создать новую.
то при попытке привязать объект выдаст ошибку, что объект "*****" не имеет ключевых полей.

Такая ситуация со всеми объектами, правда все объекты z*.

Что удалось найти:
Ключ объекта запрашивается стандартным модулем: SWO_DIALOG_OBJECT_KEY_EDIT.
В нем для определения полей ключа объекта вызывается модуль SWO_QUERY_KEYFIELDS, в подпрограмме которого SWO_QUERY_VERBS.
Там из стандартной таблицы выбираются поля объекта, но перед этим есть кусок кода:


Code:
   LOOP AT DBVTYPES.
      CONCATENATE '_BASEDATA-_' DBVTYPES-LOW INTO VTYPES_NAME.
      ASSIGN (VTYPES_NAME) TO <VT>.
      IF <VT> = DBVTYPES-LOW.
        DELETE DBVTYPES.
        ADD 1 TO DBVTYPES_SELECTED.
      ELSE.
        <VT> = DBVTYPES-LOW.
      ENDIF.
    ENDLOOP.


и если DBVTYPES_SELECTED > 0, то выборка не происходит.

А проблема в том, что рабочая область таблицы _BASEDATA при первой записи пустая, да и при всех последующих попытках привязать объект тоже, НО только когда открываешь вторую запись, рабочая область не очищается, и в DBVTYPES_SELECTED добавляется единица.
Уже не знаю куда и копать. Может кто сталкивался с подобным? Может что-то в объектах не так(хотя n попыток при одной записи все хорошо), или то, что запись в том же режиме открыта вторая.


** Забыл добавить, при том, что _BASEDATA содержит информацию об объекте, табличка с полями объекта пустая.


*** исчерпав цивилизованные способы, вставил в эхашмент очистку.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB