Текущее время: Ср, июн 25 2025, 02:27

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


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

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


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

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