Текущее время: Пн, июл 21 2025, 01:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 16:09 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
По постановке задачи необходимо производить изменения в Z-таблице при изменении количества в позиции сбытового заказа, при этом, необходимо, чтобы эти изменения (Z) в базе проводились одновременно с изменением количества в заказе "на экране" пользователя. Здесь проблем нет - проблема одна - если я выхожу из заказа без сохранения изменений, то изменения в Z уже есть. Как их откатить в случае выхода без сохранений???? Может есть экзит какой на такой случай? :|

Прошу помощи. :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 16:14 
Модератор
Модератор
Аватара пользователя

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

Необходимо кому, простите?
Цитата:
Прошу помощи

Читайте курс про концепцию обновлений.
Вам нужно запустить свой ФМ, в котором вы будете изменять записи Z таблицы, в UPDATE TASK.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 17:08 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
Пономарев Артем написал:
Необходимо кому, простите?

Интегрируем со складской системой. В складской системе есть понятие упаковки, которое может меняться не меняя количество товаров (переупаковка и т.д.). Скажем, у нас 100 единиц товара в упаковках по 50 и 200 по 20. Один пользователь хочет одну 50 единиц - ему отдается 50. Второй пользователь в то же время хочет 120 единиц. Первому дается одна большая коробка по 50 единиц. Соответственно, система не должна позволить второму пользователю получить 2х50 плюс 1х20, а должна дать 6х20. Чтобы не проводить повторные проверки при сохранении и избежать новых переборов данных - необходимо блокировать ту самую "одну коробку", как только пользователь задал количестве в позиции. Все это работает. Единственный баг - если после изменения позиции выйти из заказа "без сохранения", то уже прошедшие изменения останутся в Z таблице.
SELECT FOR UPDATE не подходит, так как заказ одной единицы товара заблокирует весь остальной запас.

Пономарев Артем написал:
Читайте курс про концепцию обновлений.
Вам нужно запустить свой ФМ, в котором вы будете изменять записи Z таблицы, в UPDATE TASK.

Вот как раз исходя из вышеописанной ситуации IN UPDATE TASK не подходит, иначе я бы все перед сохранением сделал.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 17:57 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Это вы с какой такой складской системой интегрируетесь?
Если речь идет о стандарте - то при чем здесь свои таблички и прочее?
Комплектование единицами обработки/складирования производится на уровне поставки.
Если же система внешняя и не позволяет блокировать конкретное складское место - то нафиг такую систему.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 18:07 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
С самописной складской системой.
Я же ищу путь решения а не определяю что лучше а что хуже. Партия сказало надо комсомолец ответил "есть". На уровне поставки блокировать поздно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 18:54 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Как и где у вас храниться информация о "коробках"?
Возможно намного проще решить не через отдельную таблицу, а через объекты блокирования?
Т.е. при подборе "коробок" каждому пользователю пытаться установить блокировку на объект и в случае ошибки просто пропускать такую упаковку.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пн, ноя 02 2009, 10:04 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
А если коробок сто??? Сто объектов блокирования?

Мы отошли от темы. Как можно отменить изменения при выходе без сохранения?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пн, ноя 02 2009, 11:42 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Думается что никак.
ИМХО единственный вариант обновить значение обратно также как оно было обновлено вами до этого.

что ту можно предложить:
сделать в вашей Z таблице ещё поля:
со старым значением - сохранять его туда перед обновлением
флажок - выставлять его при сохранении заказа через UPDATE TASK
сделать отдельную программу и запланировать её периодическое выполнение которая бы выбирала записи с пустым флажком проверяла по блокировке что заказ в данный момент не редактируется, ну и если такая ситуация обнаружилась возвращать значение из сохранённого.

Почему ИМХО нужно делать в отдельной программе - сеанс пользователя может быть аварийно завершон (например связь порвалась или например гдето дамп случился...), в результате откатить изменение сама программа никак не сможет

_________________
Изображение Попытка не пытка


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".  Тема решена
СообщениеДобавлено: Пн, ноя 02 2009, 11:45 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
Ну да, придется видимо так и делать:-((( Что поделать - задача так стоит:-(((
Спасибо...


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

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


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

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


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

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