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

Часовой пояс: 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 часа


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

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


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

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