Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Spool request 0 does not exist

Former Member
0 Likes
2,897

Hello Guyz,

I am displaying the data of two table using inner join in form of ALV_list. Now i want to convert this displayed data in  pdf & then download it.

I have this using FMs CONVERT_ABAPSPOOLJOB_2_PDF & GUI_DOWNLOAD. Its dispalying the data in alv form but it is not downloading & converting it in pdf.

Following error after displaying data in alv

Spool request 0 does not exist.

Please help me in this issue. I need it urgently.. ur help will be appreciated. Here is the code i am using :

*&---------------------------------------------------------------------*
*& Report  ZRESULT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZRESULT.

TYPE-POOLS:slis.
DATA: BEGIN OF gs_ara,
USER_NAME TYPE XUBNAME,
QSTN_NO TYPE ZQSTNNO,
SELECTED TYPE ZSELECTED,
ANSWER TYPE ZANSWER,
END OF gs_ara.

DATA gt_ara LIKE STANDARD TABLE OF gs_ara .
DATA : gk_ara LIKE gs_ara,
        i_ara like DD02L-TABNAME.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 .

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: ld_file TYPE string.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B1.


SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001 .

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: U_NAME TYPE SY-UNAME.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
       GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
       GD_REPID     LIKE SY-REPID,
       G_SAVE TYPE C VALUE 'X',
       MARKS  TYPE I VALUE 0,
       G_VARIANT TYPE DISVARIANT,
       GX_VARIANT TYPE DISVARIANT.
DATA : RIGHT TYPE I VALUE 0,
        WRONG TYPE I VALUE 0,
        RESULT TYPE FLOAT.
DATA: w_print TYPE slis_print_alv.
DATA:g_spool TYPE tsp01-rqident,
      g_program TYPE sy-repid VALUE sy-repid.

DATA : pdf LIKE tline OCCURS 0.
DATA:  ld_path TYPE string,
         ld_fullpath TYPE string,
         ld_result TYPE i.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR LD_FILE.

   CALL METHOD cl_gui_frontend_services=>file_save_dialog
     EXPORTING
       window_title      = 'Select Location'
*     default_extension = '*.txt'
       default_file_name = '*.pdf'
     CHANGING
       filename          = LD_FILE
       path              = ld_PATH
       fullpath          = ld_fullpath.


**GETTING DEFAULT VARIANT
INITIALIZATION.
   GX_VARIANT-REPORT = SY-REPID.
   CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
     EXPORTING
       I_SAVE     = G_SAVE
     CHANGING
       CS_VARIANT = GX_VARIANT
     EXCEPTIONS
       NOT_FOUND  = 2.
   IF SY-SUBRC = 0.
*    VARIANT = GX_VARIANT-VARIANT.
   ENDIF.

**PERFORM DECLARATIONS
START-OF-SELECTION.
   PERFORM DATA_RETRIVEL.
   PERFORM BUILD_FIELDCATALOG.
   PERFORM DISPLAY_ALV_REPORT.

*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCATALOG .


   FIELDCATALOG-FIELDNAME   = 'QSTN_NO'.
   FIELDCATALOG-SELTEXT_M   = 'QUESTION'.
   FIELDCATALOG-COL_POS     = 1.
   FIELDCATALOG-OUTPUTLEN   = 10.

   APPEND FIELDCATALOG TO FIELDCATALOG.
   CLEAR  FIELDCATALOG.

   FIELDCATALOG-FIELDNAME   = 'ANSWER'.
   FIELDCATALOG-SELTEXT_M   = 'ORIGINAL ANSWER'.
   FIELDCATALOG-COL_POS     = 2.
   FIELDCATALOG-OUTPUTLEN   = 20.


   APPEND FIELDCATALOG TO FIELDCATALOG.
   CLEAR  FIELDCATALOG.

   FIELDCATALOG-FIELDNAME   = 'SELECTED'.
   FIELDCATALOG-SELTEXT_M   = 'ANSWER ATTEMPTED'.
   FIELDCATALOG-COL_POS     = 3.
   FIELDCATALOG-OUTPUTLEN   = 20.

   APPEND FIELDCATALOG TO FIELDCATALOG.
   CLEAR  FIELDCATALOG.
ENDFORM.                    " BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT .
   GD_REPID = SY-REPID.
   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
     EXPORTING
       I_CALLBACK_PROGRAM      = GD_REPID
       I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'  "see FORM
       I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
       IT_FIELDCAT             = FIELDCATALOG[]
       I_SAVE                  = 'X'
       IS_VARIANT              = G_VARIANT
      I_STRUCTURE_NAME        =  i_ara
       IS_PRINT                = w_print
     TABLES
       T_OUTTAB                = gt_ara
     EXCEPTIONS
       PROGRAM_ERROR           = 1
       OTHERS                  = 2.
   IF sy-subrc NE 0.
     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
   ELSE.
     g_spool = sy-spono.
     CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
       EXPORTING
         src_spoolid = g_spool
       TABLES
         pdf         = pdf.
     IF sy-subrc NE 0.
       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
     ELSE.
       CALL FUNCTION 'GUI_DOWNLOAD'
         EXPORTING
           filename = ld_fullpath
           filetype = 'BIN'
         TABLES
           data_tab = pdf.
       IF sy-subrc NE 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ELSE.
         CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
             I_CALLBACK_PROGRAM      = GD_REPID
             I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'  "see FORM
             I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
             IT_FIELDCAT             = FIELDCATALOG[]
             I_SAVE                  = 'X'
             IS_VARIANT              = G_VARIANT
            I_STRUCTURE_NAME        =  i_ara
             IS_PRINT                = w_print
           TABLES
             T_OUTTAB                = gt_ara.
       ENDIF.
     ENDIF.
   ENDIF.
ENDFORM.
   "DISPLAY_ALV_REPORT

   " DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*&      Form  DATA_RETRIVEL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DATA_RETRIVEL .
   select
RES~USER_NAME RES~QSTN_NO RES~SELECTED
UPL~ANSWER

into CORRESPONDING FIELDS OF TABLE gt_ara
from
  ZOESRESULT3  AS RES
INNER JOIN
ZOESEXAM  as UPL
on
RES~QSTN_NO = UPL~QSTN_NO
where
RES~USER_NAME = U_NAME.

   loop at gt_ara into gk_ara.

     IF GK_ARA-SELECTED EQ GK_ARA-ANSWER.

       RIGHT = RIGHT + 1.

     ELSE.

       WRONG = WRONG + 1.

     ENDIF.
   ENDLOOP.

   RESULT =   ( RIGHT * 1 ) - ( WRONG * '0.50' ).

ENDFORM.                    " DATA_RETRIVEL

*-------------------------------------------------------------------*
* Form  TOP-OF-PAGE                                                 *
*-------------------------------------------------------------------*
* ALV Report Header                                                 *
*-------------------------------------------------------------------*
FORM TOP-OF-PAGE.
*ALV Header declarations
   DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
         WA_HEADER TYPE SLIS_LISTHEADER,
         T_LINE LIKE WA_HEADER-INFO,
         LD_LINES TYPE I,
        LD_LINESC(10) TYPE C.

* Title
   WA_HEADER-TYP  = 'H'.
   WA_HEADER-INFO = 'ONLINE EXAMNATION RESULT'.
   APPEND WA_HEADER TO T_HEADER.
   CLEAR WA_HEADER.


   WA_HEADER-TYP  = 'S'.
   WA_HEADER-KEY = 'REGISTRATION ID :'.
   WA_HEADER-INFO = U_NAME.


   APPEND WA_HEADER TO T_HEADER.
   CLEAR: WA_HEADER.


   WA_HEADER-TYP  = 'S'.
   WA_HEADER-KEY = 'TOTAL MARKS :'.
   WA_HEADER-INFO = '20'.

   APPEND WA_HEADER TO T_HEADER.
   CLEAR: WA_HEADER.

   WA_HEADER-TYP  = 'S'.
   WA_HEADER-KEY = 'MARKS OBTAINED :'.
   WA_HEADER-INFO = RESULT.


   APPEND WA_HEADER TO T_HEADER.
   CLEAR: WA_HEADER.


   CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
     EXPORTING
       IT_LIST_COMMENTARY = T_HEADER.
ENDFORM.

8 REPLIES 8
Read only

Former Member
0 Likes
1,936

Hi,

After you call FM DISPLAY_ALV_REPORT you pass SY-SPONO to the FM CONVERT_ABAPSPOOLJOB_2_PDF, but how has SY-SPONO been populated with any value?

DISPLAY_ALV_REPORT will put the list on the screen, when the user presses the Back button your program then calls CONVERT_ABAPSPOOLJOB_2_PDF but there's no spool to convert.

Regards,

Nick

P.S.Don't request urgent assistance, it is against the rules of the community

Read only

0 Likes
1,936

hello Nick,

you mean i have to call CONVERT_ABAPSPOOLJOB_2_PDF first then  REUSE_ALV_GRID_DISPLAY.

please guide me on this , i am new to these. please suggest me how to correct this mistake.

Read only

0 Likes
1,936

Basically spool is not generated you can check that in debuuging after the fm call. Pass proper parameters in IS_PRINT. Read documentation of the function module parameter and search

Read only

0 Likes
1,936

hello Nabheet ,

As suuggested by you i changed IS_print parameter to 'x' .Now its converting the data to pdf but its not generating alv output now and generating a dump. If u have any knowledge on this. please suggest me the something so that both pdf & alv list can be displayed.

Thanks & Regards

kapil

Read only

0 Likes
1,936

I think if you want to display output also and make a PDF you will have to call FM twice. One for print to get spool and another to display ALV. What dump are you geeting

Read only

nabheetscn
SAP Champion
SAP Champion
0 Likes
1,936

Please check what are you passing print parameters to the function module. Search it you will find many links

http://scn.sap.com/thread/1988772

http://scn.sap.com/thread/1988289

Read only

Former Member
0 Likes
1,936

Solved myself...

Read only

0 Likes
1,936

And the answer was.......?