Текущее время: Сб, июл 19 2025, 16:00

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Чт, фев 04 2016, 15:15 
Ассистент
Ассистент

Зарегистрирован:
Пн, апр 15 2013, 14:49
Сообщения: 48
Откуда: Санкт-Петербург
Пол: Мужской
Добрый день господа!
Прошу Вас помочь разобраться в проблеме, которую никак не могу решить.
Задача стоит такая:
Привет вводе отсутствия необходимо ввести автоматом еще и замещения на дату за день до начала отсутствия и на следующий день после вводимого отсутствия.
И если в дни ввода замещений уже были какие то замещения - их нужно блокировать
вот с блокировкой как рази проблема! Как ее сделать?

Вызов функции FUNCTION 'HR_INFOTYPE_OPERATION' ф динамике невозможен
Я пользуюсь функциями insert_infotyp, modify_infotyp ... из программы SAPFP50P
Которые нашел в реализациях BADI расширения HRPAD00INFTY.

Но там есть удаление , добавление изменение а как сделать блокировку я не могу найти!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике  Тема решена
СообщениеДобавлено: Чт, фев 04 2016, 15:38 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
А динамику отменили в сапе? К чему городить огород с бади, блокировками а всем этим? В динамике система сама если надо все отблокирует и поставит блокировки заново при окончании динамики. Динамику можно и поабапить если уж надо какую-то жесткую логику на даты вешать.

_________________
С уважением, Р.В. Величко


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Чт, фев 04 2016, 17:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Цитата:
И если в дни ввода замещений уже были какие то замещения - их нужно блокировать

И как в динамике обработать этот кейс?
В общем случае неизвестны даты начала и конца замещения пришедшегося на день, следующий после введенного присутствия. Что писать в динамике?

Code:
Динамику можно и поабапить если уж надо

Можно. Но вопрос ведь останется ровно таким же.

_________________
С уважением.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Пт, фев 05 2016, 09:12 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Все делается последовательно, для каждого действия пишется своя динамика, все операции (INS,MOD,LIS*) которые делает пользователь в PA30 доступны и в динамике. Динамика это ж цикл, который выполняется до тех пор пока не придет "терминальное" действие. Если продумать порядок действий в ручном режиме, то и данимику такую можно сделать.

По теме кейса:
Даты отсутствия известны - они придут в динамику в процессе сохранения записи 2001 инфотипа, а судя по требованию, все что приходится на этот период должно быть заблокировано, так что я бы тут сделал provide по записям инфотипа между датами 2001 инфотипа и все их заблокировал операцией LIS*. Согласен, могут быть нюансы, но тогда и постановка бизнесовая должна быть чуть более конкретная с примерами и порядком выполнения действий в ручном виде через PA30 чтобы понять, что на самом деле должно быть в результате.

Главный посыл в том что внутри обработки динамики над другими инфотипами в процессе работы PA30 она сама берет на себя работу по блокированию/деблокированию табельного номера и самое главное работу по верификации и консистености буфера инфотипов.

_________________
С уважением, Р.В. Величко


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Пт, фев 05 2016, 09:40 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, авг 31 2012, 16:15
Сообщения: 75
Откуда: Москва
Пол: Мужской
А разве LIS* и ENQ доступны в динамике?
В хелпе по T588Z написано:
The possible actions are INS, COP, MOD, and DEL.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Пт, фев 05 2016, 10:13 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Вот куски стандартной настройки

Code:
0008             06   80       ***US PCD DELIMIT IT0057 FOR NON UNION EE***
0008             06   81   P   T001P-MOLGA='10'
0008             06   82   P   P0008-TRFAR<>'04'
0008             06   84   P   P0008-TRFGB<>'03'
0008             06   86   I   LIS9,0057,US01,,(P0008-BEGDA),(P0008-ENDDA)

_________________
С уважением, Р.В. Величко


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Пт, фев 05 2016, 10:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Цитата:
так что я бы тут сделал provide по записям инфотипа между датами 2001 инфотипа и все их заблокировал операцией LIS*.

Какой-такой provide? В T588Z provide не пропишешь. А в динамике в z-коде нельзя использовать ФМ HR_INFOTYPE_OPERATION и мы возвращаемся ровно к исходному вопросу :)
?

_________________
С уважением.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Пт, фев 05 2016, 10:38 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Сама брутальная динамика когда ее приходится абапить, результатом такого абапа будет формат T588Z таблички в котором будут операции над инфотипа в виде T588Z. Вызов такой динамики через F внутри которой и будет провайд.

Куча ж примеров есть

Типичный пример который не раз делал, сохранение записей 22 инфотипа до тех пор пока пользователь не откажется (терминальное событие выхода из динамики) создавать новую запись. В T588Z при сохранении 22 инфотипа запускается F, в которой куча логики, на выходе из нее запись t588z формата.

Я давно забыл уже как страшный сон этот HR_INFOTYPE_OPERATION, за последние годы ни разу его не использовать, нужды просто не было, особенно если изменения надо делать в рамках PA30\PA40, если уж не получается динамикой делать (очень редкий случай), то приходится писать специальный ФМ обновления и запускать их в той же самой динамике через call function in update task, которые будут запускаться только тогда когда PA30 сохранит записи, снимет блокировки, и когда начнет делать FLUSH в базу вот тогда он и запустите в бэкграунде, а поскольку он запускается в бэкграунде то уже никаких блокировок нет.

_________________
С уважением, Р.В. Величко


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Блокировка Инфо-типа в динамике
СообщениеДобавлено: Пт, фев 05 2016, 11:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Цитата:
В T588Z при сохранении 22 инфотипа запускается F, в которой куча логики, на выходе из нее запись t588z формата.

Ага, да, это хороший метод.

_________________
С уважением.


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

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


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

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


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

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