Текущее время: Сб, дек 27 2025, 14:51

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




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Динамическое мероприятие для 0016 инфотипа
СообщениеДобавлено: Пт, окт 24 2014, 12:03 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Да не, цепляться не буду, постановка нормальная. Я просто за то что зачем городить огород этими ФМами, если достатчно просто правильно настроить динамику?! ;-) В итоге если предложенный Вами ФМ позволит добиться желаемого результата - тоже будет гут.

На досуге проверю, можно ли использовать его для этой задачи, но опять же смущает что для его вызова нужно использовать PSKEY (ее в динамике точно не откуда взять), а формировать ее заново, как это не есть гут, ибо все из-за тойже проблемы - буферов внутри PA30 и вызываемой из нее динамики.

P.S.
Плюс в динамике нет еще записей 16 инфотипа, что читать для того чтобы что-то удалить? Проверять что если нет записей инфотипа то и делать другой код? Может получиться что овчинка выделки не стоит, долго абапить, еще дольше заниматься отладкой :-) в общем баланс требований-реализация-ресурсы.

P.P.S.
Нашел смежный ФМ. HR_ECM_INSERT_INFTYP, вообще не вариант он так же работает с инфотипами OM. В общем банальна обертка над основными Фмами старой технологии.

Code:
FUNCTION HR_ECM_INSERT_INFTYP.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(FCODE) TYPE  OKCODE DEFAULT 'INSE'
*"     REFERENCE(VTASK) TYPE  VTASK
*"     REFERENCE(INNNN_TAB) TYPE  WPLOG_TAB
*"     REFERENCE(MESSAGE_HANDLER) TYPE REF TO  IF_HRPA_MESSAGE_HANDLER
*"  EXPORTING
*"     REFERENCE(IS_OK) TYPE  BOOLE_D
*"----------------------------------------------------------------------

  is_ok = true.

  call function 'RH_INSERT_INFTY'
    EXPORTING
      fcode               = fcode
      vtask               = vtask
    TABLES
      innnn               = innnn_tab
    EXCEPTIONS
      no_authorization    = 1
      error_during_insert = 2
      repid_form_initial  = 3
      corr_exit           = 4
      begda_greater_endda = 5
      others              = 6.

  if sy-subrc <> 0.
    is_ok = false.
    case sy-subrc.
      when 1.
        call function 'HR_ECM_ADD_MESSAGE'
          EXPORTING
            message_handler = message_handler
            msgty           = error_msg
            msgid           = hrecm00bdg
            msgno           = '045'.
      when others.
        call function 'HR_ECM_ADD_MESSAGE'
          EXPORTING
            message_handler = message_handler
            msgty           = error_msg
            msgid           = hrecm00bdg
            msgno           = '046'.
    endcase.

  endif.

ENDFUNCTION.


И в догонку группа функций
Code:
HRECM00BUDGETUTILS             Function Group for Budget Utilities
HR_ECM_DELETE_INFTYP           Delete infotype
HR_ECM_INSERT_INFTYP           Insert infotypes
HR_ECM_READ_BUDGET_REL_INFTYP  Read budgeting infotypes - general read


А бюджетирование в HCM это реализация инфотипов по правилами Организационного Менеджмента.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое мероприятие для 0016 инфотипа
СообщениеДобавлено: Пт, окт 24 2014, 12:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 15 2008, 01:07
Сообщения: 142
Посмотрел код вызываемых из динамики ФМ, там есть структура pspar. Мне кажется в ней достаточно данных (табельный, дата) для вызова необходимых ФМ.

Вы привели не смежный. Смежный называется так: hr_ecm_insert_infotype и выглядит так:

Code:
FUNCTION hr_ecm_insert_infotype.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(PNNNN) TYPE  ANY
*"     REFERENCE(TEXT_TAB) TYPE  HRPAD_TEXT_TAB OPTIONAL
*"     REFERENCE(NO_AUTH_CHECK) TYPE  BOOLE_D DEFAULT ' '
*"     REFERENCE(MESSAGE_HANDLER) TYPE REF TO  IF_HRPA_MESSAGE_HANDLER
*"  EXPORTING
*"     REFERENCE(SEQNR) TYPE  SEQNR
*"     REFERENCE(IS_OK) TYPE  BOOLE_D
*"----------------------------------------------------------------------
*
  DATA infotype_reader        TYPE REF TO if_hrpa_plain_infotype_access.
*
  FIELD-SYMBOLS: <pnnnn>           TYPE ANY,
                 <pnnnn_typ>       TYPE x,
                 <pnnnn_local_typ> TYPE x,
                 <pnnnn_local>     TYPE ANY.
  DATA: dref                       TYPE REF TO data.
  DATA  text_tab_local             TYPE hrpad_text_tab.

  DATA  pskey                      TYPE pskey.

  CREATE DATA dref LIKE pnnnn.
  ASSIGN pnnnn         TO <pnnnn>.
  ASSIGN <pnnnn>       TO <pnnnn_typ>       CASTING.
  ASSIGN dref->*       TO <pnnnn_local>.
  ASSIGN <pnnnn_local> TO <pnnnn_local_typ> CASTING.
  MOVE  <pnnnn_typ>    TO <pnnnn_local_typ>.
  text_tab_local[] = text_tab[].
*
  CALL METHOD cl_hrpa_masterdata_factory=>get_plain_infotype_access
    IMPORTING
      plain_infotype_access = infotype_reader.
*
  CALL METHOD infotype_reader->insert
    EXPORTING
      tclas           = tclas_employee
      no_auth_check   = no_auth_check
      message_handler = message_handler
    IMPORTING
      is_ok           = is_ok
    CHANGING
      pnnnn           = <pnnnn_local_typ>
      text_tab        = text_tab_local.
  CHECK is_ok = true.
  MOVE <pnnnn_local> TO pskey.
  seqnr = pskey-seqnr.
*
ENDFUNCTION.


P.S. Если Я правильный понял в изначальной постановке имелось ввиду изменение даты мероприятия (ИТ0000). А есть ли ИТ0016 на эту дату или нет нужно проверять в ФМ и двигать дату начала, если есть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое мероприятие для 0016 инфотипа
СообщениеДобавлено: Пт, окт 24 2014, 12:38 
Почетный гуру
Почетный гуру

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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое мероприятие для 0016 инфотипа
СообщениеДобавлено: Пн, окт 27 2014, 13:21 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 15 2008, 01:07
Сообщения: 142
Ну а что мешает проверить тип мероприятия в динамике и если подходит, то запускать ФМ?


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

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


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

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


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

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