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

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проверка 8 ИТ
СообщениеДобавлено: Ср, авг 06 2014, 09:51 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
Добрый день.

Стоит задача проверять чтобы причина UK в 8 ИТ была установлена на определённую дату и потом пользователь не мог её сдвинуть на другую дату (при изменении 8 ИТ).

Может кто-нибудь поделится идеями?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Ср, авг 06 2014, 11:41 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
ZXPADU02 или БАДИ HRPAD00INFTY метод IN_UPDATE. В любом случае проверяете что не так с данными старыми по отношению к новым и в первом случае заполняете поле SHOW_DATA_AGAIN = 'X' (и инфотип не сохраняет новые значения), во втором просто не позволяете сохранять и все

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Ср, авг 06 2014, 13:10 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
metha написал:
БАДИ HRPAD00INFTY метод IN_UPDATE


Можно про это по подробнее?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Ср, авг 06 2014, 14:32 
Специалист
Специалист

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
Guryev_DK написал(а):
metha написал:
БАДИ HRPAD00INFTY метод IN_UPDATE


Можно про это по подробнее?



в методе IN_UPDATE есть старое значение инфотипа OLD_IMAGE и новое NEW_IMAGE. Сравниваете нужные поля и выдаете сообщение об ошибке

_________________
SAP macht frei


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Чт, авг 07 2014, 12:59 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
YSICHOV написал:

в методе IN_UPDATE есть старое значение инфотипа OLD_IMAGE и новое NEW_IMAGE. Сравниваете нужные поля и выдаете сообщение об ошибке


Вот это то что нужно, спасибо большое.

Сегодня ковырял SPRO и наткнулся вот на это:

Цитата:
For this purpose, in the old infotype framework you must implement the HRPAD00INFTY BAdI. The IN_UPDATE method of the old HRPAD00INFTY BAdI corresponds to the UPDATE_DB method of the new HRPAD00INFTYDB BAdI.


Может быть кто знает что это за BADi HRPAD00INFTYDB и HRPAD00INFTYBL, чем они отличаются от HRPAD00INFTY и как их использовать.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Чт, авг 07 2014, 13:07 
Почетный гуру
Почетный гуру

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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Пт, авг 08 2014, 17:30 
Специалист
Специалист

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
metha написал:
Это скорее всего для новомодного фреймворка если надо инфотипы в мсс и есс выносить. Там другой способо работы с инфотипами


да, Decoupled Infotype Framework.

http://weblog-42.blogspot.com/2012/07/decoupled-infotype-framework-at-glance.html
http://weblog-42.blogspot.com/2012/09/decoupled-infotype-framework-2-reading.html

_________________
SAP macht frei


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Сб, авг 09 2014, 11:00 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
metha написал:
ZXPADU02 или БАДИ HRPAD00INFTY метод IN_UPDATE. В любом случае проверяете что не так с данными старыми по отношению к новым и в первом случае заполняете поле SHOW_DATA_AGAIN = 'X' (и инфотип не сохраняет новые значения), во втором просто не позволяете сохранять и все


Не подскажите как не давать сохранить в методе IN_UPDATE, пишем

Code:
MESSAGE e033(zhr) WITH text-t01 lv_begda text-t02.


Но запись все равно сохраняется, что ещё нужно написать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Сб, авг 09 2014, 12:44 
Специалист
Специалист

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
Guryev_DK написал(а):

Не подскажите как не давать сохранить в методе IN_UPDATE, пишем

Code:
MESSAGE e033(zhr) WITH text-t01 lv_begda text-t02.


Но запись все равно сохраняется, что ещё нужно написать?


попробуйте в методе AFTER_INPUT. Я IN_UPDATE никогда не пользовался. В AFTER_INPUT все было ок.

_________________
SAP macht frei


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Сб, авг 09 2014, 15:29 
Специалист
Специалист

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
Вспомнил. IN_UPDATE больше для пост обработки. Типа гарантированно запись обновилась - и мы что-то делаем по факту этого события. Так что точно нужно After_Input.

_________________
SAP macht frei


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Вс, авг 10 2014, 11:13 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
YSICHOV написал:
Вспомнил. IN_UPDATE больше для пост обработки. Типа гарантированно запись обновилась - и мы что-то делаем по факту этого события. Так что точно нужно After_Input.


В AFTER_INPUT доступна только текущая запись (например которую вставляем).

Мне для проверки нужны все изменения 8 ИТ NEW_IMAGE в IN_UPDATE подходит для этого больше.

Сохранение записи происходит после вызова IN_UPDATE.

Только непонятно как не дать сохранить в самом IN_UPDATE?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Вс, авг 10 2014, 14:36 
Почетный гуру
Почетный гуру

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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Вс, авг 10 2014, 17:17 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
metha написал:
Ну Вы всегда же можете из базы зачитать текущие значения из 8 инфотипа и сравнить их с NEW_IMAGE.


Так NEW_IMAGE есть только в IN_UPDATE, в AFTER_INPUT NEW_IMAGE не видно.

А из IN_UPDATE я не могу отменить сохранение.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Пн, авг 11 2014, 08:19 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Вот определение метода AFTER_INPUT
Code:
TCLAS      Importing  Type  TCLAS  Transaction Class
NEW_INNNN  Importing  Type  PRELP  Created Infotype
OLD_INNNN  Importing  Type  PRELP  Infotype Before Change
IPSYST     Importing  Type  PSYST  Work Fields for Dialog Control
I001P      Importing  Type  T001P  Personnel Area/Subarea
I503       Importing  Type  T503  Employee Group/Subgroup
IPREF      Importing  Type  PREF  Assignment Values for HR Objects


Здесь ест оба и NEW и OLD.

Если нужно чтобы данные не сохранялись Вы должны внутри этго метода заполниь переменную SY (вжно чтобы SY-MSGTY был E) и выбросить исключение ERROR_WITH_MESSAGE.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка 8 ИТ
СообщениеДобавлено: Чт, авг 14 2014, 20:15 
Специалист
Специалист

Зарегистрирован:
Чт, окт 04 2012, 15:45
Сообщения: 135
metha написал:
Вот определение метода AFTER_INPUT
Code:
TCLAS      Importing  Type  TCLAS  Transaction Class
NEW_INNNN  Importing  Type  PRELP  Created Infotype
OLD_INNNN  Importing  Type  PRELP  Infotype Before Change
IPSYST     Importing  Type  PSYST  Work Fields for Dialog Control
I001P      Importing  Type  T001P  Personnel Area/Subarea
I503       Importing  Type  T503  Employee Group/Subgroup
IPREF      Importing  Type  PREF  Assignment Values for HR Objects


Здесь ест оба и NEW и OLD.

Если нужно чтобы данные не сохранялись Вы должны внутри этго метода заполниь переменную SY (вжно чтобы SY-MSGTY был E) и выбросить исключение ERROR_WITH_MESSAGE.


В NEW_INNNN в AFTER_INPUT сохраняется только одна запись, которую вставляют.

Изображение

В NEW_IMAGE в IN_UPDATE содержится весь срез именяемых данных.

Изображение

Что бы запретить ставить UK не на ту дату, нужно анализировать весь срез данных. Поэтому AFTER_INPUT и NEW_INNNN не подходят.


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

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


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

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


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

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