Application Development 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: 

SUBMIT TO SAP SPOOL ERROR

former_member254311
Active Participant
0 Kudos

Mates

I am trying to convert ALV Report into PDF For that what i did following steps

1)Created ZPF STATUS and Place a button ,Named As Conver to PDF

2).Then used to Function Module Name GET_PRINT_PARAMETER for setting printer paramter

3) Created Spool request by using KEYword

SUBMIT RSTXPDFT4 TO SAP-SPOOL

SPOOL PARAMETERS PRI_STR

WITHOUT SPOOL DYNPRO.

4) Retrieving spool number and passing to standard for converting PDF

SELECT SINGLE MAX( RQIDENT ) INTO SPNO FROM TSP01 WHERE RQ2NAME EQ 'ZPProgram'.

SUBMIT RSTXPDFT4 VIA SELECTION-SCREEN WITH SPOOLNO EQ SPNO AND RETURN.

i got no error in these process but when i open pdf output , there is no content in pdf . Tried all tricks in books

That is when click the standard print button , i am getting the output content but when i use my own control i am not getting the content in the pdf output

cross checked table : TSP01 --Different between standard button Any My button

RQTELENUME --->L21B0041 i am getting the print

RQTELENUME --->L0FF0041 i am not getting the print in output of pdf

kindly so some helpful idea

with regards

Anand kumar

9 REPLIES 9

Former Member
0 Kudos

Hi Anand,

plz check up with the spool parameters u pass while submitting the program to Sap Spool .

mstr_print_parms-linsz = linsz.

mstr_print_parms-paart = paart.

if still it doesn't resolve the error reply back and i will help u with an sample code .

regards

p.gurunath

0 Kudos

hi guru

Thanks for reply.. this my print parameter code kindly check it and valuable suggestions

CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

DESTINATION = 'WIP1'

COPIES = 1

LIST_NAME = 'ZPP1'

LIST_TEXT = 'SUBMIT ... TO SAP-SPOOL'

IMMEDIATELY = ' '

RELEASE = 'X'

NEW_LIST_ID = 'X'

EXPIRATION = 2

LINE_SIZE = 255

LINE_COUNT = 65

LAYOUT = 'Z_65_1023'

SAP_COVER_PAGE = 'D'

COVER_PAGE = 'D'

AUTHORITY = SPACE

MODE = SPACE

  • RECEIVER = ' '

DEPARTMENT = 'System'

NO_DIALOG = ' '

IMPORTING

OUT_PARAMETERS = PRI_STR

OUT_ARCHIVE_PARAMETERS = ARCPAR

VALID = VALID_FLAG

EXCEPTIONS

INVALID_PRINT_PARAMS = 2

OTHERS = 4.

Former Member
0 Kudos

Hi Anand ,

I dnt mean the function module "GET_PRINT_PARAMETERS " . i was telling abt the parameter which u were passing " PRI_STR " . This structure should be of type pri_params.. then u hav to set the parameters for the structure as follows .

linsz like sy-linsz VALUE 132, " Line size

paart like sy-paart VALUE 'X_65_132', " Paper Format

PRI_STR-pdest = space.

PRI_STR-pdest = 'LOCL'.

PRI_STR-linsz = linsz.

PRI_STR-paart = paart.

regards ,

0 Kudos

Mate

kindly provide me with sample code .

with regard

Anand kumar

0 Kudos

Hi Anand,

FORM find_spool_request_id.

  CALL FUNCTION 'RSPO_FIND_SPOOL_REQUESTS'
    EXPORTING
      allclients          = '320'
      datatype            = '*'
      has_output_requests = '*'
      rq0name             = nast-dsnam
      rq1name             = '*'
      rq2name             = '*'
      rqdest              = 'LOCL'
      rqowner             = sy-uname
    TABLES
      spoolrequests       = it_spool
    EXCEPTIONS
      no_permission       = 1
      OTHERS              = 2.
  IF sy-subrc <> 0.
    MESSAGE i000 DISPLAY LIKE 'E' WITH text-002.
    LEAVE LIST-PROCESSING.
  ENDIF.
ENDFORM. 

* " find_spool_request_id

FORM convert_spool_to_pdf .

  READ TABLE it_spool INTO wa_spool INDEX 1.
  v_spoolno = wa_spool-rqident.
  SELECT SINGLE *
    FROM tsp01
    INTO tsp01
    WHERE rqident EQ v_spoolno.

  IF sy-subrc <> 0.
    MESSAGE i000 DISPLAY LIKE 'E'
                      WITH text-003 v_spoolno text-034.
    LEAVE LIST-PROCESSING.
  ENDIF.

  v_client = tsp01-rqclient.
  v_name   = tsp01-rqo1name.

CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
    EXPORTING
      authority     = 'SP01'
      client        = v_client
      name          = v_name
      part          = 1
    IMPORTING
      objtype       = v_objtype
    EXCEPTIONS
      fb_error      = 1
      fb_rsts_other = 2
      no_object     = 3
      no_permission = 4
      OTHERS        = 5.
  IF sy-subrc <> 0.
    MESSAGE i000(zz) DISPLAY LIKE 'E'
                       WITH text-003 v_spoolno text-034.
    LEAVE LIST-PROCESSING.
  ENDIF.

  IF v_objtype(3) EQ 'OTF'.

    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
      EXPORTING
        src_spoolid              = v_spoolno
        no_dialog                = ' '
      TABLES
        pdf                      = it_pdf
      EXCEPTIONS
        err_no_otf_spooljob      = 1
        err_no_spooljob          = 2
        err_no_permission        = 3
        err_conv_not_possible    = 4
        err_bad_dstdevice        = 5
        user_cancelled           = 6
        err_spoolerror           = 7
        err_temseerror           = 8
        err_btcjob_open_failed   = 9
        err_btcjob_submit_failed = 10
        err_btcjob_close_failed  = 11
        OTHERS                   = 12.
    IF sy-subrc <> 0.

    ENDIF.

 ELSE

Edited by: Kumar Manas Mishra on Jan 25, 2010 8:31 AM

0 Kudos
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
      EXPORTING
        src_spoolid              = v_spoolno
        no_dialog                = 'X'
      TABLES
        pdf                      = it_pdf
      EXCEPTIONS
        err_no_abap_spooljob     = 1
        err_no_spooljob          = 2
        err_no_permission        = 3
        err_conv_not_possible    = 4
        err_bad_destdevice       = 5
        user_cancelled           = 6
        err_spoolerror           = 7
        err_temseerror           = 8
        err_btcjob_open_failed   = 9
        err_btcjob_submit_failed = 10
        err_btcjob_close_failed  = 11
        OTHERS                   = 12.

0 Kudos

Hi Anand,

Try with this sample to code to convert the alv grid to pdf .

REPORT ZALV_TO_PDF.

tables : sflight , tsp01.

TYPE-POOLS : slis.

data : it_sflight type STANDARD TABLE OF sflight WITH HEADER LINE.

DATA : PROG_NAME TYPE SY-REPID,

linsz like sy-linsz VALUE 132, " Line size

paart like sy-paart VALUE 'X_65_132', " Paper Format

itab_pdf like tline occurs 0 with header line,

t_valid(1) type c,

mstr_print_parms type pri_params.

START-OF-selection.

select * from sflight into TABLE it_sflight UP TO 20 rows.

PROG_NAME = SY-REPID .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = PROG_NAME

I_CALLBACK_PF_STATUS_SET = 'FLIGHT'

I_CALLBACK_USER_COMMAND = 'PDF_CONVERT'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

I_STRUCTURE_NAME = 'SFLIGHT'

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

  • IT_FIELDCAT =

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = it_sflight

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

FORM FLIGHT USING RT_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'FLIGHT' EXCLUDING RT_EXTAB.

ENDFORM.

FORM PDF_CONVERT USING UCOMM type SY-UCOMM

SELFIELD type SLIS_SELFIELD.

CASE UCOMM.

WHEN 'FLIGHT' .

CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

  • ARCHIVE_ID = C_CHAR_UNKNOWN

  • ARCHIVE_INFO = C_CHAR_UNKNOWN

  • ARCHIVE_MODE = C_CHAR_UNKNOWN

  • ARCHIVE_TEXT = C_CHAR_UNKNOWN

  • AR_OBJECT = C_CHAR_UNKNOWN

  • ARCHIVE_REPORT = C_CHAR_UNKNOWN

  • AUTHORITY = C_CHAR_UNKNOWN

  • COPIES = C_NUM3_UNKNOWN

  • COVER_PAGE = C_CHAR_UNKNOWN

  • DATA_SET = C_CHAR_UNKNOWN

  • DEPARTMENT = C_CHAR_UNKNOWN

  • DESTINATION = C_CHAR_UNKNOWN

  • EXPIRATION = C_NUM1_UNKNOWN

IMMEDIATELY = space "C_CHAR_UNKNOWN

  • IN_ARCHIVE_PARAMETERS = ' '

  • IN_PARAMETERS = ' '

  • LAYOUT = C_CHAR_UNKNOWN

  • LINE_COUNT = C_INT_UNKNOWN

  • LINE_SIZE = C_INT_UNKNOWN

  • LIST_NAME = C_CHAR_UNKNOWN

  • LIST_TEXT = C_CHAR_UNKNOWN

  • MODE = ' '

  • NEW_LIST_ID = C_CHAR_UNKNOWN

  • PROTECT_LIST = C_CHAR_UNKNOWN

NO_DIALOG = 'X'"C_FALSE

  • RECEIVER = C_CHAR_UNKNOWN

  • RELEASE = C_CHAR_UNKNOWN

  • REPORT = C_CHAR_UNKNOWN

  • SAP_COVER_PAGE = C_CHAR_UNKNOWN

  • HOST_COVER_PAGE = C_CHAR_UNKNOWN

  • PRIORITY = C_NUM1_UNKNOWN

  • SAP_OBJECT = C_CHAR_UNKNOWN

  • TYPE = C_CHAR_UNKNOWN

  • USER = SY-UNAME

  • USE_OLD_LAYOUT = ' '

  • UC_DISPLAY_MODE = C_CHAR_UNKNOWN

  • DRAFT = C_CHAR_UNKNOWN

  • ABAP_LIST = ' '

  • USE_ARCHIVENAME_DEF = ' '

  • DEFAULT_SPOOL_SIZE = C_CHAR_UNKNOWN

  • WITH_STRUCTURE = C_CHAR_UNKNOWN

  • SUPPRESS_SHADING = C_CHAR_UNKNOWN

  • PO_FAX_STORE = ' '

  • NO_FRAMES = C_CHAR_UNKNOWN

IMPORTING

  • OUT_ARCHIVE_PARAMETERS =

OUT_PARAMETERS = mstr_print_parms

VALID = t_valid

  • VALID_FOR_SPOOL_CREATION =

EXCEPTIONS

ARCHIVE_INFO_NOT_FOUND = 1

INVALID_PRINT_PARAMS = 2

INVALID_ARCHIVE_PARAMS = 3

OTHERS = 4

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*-- Make sure that a printer destination has been set up

*-- If this is not done the PDF function module ABENDS

if mstr_print_parms-pdest = space.

mstr_print_parms-pdest = 'LOCL'.

endif.

*-- Explicitly set line width, and output format so that

*-- the PDF conversion comes out OK

mstr_print_parms-linsz = linsz.

mstr_print_parms-paart = paart.

submit (PROG_NAME) to sap-spool without spool dynpro

spool parameters mstr_print_parms

  • via selection-screen

and return.

data : f_repid type sy-repid,

f_uname type sy-uname.

data:

lc_rq2name like tsp01-rq2name,

f_rqident like tsp01-rqident,

byte_count type i,

file_name type string VALUE 'c:\fol\test1.pdf'.

f_repid = sy-repid.

f_uname = sy-uname.

concatenate f_repid+0(9)

f_uname+0(3)

into lc_rq2name ."separated by '_'.

select * from tsp01 where rq2name = lc_rq2name

order by rqcretime descending.

f_rqident = tsp01-rqident.

exit.

endselect.

if sy-subrc ne 0.

clear f_rqident.

endif.

CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = f_rqident

NO_DIALOG = space

DST_DEVICE = mstr_print_parms-pdest

  • PDF_DESTINATION =

IMPORTING

PDF_BYTECOUNT = byte_count

  • PDF_SPOOLID =

  • LIST_PAGECOUNT =

  • BTC_JOBNAME =

  • BTC_JOBCOUNT =

TABLES

PDF = itab_pdf

EXCEPTIONS

ERR_NO_ABAP_SPOOLJOB = 1

ERR_NO_SPOOLJOB = 2

ERR_NO_PERMISSION = 3

ERR_CONV_NOT_POSSIBLE = 4

ERR_BAD_DESTDEVICE = 5

USER_CANCELLED = 6

ERR_SPOOLERROR = 7

ERR_TEMSEERROR = 8

ERR_BTCJOB_OPEN_FAILED = 9

ERR_BTCJOB_SUBMIT_FAILED = 10

ERR_BTCJOB_CLOSE_FAILED = 11

OTHERS = 12

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

BIN_FILESIZE = byte_count

FILENAME = file_name

FILETYPE = 'BIN'

  • APPEND = ' '

  • WRITE_FIELD_SEPARATOR = ' '

  • HEADER = '00'

  • TRUNC_TRAILING_BLANKS = ' '

  • WRITE_LF = 'X'

  • COL_SELECT = ' '

  • COL_SELECT_MASK = ' '

  • DAT_MODE = ' '

  • CONFIRM_OVERWRITE = ' '

  • NO_AUTH_CHECK = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • WRITE_BOM = ' '

  • TRUNC_TRAILING_BLANKS_EOL = 'X'

  • WK1_N_FORMAT = ' '

  • WK1_N_SIZE = ' '

  • WK1_T_FORMAT = ' '

  • WK1_T_SIZE = ' '

  • WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE

  • SHOW_TRANSFER_STATUS = ABAP_TRUE

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = itab_pdf

  • FIELDNAMES =

  • EXCEPTIONS

  • FILE_WRITE_ERROR = 1

  • NO_BATCH = 2

  • GUI_REFUSE_FILETRANSFER = 3

  • INVALID_TYPE = 4

  • NO_AUTHORITY = 5

  • UNKNOWN_ERROR = 6

  • HEADER_NOT_ALLOWED = 7

  • SEPARATOR_NOT_ALLOWED = 8

  • FILESIZE_NOT_ALLOWED = 9

  • HEADER_TOO_LONG = 10

  • DP_ERROR_CREATE = 11

  • DP_ERROR_SEND = 12

  • DP_ERROR_WRITE = 13

  • UNKNOWN_DP_ERROR = 14

  • ACCESS_DENIED = 15

  • DP_OUT_OF_MEMORY = 16

  • DISK_FULL = 17

  • DP_TIMEOUT = 18

  • FILE_NOT_FOUND = 19

  • DATAPROVIDER_EXCEPTION = 20

  • CONTROL_FLUSH_ERROR = 21

  • OTHERS = 22

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE

EXPORTING

DOCUMENT = file_name

  • APPLICATION =

  • PARAMETER =

  • DEFAULT_DIRECTORY =

  • MAXIMIZED =

  • MINIMIZED =

  • SYNCHRONOUS =

OPERATION = 'OPEN'

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

BAD_PARAMETER = 3

FILE_NOT_FOUND = 4

PATH_NOT_FOUND = 5

FILE_EXTENSION_UNKNOWN = 6

ERROR_EXECUTE_FAILED = 7

SYNCHRONOUS_FAILED = 8

NOT_SUPPORTED_BY_GUI = 9

OTHERS = 10

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

when 'EXIT'.

leave program.

ENDCASE.

ENDFORM.

Former Member
0 Kudos

hi,

Check your program name when you are submitting.you are submitting some RSTXPDFT4 program this is a standard one i think this one is not your program.

what your coode is doing it generate the spool of RSTXPDFT4 this program not the program u you create.


SUBMIT RSTXPDFT4 TO SAP-SPOOL
SPOOL PARAMETERS PRI_STR
WITHOUT SPOOL DYNPRO.

"insted of write the above code change it with the below one

SUBMIT SY-REPID TO SAP-SPOOL
SPOOL PARAMETERS PRI_STR
WITHOUT SPOOL DYNPRO.

hope this helps

regards

RItesh

former_member254311
Active Participant
0 Kudos

Thanks