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

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


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

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


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

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