Текущее время: Вс, июн 29 2025, 22:12

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


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

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


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

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