Текущее время: Вт, июл 29 2025, 14:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Копирование данных инфо-типа 0001
СообщениеДобавлено: Ср, дек 12 2007, 07:21 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
Всем доброго утра.

Задача состоит в следующем.
Мне необходимо считать данные из первого инфо-типа у определенного табельника, создать копию (изменив только дату) и обратно запихнуть в первый инфо-тип.

С помощью каких ФМ можно это сделать?

Заранее благодарю за помощь

_________________
С Уважением,
Начинающий


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Копирование данных инфо-типа 0001
СообщениеДобавлено: Ср, дек 12 2007, 09:36 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Марат написал(а):
Всем доброго утра.

Задача состоит в следующем.
Мне необходимо считать данные из первого инфо-типа у определенного табельника, создать копию (изменив только дату) и обратно запихнуть в первый инфо-тип.

С помощью каких ФМ можно это сделать?

Заранее благодарю за помощь

Курс HR350 будет полезно прочитать!
Читать ИТ через HR_READ_INFOTYPE
Изменять ИТ через HR_INFOTYPE_OPERATION

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 11:09 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
Большое спасибо.

С HR_READ_INFOTYPE все понятно

А вот с HR_INFOTYPE_OPERATION не совсем.

Допустим я скачал данные с инфо-типа 0001 в таблицу.
Беру нужную запись в этой таблице и...?

Для теста создал программу.

Code:
TABLES p0001 .
DATA: zp0001 like p0001 OCCURS 0 WITH HEADER LINE.
data: zRETURN like BAPIRETURN1 OCCURS 0 WITH HEADER LINE.
data: ZKEY like BAPIPAKEY OCCURS 0 WITH HEADER LINE.
DATA: G_RETURN TYPE bapireturn1.

call function 'HR_READ_INFOTYPE'
  exporting
*   TCLAS                 = 'A'
    PERNR                 = '00000002'
    INFTY                 = '0001'
*   BEGDA                 = '18000101'
*   ENDDA                 = '99991231'
*   BYPASS_BUFFER         = ' '
*   LEGACY_MODE           = ' '
* IMPORTING
*   SUBRC                 =
  TABLES
    INFTY_TAB             = zp0001.

LOOP AT zp0001 INTO p0001.

P0001-BEGDA = '20080101'.
P0001-ENDDA = '99991231'.

CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = '00000002'
IMPORTING
return = g_return.

call function 'HR_INFOTYPE_OPERATION'
  exporting
    INFTY                  = '0001'
    NUMBER                 = P0001-PERNR
*   SUBTYPE                = P0001-SUBTY
*   OBJECTID               = P0001-OBJPS
*   LOCKINDICATOR          = P0001-SPRPS
*   VALIDITYEND            = P0001-ENDDA
*   VALIDITYBEGIN          = P0001-BEGDA
*   RECORDNUMBER           =
    RECORD                 = p0001
    OPERATION              = 'COP'
*   TCLAS                  = 'A'
*   DIALOG_MODE            = '0'
*   NOCOMMIT               =
*   VIEW_IDENTIFIER        =
*   SECONDARY_RECORD       =
IMPORTING
   RETURN                 = zRETURN
   KEY                    = ZKEY
          .
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = '00000002'.
exit.
*commit WORK AND WAIT.
ENDLOOP.

----------------------------------------------------------------------------
Не вышло пишет, что в таблице T527O нет записи
пробовал и так:

Code:
call function 'HR_INFOTYPE_OPERATION'
  exporting
    INFTY                  = '0001'
    NUMBER                 = P0001-PERNR
*   SUBTYPE                = P0001-SUBTY
*   OBJECTID               = P0001-OBJPS
*   LOCKINDICATOR          = P0001-SPRPS
   VALIDITYEND            = '99991231'
   VALIDITYBEGIN          = '20080101'
*   RECORDNUMBER           =
    RECORD                 = p0001
    OPERATION              = 'COP'
*   TCLAS                  = 'A'
*   DIALOG_MODE            = '0'
*   NOCOMMIT               =
*   VIEW_IDENTIFIER        =
*   SECONDARY_RECORD       =
IMPORTING
   RETURN                 = zRETURN
   KEY                    = ZKEY.

---------------------------------------------------------------------------
Та же ошибка.
Попробовал по другому

Code:
P0001-BEGDA = '20080101'.
P0001-ENDDA = '99991231'.
call function 'HR_INFOTYPE_OPERATION'
  exporting
    INFTY                  = '0001'
    NUMBER                 = P0001-PERNR
   SUBTYPE                = P0001-SUBTY
   OBJECTID               = P0001-OBJPS
   LOCKINDICATOR          = P0001-SPRPS
   VALIDITYEND            = P0001-ENDDA
   VALIDITYBEGIN          = P0001-BEGDA
*   RECORDNUMBER           =
    RECORD                 = p0001
    OPERATION              = 'INS'
*   TCLAS                  = 'A'
*   DIALOG_MODE            = '0'
*   NOCOMMIT               =
*   VIEW_IDENTIFIER        =
*   SECONDARY_RECORD       =
IMPORTING
   RETURN                 = zRETURN
   KEY                    = ZKEY.

----------------------------------------------------------------------
Выдает ошибку, что не все поля заполнены

Что я не так делаю?

Заранее спасибо

_________________
С Уважением,
Начинающий


Последний раз редактировалось Марат Пт, дек 14 2007, 13:44, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 11:34 
Специалист
Специалист

Зарегистрирован:
Чт, июн 23 2005, 18:05
Сообщения: 119
А почему бапишкой блокируете.
Попробуйте модулем ENQUEUE_EPPRELE и DEQUEUE_EPPRELE.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 12:58 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
kizif написал(а):
А почему бапишкой блокируете.

Потомучто так рекомендовано в курсе.

Марат написал(а):
Что я не так делаю?

Диапазон BEGDA и ENDDA должен передаваться параметрами ФМ, а не через структуру.

Марат, плз, используй тег Code при оформлении сообщений. Жутко нечитабелен текст :)

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 14:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Bully написал(а):
используй тег Code при оформлении сообщений. Жутко нечитабелен текст :)

Есть маленькая хитрость: если нажать "Скачать сообщение", то можно получить текст сообщения в авторском варианте, т.е. с форматированием. Неудобно, конечно, но ведь каждому не разъяснишь :)

С другой стороны, Марат может отредактировать своё сообщение и добавить [code].

PS. Сорри за офтоп.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 15:24 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
sibrin написал:
С другой стороны, Марат может отредактировать своё сообщение и добавить [code].


Я на это собственно и хотел намекнуть :)

sibrin написал:
PS. Сорри за офтоп.

ИМХО полезный оффтоп. :D

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 16:16 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Марат написал(а):
Большое спасибо.

С HR_READ_INFOTYPE все понятно

А вот с HR_INFOTYPE_OPERATION не совсем.

Допустим я скачал данные с инфо-типа 0001 в таблицу.
Беру нужную запись в этой таблице и...?

Для теста создал программу.

....
----------------------------------------------------------------------
Выдает ошибку, что не все поля заполнены

Что я не так делаю?

Заранее спасибо


Что-то это всё напоминает тему
ФМ HR_INFOTYPE_OPERATION , HR_INFOTYPE_GETDETAIL подробнее о парметрах

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 12 2007, 16:22 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
kizif написал(а):
А почему бапишкой блокируете.
Попробуйте модулем ENQUEUE_EPPRELE и DEQUEUE_EPPRELE.

Блокируется, кстати, правильно, так и должно быть.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 13 2007, 11:07 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
Всем спасибо за помощь.

Я разобрался в чем дело (вроде бы). Просто табельник на котором я тестировал какой-то не такой. У этого табельника был ключ организации, которого не было в таблице T527O. Почему? Я не знаю. Начал тестировать на других табельниках и все получилось.

Code:
     
        call function 'HR_INFOTYPE_OPERATION'
          exporting
            INFTY         = '0001'
            NUMBER        = MY_P0001-PERNR
            VALIDITYEND   = MY_P0001-ENDDA
            VALIDITYBEGIN = MY_P0001-BEGDA
            RECORD        = MY_P0001
            OPERATION     = 'COP'
          importing
            RETURN        = MY_RETURN.

_________________
С Уважением,
Начинающий


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 13 2007, 14:10 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Марат написал(а):
Всем спасибо за помощь.

Всегда пожалуйста.

А первое сообщение так и не поправил :wink:

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 14 2007, 13:45 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 04 2006, 05:56
Сообщения: 75
Откуда: Казахстан
Bully написал(а):
Всегда пожалуйста.

А первое сообщение так и не поправил :wink:


Сорри уже исправил

_________________
С Уважением,
Начинающий


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

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


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

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


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

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