Spool Buffer

Hi,
My question is when Spool buffer is full and new spool buffer is requetsed what happens to the request? Also where is this new request stored?
Thanks in advance!
Cheers,
Vinay

When the buffer is full, I guess the program resulting in the spool request would end in a short dump ( runtime error ).. in effect the Spool Req would not be created at all, as there is no 'space'.
Arya.

Similar Messages

  • 0000000040/    32 in spooler (buffer too

    Hello ,
    4.6c system.
    We are running Z-program in the  background having LINE-SIZE 255 in the program.
    The completed jobs have spool requests generated, but they cannot be viewed for any user.
    0000000040/    32 in spooler (buffer too) is the error message.
    The spool consistency check report is running correctly in SAP.
    Default printer is used as the op device.
    Can you please suggest.

    In SM37:
    Goto>Display Requests>Settings...
    Then in "Display area"-->"From page"
    Set it to from page 1 - "no of pages" then try to display
    the spool again.

  • Dump spool buffer to a file

    Hi,
    I have a requirement to capture spool job and sending it to file.
    I am retrieving the output of one spool request  and sending it to a file using 'TRANSFER' statment in a loop.
    it is taking too long time to complete this process..
    is there any other way to, dump the buffer to a file at one instance?
    Plz help me

    Hi,
    Try to use FM - CONVERT_ABAPSPOOLJOB_2_PDF
    ot similar Fms
    RSPO_DISPLAY_ABAP_SPOOLJOB  
    RSPO_RETURN_ABAP_SPOOLJOB   
    RSPO_RETURN_ABAP_SPOOLJOB_RAW
    Thanks,
    Sree.

  • SP01 - display spool request, buffer too short

    Dear all,
    when trying to display spool request in transaction SP01, we are getting the error: internal error 0000000040/ 32 in spooler (buffer too short)
    But the same request could be displayed via transaction SPO10.
    R/3 4.6C.
    Any idea ?
    Thank you for the answer.
    Pavol Simko
    Edited by: Pavol Simko on Nov 3, 2009 3:18 AM

    In SM37:
    Goto>Display Requests>Settings...
    Then in "Display area"-->"From page"
    Set it to from page 1 - "no of pages" then try to display
    the spool again.

  • Preview won't convert postscript - PDF anymore

    I make a Postscript file in emacs (using `ps-spool-buffer-with-faces'). I save it, append the `.ps', and double-click. Preview then SAYS it is converting it. What I see is a list of EMPTY WHITE pages. The document is the proper length, just all blank. Does it contain white text? Well, if you enter a word in the search field, it says it's not found. So probably not.
    But this same Postscript document is properly converted using, e.g., ps2pdf.
    Can anyone explain this?

    Acrobat 8 is not Win 7 compatible. Especially Win7 64 bit. I don't think think Acrobat X supports MS Office 2003. You should be able to print to pdf, it is just that the conversion from within the 2003 toolbar will not work, which means you will lose a lot of special functionality.

  • Spool file error - Buffer Overflow

    I've a sql script that is running from a.sql file. The script fetches almost 9 million data as a result of the query. Main problem is related to spool file generation. It is saying buffer overflow. But, when i write that query from sql prompts it is running within 2 mins and completes the task within 15 mins.
    I've written -
    set serveroutput on size ######
    But, still it is not working. Total application is freeze whenever i want to run it. Tell me any suggestion if u have.
    Satyaki.

    i guess what you are more concerned with is the output produced by your query (the spool file).
    you need not to see what is displayed on the screen all you need is open up the spool file to
    check for those data in there.
    to suppress the output from the screen and still generates spool file. use the SET TERMOUT option.
    e.g.
    -- code for a producing a sample spool file
    spool r:\sample_spool.txt;
    select * from emp;
    spool off;
    at the SQL*Plus command line:
    SQL> @r:\sample_spool.sql;
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
          7566 JONES      MANAGER         7839 02-APR-81       2975       1000         20
          7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
          7839 KING       PRESIDENT            17-NOV-81       5000                    10
          7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
          7369 SMITH      CLERK           7902 17-DEC-80        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
          7788 SCOTT      ANALYST         7566 09-DEC-82       3000                    20
          7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
          7876 ADAMS      CLERK           7788 12-JAN-83       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-81        950                    30
          7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
    14 rows selected.
    SQL> -- the above example displays the output on the screen
    SQL> -- now we want to turn it off by using the SET TERMOUT option
    SQL> SQL> set termout off;
    SQL> @r:\sample_spool.sql;
    SQL>
    after executing the script sample_spool.sql it does not display output from the screen which
    we want to avoid the buffer overflow error. and still produce the spool file:
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                  
          7566 JONES      MANAGER         7839 02-APR-81       2975       1000         20                                  
          7902 FORD       ANALYST         7566 03-DEC-81       3000                    20                                  
          7839 KING       PRESIDENT            17-NOV-81       5000                    10                                  
          7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30                                  
          7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10                                  
          7369 SMITH      CLERK           7902 17-DEC-80        800                    20                                  
          7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30                                  
          7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30                                  
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30                                  
          7788 SCOTT      ANALYST         7566 09-DEC-82       3000                    20                                  
          7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30                                  
          7876 ADAMS      CLERK           7788 12-JAN-83       1100                    20                                  
          7900 JAMES      CLERK           7698 03-DEC-81        950                    30                                  
          7934 MILLER     CLERK           7782 23-JAN-82       1300                    10                                  
    14 rows selected.

  • TA22258 Very slow printer spooling canon mx420 with os 10.8, how to imrpove buffer speed?

    How to improve a very slow print spooler using canon printer mx420 with os 10.8.4
    It takes about 60+ seconds spooling hanging quite a bit at 56%.
    thanks, Gaston

    How to improve a very slow print spooler using canon printer mx420 with os 10.8.4
    It takes about 60+ seconds spooling hanging quite a bit at 56%.
    thanks, Gaston

  • Spool file problem,Can't see the query in output file.

    Hello ,
    I am facing a very old school kind of problem .....about spool file ....
    The scenario -
    I have made a script by name DB_Status_checkup.sql which i want to fire on the database to check the database status. In this script their are many queries regarding the data dictionary views to know about the database. It consist of nearly 25-30 different select queries..
    The problem is i want to make a spool file of the output of that query....i want to see the SQL query & the output below in the spool file, so it will be easy for me to judge the result. But i can't see the SQL query , i can only see the output , & in so many queries it all gets jumbled up....even i can't understand where the next output starts ...
    Sample of my SQL Script ....
    clear buffer
    spool D:\DB_status.txt
    /*To check the database startup time*/
    Select to_char(startup_time, 'HH24:MI DD-MON-YY') "Startup time"
    from v$instance
    .........next query n so on....
    spool off;
    In the output pf the spool file at D:\db_status.txt..
    Startup time
    08:25 16-JUL-10It shows only the output of the query in the spool file not the query,
    What should i do to get the SQL query as well as the output of that query just below it in the spool file ???
    Please suggest if you have anymore ideas , regarding this .....
    ORACLE 10g R2
    Windows Server 2008
    Thanks in advance ...

    Why don't you just use database control, instead of re-inventing the wheel?
    Apart from that, SQL*Plus has it's own reference manual, which you apparently refuse to read.
    The answer to your quiz/doc question is
    set echo on
    Sybrand Bakker
    Senior Oracle DBA

  • SQL*Plus - how to suppress the SQL in a spool file

    This is my SQL*Plus script. I thought I had solved the problem, but it is back now and I don't know what I am missing. But I don't want the query at the top of the file.
    SET SERVEROUTPUT ON
    SET MARKUP HTML ON -SILENT
    SET ECHO OFF
    SET PAGESIZE 33
    SET TERMOUT OFF
    Spool C:\DuaneWilson.xls
    SELECT *
    FROM RPT_DS1_CNT_CAT_vw
    WHERE ROWNUM <=100
    ORDER BY CVBI_KEY;
    SET MARKUP HTML OFF
    SET ECHO ON
    SET PAGESIZE 20
    SET TERMOUT ON
    SET SERVEROUTPUT OFF

    It turns out when I run the script with the @ or Start with the file name, there is no SQL put out to the file. But when I just copy the text out of the file and run it at the prompt, the SQL appears in the output file. In reference to the -SILENT, I put that in after the MARKUP statement and got an error. Maybe I don't know where that goes. And I am not sure why there is a difference if it is run as a script or just pasted to the buffer. At least it should be the same in the output file, I would think.

  • Problem with characters Converting OTF Spool to PDF

    Hello All,
    Im working on ECC6.0 system. I have a Z report where it will take spool number and mail ID as input.
    It will check wheter the spool is of type OTF of ABAP List, according to that it will use the FMs ONVERT_OTFSPOOLJOB_2_PDF & CONVERT_ABAPSPOOLJOB_2_PDF.
    Now it will download the PDF internal table data into a file using OPEN DATA SET statement as shown below.
      OPEN DATASET gv_dsn FOR OUTPUT IN BINARY MODE.
    *Download the file to application server
      LOOP AT gt_pdf_output.
        TRANSFER gt_pdf_output TO gv_dsn.
      ENDLOOP.
      CLOSE DATASET gv_dsn.
    and it will ZIP the PDF as shown below.
    * open the file from application server for zipping.
      OPEN DATASET gv_dsn FOR INPUT IN BINARY MODE.
      READ DATASET gv_dsn INTO lv_content.
      CLOSE DATASET gv_dsn.
      CREATE OBJECT go_zip.
      go_zip->add( name = gv_file content = lv_content ).
      gv_zip_content    = go_zip->save( ).
    * Convert the xstring content to binary
      CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
        EXPORTING
          buffer        = gv_zip_content
        IMPORTING
          output_length = gv_file_length
        TABLES
          binary_tab    = gt_data.
    After that the ZIP file conataining the PDF will be sent as an attachement to the mail ID given as input.
    Now the problem is some characters of Czech are not coming properly when the attachement is opend once the mail is received. Can any one tell where the problem is and solution.
    Im getting the message "Can not extract the embedded front 'CourierNewL2'. Some characters may not display or print correctly." while opening the PDF in the ZIP attachment.
    Thank you.
    Best Regards,
    Sasidhar Reddy Matli.

    hi
    u also check the following link
    Re: how call FM otf to pdf in a report
    Re: otf to pdf
    Re: Error while converting OTF into PDF in CONVERT_OTF FM
    Re: Convert OTF to PDF problem
    Edited by: krupa jani on Jul 15, 2009 12:58 PM

  • Spool List output display 255 char when the rpt is run in Background

    Hi Friends,
    I tried executing a program in Background.. The report output has more than 64 columns ( more than 255 char ) ..
    Iam using "REUSE_ALV_GRID_DISPLAY" for displaying the list.
    My Problem:
    1. The spool list is truncated after 255 characters when i run in background.
    2. Th output in Spool List is coming in 2 rows ... not very clear ... becoz of that the grid lines are not getting displayed.
    3. I ve not used any Standard - line size for dislaying ..
    4. In foreground i am able to display all the 64 columns... Y not in Background......
    5. My Printer setting is ..X_255 .... only ...
    Requirement:
    1. What should i do to increase the spool list display to more than 255 characters
    2. Or how to save the background run reports output to an excel sheet as how we 'll take the from the foreground.
    Expecting your answers,
    Thanks in Advance...
    Cheers,
    R.Kripa .........
    Enjoy ABAPing ..........
    new upcoming Abaper ....

    Hello Kripa,
    You need to perform two actions.
    1. set an appropriate format for the printer you are using. As explained from the previous messages you go to: SPAD -> output devives (type the printer you are using) -> from the menu ..-> goto -> device type -> formats. In there create a new format like Z_65_650
    or Z_65_xxxx where xxxx could be up to 1065. This is the length of your report.
    When you give your report in background, do not forget to choose the new format you created.
    2. After the spool request is created, you take its number and use it ar a parameter in the following report.
    Please copy and paste it in a new program, maybe called ZRSPOSHOWSPOOLLIST.
    It should work then.
    roxani
    Display spool list > 255 columns
    This is a SAP utility report to allow display of
    spool request lists with line size more than 255 characters in
    releases 4.6B and 4.6C (4.6D kernel must be used)
    REPORT ZRSPOSHOWLIST LINE-SIZE 80.
    PARAMETERS: RQIDENT LIKE TSP01-RQIDENT,
    FIRSTL TYPE I DEFAULT 0,
    LASTL TYPE I DEFAULT 0.
    global data from LSPOXTOP
    DATA: RC(10) TYPE C,
    ERRMSG(100) TYPE C,
    STATUS LIKE SY-SUBRC,
    DSN_TYPE(8) TYPE C.
    DATA: BEGIN OF DATA_SET_LINE,
    DATA_LENGTH(5),
    PRECOL(1),
    DATA_LINE(1000),
    DATA_LINE(5000), "MODAB
    END OF DATA_SET_LINE,
    DATA_SET_LENGTH(5) TYPE C.
    TABLES: TSP01, TST05, TSPOPTIONS.
    DATA: TEMSE_NAME LIKE TST01-DNAME,
    TEMSE_CLIENT LIKE TST01-DCLIENT,
    TEMSE_HANDLE LIKE RSTSTYPE-HANDLE,
    TEMSE_PART LIKE TST01-DPART,
    TEMSE_OBJTYP LIKE TST01-DTYPE,
    TEMSE_RECTYP LIKE RSTSTYPE-RECTYP,
    TEMSE_CHARCO LIKE TST01-DCHARCOD.
    DATA: IS_OTF.
    global data from LSPOCTOP
    DATA: BEGIN OF SPOC
    , escape
    , prtctrl
    , FIRST_BYTES(4) " collection of the first bytes of the
    " escape sequences, which I am searching for.
    , PRTCTRL_START_LENGTH TYPE I
    , PRTCTRL_TOTAL_LENGTH TYPE I
    , PRTCTRL_START(10)
    , SYMBOL_LOW_START(10)
    , SYMBOL_HGH_START(10)
    , SYMBOL_START_LENGTH TYPE I
    , ICON_START(10)
    , ICON_START_LENGTH TYPE I
    , ICON_SEL TYPE I VALUE 1
    , FRAME_START(10)
    , FRAME_START_LENGTH TYPE I
    , END OF SPOC.
    FIELD-SYMBOLS: <SPOC_PRTCTRL> TYPE C
    , <SPOC_FRAME> TYPE C
    , <SPOC_ICON> TYPE C
    , <SPOC_SYMBOL_LOW> TYPE C
    , <SPOC_SYMBOL_HGH> TYPE C
    copied from RSPO_DISPLAY_ABAP_SPOOLJOB
    DATA: BUFFER LIKE DATA_SET_LINE OCCURS 1000.
    TABLES: TSP02L.
    SELECT SINGLE * FROM TSP01 WHERE RQIDENT = RQIDENT.
    IF SY-SUBRC <> 0.
    WRITE: / 'Spool request does not exist:'(001), RQIDENT.
    EXIT.
    ENDIF.
    CALL FUNCTION 'RSPO_CHECK_JOB_PERMISSION'
    EXPORTING
    ACCESS = 'DISP'
    SPOOLREQ = TSP01
    EXCEPTIONS
    NO_PERMISSION = 1
    OTHERS = 2.
    IF SY-SUBRC <> 0.
    WRITE: / 'No authorization to display'(002).
    EXIT.
    ENDIF.
    PERFORM READ_DATA TABLES BUFFER
    USING TSP01 FIRSTL LASTL.
    IF SY-SUBRC <> 0.
    WRITE: / 'Error reading spoolo request'(003).
    EXIT.
    ENDIF.
    IF IS_OTF = 'X'.
    WRITE: / 'This spool request is not an ABAP list'(004).
    EXIT.
    ENDIF.
    PERFORM DISPLAY_DATA TABLES BUFFER USING TSP01-RQPAPER TSP01-RQIDENT.
    FORM GET_SPOOL_LINE.
    DO.
    IF TEMSE_RECTYP+1(1) = 'Y'.
    CALL 'C_RSTS_READ'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'BUFF' FIELD DATA_SET_LINE
    ID 'BUFFLG' FIELD 1006
    ID 'BUFFLG' FIELD 5006 "MODAB
    ID 'ALLINE' FIELD 'X'
    ID 'BINARY' FIELD ' '
    ID 'SHOWLG' FIELD 'X'
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    STATUS = SY-SUBRC.
    ELSE.
    CALL 'C_RSTS_READ'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'BUFF' FIELD DATA_SET_LINE+1
    ID 'BUFFLG' FIELD 1005
    ID 'BUFFLG' FIELD 5005 "MODAB
    ID 'ALLINE' FIELD 'X'
    ID 'BINARY' FIELD ' '
    ID 'SHOWLG' FIELD 'X'
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    STATUS = SY-SUBRC.
    DATA_SET_LINE(5) = DATA_SET_LINE+1(5).
    DATA_SET_LINE-PRECOL = ' '.
    ADD 1 TO DATA_SET_LINE-DATA_LENGTH.
    ENDIF.
    STATUS = SY-SUBRC.
    IF STATUS <> 6. " EOF, error condition, or got data
    EXIT.
    ENDIF.
    end of this part, try to open next part
    ADD 1 TO TEMSE_PART.
    CALL 'C_RSTS_CLOSE'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    STATUS = SY-SUBRC.
    IF STATUS = 0.
    CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
    EXPORTING
    AUTHORITY = 'SP01'
    CLIENT = TEMSE_CLIENT "hjl
    NAME = TEMSE_NAME
    PART = TEMSE_PART
    IMPORTING
    CHARCO = TEMSE_CHARCO
    CREATER =
    CREDATE =
    DELDATE =
    MAX_CREDATE =
    MAX_DELDATE =
    NON_UNIQ =
    NOOF_PARTS =
    RECTYP = TEMSE_RECTYP
    SIZE =
    STOTYP =
    type =
    OBJTYPE = TEMSE_OBJTYP
    EXCEPTIONS
    FB_ERROR = 1
    FB_RSTS_OTHER = 2
    NO_OBJECT = 3
    NO_PERMISSION = 4
    OTHERS = 5.
    STATUS = SY-SUBRC.
    ENDIF.
    IF STATUS = 0.
    CALL 'C_RSTS_OPEN_READ'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'CLIENT' FIELD TEMSE_CLIENT "hjl
    ID 'NAME' FIELD TEMSE_NAME
    ID 'PART' FIELD TEMSE_PART
    ID 'TYPE' FIELD TEMSE_OBJTYP
    ID 'CONV' FIELD ' '
    ID 'ALLINE' FIELD 'X'
    ID 'BINARY' FIELD ' '
    ID 'RECTYP' FIELD TEMSE_RECTYP
    ID 'CHARCO' FIELD TEMSE_CHARCO
    ID 'PROM' FIELD 'I'
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    STATUS = SY-SUBRC.
    ENDIF.
    ENDDO.
    IF STATUS = 4.
    STATUS = 12. "EOF
    ENDIF.
    IF STATUS = 8.
    STATUS = 40. "Line too long
    ENDIF.
    DATA_SET_LENGTH = DATA_SET_LINE-DATA_LENGTH.
    ENDFORM.
    FORM READ_DATA TABLES BUFFER
    USING TSP01 LIKE TSP01 VALUE(FIRST) TYPE I
    VALUE(LAST) TYPE I.
    DATA: LINES TYPE I.
    REFRESH BUFFER.
    CLEAR IS_OTF.
    TEMSE_CLIENT = TSP01-RQCLIENT.
    TEMSE_NAME = TSP01-RQO1NAME.
    TEMSE_PART = 1.
    CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
    EXPORTING
    AUTHORITY = 'SP01'
    CLIENT = TEMSE_CLIENT
    NAME = TEMSE_NAME
    PART = TEMSE_PART
    IMPORTING
    CHARCO = TEMSE_CHARCO
    CREATER =
    CREDATE =
    DELDATE =
    MAX_CREDATE =
    MAX_DELDATE =
    NON_UNIQ =
    NOOF_PARTS =
    RECTYP = TEMSE_RECTYP
    SIZE =
    STOTYP =
    type =
    OBJTYPE = TEMSE_OBJTYP
    EXCEPTIONS
    FB_ERROR = 1
    FB_RSTS_OTHER = 2
    NO_OBJECT = 3
    NO_PERMISSION = 4
    OTHERS = 5.
    IF SY-SUBRC = 0.
    IF TEMSE_OBJTYP(3) = 'OTF'.
    IS_OTF = 'X'.
    ENDIF.
    ELSE.
    EXIT.
    ENDIF.
    CLEAR TEMSE_HANDLE.
    CALL 'C_RSTS_OPEN_READ'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'CLIENT' FIELD TEMSE_CLIENT "hjl
    ID 'NAME' FIELD TEMSE_NAME
    ID 'PART' FIELD TEMSE_PART
    ID 'TYPE' FIELD TEMSE_OBJTYP
    ID 'CONV' FIELD ' '
    ID 'ALLINE' FIELD 'X'
    ID 'BINARY' FIELD ' '
    ID 'RECTYP' FIELD TEMSE_RECTYP
    ID 'CHARCO' FIELD TEMSE_CHARCO
    ID 'PROM' FIELD 'I'
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    STATUS = SY-SUBRC.
    IF STATUS = 0.
    DO.
    PERFORM GET_SPOOL_LINE.
    IF STATUS <> 0 AND STATUS <> 40 AND STATUS <> 12.
    PERFORM CLOSE_JOB.
    EXIT.
    ENDIF.
    IF STATUS <> 12. " 12 = End
    IF NOT ( DATA_SET_LENGTH IS INITIAL ).
    DATA_SET_LINE-DATA_LENGTH = DATA_SET_LENGTH - 1.
    ENDIF.
    ADD 1 TO LINES.
    IF LINES >= FIRST.
    APPEND DATA_SET_LINE TO BUFFER.
    ENDIF.
    IF ( NOT LAST IS INITIAL ) AND ( LINES >= LAST ).
    EXIT.
    ENDIF.
    ELSE.
    IF LINES = 0.
    PERFORM CLOSE_JOB.
    EXIT.
    ENDIF.
    IF LINES < FIRST .
    PERFORM CLOSE_JOB.
    EXIT.
    ENDIF.
    EXIT.
    ENDIF.
    ENDDO.
    PERFORM CLOSE_JOB.
    ENDIF.
    ENDFORM.
    FORM CLOSE_JOB *
    FORM CLOSE_JOB.
    IF STATUS <> 0 AND STATUS <> 12.
    CALL 'C_RSTS_CLOSE'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    MESSAGE E112(PO) WITH STATUS RC ERRMSG RAISING READ_ERROR.
    ENDIF.
    CALL 'C_RSTS_CLOSE'
    ID 'HANDLE' FIELD TEMSE_HANDLE
    ID 'RC' FIELD RC
    ID 'ERRMSG' FIELD ERRMSG.
    STATUS = SY-SUBRC.
    IF STATUS <> 0.
    MESSAGE E112(PO) WITH STATUS RC ERRMSG RAISING READ_ERROR.
    ENDIF.
    ENDFORM.
    FORM DISPLAY_DATA TABLES BUFFER USING RQPAPER LIKE TSP01-RQPAPER
    RQID LIKE TSP01-RQIDENT.
    DATA: LINE_LENGTH TYPE I, GCOL TYPE I, GLINES TYPE I,
    LINE_LENGTH2 LIKE RSTSTYPE-LINELENGTH,
    V, V2.
    CALL FUNCTION 'RSPO_SPOOLDATA_WRITE_INIT'.
    PERFORM SPOOLDATA_WRITE_INIT. "MODAB
    select single * from tspoptions where spoption = 'REALWIDTH'.
    if sy-subrc = 0.
    V = 'X'.
    endif.
    select single * from tspoptions where spoption = 'REALHEIGHT'.
    if sy-subrc = 0.
    V2 = 'X'.
    endif.
    IF NOT V IS INITIAL OR NOT V2 IS INITIAL.
    GCOL = 0.
    GLINES = 0.
    SELECT SINGLE * FROM TSP02L WHERE PJIDENT = RQID
    AND PJNUMMER = 0.
    IF SY-SUBRC = 0.
    GCOL = TSP02L-COLUMNS.
    GLINES = TSP02L-LINES.
    ELSE.
    CALL FUNCTION 'RSPO_GET_SIZE_OF_LAYOUT'
    EXPORTING
    LAYOUT = RQPAPER
    IMPORTING
    ANSWER =
    COLUMNS = GCOL
    LINES = GLINES
    PFORMAT =
    ENDIF.
    ENDIF.
    IF GCOL < 80 OR V IS INITIAL.
    GCOL = 255.
    ENDIF.
    IF GLINES < 5 OR V2 IS INITIAL.
    GLINES = 0.
    ENDIF.
    IF GCOL >= 1024. "MODAB
    GCOL = 1023.
    ENDIF.
    NEW-PAGE NO-HEADING NO-TITLE LINE-SIZE GCOL
    LINE-COUNT GLINES. " make a wide list
    SET BLANK LINES ON.
    LOOP AT BUFFER.
    DATA_SET_LINE = BUFFER.
    IF DATA_SET_LINE-PRECOL = 'P'.
    IF DATA_SET_LINE(1) = ' '. " Echter Vorschub ?"
    NEW-PAGE.
    ENDIF.
    CONTINUE.
    ENDIF.
    Zeilenlange berechnen, falls unbekannt.
    IF DATA_SET_LINE-DATA_LENGTH IS INITIAL.
    LINE_LENGTH = STRLEN( DATA_SET_LINE-DATA_LINE ).
    ELSE.
    LINE_LENGTH = DATA_SET_LINE-DATA_LENGTH.
    ENDIF.
    IF LINE_LENGTH > 0.
    LINE_LENGTH2 = LINE_LENGTH.
    PERFORM SPOOLDATA_WRITE USING DATA_SET_LINE-DATA_LINE "MODAB
    LINE_LENGTH2
    1.
    ELSE.
    " Leerzeile
    SKIP.
    ENDIF.
    ENDLOOP.
    ENDFORM.
    copied from RSPO_SPOOLDATA_WRITE
    FORM SPOOLDATA_WRITE USING VALUE(SPOOL_DATA)
    VALUE(DATA_LENGTH) LIKE RSTSTYPE-LINELENGTH
    VALUE(START_POS) LIKE SY-COLNO.
    function globals
    DATA: LPOS LIKE SY-COLNO
    , REST_LEN TYPE I
    , AREA_LEN TYPE I
    , NEXT_HOT TYPE I " offset of next special character
    , COLS TYPE I " columns used by special character
    , BYTES TYPE I " bytes used by special character
    , HOT2
    , HOT3
    , HOT4
    , HOT5
    , HOT6
    , HOT7
    , BEGIN OF ESCAPE_TRICK
    , X1(1) TYPE X
    , END OF ESCAPE_TRICK
    , THE_PRTCTRL(5) TYPE C
    Because of a problem within the ABAP listprocessing, I shall
    never output the same icon side by side with the same color
    and without a gap.
    As I don't know the data, I will use two different variables
    alternatively.
    , ICON_ID1 LIKE ICONS-L4
    , ICON_ID2 LIKE ICONS-L4.
    FIELD-SYMBOLS: <LDATA>
    , <PLAIN_TEXT>
    , <PRTCTRL>
    , <HOT_PRTCTRL>
    , <HOT_FRAME>
    , <HOT_ICON>
    , <HOT_SYMBOL>
    IF START_POS < 2.
    write at / ' ' no-gap.
    NEW-LINE.
    LPOS = 1.
    ELSE.
    LPOS = START_POS.
    ENDIF.
    REST_LEN = STRLEN( SPOOL_DATA ).
    DESCRIBE FIELD SPOOL_DATA LENGTH AREA_LEN.
    IF DATA_LENGTH = 0.
    " fine.
    ELSEIF DATA_LENGTH <= AREA_LEN.
    REST_LEN = DATA_LENGTH.
    ELSE.
    WRITE: / 'Fehler beim Decodieren der Listendaten'(005).
    STOP.
    ENDIF.
    CHECK REST_LEN > 0.
    ASSIGN SPOOL_DATA(REST_LEN) TO <LDATA>.
    WHILE <LDATA> CA SPOC-FIRST_BYTES.
    NEXT_HOT = SY-FDPOS.
    IF NEXT_HOT > 0.
    ASSIGN <LDATA>(NEXT_HOT) TO <PLAIN_TEXT>.
    MODAB
    PERFORM WRITE_BIGFIELD USING <PLAIN_TEXT>
    NEXT_HOT
    LPOS.
    WRITE AT LPOS <PLAIN_TEXT> NO-GAP.
    ADD NEXT_HOT TO LPOS.
    SUBTRACT NEXT_HOT FROM REST_LEN.
    ASSIGN <LDATA>+NEXT_HOT(REST_LEN) TO <LDATA>.
    ENDIF.
    IF REST_LEN >= SPOC-PRTCTRL_START_LENGTH.
    ASSIGN <LDATA>(SPOC-PRTCTRL_START_LENGTH) TO <HOT_PRTCTRL>.
    ELSE.
    ASSIGN 'too_short' TO <HOT_PRTCTRL>.
    ENDIF.
    IF REST_LEN >= SPOC-FRAME_START_LENGTH.
    ASSIGN <LDATA>(SPOC-FRAME_START_LENGTH) TO <HOT_FRAME>.
    ELSE.
    ASSIGN 'too_short' TO <HOT_FRAME>.
    ENDIF.
    IF REST_LEN >= SPOC-ICON_START_LENGTH.
    ASSIGN <LDATA>(SPOC-ICON_START_LENGTH) TO <HOT_ICON>.
    ELSE.
    ASSIGN 'too_short' TO <HOT_ICON>.
    ENDIF.
    IF REST_LEN >= SPOC-SYMBOL_START_LENGTH.
    ASSIGN <LDATA>(SPOC-SYMBOL_START_LENGTH) TO <HOT_SYMBOL>.
    ELSE.
    ASSIGN 'too_short' TO <HOT_SYMBOL>.
    ENDIF.
    IF REST_LEN > 1.
    HOT2 = <LDATA>+1(1).
    IF REST_LEN > 2.
    HOT3 = <LDATA>+2(1).
    IF REST_LEN > 3.
    HOT4 = <LDATA>+3(1).
    ELSE.
    HOT4 = '?'.
    ENDIF.
    ELSE.
    HOT3 = '?'.
    ENDIF.
    ELSE.
    HOT2 = '?'.
    ENDIF.
    IF <HOT_FRAME> = <SPOC_FRAME>.
    COLS = 1. " in most cases.
    BYTES = 2. " in most cases.
    CASE HOT2.
    WHEN '0'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '1'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '2'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '3'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '4'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '5'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '6'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '7'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '8'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN '9'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN ':'. WRITE AT LPOS HOT2 AS LINE NO-GAP.
    WHEN ';'. " box_drawings_light_left
    WRITE AT LPOS '4' AS LINE NO-GAP.
    WHEN '<'. " box_drawings_light_up
    WRITE AT LPOS '5' AS LINE NO-GAP.
    WHEN '='. " box_drawings_light_right
    WRITE AT LPOS '4' AS LINE NO-GAP.
    WHEN '>'. " box_drawings_light_down
    WRITE AT LPOS '5' AS LINE NO-GAP.
    WHEN '?'. " drawings_checkbox_off
    WRITE AT LPOS ' ' AS CHECKBOX INPUT OFF NO-GAP.
    WHEN '@'. " drawings_checkbox_on
    WRITE AT LPOS 'X' AS CHECKBOX INPUT OFF NO-GAP.
    WHEN OTHERS.
    BYTES = 0.
    ENDCASE.
    ENDIF.
    IF <HOT_SYMBOL> = <SPOC_SYMBOL_LOW>.
    ESCAPE_TRICK = HOT3.
    SUBTRACT 32 FROM ESCAPE_TRICK-X1.
    IF HOT4 = SPACE.
    WRITE AT LPOS(2) ESCAPE_TRICK AS SYMBOL NO-GAP.
    COLS = 2.
    BYTES = 4.
    ELSE.
    WRITE AT LPOS(1) ESCAPE_TRICK AS SYMBOL NO-GAP.
    BYTES = 3.
    ENDIF.
    ENDIF.
    IF <HOT_SYMBOL> = <SPOC_SYMBOL_HGH>.
    ESCAPE_TRICK = HOT3.
    ADD 32 TO ESCAPE_TRICK-X1.
    IF HOT4 = SPACE.
    WRITE AT LPOS(2) ESCAPE_TRICK AS SYMBOL NO-GAP.
    COLS = 2.
    BYTES = 4.
    ELSE.
    WRITE AT LPOS(1) ESCAPE_TRICK AS SYMBOL NO-GAP.
    BYTES = 3.
    ENDIF.
    ENDIF.
    IF <HOT_ICON> = <SPOC_ICON>.
    IF SPOC-ICON_SEL >< 1.
    SPOC-ICON_SEL = 1.
    ICON_ID1 = '@00@'.
    ICON_ID1+1(1) = HOT3.
    ICON_ID1+2(1) = HOT4.
    ELSE.
    SPOC-ICON_SEL = 2.
    ICON_ID2 = '@00@'.
    ICON_ID2+1(1) = HOT3.
    ICON_ID2+2(1) = HOT4.
    ENDIF.
    IF REST_LEN > 4.
    HOT5 = <LDATA>+4(1).
    IF REST_LEN > 5.
    HOT6 = <LDATA>+5(1).
    IF REST_LEN > 6.
    HOT7 = <LDATA>+6(1).
    ELSE.
    HOT7 = '?'.
    ENDIF.
    ELSE.
    HOT6 = '?'.
    ENDIF.
    ELSE.
    HOT5 = '?'.
    ENDIF.
    IF HOT5 = SPACE.
    IF HOT6 = SPACE.
    IF HOT7 = SPACE.
    IF SPOC-ICON_SEL = 1.
    WRITE AT LPOS(4) ICON_ID1 AS ICON.
    write at lpos icon_id1 as icon no-gap.
    ELSE.
    WRITE AT LPOS(4) ICON_ID2 AS ICON.
    write at lpos icon_id2 as icon no-gap.
    ENDIF.
    COLS = 4.
    BYTES = 7.
    ELSE.
    IF SPOC-ICON_SEL = 1.
    WRITE AT LPOS(3) ICON_ID1 AS ICON.
    write at lpos icon_id1 as icon no-gap.
    ELSE.
    WRITE AT LPOS(3) ICON_ID2 AS ICON.
    write at lpos icon_id2 as icon no-gap.
    ENDIF.
    COLS = 3.
    BYTES = 6.
    ENDIF.
    ELSE.
    IF SPOC-ICON_SEL = 1.
    WRITE AT LPOS(2) ICON_ID1 AS ICON.
    write at lpos icon_id1 as icon no-gap.
    ELSE.
    WRITE AT LPOS(2) ICON_ID2 AS ICON.
    write at lpos icon_id2 as icon no-gap.
    ENDIF.
    COLS = 2.
    BYTES = 5.
    ENDIF.
    ELSE.
    "rite at lpos(1) icon_id as icon.
    WRITE AT LPOS(1) '#' NO-GAP. " Not enough space for any icon.
    COLS = 1.
    BYTES = 4.
    ENDIF.
    ENDIF.
    IF <HOT_PRTCTRL> = <SPOC_PRTCTRL>.
    COLS = 0. " in most cases.
    BYTES = 6. " in most cases.
    IF REST_LEN >= SPOC-PRTCTRL_TOTAL_LENGTH.
    THE_PRTCTRL = <LDATA>+SPOC-PRTCTRL_START_LENGTH(5).
    IF THE_PRTCTRL = 'SABLD'.
    FORMAT INTENSIFIED ON.
    "no 3.0 'SAULN'.
    "no 3.0 FORMAT UNDERSCORED ON.
    ELSEIF THE_PRTCTRL = 'SAOFF'.
    FORMAT INTENSIFIED OFF.
    "no 3.0 FORMAT UNDERSCORED OFF.
    ELSEIF THE_PRTCTRL(3) = 'COL'.
    CASE THE_PRTCTRL+3(1).
    WHEN '0'.
    FORMAT COLOR OFF.
    WHEN '1'.
    FORMAT COLOR 1.
    WHEN '2'.
    FORMAT COLOR 2.
    WHEN '3'.
    FORMAT COLOR 3.
    WHEN '4'.
    FORMAT COLOR 4.
    WHEN '5'.
    FORMAT COLOR 5.
    WHEN '6'.
    FORMAT COLOR 6.
    WHEN '7'.
    FORMAT COLOR 7.
    ENDCASE.
    CASE THE_PRTCTRL+4(1).
    WHEN 'N'.
    FORMAT INTENSIFIED OFF INVERSE OFF.
    WHEN 'H'.
    FORMAT INTENSIFIED ON INVERSE OFF.
    WHEN 'V'.
    FORMAT INTENSIFIED ON INVERSE ON.
    ENDCASE.
    ENDIF. "printcontrol
    ELSE. "??
    ENDIF.
    ENDIF.
    IF BYTES = 0.
    BYTES = 1.
    WRITE AT LPOS(1) '#'.
    COLS = 1.
    ENDIF.
    ADD COLS TO LPOS.
    SUBTRACT BYTES FROM REST_LEN.
    IF REST_LEN > 0.
    ASSIGN <LDATA>+BYTES(REST_LEN) TO <LDATA>.
    ELSE.
    EXIT.
    ENDIF.
    ENDWHILE.
    MODAB
    IF REST_LEN > 0.
    ASSIGN <LDATA>(REST_LEN) TO <PLAIN_TEXT>.
    PERFORM WRITE_BIGFIELD USING <PLAIN_TEXT>
    REST_LEN
    LPOS.
    ENDIF.
    ENDFORM.
    FORM WRITE_BIGFIELD USING VALUE(FIELD) TYPE C
    VALUE(LEN)
    VALUE(POS).
    FIELD-SYMBOLS <P>.
    DATA: CHUNK TYPE I.
    WHILE LEN > 0.
    IF LEN > 255.
    CHUNK = 255.
    ELSE.
    CHUNK = LEN.
    ENDIF.
    WRITE AT POS FIELD(CHUNK) NO-GAP.
    ADD CHUNK TO POS.
    LEN = LEN - CHUNK.
    IF LEN > 0.
    FIELD = FIELD+CHUNK.
    ENDIF.
    ENDWHILE.
    ENDFORM.
    FORM SPOOLDATA_WRITE_INIT.
    DATA: BEGIN OF ESCAPE_TRICK
    , X1(1) TYPE X
    , END OF ESCAPE_TRICK
    FIELD-SYMBOLS: <LDATA>
    , <PLAIN_TEXT>
    , <PRTCTRL>
    ESCAPE_TRICK-X1 = '1C'.
    SPOC-PRTCTRL_START = ESCAPE_TRICK.
    SPOC-PRTCTRL_START_LENGTH = 1.
    SPOC-PRTCTRL_TOTAL_LENGTH = SPOC-PRTCTRL_START_LENGTH + 5.
    ASSIGN SPOC-PRTCTRL_START(SPOC-PRTCTRL_START_LENGTH) TO <SPOC_PRTCTRL>.
    ESCAPE_TRICK-X1 = '1B'.
    SPOC-FRAME_START = ESCAPE_TRICK.
    SPOC-FRAME_START_LENGTH = 1.
    ASSIGN SPOC-FRAME_START(SPOC-FRAME_START_LENGTH) TO <SPOC_FRAME>.
    ESCAPE_TRICK-X1 = '1B'.
    SPOC-ICON_START = ESCAPE_TRICK.
    SPOC-ICON_START+1 = ','.
    SPOC-ICON_START_LENGTH = 2.
    ASSIGN SPOC-ICON_START(SPOC-ICON_START_LENGTH) TO <SPOC_ICON>.
    ESCAPE_TRICK-X1 = '1B'.
    SPOC-SYMBOL_LOW_START = ESCAPE_TRICK.
    SPOC-SYMBOL_LOW_START+1 = '('.
    SPOC-SYMBOL_HGH_START = ESCAPE_TRICK.
    SPOC-SYMBOL_HGH_START+1 = ')'.
    SPOC-SYMBOL_START_LENGTH = 2.
    ASSIGN SPOC-SYMBOL_LOW_START(SPOC-SYMBOL_START_LENGTH)
    TO <SPOC_SYMBOL_LOW>.
    ASSIGN SPOC-SYMBOL_HGH_START(SPOC-SYMBOL_START_LENGTH)
    TO <SPOC_SYMBOL_HGH>.
    SPOC-FIRST_BYTES+0(1) = SPOC-PRTCTRL_START(1).
    SPOC-FIRST_BYTES+1(1) = SPOC-FRAME_START(1).
    SPOC-FIRST_BYTES+2(1) = SPOC-ICON_START(1).
    SPOC-FIRST_BYTES+3(1) = SPOC-SYMBOL_LOW_START(1).
    ENDFORM.

  • Merge Different Spools containing a Single PDF page into a Single PDF file.

    Greetings,
    I am developing a custom object where in i need to read PDF file from many different Spools(Range given on Input Screen), where each spool has a single PDF page in it. I need to combine all these PDF Pages into a single PDF file & either create a new Spool or save it on an Application Server.
    At present i have developed the code where in i am able to read the PDF files from different spools & convert them into Binary but i am not able to generate it back to PDF file.
    Kindly find my code for your reference.
    CODE:-
    START-OF-SELECTION.
      PERFORM f_get_spool_1000 .
      PERFORM g_conv_pdf_to_bin_2000 .
    *&      Form  F_GET_SPOOL_1000
          text
    FORM f_get_spool_1000 .
      SELECT * FROM tsp01
               INTO TABLE gt_tsp01
               WHERE rqident IN s_spool
               ORDER BY rqcretime DESCENDING.
      IF sy-subrc = 0.
        SORT gt_tsp01 BY rqident .
      ENDIF.
    ENDFORM.
    *&      Form  G_CONV_PDF_TO_OTF_2000
          text
    DATA: lv_filename_out   TYPE string,
                lv_len            TYPE i,
                lt_tab            TYPE tsfixml .
      DATA: lwa_print_parms    LIKE pri_params,
                  lv_valid(1)       TYPE c .
      DATA: lv_linsz LIKE sy-linsz VALUE 132, " Line size
                  lv_paart LIKE sy-paart VALUE 'X_65_132'.  " Paper Format
      DATA : lt_tsp01 TYPE STANDARD TABLE OF tsp01 ,
                   lwa_tsp01 TYPE tsp01 .
      CLEAR : gv_pdf, gwa_tsp01, gv_renderpagecount .
      LOOP AT gt_tsp01 INTO gwa_tsp01.
        CALL FUNCTION 'FPCOMP_CREATE_PDF_FROM_SPOOL'
          EXPORTING
            i_spoolid         = gwa_tsp01-rqident
            i_partnum         = 1
          IMPORTING
            e_pdf             = gv_pdf
            e_renderpagecount = gv_renderpagecount
            e_pdf_file        = gv_pdf_file
          EXCEPTIONS
            ads_error         = 1
            usage_error       = 2
            system_error      = 3
            internal_error    = 4
            OTHERS            = 5.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        CLEAR lv_len .
        REFRESH gt_bin .
        CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
          EXPORTING
            buffer        = gv_pdf
          IMPORTING
            output_length = lv_len
          TABLES
            binary_tab    = gt_bin.
        CLEAR gwa_bin .
        LOOP AT gt_bin INTO gwa_bin.
          APPEND gwa_bin TO gt_listout.
          CLEAR gwa_bin .
        ENDLOOP.
      ENDLOOP.
    Get FP reference
      DATA: lo_fp     TYPE REF TO if_fp VALUE IS INITIAL,
            lo_pdfobj TYPE REF TO if_fp_pdf_object VALUE IS INITIAL,
            lo_exc    TYPE REF TO cx_root,
            lv_xslt_message TYPE string .
      lo_fp = cl_fp=>get_reference( ).
    For handling exceptions
      DATA: lo_fpex TYPE REF TO cx_fp_runtime VALUE IS INITIAL.
      TRY.
          lo_pdfobj = lo_fp->create_pdf_object( connection = 'ADS' ).
      Set document
          lo_pdfobj->set_document(
            EXPORTING
              pdfdata = gt_listout ).
      Tell PDF object to extract data
          lo_pdfobj->set_extractdata( ).
      Execute the call to ADS
          lo_pdfobj->execute( ).
        CATCH cx_root INTO lo_exc.
          lv_xslt_message = lo_exc->get_text( ).
      ENDTRY.
    Your quick reply would be of great help.
    Regards.

    Thank Your for your concern, there are many replies & posts but all of them points only to Try what they have said. As being said that trying to convert PDF to binary & appending many PDF similarly would not let you generate a single PDF again.
    Your Kind guidance would be really appreciable.
    Regards.

  • Regarding reading the data from spool

    Hi Experts,
    How can i read the data from spool?
    I need to read the data from the spool and should display on the screen?
    Is there any FM to read the data from spool?
    Sruthi.

    hi please use this..
    CALL FUNCTION 'RSPO_RETURN_ABAP_SPOOLJOB'
        EXPORTING
          rqident              = v_spool
        TABLES
          buffer               = it_spool
        EXCEPTIONS
          no_such_job          = 1
          not_abap_list        = 2
          job_contains_no_data = 3
          selection_empty      = 4
          no_permission        = 5
          can_not_access       = 6
          read_error           = 7

  • Data in spool file does not match output.

    This is a strange issue, and I'm not even sure it's a problem in SAP, but I don't know where else to ask and haven't found anything like it online:
    We create pick lists on dot matrix printers.  Occasionally, the output is missing a digit or character - for example in the middle of the delivery number.  If delivery number is 81234567, the dot matrix output might be 8123467.  The SAP spool file is not missing any data.  And the paper dot matrix output is never skewed nor looks like it has jammed or "hiccuped".  There is no space where the missing piece of data should be - it's all run together nice and neat.  It occurs on different bits of data (sometimes, delivery#, name, batch, etc.), and it occurs on different printers at different sites.  So far, it has always been only one digit or character missing every time it occurs.  Reprint from the spool and it comes out fine.
    So, SAP data is correct, and it occurs on different printers.  Maybe it's a network issue?  A printer buffer issue - but it happens on two different units, and that would be a weird coincidence.  I really have no ides.  Has anyone ever experienced anything like this?
    Thanks,
    Anke

    Hello -
    Difficult to answer accurately here as no access to spool data on the affected system and exact methods used. But, perhaps if you can print the RAW (OTF) data to a fileprinter and send that as a .txt file to the printer hardware vendor they could investigate why certain characters do not print.
    Regards.

  • SQL Buffer character limit too small.

    I am attempting to execute an .SQL script file using the SQLPlus.exe command line. The script is a simple INSERT statement and executes fine as long as the text being inserted is english. But when the text is translated to either Traditional or Simplified Chinese the script generates the following error:
    SP2-0341: line overflow during variable substitution (>3000 characters at line 2)
    Some background information:
    1. The database was created with the National Character Set of AL16UTF16 and the Database Character Set of AL32UTF8.
    2. The data types for the columns being populated are NVARCHAR2 and NCLOB.
    3. SQLPlus command line syntax: SQLPLUS.EXE -MARKUP "HTML ON SPOOL ON" UID/PWD@DBNAME @CREATE-5-CHINESE1.sql > CREATE-5-CHINESE1.HTML
    4. Environment variable setting: NLS_LANG=.UTF8
    5. Contents of CREATE-5-CHINESE1.SQL:
    WHENEVER SQLERROR EXIT SQL.SQLCODE
    SET DEFINE OFF
    SET ECHO ON;
    SET ESCAPE ON;
    CLEAR BUFFER
    INSERT INTO tbl_lm_notification_nls (col_id_notification, col_id_language, col_name_notification, col_subject, col_text) VALUES (1001, 5, '&#40664;&#35748;&#27979;&#35780;&#32773;&#36992;&#35831;', '%s - &#20320;&#34987;&#36873;&#25321;&#21442;&#19982;', '&#65279;&#20320;&#24050;&#32463;&#34987;&#36873;&#25321;&#21442;&#21152;360&#24230;&#21453;&#39304;&#35843;&#26597;&#65292;&#26412;&#35843;&#26597;&#20351;&#29992;&#19968;&#31181;&#31216;&#20026; xxxxxxxxxxxxxxxxx(R) &#30340;&#32593;&#32476;&#21453;&#39304;&#24037;&#20855;&#26469;&#25910;&#38598;&#23545;&#20154;&#20204;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#30340;&#35266;&#23519;&#20449;&#24687;&#12290; \
    &#20320;&#35201;&#23436;&#25104;&#30340;&#35843;&#26597;&#23558;&#35201;&#27714;&#20320;&#23545;&#33258;&#24049;&#22312;&#19968;&#20123;&#19982;&#24037;&#20316;&#30456;&#20851;&#30340;&#25216;&#33021;&#12289;&#34892;&#20026;&#21644;&#30693;&#35782;&#31561;&#26041;&#38754;&#36827;&#34892;&#35780;&#20272;&#12290; &#20320;&#36824;&#23558;&#36992;&#35831;&#19982;&#20320;&#30340;&#24037;&#20316;&#26377;&#20851;&#30340;&#20154;&#20204;&#23436;&#25104;&#35843;&#26597;&#12290; &#36825;&#20123;&#27979;&#35780;&#32773;&#21487;&#20197;&#21253;&#25324;&#20320;&#30340;&#32463;&#29702;&#12289;&#21516;&#32423;&#20154;&#21592;&#12289;&#30452;&#25509;&#19979;&#23646;&#12289;&#23458;&#25143;&#21450;&#20854;&#20182;&#20154;&#12290; &#35780;&#20272;&#20449;&#24687;&#30340;&#36136;&#37327;&#21644;&#20934;&#30830;&#24615;&#35201;&#20381;&#36182;&#20110;&#20320;&#21644;&#20320;&#30340;&#27979;&#35780;&#32773;&#20204;&#35802;&#23454;&#22320;&#25552;&#20379;&#21453;&#39304;&#12290;\
    A&#25552;&#20132;&#35843;&#26597;&#31572;&#26696;&#20043;&#21518;&#65292;xxxxxxxxxxxxxxxxx &#23558;&#35745;&#31639;&#32467;&#26524;&#24182;&#20135;&#29983;&#25253;&#21578;&#12290; &#25253;&#21578;&#23558;&#25226;&#20320;&#30340;&#33258;&#25105;&#30475;&#27861;&#19982;&#27979;&#35780;&#32773;&#23545;&#20320;&#30340;&#30475;&#27861;&#30456;&#27604;&#36739;&#12290; &#36825;&#20010;&#27604;&#36739;&#21487;&#20197;&#25351;&#20986;&#20808;&#21069;&#26410;&#30693;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#65292;&#36824;&#23558;&#21327;&#21161;&#30830;&#35748;&#20320;&#21644;&#20182;&#20154;&#26377;&#19968;&#33268;&#30475;&#27861;&#30340;&#39046;&#22495;&#12290;\
    &#25253;&#21578;&#20013;&#30340;&#20449;&#24687;&#23558;&#21327;&#21161;&#20320;&#22238;&#31572;&#20004;&#20010;&#37325;&#35201;&#38382;&#39064;&#65306;\
    o &#20320;&#26368;&#24378;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    o &#20320;&#26368;&#38656;&#35201;&#21457;&#23637;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    &#20102;&#35299;&#20320;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#23558;&#21327;&#21161;&#20320;&#21644;&#20320;&#30340;&#32452;&#32455;&#35782;&#21035;&#36866;&#24403;&#30340;&#21457;&#23637;&#27963;&#21160;&#21644;&#20320;&#30340;&#26410;&#26469;&#25104;&#38271;&#35745;&#21010;&#12290;\
    COMMIT;
    EXIT SQL.SQLCODE;
    6. Contents of CREATE-5-CHINESE.HTML (command output):
    SQL*Plus: Release 10.1.0.2.0 - Production on Wed Oct 19 11:02:58 2005
    Copyright (c) 1982, 2004, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining options
    SQL> SET ESCAPE ON;
    SQL> /
    SP2-0103: Nothing in SQL buffer to run.
    SQL> CLEAR BUFFER
    SQL> INSERT INTO tbl_lm_notification_nls (col_id_notification, col_id_language, col_name_notification, col_subject, col_text) VALUES (1001, 5, '&#40664;&#35748;&#27979;&#35780;&#32773;&#36992;&#35831;', '%s - &#20320;&#34987;&#36873;&#25321;&#21442;&#19982;', '&#65279;&#20320;&#24050;&#32463;&#34987;&#36873;&#25321;&#21442;&#21152;360&#24230;&#21453;&#39304;&#35843;&#26597;&#65292;&#26412;&#35843;&#26597;&#20351;&#29992;&#19968;&#31181;&#31216;&#20026; xxxxxxxxxxxxxxxxx(R) &#30340;&#32593;&#32476;&#21453;&#39304;&#24037;&#20855;&#26469;&#25910;&#38598;&#23545;&#20154;&#20204;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#30340;&#35266;&#23519;&#20449;&#24687;&#12290; \
    2 \
    3 &#20320;&#35201;&#23436;&#25104;&#30340;&#35843;&#26597;&#23558;&#35201;&#27714;&#20320;&#23545;&#33258;&#24049;&#22312;&#19968;&#20123;&#19982;&#24037;&#20316;&#30456;&#20851;&#30340;&#25216;&#33021;&#12289;&#34892;&#20026;&#21644;&#30693;&#35782;&#31561;&#26041;&#38754;&#36827;&#34892;&#35780;&#20272;&#12290; &#20320;&#36824;&#23558;&#36992;&#35831;&#19982;&#20320;&#30340;&#24037;&#20316;&#26377;&#20851;&#30340;&#20154;&#20204;&#23436;&#25104;&#35843;&#26597;&#12290; &#36825;&#20123;&#27979;&#35780;&#32773;&#21487;&#20197;&#21253;&#25324;&#20320;&#30340;&#32463;&#29702;&#12289;&#21516;&#32423;&#20154;&#21592;&#12289;&#30452;&#25509;&#19979;&#23646;&#12289;&#23458;&#25143;&#21450;&#20854;&#20182;&#20154;&#12290; &#35780;&#20272;&#20449;&#24687;&#30340;&#36136;&#37327;&#21644;&#20934;&#30830;&#24615;&#35201;&#20381;&#36182;&#20110;&#20320;&#21644;&#20320;&#30340;&#27979;&#35780;&#32773;&#20204;&#35802;&#23454;&#22320;&#25552;&#20379;&#21453;&#39304;&#12290;\
    4 \
    5 A&#25552;&#20132;&#35843;&#26597;&#31572;&#26696;&#20043;&#21518;&#65292;xxxxxxxxxxxxxxxxx &#23558;&#35745;&#31639;&#32467;&#26524;&#24182;&#20135;&#29983;&#25253;&#21578;&#12290; &#25253;&#21578;&#23558;&#25226;&#20320;&#30340;&#33258;&#25105;&#30475;&#27861;&#19982;&#27979;&#35780;&#32773;&#23545;&#20320;&#30340;&#30475;&#27861;&#30456;&#27604;&#36739;&#12290; &#36825;&#20010;&#27604;&#36739;&#21487;&#20197;&#25351;&#20986;&#20808;&#21069;&#26410;&#30693;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#65292;&#36824;&#23558;&#21327;&#21161;&#30830;&#35748;&#20320;&#21644;&#20182;&#20154;&#26377;&#19968;&#33268;&#30475;&#27861;&#30340;&#39046;&#22495;&#12290;\
    6 \
    7 &#25253;&#21578;&#20013;&#30340;&#20449;&#24687;&#23558;&#21327;&#21161;&#20320;&#22238;&#31572;&#20004;&#20010;&#37325;&#35201;&#38382;&#39064;&#65306;\
    8 \
    9 o &#20320;&#26368;&#24378;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    10 o &#20320;&#26368;&#38656;&#35201;&#21457;&#23637;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    11 \
    12 &#20102;&#35299;&#20320;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#23558;&#21327;&#21161;&#20320;&#21644;&#20320;&#30340;&#32452;&#32455;&#35782;&#21035;&#36866;&#24403;&#30340;&#21457;&#23637;&#27963;&#21160;&#21644;&#20320;&#30340;&#26410;&#26469;&#25104;&#38271;&#35745;&#21010;&#12290;\
    13 \
    14 ');
    SP2-0341: line overflow during variable substitution (>3000 characters at line 2)
    SQL> /
    SP2-0341: line overflow during variable substitution (>3000 characters at line 2)
    SQL> COMMIT;
    Commit complete.
    SQL> EXIT SQL.SQLCODE;
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining options
    I believe that increasing the size of SQL Buffer may fix the problem, but I am unsure of how to do this or if it is even possible.
    Thanks in advance for any information that you can provide.
    Mike Z.

    I'm not suggesting this is your problem, but
    select status
    into v_status,
    from registration_offender_xref But you have declared
          v_status  varchar2(10);Much better to declare things like this
          v_status  registration_offender_xref.status%type;That way you know your variable is declared with a proper length, if the column length ever changes ... your code doesn't go kaboom.
    Cheers,

Maybe you are looking for