Текущее время: Пт, июн 27 2025, 18:57

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Непонятное завершение процесса
СообщениеДобавлено: Пт, авг 22 2008, 17:05 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
Добрый день
Возникла странная ситуация, не могу понять в чем причина. Хочу сразу сообщить, что я не базисник. При работе программы должен происходити вызов ФМ, но как только программы переходит к вызову процесс прекращает свою работу. Причем нет ни дампа, ни записи в системный журнал SM21, и в трассировке процесса SM50 ничего странного нет. Стоит мне переактивировать (уже сактивированный ) модуль, как он продолжает выполнение. НО!!!! до первого вызова внутри себя другого модуля или SUBMITa... Можно конечно переактивировать и другой модуль, но как понятно дальше все продолжится также по стеку....

Прошу прошения если это не в ту ветку.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 22 2008, 18:44 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Let me guess - CALL FUNCTION ... IN UPDATE TASK ? :?

О каком ФМ речь-то идет? Может в ветке ABAP лучше спросить?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Jelena написала:
О каком ФМ речь-то идет? Может в ветке ABAP лучше спросить?
Задача с фоновой обработкой.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 25 2008, 09:23 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
sy-uname написал(а):
Jelena написала:
О каком ФМ речь-то идет? Может в ветке ABAP лучше спросить?
Задача с фоновой обработкой.
да, там я начал свои поиски.... но прерывание процесса сейчас происходит на вызове SUBMIT. Раньше на ФМ, после их переактивации они начинают нормально работать. Вот дошел до САБМИТА, и я не знаю что делать :x


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 25 2008, 16:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
(Давно мечтал это сказать): к сожалению, в связи с летним временем, наши телепаты в отпуске. Не будете ли вы столь любезны, что представите на обозрение пример кода?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 25 2008, 16:05 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
Кодер написал(а):
(Давно мечтал это сказать): к сожалению, в связи с летним временем, наши телепаты в отпуске. Не будете ли вы столь любезны, что представите на обозрение пример кода?

пожалуйста
Code:
check not i_queue[] is initial.
  types begin of extended_edidc_t.
          include structure edidc.
  types znal_ser type edp21-znal_ser.
  types end of extended_edidc_t.
  data t_edidc type table of extended_edidc_t with header line.

  data t_idoc_data type table of edidd.
  data t_edidc_temp type table of edidc with header line.

  select * into corresponding fields of table t_edidc  from edidc
  left join edp21
  on
    edp21~sndprn = edidc~sndprn and
    edp21~sndprt = edidc~sndprt and
    edp21~sndpfc = edidc~sndpfc and
    edp21~mestyp = edidc~mestyp and
    edp21~mescod = edidc~mescod and
    edp21~mesfct = edidc~mesfct and
    edp21~test = ''
  for all entries in i_queue where
  docnum =   i_queue-docnum.
  field-symbols <fs_edidc> like line of t_edidc.
  loop at i_queue.
    read table t_edidc with key docnum = i_queue-docnum
      assigning <fs_edidc>.
    check sy-subrc = 0.
    refresh:
      t_edidc_temp,
      t_idoc_data.
    move-corresponding <fs_edidc> to t_edidc_temp.
    append t_edidc_temp.
    call function 'ALE_FTCH_DATA_SEGMENTS_OF_IDOC'
         tables
              t_idoc_control = t_edidc_temp[]
              t_idoc_data    = t_idoc_data[].

    call function 'IDOC_START_INBOUND'
         exporting
              pi_called_online              = ' '
              pi_do_commit                  = 'X'
         tables
              t_control_records             = t_edidc_temp[]
              t_data_records                = t_idoc_data[]
         exceptions
              invalid_document_number       = 1
              error_before_call_application = 2
              inbound_process_not_possible  = 3
              old_wf_start_failed           = 4
              wf_task_error                 = 5
              serious_inbound_error         = 6
              others                        = 7.
    if not <fs_edidc>-znal_ser is initial and sy-subrc <> 0.
      message e368(e0) with <fs_edidc>-docnum raising inbound_error.
    endif.
    if not <fs_edidc>-znal_ser is initial.
      select single status into  t_edidc-status
      from edidc where docnum = <fs_edidc>-docnum.
      if t_edidc-status = '51'.
        message e368(e0) with <fs_edidc>-docnum raising inbound_error.
      endif.
    endif.
    delete i_queue where docnum = <fs_edidc>-docnum.
  endloop.
вылетал в момент выполнения ФМ IDOC_START_INBOUND после переактиванции группы функций EDIR.... теперь вылетает внутри IDOC_START_INBOUND при выполнении SUBMITa. Как SUBMIT вызывается тоже вставить?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 25 2008, 17:39 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
bpz написал(а):
Как SUBMIT вызывается тоже вставить?


Думаю да, а то, как уже правильно отметили, телепаты-то в отпуске. :) Ну и вы сами-то посмотрели, какие параметры при вызове, правильны ли они вообще?

Глядя на код, не покидает ощущение, что сама идея ошибочна в корне. :? В чем вообще смысл всей процедуры? Вы что, меняете существующие IDoc'sи? Это как-то не совсем кошерно... Плюс тут еще workflow может быть замешан.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 09:45 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
Jelena написала:
Думаю да, а то, как уже правильно отметили, телепаты-то в отпуске. :) Ну и вы сами-то посмотрели, какие параметры при вызове, правильны ли они вообще?

Code:

        RANGES r_sec FOR znnsdm_tzr_cfg-sec_group OCCURS 0.
        r_sec-sign = 'I'.
        r_sec-option = 'EQ'.
        r_sec-low = sec_group.
        APPEND r_sec.

          SUBMIT znns_mat_assign_tzr
          WITH p_tzr EQ s_tzr-tzr
          WITH s_sec IN r_sec[]
          WITH p_test = ''
          WITH p_onlyer = 'X'
          WITH p_print = ' '
           AND RETURN.

Jelena написала:
Глядя на код, не покидает ощущение, что сама идея ошибочна в корне. :? В чем вообще смысл всей процедуры?

Смысл прост до безобразия, обработка IDoc с нужным мне анализом.
Jelena написала:
Вы что, меняете существующие IDoc'sи? Это как-то не совсем кошерно... Плюс тут еще workflow может быть замешан.

ФМ IDOC_START_INBOUND обрабатывает входящий IDoc единственное что он в нем меняет это статус и связаную с ним информацию.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 09:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Да, хотелось бы и вызов submit увидеть. Ну и наверное в целях отладки стоит все-таки порекомендовать проверить: а вдруг после вызова ФМ эксепшен отваливается. Его номер вполне может прояснить ситуацию. опять же. Можно попробовать глянуть на пошаговое выполнение самого ФМ. Типа где же в нем все отваливается.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 10:07 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
Кодер написал(а):
Да, хотелось бы и вызов submit увидеть. Ну и наверное в целях отладки стоит все-таки порекомендовать проверить: а вдруг после вызова ФМ эксепшен отваливается. Его номер вполне может прояснить ситуацию. опять же. Можно попробовать глянуть на пошаговое выполнение самого ФМ. Типа где же в нем все отваливается.
Ну SUBMIT я уже показал, вот пощагово я прощелся от момента вызова обработки входящего IDoc с переактивацией многих модулей, до самой функции обработки объекта. В момент выполнения SUBMIT процесс прерывается - окошечко с отладчиком закрывается


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 11:03 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Поясните еще раз последовательность действий, пожалуйста:
Вы привели кусок кода, который использует стандартный ФМ. Так? Если я правильно понимаю, он должен вызывать ваш ФМ обработки IDoc. Так? Где находится вызов сабмита? В вашем ФМ? Что делается непосредственно в самом сабмите? Это ведь ваша программа? Что она делает?
Я ничего не перепутал в последовательности операций?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 11:27 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
Кодер написал(а):
Поясните еще раз последовательность действий, пожалуйста:
Вы привели кусок кода, который использует стандартный ФМ. Так? Если я правильно понимаю, он должен вызывать ваш ФМ обработки IDoc. Так? Где находится вызов сабмита? В вашем ФМ? Что делается непосредственно в самом сабмите? Это ведь ваша программа? Что она делает?
Я ничего не перепутал в последовательности операций?

Нет, вы ничего не перепутали. Эта программа выполняет обновление одной таблицы. Ситуация была следующей:
в момент вызова ФМ IDOC_START_INBOUND система завершала процесс, если это была отладка, тогда закрывала окно отладчика. Я преакивировал (уже активированную) группу функций EDIR. После переактивации процесс смог начать выполнение функции IDOC_START_INBOUND. Тоже участь постигла и ФМ IDOC_INPUT, который находится внутри IDOC_START_INBOUND, действия мои были теми же. Было ещё насколько групп функций пока я не дошел до своего SUBMITа. Переактивация уже активированной программы вызываемой SUBMIT не принесла ожидаемого результата.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 11:56 
Ассистент
Ассистент

Зарегистрирован:
Вт, июл 18 2006, 17:51
Сообщения: 48
Все разобрался, правда не понял что было. Если кому интересно сделал перегенерацию SAP_ALL (это врядли конечно помогло) и перегенерацию системы транзакция SGEN


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

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Цитата:
Болела голова. Вырезали аппендикс и сделали очистительную клизму - головная боль прошла


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 26 2008, 18:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Помню у нас один консультант систему разработки подвесил - запустил в 2-х режимах параллельных SGEN :)

_________________
С уважением,
Удав.


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

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


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

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


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

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