Текущее время: Ср, июл 16 2025, 03:33

Часовой пояс: 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
Сообщения: 1398
Если есть 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
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Все эти райтинги и присвоение значений лежат в области 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 часа


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

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


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

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