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

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


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

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


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

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