cancel
Showing results for 
Search instead for 
Did you mean: 

Convert Spool data to ASCII Format

Former Member
0 Kudos

I have a program that reads data from Spool and converts it to PDF format. My requirement is to download the spool data in ASCII format instead of coverting it to PDF Format. Please let me know how can we do this?

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

Check this sample code:

  • To store the data from spool

DATA: BEGIN OF i_buffer OCCURS 0,

text(255) TYPE c,

END OF i_buffer.

  • Final output table

DATA : BEGIN OF ws_output,

aufnr LIKE aufk-aufnr,

ktext LIKE aufk-ktext,

user3 LIKE aufk-user3,

msgtyp ,

msgnr(5) TYPE c,

sender(100) TYPE c,

END OF ws_output.

DATA : i_output LIKE ws_output OCCURS 0 WITH HEADER LINE.

startline = 1.

DO.

endline = startline + 9999.

CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'

EXPORTING

rqident = p_rqid

first_line = startline

last_line = endline

desired_type = 'RAW'

  • IMPORTING

  • real_type =

TABLES

buffer = i_buffer

EXCEPTIONS

no_such_job = 1

job_contains_no_data = 2

selection_empty = 3

no_permission = 4

can_not_access = 5

read_error = 6

type_no_match = 7

OTHERS = 8.

IF sy-subrc <> 0.

EXIT.

ENDIF.

IF startline = 1.

LOOP AT i_buffer .

IF i_buffer-text+11(6) CS 'Sender' . "#CCE

  • #CCE - Only few characters of i_buffer needsto be checked.

MOVE i_buffer+23(10) TO i_output-aufnr.

SPLIT i_output-aufnr AT space INTO i_output-aufnr ws_aufnr.

ENDIF.

  • To get error message

CLEAR ws_aufnr.

IF i_buffer-text(3) CP '*E'.

SPLIT i_buffer-text+0(4)

AT '|'

INTO ws_aufnr

i_output-msgtyp.

MOVE i_buffer+5(6) TO i_output-msgnr.

MOVE i_buffer+12 TO i_output-sender.

SPLIT i_output-sender

AT '|'

INTO i_output-sender

ws_aufnr.

APPEND i_output.

ELSE.

CONTINUE.

ENDIF.

ENDLOOP.

ELSE.

ENDIF.

startline = endline + 1.

ENDDO. "#CCE

Regards,

Subramanian