Текущее время: Пт, июл 18 2025, 10:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Выполнить Report Writer-отчёт в другой программе и записать выходной экран в память
СообщениеДобавлено: Пт, мар 12 2010, 16:20 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, фев 10 2009, 13:20
Сообщения: 33
Пол: Женский
Добрый день!

У меня есть RW отчёт(1SVG-001, library 1VK). Нужно его выполнить в другом отчёте и выходной экран записать в память с тем, чтобы потом можно было преобразовать в html.
Нашла обычный ABAP-отчёт, который вызывается при запуске RW-отчёта.
Выполняю его с помощью SUBMIT:
Code:
SUBMIT GP58AMUXFQ3ZHQL3YHD50PM8IYN300 WITH SELECTION-TABLE SELTAB
    EXPORTING LIST TO MEMORY           " Save list in memory
    AND RETURN.    " Return control to this program


При выполнении зависает. Подозреваю, что это из-за сообщения, которое выскакивет при выходе.
Если убрать EXPORTING LIST TO MEMORY, то зависания не происходит.

Вопрос в следующем: как записать выходной экран этого отчёта в память?

Может можно использовать SUBMIT с дополнением via job jobname или TO SAP-SPOOL? Но как потом достать данные?

Заранее спасибо за помощь.

_________________
Вместо нас всегда возвращается кто-то другой...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выполнить Report Writer-отчёт в другой программе и записать выходной экран в память
СообщениеДобавлено: Пт, мар 12 2010, 17:39 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Не завязывайтесь на имя rw-отчета - оно в разных системах будет разное (три последних символа это клиент).
Посмотрите как происходит вызов RW-отчета в транзакции START_REPORT, кусок где ищется имя rw-отчета.
Chiffa44 написала:
При выполнении зависает. Подозреваю, что это из-за сообщения, которое выскакивет при выходе.
Если убрать EXPORTING LIST TO MEMORY, то зависания не происходит.
какое сообщение-то выскакивает?
Chiffa44 написала:
Может можно использовать SUBMIT с дополнением via job jobname или TO SAP-SPOOL? Но как потом достать данные?
Как достать данные из спула - была тема совсем недавно.

_________________
Sapere aude!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выполнить Report Writer-отчёт в другой программе и записать выходной экран в память
СообщениеДобавлено: Пн, мар 15 2010, 15:54 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, фев 10 2009, 13:20
Сообщения: 33
Пол: Женский
Спасибо!
С именем отчёта поняла - его можно, например, из 'G_PROGRAM_NAME' достать.

Сообщение такое: при обычном запуске отчёта - не через SUBMIT - при выходе из этого отчёта спрашивает "Вы уверены?". Ну или что-то в этом духе. Хотя может это и не из-за него SUBMIT не отрабатывает.

Если использовать дополнение
Code:
TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
AND RETURN.

, то статус 'P'.

Как запустить его всё-таки?

_________________
Вместо нас всегда возвращается кто-то другой...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выполнить Report Writer-отчёт в другой программе и записать выходной экран в память  Тема решена
СообщениеДобавлено: Ср, мар 17 2010, 13:02 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, фев 10 2009, 13:20
Сообщения: 33
Пол: Женский
Решила так:

Code:
  call function 'JOB_OPEN'
       exporting
            delanfrep        = ' '
            jobgroup         = ' '
            jobname          = jobname
            sdlstrtdt        = sy-datum
            sdlstrttm        = sy-uzeit
       importing
            jobcount         = jobcount
       exceptions
            cant_create_job  = 01
            invalid_job_data = 02
            jobname_missing  = 03.



CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
LIST_NAME = 'TEST'
LIST_TEXT = 'SUBMIT ... TO SAP-SPOOL'
LAYOUT = 'X_65_132'
LINE_COUNT = 65
LINE_SIZE = 132
IMMEDIATELY = 'X'
NO_DIALOG = 'X'
IMPORTING OUT_PARAMETERS = PARAMS
VALID = VALID.

IF VALID <> SPACE.


CALL FUNCTION 'G_PROGRAM_NAME'
  EXPORTING
    CLIENT                        = SY-MANDT
    PROGRAM_TYPE                  = 'X'
    REPORT_GROUP                  = '1SVG'
*   PROGRAM_VERSION               =
IMPORTING
   PROGRAM_NAME                  = NAME
* EXCEPTIONS
*   INVALID_CLIENT                = 1
*   INVALID_PROGRAM_TYPE          = 2
*   INVALID_PROGRAM_VERSION       = 3
*   PROGRAM_NOT_AVAILABLE         = 4
*   OTHERS                        = 5
          .



* Insert process into job
  SUBMIT (NAME) WITH SELECTION-TABLE SELTAB

    TO SAP-SPOOL
    SPOOL PARAMETERS PARAMS
    WITHOUT SPOOL DYNPRO
*    user sy-uname
    via job jobname
    number jobcount

    AND RETURN  " Return control to this program.
.


               CALL FUNCTION 'JOB_CLOSE'
                 EXPORTING
                   JOBCOUNT                          = jobcount
                   JOBNAME                           = jobname
                   STRTIMMED                         = 'X'

                         .
 






DO  .
select single * from TBTCO INTO it  where jobname = jobname and
jobcount = jobcount and status = 'F'.

IF it IS NOT initial.
    EXIT.
ENDIF.

ENDDO.

CALL FUNCTION 'BP_JOB_READ'
       EXPORTING
            job_read_jobname  = jobname
            job_read_jobcount = jobcount
            job_read_opcode   = btc_read_all_jobdata
       IMPORTING
            job_read_jobhead  = ls_job_read_jobhead
       TABLES
            job_read_steplist = lt_job_read_steplist
       EXCEPTIONS
            job_doesnt_exist  = 1
            OTHERS            = 99.




READ TABLE lt_job_read_steplist INTO ls_job_read_steplist INDEX 1.
  l_rqident = ls_job_read_steplist-listident.


IF l_rqident IS NOT INITIAL.
CALL FUNCTION 'RSPO_DISPLAY_SPOOLJOB'
  EXPORTING
    RQIDENT                    = l_rqident

          .

_________________
Вместо нас всегда возвращается кто-то другой...


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

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


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

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


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

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