Текущее время: Вс, июл 20 2025, 01:26

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


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

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


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

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