Текущее время: Сб, июл 19 2025, 09:07

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




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 12 2007, 09:24 
Специалист
Специалист

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Dimon написал:
Коллега, вам же сказали русским языком, что если используешь MOD,
то запись инфотипа лучше сначала прочитать в свою структуру через HR_READ_INFOTYPE исправить и обратно записать .

Code:
REPORT  ZD.
START-OF-SELECTION.
DATA  w_return     TYPE  BAPIRETURN1.
DATA  w_key        TYPE  BAPIPAKEY.
DATA  W_IS_OK_INP  TYPE  C.

INFOTYPES 0007.
DATA  it0007 LIKE P0007 OCCURS 0 WITH HEADER LINE.
DATA  message_handler_dummy  TYPE REF TO  IF_HRPA_MESSAGE_HANDLER.
DATA  is_ok_inp              TYPE         BOOLE_D.
DATA  cnt_p0007             TYPE I.

CLEAR it0007. REFRESH it0007.

CALL FUNCTION 'HR_READ_INFOTYPE'
     EXPORTING
     pernr     = '00000020'
     infty      = '0007'
     TABLES
     infty_tab = it0007.

MESSAGE it0007-pernr   TYPE 'I'.
MESSAGE it0007-subty   TYPE 'I'.
MESSAGE it0007-objps   TYPE 'I'.
MESSAGE it0007-sprps   TYPE 'I'.
MESSAGE it0007-endda  TYPE 'I'.
MESSAGE it0007-begda  TYPE 'I'.
MESSAGE it0007-seqnr   TYPE 'I'.

call method cl_hrpa_masterdata_enq_deq=>enqueue_by_pernr
     exporting
     tclas           = 'A'
     pernr           = it0007-PERNR
     message_handler = message_handler_dummy
     importing
     is_ok           = is_ok_inp.

MESSAGE  is_ok_inp      TYPE 'I' .
MESSAGE  it0007-sprps  TYPE 'I'.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'
  EXPORTING
    INFTY                     = '0007'
    NUMBER                 = it0007-pernr
    SUBTYPE                = it0007-subty
    OBJECTID              = it0007-objps
    LOCKINDICATOR    = it0007-sprps
    VALIDITYEND         = it0007-endda
    VALIDITYBEGIN      = it0007-begda
    RECORDNUMBER     = it0007-seqnr
    RECORD                 = it0007
    OPERATION            = 'CHK'
    TCLAS                   = 'A'
    DIALOG_MODE       = '0'
*   NOCOMMIT            =
*   VIEW_IDENTIFIER  =
*   SECONDARY_RECORD  =
  IMPORTING
    RETURN                 = w_return
    KEY                       = w_key.

WRITE / w_return.
WRITE / w_key.
MESSAGE  w_return  TYPE 'I' .
EXIT.

происходит аварийное завершение этой проги.
Подскажите, в чем проблема ?


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
.
...
происходит аварийное завершение этой проги.
Подскажите, в чем проблема ?

Для ответа на данный вопрос нужно видеть сам дамп (как минимум по секцию "Информация о месте прерывания" включительно ).

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


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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Note 493984 - SET_FRAMEWORK CX_HRPA_VIOLATED_PRECONDITION

Solution
In many cases you can solve the problem by setting or evaluating the CE main switches correctly.
If the problem is not caused by the main switches, you must correct the program involved. In general, this is done by inserting a "PERFORM do_nothing(sapfp50p)" statement for event LOAD-OF-PROGRAM.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ФМ HR_INFOTYPE_OPERATION с инфо/типом 0298
СообщениеДобавлено: Пт, ноя 02 2007, 15:22 
Специалист
Специалист

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
ФМ HR_INFOTYPE_OPERATION
при задании инфо/типа 0298 вернул аварийное сообщение :

"E PG 170 Выполнить прямое ведение этого инфо/типа невозможно"

Подскажите, как устранить


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ HR_INFOTYPE_OPERATION с инфо/типом 0298
СообщениеДобавлено: Пт, ноя 02 2007, 16:57 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
ФМ HR_INFOTYPE_OPERATION
при задании инфо/типа 0298 вернул аварийное сообщение :

"E PG 170 Выполнить прямое ведение этого инфо/типа невозможно"

Подскажите, как устранить
Не указана причина мероприятия?!
Вы пытаетесь напрямую создать запись инфотипа, не через мероприятие?

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


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

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Инфо-тип 0298 возможно менять только в процессе проведения мероприятия.

Для программного выполнения мерориятий можно использовать HR_MAINTAIN_MASTERDATA. См. пример на ABAPEDIA

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: исп ФМ HR_MAINTAIN_MASTERDATA
СообщениеДобавлено: Пн, ноя 05 2007, 15:10 
Специалист
Специалист

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Code:
REPORT  ZD                                              .
**Note 493984 - SET_FRAMEWORK CX_HRPA_VIOLATED_PRECONDITION
LOAD-OF-PROGRAM.
PERFORM do_nothing(sapfp50p).

START-OF-SELECTION.
DATA: proposed_values TYPE STANDARD TABLE OF pprop WITH HEADER LINE.
DATA: return          TYPE bapireturn.
DATA: return1           LIKE bapireturn1.
DATA: hr_return       LIKE hrhrmm_msg.
DATA: mod_keys        TYPE STANDARD TABLE OF pskey WITH HEADER LINE.

* Инфотип 0000                                  Причина мероприятия
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-MASSG'. proposed_values-FVAL = '01'.
APPEND proposed_values.
*                                                        Раздел персонала
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-WERKS'. proposed_values-FVAL = 'SL10'.
APPEND proposed_values.
*                                                        Группа сотрудников
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-PERSG'. proposed_values-FVAL = '1'.
APPEND proposed_values.
*                                                        Категория сотрудников
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-PERSK'. proposed_values-FVAL = 'U4'.
APPEND proposed_values.
* Инфотип 0002                                   Ключ обращения (см. T522G)
proposed_values-INFTY = '0002'. proposed_values-FNAME = 'P0002-ANRED'. proposed_values-FVAL = '1'.
APPEND proposed_values.
*                                                        Пол (см. домен GESCH)
proposed_values-INFTY = '0002'. proposed_values-FNAME = 'P0002-GESCH'. proposed_values-FVAL = '1'.
APPEND proposed_values.
*                                                        Фамилия
proposed_values-INFTY = '0002'. proposed_values-FNAME = 'P0002-NACHN'. proposed_values-FVAL = 'Дорин'.
APPEND proposed_values.
*                                                        Фамилия при рождении
proposed_values-INFTY = '0002'. proposed_values-FNAME = 'P0002-NAME2'. proposed_values-FVAL = 'Василиск'.
APPEND proposed_values.
*                                                        Дата рождения
proposed_values-INFTY = '0002'. proposed_values-FNAME = 'P0002-GBDAT'. proposed_values-FVAL = '19600101'.
APPEND proposed_values.
*                                                        Госпринадлежность
proposed_values-INFTY = '0002'. proposed_values-FNAME = 'P0002-NATIO'. proposed_values-FVAL = 'RU'.
APPEND proposed_values.
* Инфотип 0001
proposed_values-INFTY = '0001'. proposed_values-FNAME = 'P0001-BTRTL'. proposed_values-FVAL = '0001'.
APPEND proposed_values.
* Инфо-тип 0006                                          Улица
proposed_values-INFTY = '0006'. proposed_values-FNAME = 'P0006-STRAS'. proposed_values-FVAL = 'Ленина'.
APPEND proposed_values.
*                                                        Дом
proposed_values-INFTY = '0006'. proposed_values-FNAME = 'P0006-STRAS'. proposed_values-FVAL = '60'.
APPEND proposed_values.
*                                                        Здание
proposed_values-INFTY = '0006'. proposed_values-FNAME = 'P0006-BLDNG'. proposed_values-FVAL = '-'.
APPEND proposed_values.
*
proposed_values-INFTY = '0006'. proposed_values-FNAME = 'P0006-TELNR'. proposed_values-FVAL = '323332223'.
APPEND proposed_values.

CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
    EXPORTING
    massn          = '01'     " Вид мероприятия
    begda           = sy-datum " Дата мероприятия
    IMPORTING
    return           = return
    hr_return      = hr_return
    TABLES
    proposed_values = proposed_values
    modified_keys  = mod_keys.
IF return IS INITIAL.
   READ TABLE mod_keys INDEX 1.
   WRITE: 'Сотрудник принят на работу. Ему присвоен таб номер',
   mod_keys-pernr.
ELSE.
   DATA msgtext(72).
   MESSAGE ID     hr_return-msgid
           TYPE   hr_return-msgty
           NUMBER hr_return-msgno
           WITH   hr_return-msgv1
                     hr_return-msgv2
                     hr_return-msgv3
                     hr_return-msgv4
           INTO msgtext.
    WRITE: hr_return-pernr, hr_return-infty, hr_return-subty, msgtext.
ENDIF.
EXIT.


результат : Данніые пакетного ввода для єкрана MP00000000 2000
отсутствуют

В чем проблема ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Штатной должности не вижу
СообщениеДобавлено: Пн, ноя 05 2007, 15:53 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пн, апр 04 2005, 10:56
Сообщения: 559
Откуда: Moscow
Пол: Мужской
Штатной должности не вижу


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
...
Code:
* Инфотип 0000                                  Причина мероприятия
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-MASSG'. proposed_values-FVAL = '01'.
APPEND proposed_values.
*                                                        Раздел персонала
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-WERKS'. proposed_values-FVAL = 'SL10'.
APPEND proposed_values.
*                                                        Группа сотрудников
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-PERSG'. proposed_values-FVAL = '1'.
APPEND proposed_values.
*                                                        Категория сотрудников
proposed_values-INFTY = '0000'. proposed_values-FNAME = 'P0000-PERSK'. proposed_values-FVAL = 'U4'.
APPEND proposed_values.

...
результат : Данніые пакетного ввода для єкрана MP00000000 2000
отсутствуют

В чем проблема ?

Не заполнены все данные для самого первого экрана мероприятий.

Не нужно тупо, один в один копировать примеры с ABAPEDIA. Вы уверены что в вашей системе есть и настроено мероприятие '01'? И есть раздел персонала 'SL10', категория сотрудников 'U4'?
Выполните вначале __Ваше__ мероприятие вручную, посмотрите какие инфотипы в нём используются, какие поля открыты/закрыты, какие обязательны для заполнения и творчески доработайте болванку из "ABAPEDIA".

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


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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
>посмотрите какие инфотипы в нём используются, какие поля >открыты/закрыты, какие обязательны для заполнения

Это можно посмотреиь только выполняя транзакцию ? Из таблиц
инфотипов эту информацию извлечь можно ?


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

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
alex_dorin написал:
Это можно посмотреиь только выполняя транзакцию ? Из таблиц
инфотипов эту информацию извлечь можно ?

Если есть желание, то можно анализировать T588M - настройка полей экрана для инфотипа. ИМХО проще посмотреть в PA30.

Из "таблиц инфотипов" информацию об обязательности тех или иных аттрибутов взять не возможно, т.к. там хранятся только данные, но никак не настройки.

Коллега, своими вопросами Вы показываете, что так и не посмотрели рекомендованный ранее HR350. Настоятельно рекомендую посмотреть его. :D

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ФМ 'HR_MAINTAIN_MASTERDATA' для ведения ИТ 0298
СообщениеДобавлено: Ср, ноя 07 2007, 10:39 
Специалист
Специалист

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Code:
REPORT  ZD.
data:
person_info like PPROP occurs 0 WITH HEADER LINE,
msg_result  like BAPIRETURN1,
hr_return    like HRHRMM_MSG.

person_info-infty     = '0298'.
person_info-fname  = 'P0298-PERNR'.
person_info-fval      = '00000012'.
append person_info.

person_info-infty     = '0298'.
person_info-fname  = 'P0298-SUBTY'.
person_info-fval      = '0011'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-ENDDA'.
person_info-fval     = '31129999'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-BEGDA'.
person_info-fval     = '20070711'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-MASSN'.
person_info-fval     = '01'.
append person_info.

person_info-infty    = '00298'.
person_info-fname = 'P0298-MASSG'.
person_info-fval     = '07'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-ORDNU'. 
person_info-fval    = 'Q12345678'.
append person_info.

person_info-infty   = '0298'.
person_info-fname = 'P0298-ORDDT'.
person_info-fval    = '20070102'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-LOCAT'.
person_info-fval     = 'СХРОН 1'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-REMAR'.
person_info-fval     = 'HI!'.
append person_info.

person_info-infty    = '0298'.
person_info-fname = 'P0298-ORDST'.
person_info-fval  = ''.
append person_info.

person_info-infty = '0298'.
person_info-fname = 'P0298-ACQDT'.
person_info-fval  = '20071107'.
append person_info.

call function 'HR_MAINTAIN_MASTERDATA'
exporting
DIALOG_MODE = '2'
BEGDA = '20050702'
ENDDA = '99991231'
NO_EXISTENCE_CHECK = 'X'
importing
RETURN1 = msg_result
HR_RETURN = HR_RETURN
tables
PROPOSED_VALUES = person_info.

MESSAGE msg_result TYPE 'I'.
MESSAGE HR_RETURN  TYPE 'I'.


имею - ПРЕРЫВАНИЕ
"выполнить прямое ведение инфотипа не возможно"
Вообще-то диалоговый режим в R/3 не подходит
нужно инкапсулировать всю работу с инфотипами в функциональных модулях


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'HR_MAINTAIN_MASTERDATA' для ведения ИТ 0298
СообщениеДобавлено: Ср, ноя 07 2007, 11:46 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
Code:
....
call function 'HR_MAINTAIN_MASTERDATA'
exporting
DIALOG_MODE = '2'
BEGDA = '20050702'
ENDDA = '99991231'
NO_EXISTENCE_CHECK = 'X'
importing
RETURN1 = msg_result
HR_RETURN = HR_RETURN
tables
PROPOSED_VALUES = person_info.

MESSAGE msg_result TYPE 'I'.
MESSAGE HR_RETURN  TYPE 'I'.

имею - ПРЕРЫВАНИЕ
"выполнить прямое ведение инфотипа не возможно"

Вообще-то диалоговый режим в R/3 не подходит
нужно инкапсулировать всю работу с инфотипами в функциональных
модулях


alex_dorin, я вот не пойму: Вам действительно нужна помощь или Вы придуриваетесь? Где причина мероприятия (massn) в параметрах ФМ?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'HR_MAINTAIN_MASTERDATA' для ведения ИТ 0298
СообщениеДобавлено: Ср, ноя 07 2007, 12:13 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
sy-uname написал(а):
alex_dorin, я вот не пойму: Вам действительно нужна помощь или Вы придуриваетесь? Где причина мероприятия (massn) в параметрах ФМ?

ИМХО имеет место попытка автоматизации процесса, который не понятен.

alex_dorin, перед рекомендованным HR350, полезно (хотя бы) прочесть HR305.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'HR_MAINTAIN_MASTERDATA' для ведения ИТ 0298
СообщениеДобавлено: Ср, ноя 07 2007, 13:43 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, сен 13 2007, 09:44
Сообщения: 256
Bully написал(а):
sy-uname написал(а):
alex_dorin, я вот не пойму: Вам действительно нужна помощь или Вы придуриваетесь? Где причина мероприятия (massn) в параметрах ФМ?

ИМХО имеет место попытка автоматизации процесса, который не понятен.

alex_dorin, перед рекомендованным HR350, полезно (хотя бы) прочесть HR305.

Ну затюкали кота совсем :) Мурзик вот тоже хр350 не читал и не слушал, а банку вискаса на обед всегда имеет :D
А вообще коллеги правильно говорят, диалоговый режим тут не причем, это сообщение жестко прописано на экране 2000 инфотипа 298. Мероприятие это маст. Еще какой-то subty у 298-го подозрительный. Еще мероприятие проводить без 0-инфотипа неправильно - xотя вся инфогруппа пойдет за мероприятием автоматом.
Но то что для начала ФМ вызывается в диалоговом режиме - это правильно, легче пишется и исправляется репорт.
Да и наконец очень полезно ставить врейкпойнт на операторе мессидж. Тогда вы бы сразу поняли где собака зарыта :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.

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


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

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


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

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