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

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


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

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


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

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