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

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: программное изменение ИТ 21
СообщениеДобавлено: Вт, июн 20 2006, 18:36 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 13 2006, 11:59
Сообщения: 221
Откуда: Киев
Пол: Женский
доброго времени суток

вопрос: необходимо из внутренней таблицы заполнить пользовательское поле ИТ 21.
пример:
есть внутренняя табличка P0021, которая является копией pa2001. в ней (как и в pa2001) пользовательское поле zzphone с телефоном члена семьи. необходимо, имея в P0021 (вн.таблица) это поле заполненным, изменить соотв. запись 21 ИТ.
перебрала несколько функциональных модулей типа BAPI_FAMILY_CHANGE, но там жестко прописаны поля 21 ИТ.
вызов напрямую модуля HR_INFOTYPE_OPERATION с параметром OPERATION = CHANGE не помогает.

Code:
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
       EXPORTING
            INFTY         = '0021'
            NUMBER        = p0021-pernr
            SUBTYPE       = p0021-subty
            OBJECTID      = p0021-OBJPS                 
            LOCKINDICATOR = P0021-SPRPS
            VALIDITYEND   = P0021-ENDDA
            VALIDITYBEGIN = P0021-BEGDA
            RECORDNUMBER  = P0021-SEQNR
            RECORD        = P0021
            OPERATION     = CHANGE
       IMPORTING
            RETURN        = RETURN
            KEY           = FAMILYKEY
       EXCEPTIONS
            OTHERS        = 0.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 20 2006, 22:25 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Ну и постановка задачи! :D
Я правильно понял, что необходимо программным путем изменить поле ZZPHONE инфо-типа 0021?
(При чем здесь PA2001 я так и не понял :lol: )

Тогда "правильным путем идете товарисч!"

Единственное, я не вижу где собственно задается значение ZZPHONE?
И где код блокировки табельного номера? Если мне память не изменяет используемый ФМ требует, чтобы табельный номер был блокирован.
Итого должно быть что-то типа:
Code:
* Блокируем т/н
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
....

* Задаем параметры изменяемой записи:
p0021-pernr = ...
p0021-subty = ...
p0021-OBJPS = ...         
P0021-SPRPS = ...
P0021-ENDDA = ...
P0021-BEGDA = ...
P0021-SEQNR = ...
P0021-zzphone = ...

* Изменяем запись:
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
       EXPORTING
            INFTY         = '0021'
            NUMBER        = p0021-pernr
            SUBTYPE       = p0021-subty
            OBJECTID      = p0021-OBJPS                 
            LOCKINDICATOR = P0021-SPRPS
            VALIDITYEND   = P0021-ENDDA
            VALIDITYBEGIN = P0021-BEGDA
            RECORDNUMBER  = P0021-SEQNR
            RECORD        = P0021
            OPERATION     = CHANGE
       IMPORTING
            RETURN        = RETURN
            KEY           = FAMILYKEY
       EXCEPTIONS
            OTHERS        = 0.

CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
...

Все результаты работы ФМ достаточно популярно комментируются в возвращаемой структуре RETURN, поэтому если что-то не работает - смотри туда.

PS
Читаем слушаем HR350 - он к стати на следующей неделе.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 21 2006, 08:22 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, апр 26 2006, 07:54
Сообщения: 38
Откуда: Алма-ата
О! а я там буду! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 21 2006, 09:03 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 13 2006, 11:59
Сообщения: 221
Откуда: Киев
Пол: Женский
cорри, описалась. :\ естесственно, не pa2001, a pa0021


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программное изменение ИТ 21
СообщениеДобавлено: Ср, июн 21 2006, 09:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 13 2004, 14:03
Сообщения: 209
Откуда: Москва
Пол: Мужской
Екатерина Мячина написала:
вопрос: необходимо из внутренней таблицы заполнить пользовательское поле ИТ 21.
пример:


Екатерина, а если в цикле по этой внутренней таблице вызывать пакетник, который модифицирует ИТ0021?
Или же сформировать файл с необходимыми данными, который "прогнать" через LSMW?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 21 2006, 09:57 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 13 2006, 11:59
Сообщения: 221
Откуда: Киев
Пол: Женский
вряд ли это подойдет. то, что я пытаюсь сделать - это логика обработки экрана 200 программы SAPLZ_EHUA6. это транзакция PZ12 - для САП-портала. идея такая: портальные пользователи должны иметь возможность редактировать свои данные из 21 ИТ. В стандартных инклудах этой программы жестко прописаны поля 21 ИТ, изменение которых через портал отражаются в основных данных человека в системе. поле zzphone на экран я вывела, как и содержащуюся в нем информацию. осталось сохранять изменения этого поля. чтобы не ломать стандартные инклуды, я просто дописала свой PAI-модуль, который при изменении поля p0021-zzphone будет изменять соотв. запись в pa30.
каждый раз запускать пакетный ввод по одному табельному номеру - это слишком много лишних действий. имхо. :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 21 2006, 10:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 13 2004, 14:03
Сообщения: 209
Откуда: Москва
Пол: Мужской
Екатерина Мячина написала:
каждый раз запускать пакетный ввод по одному табельному номеру - это слишком много лишних действий. имхо. :(


Согласен. Я думал у вас одноразовая операция, а так... да, пакетник не подойдет.


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

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


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

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


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

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