Текущее время: Ср, июл 09 2025, 01:47

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


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

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


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

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