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

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




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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Code:
INFOTYPES: 0007.
*DATA: P0007 LIKE P0007 OCCURS 0 WITH HEADER LINE.

P0007-pernr   = '00077777'.   P0007-endda = '20081212'.
P0007-begda  = '20070926'    P0007-seqnr = '001'.
P0007-AEDTM = '20070926'.   P0007-uname = 'FIO'.
p0007-zterf    = '0'.                p0007-empct = 50.00.
p0007-mostd  = 167.70.         p0007-wostd  = 40.00.
p0007-arbst    = 8.25.            p0007-wkwdy = 5.00.
p0007-jrstd = 2012.40.           
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
     EXPORTING
             INFTY                      = '7'
             NUMBER                  = '00077777'
             OBJECTID               = ' '
             LOCKINDICATOR     = ' '
             VALIDITYEND          = '20081212'
             VALIDITYBEGIN       = '20070926'
             RECORDNUMBER     = '001'
             RECORD                 = P0007
             OPERATION             = 'INS'
             TCLAS                    = 'A'
             DIALOG_MODE        = '0'
             NOCOMMIT              = ' '
       IMPORTING
             RETURN = W_return
             KEY = W_key.
          .
DATA        w_return    TYPE  BAPIRETURN1.
DATA        w_key        TYPE  BAPIPAKEY.
MESSAGE  w_return  TYPE 'I' .
MESSAGE  w_key      TYPE 'I' .


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
INFTY = '7'

VALUE(INFTY) LIKE PRELP-INFTY (INFTY CHAR 4)

Таким образом '7' и '0007' это две большие разницы

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


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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Code:
DATA  w_return         TYPE  BAPIRETURN1.
DATA  w_key             TYPE  BAPIPAKEY.
DATA  W_IS_OK_INP  TYPE  C.

DATA  message_handler_dummy TYPE REF TO  IF_HRPA_MESSAGE_HANDLER.

CALL FUNCTION 'HR_ECM_ENQUEUE_PERNR'
     EXPORTING
     PERNR                 = '00000012'
     MESSAGE_HANDLER       = message_handler_dummy
     IMPORTING
     IS_OK                 = W_IS_OK_INP
.

MESSAGE  W_IS_OK_INP  TYPE 'I' .  "<--ИМЕЕМ  X  - УСПЕХ

INFOTYPES 0007.
P0007-PERNR = '00000012'.
P0007-SEQNR = '001'.
P0007-AEDTM = '20070928'.
P0007-UNAME = 'FIO'.
P0007-SCHKZ = 'A-1'.
P0007-ZTERF = '0'.
P0007-EMPCT = '50.00'.
P0007-MOSTD = '167.70'.
P0007-WOSTD = '40.00'.
P0007-ARBST = '8.25'.
P0007-WKWDY = '5.00'.
P0007-JRSTD = '2012.40'.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'
  EXPORTING
    INFTY                           = '0007'
    NUMBER                       = '00000012'
*   SUBTYPE                =
*   OBJECTID              =
*   LOCKINDICATOR    =
*   VALIDITYEND            = '20021222'
*   VALIDITYBEGIN         = '20001101'
*   RECORDNUMBER        =
    RECORD                        = P0007
    OPERATION                    = 'INS'
*   TCLAS                    = 'A'
*   DIALOG_MODE        = '0'
*   NOCOMMIT              =
*   VIEW_IDENTIFIER    =
*   SECONDARY_RECORD =
  IMPORTING
    RETURN                     = w_return
    KEY                           = w_key
          .
MESSAGE  w_return  TYPE 'I' .


имеем аварийный DUMP
В чем может быть причина ?

Bully: alex_dorin, пожалуйста, используй тег code для оформления ABAP-кода


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
...
.
MESSAGE w_return TYPE 'I' .


имеем аварийный DUMP
В чем может быть причина ?

Во-первых - используйте тег [code] для исходников, очень сложно читать год "отформатированный" форумом
Во-вторых - вы загадки загадываете или вам нужна помощь? Если помощь то привидите содержимое дампа - как минимум от раздела "краткий тексто" до "Указания по устранению ошибки" включительно.

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


Последний раз редактировалось sy-uname Пт, сен 28 2007, 16:10, всего редактировалось 4 раз(а).

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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
Code:
REPORT  Z_DP.
START-OF-SELECTION.
DATA  w_return         TYPE  BAPIRETURN1.
DATA  w_key             TYPE  BAPIPAKEY.
DATA  W_IS_OK_INP TYPE  C.
INFOTYPES 0007.
P0007-PERNR = '00000467'.
*P0007-SEQNR = '001'.
P0007-ENDDA  = '99991231'.
P0007-BEGDA  = '20001201'.
P0007-AEDTM  = '20070928'.
P0007-UNAME  = 'ADMIN'.
P0007-SCHKZ  = 'NRM'.
P0007-ZTERF   = '0'.
P0007-EMPCT  = '50.00'.
P0007-MOSTD = '167.70'.
P0007-WOSTD = '40.00'.
P0007-ARBST  = '8.25'.
P0007-WKWDY = '5.00'.
P0007-JRSTD   = '2012.40'.

DATA  message_handler_dummy  TYPE REF TO  IF_HRPA_MESSAGE_HANDLER.
DATA  is_ok_inp              TYPE         BOOLE_D.

call method cl_hrpa_masterdata_enq_deq=>enqueue_by_pernr
     exporting
     tclas           = 'A'
     pernr           = P0007-PERNR
     message_handler = message_handler_dummy
     importing
     is_ok           = is_ok_inp.
MESSAGE  is_ok_inp  TYPE 'I' .        "-> X - ИМЕЕМ УСПЕХ

CALL FUNCTION 'HR_INFOTYPE_OPERATION'
  EXPORTING
   INFTY                  = '0007'
   NUMBER              = '00000467'
*   SUBTYPE            =
*   OBJECTID          =
*   LOCKINDICATOR=
*   VALIDITYEND     = '99991231'
*   VALIDITYBEGIN  = '20001101'
*   RECORDNUMBER=
    RECORD             = P0007
    OPERATION         = 'MOD'
    TCLAS                = 'A'
    DIALOG_MODE    = '0'
*  NOCOMMIT          =
*  VIEW_IDENTIFIER=
*  SECONDARY_RECORD=
  IMPORTING
    RETURN              = w_return
    KEY                    = w_key
          .

MESSAGE  w_return  TYPE 'I' .
*-> EPG 009 Данных для 0007(в выбраном периоде) не cуществует
exit.


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
REPORT Z_DP.
START-OF-SELECTION.
...
...
MESSAGE w_return TYPE 'I' .
*-> EPG 009 Данных для 0007(в выбраном периоде) не cуществует
exit.

Прелестно, тегом CODE пользоваться не научились, так теперь ещё к угадыванию ответов добавилась необходимость угадывать вопрос!
Так в чём суть проблемы данным кодом?

PS:
в части вызова ФМ 'HR_INFOTYPE_OPERATION' следующие аргументы лучше задавать явно
Code:
*   SUBTYPE            =
*   OBJECTID          =
*   LOCKINDICATOR=
*   VALIDITYEND     = '99991231'
*   VALIDITYBEGIN  = '20001101'
*   RECORDNUMBER=

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


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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
проблема кода такая -
w_return постоянно содержит такую информацию :
"EPG 009 Данных для 0007(в выбраном периоде) не cуществует
0000000007"

о параметрах

Code:
*   OBJECTID               =
*   LOCKINDICATOR          =
    VALIDITYEND            =  '99991231'
    VALIDITYBEGIN          = '20001101'
*   RECORDNUMBER           =

OBJECTID, LOCKINDICATOR, RECORDNUMBER в таблице
PA0007 не заполнены


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

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Алекс, Вас уже несколько человек попросили пользоваться тегом [code] :D

Это такая кнопочка с текстом "code" - при ее нажатии, выделенный текст оформляется моноширинным текстом - так намного удобнее читать код (не только мне).
Пожалуйста оформляйте сообщения нормально :D

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Я думаю, тут дело в настройке
СообщениеДобавлено: Ср, окт 10 2007, 10:43 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пн, апр 04 2005, 10:56
Сообщения: 559
Откуда: Moscow
Пол: Мужской
Я думаю, тут дело в настройке - "Данных для ИТ 0007 не существует" - Попробуйте VALIDITYBEGIN = '20001101' , поменять на дату попозже, посмотреть , не оказывается ли , что вы вводите Ит, когда чел еще не принят, или ПГРВ не существует. Кроме того , насколько я помню обычно вводят поменьше информации :)
У вас вводится и правило ГРВ и процент и значения в те поля, которые по идее должны вычислиться автоматически на основании первых двух значений. Кроме того, если процент не 100, то должно открыться поле про неполный рабочий день ( с галочкой ), а вы его похоже не заполняете .
При сохранении ИТ через данный ФМ PAI логика отрабатывает, поэтому если что-то в исходных данных не так, то выходит сообщение . Т.е. это сообщение не из ФМ, а из логики проверки данных по инфотипу .
Попробуйте ввести те-же данные вручную на экране - посмотрите , что получится.


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

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
alex_dorin написал:
w_return постоянно содержит такую информацию :
"EPG 009 Данных для 0007(в выбраном периоде) не cуществует
0000000007"

Судя по
Code:
OPERATION         = 'MOD'

Вы пытаетесь модифицировать запись.
Судя по сообщению этой записи не существует. Т.е. нечего модифицировать.
Проверьте основные данные табельного номера'00000467' в запрашиваемом периоде '99991231' - '20001201'.

И еще.
Code:
P0007-AEDTM  = '20070928'.
P0007-UNAME  = 'ADMIN'.

Делать не надо. Система сама их заполняет.

_________________
/nex


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
проблема кода такая -
w_return постоянно содержит такую информацию :
"EPG 009 Данных для 0007(в выбраном периоде) не cуществует
0000000007"


По-хорошеу, раз вы собираетесь модифицировать запись, то правильней будет её вначале прочитать через HR_READ_INFOTYPE
И будьте внимательны с аргументами HR_INFOTYPE_OPERATION - насколько я помню, она ищет запись инфотипа именно с такими же значениями, а не просто первую подходящую.

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


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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
sy-uname
написал(а):
будьте внимательны с аргументами HR_INFOTYPE_OPERATION - насколько я помню, она ищет запись инфотипа именно с такими же значениями


-- подскажите. какие значения инфотипа используются для поика,
и какие - для установки новых знвчений.


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
alex_dorin написал:
-- подскажите. какие значения инфотипа используются для поика,

Code:
              NUMBER         
              INFTY         
              SUBTYPE     
              OBJECTID   
              LOCKINDICATOR 
              VALIDITYBEGIN 
              VALIDITYEND   
              RECORDNUMBER
              TCLAS         

Цитата:
и какие - для установки новых знвчений.

Code:
              RECORD

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


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

Зарегистрирован:
Чт, июн 07 2007, 13:27
Сообщения: 136
Пол: Мужской
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.
P0007-PERNR = '00000020'.
P0007-ENDDA = '99991231'.
P0007-BEGDA = '20070101'.

DATA  message_handler_dummy  TYPE REF TO  IF_HRPA_MESSAGE_HANDLER.
DATA  is_ok_inp              TYPE         BOOLE_D.

call method cl_hrpa_masterdata_enq_deq=>enqueue_by_pernr
     exporting
     tclas           = 'A'
     pernr          = P0007-PERNR
     message_handler = message_handler_dummy
     importing
     is_ok          = is_ok_inp.
MESSAGE  is_ok_inp  TYPE 'I' .

CALL FUNCTION 'HR_INFOTYPE_OPERATION'
  EXPORTING
    INFTY                  = '0007'
    NUMBER              = '00000020'
    VALIDITYEND      = '99991231'
    VALIDITYBEGIN   = '19990501'
    RECORD             = P0007
    OPERATION         = 'MOD'
    TCLAS                = 'A'
    DIALOG_MODE    = '0'
  IMPORTING
    RETURN              = w_return
    KEY                    = w_key.

MESSAGE  w_return  TYPE 'I'.
EXIT.

Если VALIDITYEND = '99991231' и VALIDITYBEGIN = '19990501'
точно равны соответсвенно ENDDA, BEGDA полям таблицы PA0007,
то происходит аварийное завершение этой проги.
То же при OPERATION = 'CHK'.
При других знвчениях VALIDITYEND, VALIDITYBEGIN -
return постоянно содержит такую информацию :
"EPG 009 Данных для 0007(в выбраном периоде) не cуществует
0000000007"
Подскажите, может быть проблемы в базисе SAP ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Тебеже сказали
СообщениеДобавлено: Чт, окт 11 2007, 15:36 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пн, апр 04 2005, 10:56
Сообщения: 559
Откуда: Moscow
Пол: Мужской
Коллега, вам же сказали русским языком, что если используешь MOD, то запись инфотипа лучше сначала прочитать в свою структуру через HR_READ_INFOTYPE исправить и обратно записать .


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

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


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

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


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

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