Текущее время: Ср, июл 23 2025, 21:09

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: COMMIT or not COMMIT
СообщениеДобавлено: Чт, фев 14 2008, 12:12 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Делаю пользовательский интрефейс, в котором создается поставка через SHP_VL10_DELIVERY_CREATE, отпуск материалов и есть возможност сторнировать отпуск через WS_REVERSE_GOODS_ISSUE и удалить поставку.
Проблема, в том, что если сделать поставку-отпуск и тут же без выхода из транзакции пытататься сторнировать то WS_REVERSE_GOODS_ISSUE говорит что Поставка не найдена. Если выйти, зайти и сторнировать - то все ок. Очевидно что где то не успевает происходить обновление, но commit work and wait стоит везде где нужно и пакетники выполняются с обновлением S.

Единственно что придумалось - завернуть SHP_VL10_DELIVERY_CREATE в фм и вызывать его in update task.
Может быть ещё какие есть варианты?

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 13:18 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Цитата:
завернуть SHP_VL10_DELIVERY_CREATE в фм и вызывать его in update task

Так вам же ровно наоборот необходимо синхронное создание поставки.
Зачем тут update task?

Вообще же ваш коммит после ФМа SHP_VL10_DELIVERY_CREATE лишний. Внутри ФМа он вызывается явно и без wait'а.

Поэтому ваш commit work and wait ничего ждать не будет.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 14:02 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Если хотите коммитеть сами, используйте RV_DELIVERY_CREATE(исходящая) или GN_DELIVERY_CREATE(входящая) ФМы.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 14:25 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
да понятно что сам коммитит, только тогда почему ж 2й фм не видит что создал первый?

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 16:17 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
А если перед SHP_VL10_DELIVERY_CREATE попробовать выполнить SET UPDATE TASK LOCAL. ?

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 16:27 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
slash написал(а):
да понятно что сам коммитит, только тогда почему ж 2й фм не видит что создал первый?


А там у commit wait стоит?
Если не стоит, то просто не успевает. Можно для проверки в цикле с заданной переодичностью запускать select и проверять, создался ли документ.

_________________
С уважением, VGA
Мой блог


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 16:36 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
To vga:
Пономарев Артем написал:
Вообще же ваш коммит после ФМа SHP_VL10_DELIVERY_CREATE лишний. Внутри ФМа он вызывается явно и без wait'а.
Поэтому ваш commit work and wait ничего ждать не будет.

:)
Топикстартер просто невнимателен. Я ответил на его вопрос в первом посте.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 16:39 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
commit wait стоит

интеренсо что если выйти из проги и зайти - сторно нормально проходит.
если не выходить - сколько не жди не проходит
блокировки через sm12 проверял

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 16:45 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
slash написал(а):
commit wait стоит
интеренсо что если выйти из проги и зайти - сторно нормально проходит.
если не выходить - сколько не жди не проходит
блокировки через sm12 проверял


commit wait - не стоит. Еще раз:

Исходный код модуля содержит:

Code:
  set update task local.

  ls_control-no_commit = 'X'.
  ls_control-synchron  = 'X'.


в начале. И:

Code:
   COMMIT WORK


в конце.

Может вы код покажете? А то все страньше и страньше...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 14 2008, 16:56 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Если c commit wait все в порядке и говоришь, что если запускать первый модуль в другой сессии, то все нормально, то можно предположить взаимное влияние этих модулей внутри одной сессии.
Может поискать какой-нибудь ФМ, подчищающий таблицы и переменные.
Например RV_DELIVERY_INIT запустить после создания delivery.

_________________
С уважением, VGA
Мой блог


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: COMMIT or not COMMIT
СообщениеДобавлено: Чт, фев 14 2008, 20:23 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
slash написал(а):
если сделать поставку-отпуск и тут же без выхода из транзакции пытататься сторнировать


Не совсем понятно - программа создает поставку, делает Goods Issue и потом его же сразу сторнирует? В чем тут сакральный смысл? :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: COMMIT or not COMMIT
СообщениеДобавлено: Чт, фев 14 2008, 20:58 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Jelena написала:
В чем тут сакральный смысл? :?

В удобстве для пользователя. Т.е. в случае ошибочного действия совершить "противодействие" не выходя из текущей программы. Можно много говорить о неправомерности такого подхода, но что-то позитивное в этом есть.

to slash
Мне кажется, что второй пост vga - это именно Ваш случай.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 15 2008, 11:09 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
vga написал(а):
Если c commit wait все в порядке и говоришь, что если запускать первый модуль в другой сессии, то все нормально, то можно предположить взаимное влияние этих модулей внутри одной сессии.
Может поискать какой-нибудь ФМ, подчищающий таблицы и переменные.
Например RV_DELIVERY_INIT запустить после создания delivery.

<я не знать русский языка> этот фм запускать - RV_DELIVERY_INIT - не помогло

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: COMMIT or not COMMIT
СообщениеДобавлено: Пт, фев 15 2008, 11:10 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
John Doe написал:
Jelena написала:
В чем тут сакральный смысл? :?

В удобстве для пользователя. Т.е. в случае ошибочного действия совершить "противодействие" не выходя из текущей программы. Можно много говорить о неправомерности такого подхода, но что-то позитивное в этом есть.

to slash
Мне кажется, что второй пост vga - это именно Ваш случай.

не, понятно что надо лечить создание поставки, только пока не понятно как.

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: COMMIT or not COMMIT
СообщениеДобавлено: Пт, фев 15 2008, 11:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
slash написал(а):
не, понятно что надо лечить создание поставки, только пока не понятно как.

Обёртка в отдельную программу и submit позволят избежать накопления глобальных данных в группах функций.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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