Текущее время: Пн, июл 21 2025, 17:58

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


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

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


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

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