Текущее время: Пн, июн 23 2025, 17:01

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 16:42 
Специалист
Специалист

Зарегистрирован:
Ср, дек 09 2009, 12:37
Сообщения: 142
Добрый день!
Z-программу запускаю через Фоновое выполнение. Эта программа формирует выборки и выводит данные в ALV. В SM37 программа никак не может выполниться на любом объеме, на котором в обычном режиме запуска (F8) выполняется за секунду.
Подскажите, на чем может фоновое выполнение споткнуться и зависнуть?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 16:46 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
ALV в фоне, ну ну:)
Это же GUI!!!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 16:58 
Специалист
Специалист

Зарегистрирован:
Ср, дек 09 2009, 12:37
Сообщения: 142
rstiv написал:
ALV в фоне, ну ну:)
Это же GUI!!!


А можно по подробнее. И как выйти из ситуации?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях  Тема решена
СообщениеДобавлено: Пт, сен 25 2015, 17:08 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
GUI это у вас ярлычок, на экране запускает ее и она рисует ALV.
Вопрос: чем серверу рисовать ALV? Где рисовать? Как рисовать?:)
Юзайте в фоне ИЛИ:
1. Загрузка выгрузка экстрактов.
2. Запись чтение в Z таблицу.
3. Запись чтение в файл сервера приложений(НЕ ПРЕЗЕНТАЦИЙ, ФМы не использовать, только OPEN DATA SET).
Принцип такой, фоне грузите, в режиме диалога читаете и выводите в ALV.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 17:32 
Специалист
Специалист

Зарегистрирован:
Ср, дек 09 2009, 12:37
Сообщения: 142
Вроде чуть-чуть сообразил.
Решил разветвить программу. Если sy-batch не пусто, то буду выводить используя REUSE_ALV_LIST_DISPLAY


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 17:42 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Прикалываетесь?
Любой АЛВ это GUI!!!
И вообще, ВСЁ что вы видите на экране это GUI!
У сервера нет возможности рабтотать с GUI!
Я написал, как надо делать и как все делают, в том числе стандарт, при больших объемах!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 17:48 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Посмотрите программу: J_3RF_SELL_BOOK_02,
там есть и ALV и Экстракты, и можете взять все оттуда, и даже менюшку стырить!:)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 18:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
rstiv
Цитата:
Прикалываетесь?
Любой АЛВ это GUI!!!


воу-воу! палехче! asparuh правильно написал: REUSE_ALV_LIST_DISPLAY позволит вывести в фоне отчет. В этом ФМ листинг выводится через write

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пт, сен 25 2015, 18:16 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Упс! айм соу сорри! :oops: :oops: :oops:
Я слово LIST в ФМ упустил, думал что GRID, опять по новой запилить хочет....


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Пн, сен 28 2015, 14:50 
Специалист
Специалист

Зарегистрирован:
Пт, сен 05 2008, 08:08
Сообщения: 134
Пол: Женский
asparuh написал(а):
Добрый день!
Z-программу запускаю через Фоновое выполнение. Эта программа формирует выборки и выводит данные в ALV. В SM37 программа никак не может выполниться на любом объеме, на котором в обычном режиме запуска (F8) выполняется за секунду.
Подскажите, на чем может фоновое выполнение споткнуться и зависнуть?

Прекрасно работает ALV GRID в контейнере. Формирует отчет в спул в виде списка. Контейнер только создавать не нужно.
Code:
* При фоновой обработке контейнер не нужен
    IF cl_gui_alv_grid=>offline( ) IS INITIAL.

      CREATE OBJECT g_dock
        EXPORTING
          repid                       = sy-repid
          dynnr                       = sy-dynnr
          side                        = cl_gui_docking_container=>dock_at_bottom
          extension                   = cl_gui_docking_container=>ws_maximizebox
        EXCEPTIONS
          cntl_error                  = 1
          cntl_system_error           = 2
          create_error                = 3
          lifetime_error              = 4
          lifetime_dynpro_dynpro_link = 5
          OTHERS                      = 6.
      IF sy-subrc <> 0.
     
      ENDIF.

    ENDIF.
*

    CREATE OBJECT g_alv
      EXPORTING
        i_parent = g_dock.

    CALL METHOD g_alv->set_table_for_first_display
      EXPORTING
        is_layout       = wa_layout
        i_save          = 'A'
        is_variant      = wa_variant
      CHANGING
        it_outtab       = t_tab
        it_fieldcatalog = t_fcat.


И еще нужно обратить внимание, чтобы в программе не было запросов с ожиданием действия пользователя. Например окошко: "Тра-та-та.. Продолжить?"


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Вт, сен 29 2015, 04:21 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Вообще-то ALV работает в бэкграунде. REUSE_ALV_GRID / LIST работают без каких-то трудозатрат. Только загвоздка в том, что на выводе получится максимум 255 символов (ограничение спула). Ну и, естественно, интерактивности никакой, только spool можно получить.

Для т.н. ОО ALV нужно проверять cl_gui_alv_grid=>offline, Google -> 'OO ALV in background'.

Только сдается, что проблема тут может быть в другом месте. По идее если бы проблема была в GUI, то был бы дамп, а не "зависание". По идее во время выполнения долгоиграющей программы можно посмотреть что именно в данный момент происходит. Транзакция SM50 кажись.

P.S. A WRITE мы разве на экране не видим? ;)

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа зависает в фоновых заданиях
СообщениеДобавлено: Вт, сен 29 2015, 11:09 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
asparuh написал(а):
...на чем может фоновое выполнение споткнуться и зависнуть?
Поставьте точку прерывания в программе, запланируйте запуск программы на будущее время, в sm37 выберите свою задачу, введите в командной строке (строке команд) jdbg. В отладке смотрите, в чем дело. Пример: http://wiki.scn.sap.com/wiki/display/ER ... background


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

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


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

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


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

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