Текущее время: Вт, апр 16 2024, 11:13

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Сохранение значения квалификации в буфер PPOME для штатной должности
СообщениеДобавлено: Ср, мар 23 2016, 16:41 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 23 2009, 06:43
Сообщения: 45
Здравствуйте, подскажите пожалуйста по такому вопросу:
Создаю собственную вкладку для PPOSE/PPOME с присвоением квалификации и указанием величины квалификации.
Сохранить в буфер PPOME соединение S<->Q можно с помощью RHOM_WRITE_INFTY_BUFFERED.
А как сохранить (прочитать) значение шкалы? из таблицы можно с помощью RHPP_R_PROFILE_READ.

Стандартный экран ведения квалификаций к сожалению не устраивает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение значения квалификации в буфер PPOME для штатной должности
СообщениеДобавлено: Чт, мар 24 2016, 07:08 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1392
Если есть RHOM_WRITE_INFTY_BUFFERED, то самое первое предположение, что должно быть что типа RHOM_READ_INFTY_BUFFERED, разве нет?
Заходим в se37, указываем RHOM_WRITE_INFTY_BUFFERED, просмотр, жамкаем "Просмотр списка объектов". Слева открывается список ФМ, которые содержатся в группе функций совместно с RHOM_WRITE_INFTY_BUFFERED. Там есть и RHOM_READ_INFTY_BUFFERED, и много чего еще.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение значения квалификации в буфер PPOME для штатной должности
СообщениеДобавлено: Чт, мар 24 2016, 09:51 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 23 2009, 06:43
Сообщения: 45
Мне кажется вы совсем не поняли мой вопрос, я прекрасно знаю о существовании этих функций.

Вопрос был в том как сохранить значение присвоенной квалификации к штатной должности...
Поясню на примере: Есть штатная должность(S) - Электромонтер.
Есть квалификация(Q) - Разряд электромонтера.
Существует соединение: S A031 Q - прекрасно пишется и читается в буфер (RHOM_READ_INFTY_BUFFERED/RHOM_WRITE_INFTY_BUFFERED).
Но мне необходимо сохранить в "Буфер" именно разряд(поле RATING), который как я понимаю сохраняется в HRPAD31 (если сохраняем в БД).
Долго "курил" стандартную вкладку TMC_COMP, построенную на классах, но до конца не разобрался.
Буду рад любой подсказке.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение значения квалификации в буфер PPOME для штатной должности
СообщениеДобавлено: Чт, мар 24 2016, 10:52 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1193
Откуда: Москва
Пол: Мужской
Все эти райтинги и присвоение значений лежат в области EXT для соединения. В вашем случае это HRPAD31.
Вам нужно подготовить данные. В поле P1001-ADATA положить нетипизированную(развернутую) структуру HRPAD31 и потом все это положить в буфер, тогда все будет работать.

Возьмите отладчик в зубы и пройдитесь полностью по экрану 2000 из MP100100 чтобы понять как оно сворачивает/разворачивает данные из поля P1001-ADATA в данные структуры HRPAD31 и будет Вам счастье.

Посмотрите на FM RH_READ_INFTY_1001_EXT он тоже умеет это делать.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение значения квалификации в буфер PPOME для штатной должности
СообщениеДобавлено: Чт, мар 24 2016, 10:58 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 23 2009, 06:43
Сообщения: 45
Спасибо, посмотрю


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение значения квалификации в буфер PPOME для штатной должности
СообщениеДобавлено: Чт, мар 24 2016, 11:43 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 23 2009, 06:43
Сообщения: 45
Блин, все гениальное просто...Спасибо Роману за подсказку.
Распишу, если кто на будущее столкнется.

1. Вы вызываем
Code:
CALL FUNCTION 'RHOM_READ_INFTY_BUFFERED'
    EXPORTING
      plvar     = l_info-plvar
      otype     = l_info-otype
      objid     = l_info-objid
      infty     = '1001'
      subty     = 'A031'        " <-- note 489249
      istat     = l_info-istat             "Note 1640619
    TABLES
      infty_dat = pt_1001
    EXCEPTIONS
      OTHERS    = 0.

2. Используем класс из 2 методов созданный специально для этого: :lol:
Code:
  DATA pad31 type PAD31.
   call method cl_hr_adata_type_cast=>ADATA_TO_PADNN
    EXPORTING
      adata = pt_1001-adata
    IMPORTING
      padnn = pad31.

3. Pad31-Chara и есть значение квалификации.

P.S. Для сохранения в буфер тоже самое call method cl_hr_adata_type_cast=>PADNN_TO_ADATA. Затем p1001-adata = adata. И вызов RHOM_WRITE_INFTY_BUFFERED.


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

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


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

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


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

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