Текущее время: Вт, июл 22 2025, 13:43

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: ФМ HR_INFOTYPE_OPERATION и замещения в 2003 ИФ
СообщениеДобавлено: Чт, ноя 10 2011, 15:50 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 09 2011, 10:12
Сообщения: 3
Добрый день, подскажите реально ли с помошью ФМ HR_INFOTYPE_OPERATION создавать в 2003 ИФ замещения, так чтобы автоматически ограничивались существующие замещения, если создаваемое накладывается на них по датам, т.е. например есть два замещения с датами 01.01.2011-10.01.2011 и 11.01.2011-15.01.2011 при создании нового замещения с датами 09.01.2011-12.01.2011 хотелось бы увидеть следующую картину:
1) 01.01.2011-08.01.2011
2) 09.01.2011-12.01.2011
3) 13.01.2011-15.01.2011
Если делать это все в ручную через PA30 то все получается, но при использовании HR_INFOTYPE_OPERATION остается лишь одно замещение, вновь созданное. Если же указать в HR_INFOTYPE_OPERATION использовать диалоговый режим, то вылетает ошибка о том что есть временные коллизии.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ HR_INFOTYPE_OPERATION и замещения в 2003 ИФ
СообщениеДобавлено: Пт, ноя 11 2011, 10:07 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Kazuya написал(а):
Добрый день, подскажите реально ли с помошью ФМ HR_INFOTYPE_OPERATION создавать в 2003 ИФ замещения, так чтобы автоматически ограничивались существующие замещения, если создаваемое накладывается на них по датам, т.е. например есть два замещения с датами 01.01.2011-10.01.2011 и 11.01.2011-15.01.2011 при создании нового замещения с датами 09.01.2011-12.01.2011 хотелось бы увидеть следующую картину:
1) 01.01.2011-08.01.2011
2) 09.01.2011-12.01.2011
3) 13.01.2011-15.01.2011
Если делать это все в ручную через PA30 то все получается, но при использовании HR_INFOTYPE_OPERATION остается лишь одно замещение, вновь созданное. Если же указать в HR_INFOTYPE_OPERATION использовать диалоговый режим, то вылетает ошибка о том что есть временные коллизии.

Видимо, вы как то не так определяете параметры для HR_INFOTYPE_OPERATION

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ HR_INFOTYPE_OPERATION и замещения в 2003 ИФ
СообщениеДобавлено: Пт, ноя 11 2011, 12:04 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 09 2011, 10:12
Сообщения: 3
Цитата:
Видимо, вы как то не так определяете параметры для HR_INFOTYPE_OPERATION

Собственно код программы примерно такой
Вычитываю инфотип 2003 в табличку P2003, а далее так
Code:
READ TABLE P2003 INTO WA_P2003 INDEX 1.
WA_P2003-BEGDA = '20110109'.
WA_P2003-ENDDA = '20110112'.
call function 'BAPI_EMPLOYEE_ENQUEUE'
    exporting
      number = pernr
    importing
      return = ls_return.

IF ls_return IS INITIAL.
  CALL FUNCTION 'HR_INFOTYPE_OPERATION'
    EXPORTING
      INFTY                  = '2003'
      NUMBER                 = WA_P2003-pernr
      SUBTYPE                = WA_P2003-subty
*     OBJECTID               =
     LOCKINDICATOR          = WA_P2003-sprps
     VALIDITYEND            = WA_P2003-ENDDA
     VALIDITYBEGIN          = WA_P2003-BEGDA
*     RECORDNUMBER           = WA_P2003-seqnr
      RECORD                 = WA_P2003
      OPERATION              = 'INS'
*     TCLAS                  = 'A'
     DIALOG_MODE            = '0'
*     NOCOMMIT               =
*     VIEW_IDENTIFIER        =
*     SECONDARY_RECORD       =
   IMPORTING
     RETURN                 = ls_return
     KEY                    = ls_key.

  CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
    EXPORTING
      NUMBER        = pernr
   IMPORTING
      RETURN        = ls_return.
ENDIF.

В результате получаю одно замещение с датой 09.01.2011-12.01.2011.
Если же выбрать диалоговый режим и через отладку провалиться в место где происходит вызов экрана с заполнением данных для создания замещения, и принудительно указать что вызов инфотипа не из BAPI
Code:
if pspar-pbpfl is initial.   "В данном случае pspar-pbpfl = 'x'
          call function 'RP_COLLISION'

то вызывается экран с коллизиями на котором можно клацнуть кнопку "ок", в и тоге получаем 3 замещения... вот и вопрос, что же нужно то передать в этот HR_INFOTYPE_OPERATION, дабы без всяких диалоговых режимов получить ожидаемое.


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

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


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

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


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

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