Текущее время: Пн, авг 04 2025, 04:42

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


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

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


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

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