Exclude spool requests from program RSPO0041

Hi
We have a request to keep the spools and logs for certain jobs. If we set the Spool Retention period to 'Do not Delete' in the Print Specifications of the job (via SM37) would this mean that these spools will not be deleted when the SAP_REORG_SPOOL  (Program RSPO0041) job is run?
Thanks

Hi,
Welcome to SDN
Note 64333 - Change default value for spool retention period
FYI , even though you select DO NOT DELETE  this it will delete the spool if JOB RSPO* runs .
May refer this inetresting thread
How to set the spool retention period till 30 days(Printer Properties).
running RSPO1041 can help , more selection options are available.
Regards,
Edited by: Gagan Deep Kaushal on Nov 9, 2010 10:45 PM

Similar Messages

  • Restrict people to see only spool requests from one group of users

    I would like to restrict people to see only spool requests from one group of users defined somewhere inside role.
    I am playing with S_SPO_ACT authorisation object but with no positive result,
    Please help

    There is a note  Note 119147 - Spool: Authorizations (https://service.sap.com/sap/support/notes/119147)
    Object for "Selection authorization for spool requests" is S_ADMI_FC where "Operation authorization" use S_SPO_ACT
    Regards

  • Generate spool request from an invoice

    Hi,
    I'd like to know is there any function module to generate an spool request from an invoice document generate previously by VF01 (VF04) SAP transaction code.
    I'd like to generate on demand a spool request over an invoice previously generated by SAP
    Anyone knows if it is possible?
    Thanks

    The billing process included the spool generation runs perfectly by stantard SAP funciontality.
    But I'd like to generate a spool request whenever I want for an invoice previously generated and printed.
    You know that for space requirements the spool request are deleted periodically, but I want to generate a spool request for an invoice, which spool request was generated and deleted. This behaviouir is reclaimed for a system process so, it's not possible to regenerated the spool request using the funcionality incluided in SAP by VF02, VF31 transactions code.
    I need a function module or something like that, so import and invoice document number and export and spool request.
    Thanks in advance,

  • How to know spool requests from other program?

    Hi,
    I have requirement like: one standard program will be scheduled in the background, so corresponding spool requests will generated.
    I need to write a program, which will capture the spool requests of the standard program.
    is there any function module/table available for this requirement? we need to give  spool title, date and time as input parameters to that function module.
    please help me

    Hi,
    try these Function Modules....
    RSPO_IDELETE_SPOOLREQ
    RSPO_IGET_TOC_SPOOLREQ
    RSPO_IMAP_PAGES_SPOOLREQ
    RSPO_ISELECT_SPOOLREQS
    RSPO_RCHANGE_SPOOLREQ_ATTR
    RSPO_RDISPLAY_SPOOLREQ
    RSPO_RDISPLAY_SPOOLREQ_LIST
    RSPO_RID_SPOOLREQ_ATTR
    RSPO_RID_SPOOLREQ_DISP
    RSPO_RID_SPOOLREQ_LIST         List Display for Spool Requests with ID
    RSPO_RISELECT_SPOOLREQS
    RSPO_RLIST_DELETE_SPOOLREQ
    RSPO_RPRINT_SPOOLREQ
    RSPO_RSPOOLREQ_LIST_TO_VIEW
    RSPO_RSPOOLREQ_TO_VIEW
    RSPO_RSTATUS_FOR_SPOOLREQ
    Arunima

  • Link between spool request & abap program

    Hi all,
    I m looking for the link table between a spool request and the corresponding job and abap program.
    I want to select all spool requests generated via een job via een abap program.
    Some suggestions?
    Thanks in advance,

    Hi,
    Spool request is a document for which a print function has been selected. However, it has not yet been output to a printer or another device. The output data for the print document is stored partly formatted in a data store until an output request is created, that is, until it is sent to a particular output device.
    The spool system uses a spool request to store the print data temporarily and to access it. The data is stored in a temporary format. You can also display the print document. The system automatically assigns a 10-digit ID number to a spool request.
    Spool requests can be viewed via tcode SP01, the number will be there, programatiically it is sometimes populated in the system field SY-SPONO.
    It will take input parameters through the selection screen variants and process the code normally as foreground when we are writing the output to list it will generate the spool.
    Reward Points if found helpfull..
    Cheers,
    Chandra Sekhar.

  • Process Spool Request from RFC

    We are creating an Output in a Delivery with a bapi from a Remote system. The Output is created successfully, but do you have any ideas how to print this output from a remote device?
    Is there a RFC to convert this into PDF? If so, how do we process this.
    I appreciate any help.
    Thanks -

    Hello Brijo
    Maybe this can help you?
    Create Spool Request Number for Smartform?
    Best regards
    Thomas

  • Spool request from FM  REUSE_ALV_GRID_DISPLAY

    Hi all,
    How to create a spool request for an ALV report by using the FM  "REUSE_ALV_GRID_DISPLAY". is it possible to create the spool request with this FM's parameter IS_PRINT. Please give some hint if it is possible.
    Thanks in advance,
    etienne.

    Hi,
    Please go through the beloe code
    DATA: wa_print TYPE slis_print_alv.
    wa_print-print = 'X'.
    pass  wa_print to Is_print in the exporting paramters list of Function module Reuse_alv_grid_display.
    and then go to tcode SP01.. to check the spool request.. and click on spool request to see the ALV output..
    hope this will help you..
    Regards,
    Kiran

  • Create spool number from the report program

    Hello,
    I want to know the function module to create the spool request from report program, through which I can write the content of the internal table to spool.
    Thanks,
    Lucky

    Hi Lucky ,
    you will have to use 3 function modules in sucession to create a spool request as follows :
    JOB_OPEN
    JOB_SUBMIT
    JOB_CLOSE
    In case of any problem please get back to me.
    Regards,
    Nikhil

  • How to get data from OTF spool request number

    Hi all,
            How to get OTF Data from the spool request number (OTF)?
            How to create spool request from the OTF Data?
    Regards,
    Sunil Kumar

    Hi,
    Check this links:
    http://www.sapdev.co.uk/reporting/rep_spooltopdf.htm
    Sending Mail from SAP
    https://wiki.sdn.sap.com/wiki/display/sandbox/SendMailwithPDFAttachment?showChildren=false#children

  • Simple Request - How Do I Print a Spool Request in 3.1i?

    Here is the scenario:
        I have created an FI Misc Credit Memo for a customer who wants a hard copy of the document. Using transaction code FB12, I generate a correspondence. Then using transaction code F.64, I attempt to print the document. This generates a spool request with a number like 86,007.
    From there I go to system>services>output control which takes me to the spool request screen. From there, I am missing the next step.
    This screen has fields for:
    Spool request number (attempted number given when spool request was generated - 86,007, field only fits 5 characters so comma has been excluded)
    Spool request name ( I think this is my problem as I have no idea where to find this)
    User name (field is populated)
    From date  (field is populated)
    Client  (field is populated)
    Output device (have entered desired printer name)
    Format (usually self-populates once a successful print request is entered)
    Title (unnecessary field I believe)
    Recipient (unnecessary field)
    Department (unnecessary field)
    No one on our staff has been able to help me with this issue so I've turned to the community. I am an end user (Tax Analyst) who possesses little technical knowledge. My apologies. Thank you in advance for any help given!

    Hello,
    remove values from all the fields in the selection screen and enter only your spool number. The Execute wiht 'F8' and if the spool request is found, with the "printer" push-button you can print it.
    Best regards,
    Andrea

  • Convert Spool request to PDF and send as e-mail

    Hi all,
    Can any one please provide me a  sample code for converting spool request to pdf?
    Thanks in advance,
    Suneela.

    HI,
    Try this
    Hi all,
    Can any one please provide me a  sample code for converting spool request to pdf?
    *& Report  ZSPOOLTOPDF                                                 *
    *& Converts spool request into PDF document and emails it to           *
    *& recipicant.                                                         *
    *& Execution                                                           *
    *& This program must be run as a background job in-order for the write *
    *& commands to create a Spool request rather than be displayed on      *
    *& screen                                                              *
    REPORT  zspooltopdf.
    PARAMETER: p_email1 LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_sender LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_delspl  AS CHECKBOX.
    *DATA DECLARATION
    DATA: gd_recsize TYPE i.
    Spool IDs
    TYPES: BEGIN OF t_tbtcp.
            INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
          wa_tbtcp TYPE t_tbtcp.
    Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
          gd_eventparm LIKE tbtcm-eventparm,
          gd_external_program_active LIKE tbtcm-xpgactive,
          gd_jobcount LIKE tbtcm-jobcount,
          gd_jobname LIKE tbtcm-jobname,
          gd_stepcount LIKE tbtcm-stepcount,
          gd_error    TYPE sy-subrc,
          gd_reciever TYPE sy-subrc.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
          it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_sender_type     LIKE soextreci1-adr_typ,
          gd_attachment_desc TYPE so_obj_nam,
          gd_attachment_name TYPE so_obj_des.
    Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
          gd_destination LIKE rlgrap-filename,
          gd_bytecount LIKE tst01-dsize,
          gd_buffer TYPE string.
    Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
            INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
               c_no(1)     TYPE c   VALUE ' ',
               c_device(4) TYPE c   VALUE 'LOCL'.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    Write statement to represent report output. Spool request is created
    if write statement is executed in background. This could also be an
    ALV grid which would be converted to PDF without any extra effort
      WRITE 'Hello World'.
      new-page.
      commit work.
      new-page print off.
      IF sy-batch EQ 'X'.
        PERFORM get_job_details.
        PERFORM obtain_spool_id.
    Alternative way could be to submit another program and store spool
    id into memory, will be stored in sy-spono.
    *submit ZSPOOLTOPDF2
           to sap-spool
           spool parameters   %_print
           archive parameters %_print
           without spool dynpro
           and return.
    Get spool id from program called above
    IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
        PERFORM convert_spool_to_pdf.
        PERFORM process_email.
        if p_delspl EQ 'X'.
          PERFORM delete_spool.
        endif.
        IF sy-sysid = c_dev.
          wait up to 5 seconds.
          SUBMIT rsconn01 WITH mode   = 'INT'
                          WITH output = 'X'
                          AND RETURN.
        ENDIF.
      ELSE.
        SKIP.
        WRITE:/ 'Program must be executed in background in-order for spool',
                'request to be created.'.
      ENDIF.
          FORM obtain_spool_id                                          *
    FORM obtain_spool_id.
      CHECK NOT ( gd_jobname IS INITIAL ).
      CHECK NOT ( gd_jobcount IS INITIAL ).
      SELECT * FROM  tbtcp
                     INTO TABLE it_tbtcp
                     WHERE      jobname     = gd_jobname
                     AND        jobcount    = gd_jobcount
                     AND        stepcount   = gd_stepcount
                     AND        listident   <> '0000000000'
                     ORDER BY   jobname
                                jobcount
                                stepcount.
      READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
      IF sy-subrc = 0.
        message s004(zdd) with gd_spool_nr.
        gd_spool_nr = wa_tbtcp-listident.
        MESSAGE s004(zdd) WITH gd_spool_nr.
      ELSE.
        MESSAGE s005(zdd).
      ENDIF.
    ENDFORM.
          FORM get_job_details                                          *
    FORM get_job_details.
    Get current job details
      CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
           IMPORTING
                eventid                 = gd_eventid
                eventparm               = gd_eventparm
                external_program_active = gd_external_program_active
                jobcount                = gd_jobcount
                jobname                 = gd_jobname
                stepcount               = gd_stepcount
           EXCEPTIONS
                no_runtime_info         = 1
                OTHERS                  = 2.
    ENDFORM.
          FORM convert_spool_to_pdf                                     *
    FORM convert_spool_to_pdf.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
           EXPORTING
                src_spoolid              = gd_spool_nr
                no_dialog                = c_no
                dst_device               = c_device
           IMPORTING
                pdf_bytecount            = gd_bytecount
           TABLES
                pdf                      = it_pdf_output
           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.
      CHECK sy-subrc = 0.
    Transfer the 132-long strings to 255-long strings
      LOOP AT it_pdf_output.
        TRANSLATE it_pdf_output USING ' ~'.
        CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
      ENDLOOP.
      TRANSLATE gd_buffer USING '~ '.
      DO.
        it_mess_att = gd_buffer.
        APPEND it_mess_att.
        SHIFT gd_buffer LEFT BY 255 PLACES.
        IF gd_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    ENDFORM.
          FORM process_email                                            *
    FORM process_email.
      DESCRIBE TABLE it_mess_att LINES gd_recsize.
      CHECK gd_recsize > 0.
      PERFORM send_email USING p_email1.
    perform send_email using p_email2.
    ENDFORM.
          FORM send_email                                               *
    -->  p_email                                                       *
    FORM send_email USING p_email.
      CHECK NOT ( p_email IS INITIAL ).
      REFRESH it_mess_bod.
    Default subject matter
      gd_subject         = 'Subject'.
      gd_attachment_desc = 'Attachname'.
    CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
      it_mess_bod        = 'Message Body text, line 1'.
      APPEND it_mess_bod.
      it_mess_bod        = 'Message Body text, line 2...'.
      APPEND it_mess_bod.
    If no sender specified - default blank
      IF p_sender EQ space.
        gd_sender_type  = space.
      ELSE.
        gd_sender_type  = 'INT'.
      ENDIF.
    Send file by email as .xls speadsheet
      PERFORM send_file_as_email_attachment
                                   tables it_mess_bod
                                          it_mess_att
                                    using p_email
                                          'Example .xls documnet attachment'
                                          'PDF'
                                          gd_attachment_name
                                          gd_attachment_desc
                                          p_sender
                                          gd_sender_type
                                 changing gd_error
                                          gd_reciever.
    ENDFORM.
          FORM delete_spool                                             *
    FORM delete_spool.
      DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
      ld_spool_nr = gd_spool_nr.
      CHECK p_delspl <> c_no.
      CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
           EXPORTING
                spoolid = ld_spool_nr.
    ENDFORM.
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
          Send email
    FORM send_file_as_email_attachment tables it_message
                                              it_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      DATA: ld_error    TYPE sy-subrc,
            ld_reciever TYPE sy-subrc,
            ld_mtitle LIKE sodocchgi1-obj_descr,
            ld_email LIKE  somlreci1-receiver,
            ld_format TYPE  so_obj_tp ,
            ld_attdescription TYPE  so_obj_nam ,
            ld_attfilename TYPE  so_obj_des ,
            ld_sender_address LIKE  soextreci1-receiver,
            ld_sender_address_type LIKE  soextreci1-adr_typ,
            ld_receiver LIKE  sy-subrc.
    data:   t_packing_list like sopcklsti1 occurs 0 with header line,
            t_contents like solisti1 occurs 0 with header line,
            t_receivers like somlreci1 occurs 0 with header line,
            t_attachment like solisti1 occurs 0 with header line,
            t_object_header like solisti1 occurs 0 with header line,
            w_cnt type i,
            w_sent_all(1) type c,
            w_doc_data like sodocchgi1.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = it_attach[].
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
           EXPORTING
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           IMPORTING
                sent_to_all                = w_sent_all
           TABLES
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_receivers
           EXCEPTIONS
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                OTHERS                     = 8.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.
    Reward points if found helpfull....
    Venkoji.

  • Mass printing of spool requests

    Hi,
    Is it possible to program the triggering of the printing of a PDF document contained in a spool request ? ( the goal is to have the possibility for mass printing )
    thanks,
    Rolf

    Hi rolf here is the program to convert to PDF and mail it .
    *& Report  ZSPOOLTOPDFT                                             *
    *& Converts spool request into PDF document and emails it to           *
    *& recipicant.                                                         *
    *& Execution                                                           *
    *& This program can be run in background or online and a spool request *
    *& will still be created                                               *
    report  zspooltopdft                            .
    parameter: p_email1 like somlreci1-receiver
                                        default 'sandeep2jinnagmailcom',
               p_delspl  as checkbox,
               p_online no-display.
    *DATA DECLARATION
    data: gd_recsize type i.
    Spool IDs
    types: begin of t_tbtcp.
            include structure tbtcp.
    types: end of t_tbtcp.
    data: it_tbtcp type standard table of t_tbtcp initial size 0,
          wa_tbtcp type t_tbtcp.
    Job Runtime Parameters
    data: gd_eventid like tbtcm-eventid,
          gd_eventparm like tbtcm-eventparm,
          gd_external_program_active like tbtcm-xpgactive,
          gd_jobcount like tbtcm-jobcount,
          gd_jobname like tbtcm-jobname,
          gd_stepcount like tbtcm-stepcount,
          gd_error    type sy-subrc,
          gd_reciever type sy-subrc.
    data:  w_recsize type i,
           w_spool_nr like sy-spono.
          %_print LIKE pri_params.
    data: gd_subject   like sodocchgi1-obj_descr,
          it_mess_bod like solisti1 occurs 0 with header line,
          it_mess_att like solisti1 occurs 0 with header line,
          gd_sender_type     like soextreci1-adr_typ,
          gd_attachment_desc type so_obj_nam,
          gd_attachment_name type so_obj_des.
    Spool to PDF conversions
    data: gd_spool_nr like tsp01-rqident,
          gd_destination like rlgrap-filename,
          gd_bytecount like tst01-dsize,
          gd_buffer type string.
    Binary store for PDF
    data: begin of it_pdf_output occurs 0.
            include structure tline.
    data: end of it_pdf_output.
    constants: c_dev like  sy-sysid value 'DEV',
               c_no(1)     type c   value ' ',
               c_device(4) type c   value 'LOCL'.
    *START-OF-SELECTION.
    start-of-selection.
    Write statement to represent report output. Spool request is created
    if write statement is executed in background. This could also be an
    ALV grid which would be converted to PDF without any extra effort
      write 'Hello World'.
      new-page.
      commit work.
      new-page print off.
      if p_online = 'X'.
      Processing performed when program calls itself when run online
        gd_spool_nr = sy-spono.
        export gd_spool_nr to memory id 'SPOOLTOPDF'.
        exit.
      endif.
      if sy-batch eq 'X'.
        perform get_job_details.
        perform obtain_spool_id.
      else.
        gd_spool_nr = sy-spono.
    If executed online, it submits a program to perform the write statements
    instructing it to create a spool request, this could be another program
    which just performs the write statements and then exports sy-spono
    to memory. But in this example it calls itself passing X to parameter
    p_online, which takes it down an alternative procesing path.
        submit zspooltopdf2
               with p_online = 'X'
               to sap-spool
               spool parameters   %_print
              archive parameters %_print
               without spool dynpro
               and return.
      endif.
    Get spool id from program called above
      import gd_spool_nr from memory id 'SPOOLTOPDF'.
      perform convert_spool_to_pdf.
      perform process_email.
      if p_delspl eq 'X'.
        perform delete_spool.
      endif.
      if sy-sysid = c_dev.
        wait up to 5 seconds.
        submit rsconn01 with mode   = 'INT'
                        with output = 'X'
                        and return.
      endif.
          FORM obtain_spool_id                                          *
    form obtain_spool_id.
      check not ( gd_jobname is initial ).
      check not ( gd_jobcount is initial ).
      select * from  tbtcp
                     into table it_tbtcp
                     where      jobname     = gd_jobname
                     and        jobcount    = gd_jobcount
                     and        stepcount   = gd_stepcount
                     and        listident   <> '0000000000'
                     order by   jobname
                                jobcount
                                stepcount.
      read table it_tbtcp into wa_tbtcp index 1.
      if sy-subrc = 0.
        message s004(zdd) with gd_spool_nr.
        gd_spool_nr = wa_tbtcp-listident.
        message s004(zdd) with gd_spool_nr.
      else.
        message s005(zdd).
      endif.
    endform.
          FORM get_job_details                                          *
    form get_job_details.
    Get current job details
      call function 'GET_JOB_RUNTIME_INFO'
           importing
                eventid                 = gd_eventid
                eventparm               = gd_eventparm
                external_program_active = gd_external_program_active
                jobcount                = gd_jobcount
                jobname                 = gd_jobname
                stepcount               = gd_stepcount
           exceptions
                no_runtime_info         = 1
                others                  = 2.
    endform.
          FORM convert_spool_to_pdf                                     *
    form convert_spool_to_pdf.
      call function 'CONVERT_ABAPSPOOLJOB_2_PDF'
           exporting
                src_spoolid              = gd_spool_nr
                no_dialog                = c_no
                dst_device               = c_device
           importing
                pdf_bytecount            = gd_bytecount
           tables
                pdf                      = it_pdf_output
           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.
      check sy-subrc = 0.
    Transfer the 132-long strings to 255-long strings
      loop at it_pdf_output.
        translate it_pdf_output using ' ~'.
        concatenate gd_buffer it_pdf_output into gd_buffer.
      endloop.
      translate gd_buffer using '~ '.
      do.
        it_mess_att = gd_buffer.
        append it_mess_att.
        shift gd_buffer left by 255 places.
        if gd_buffer is initial.
          exit.
        endif.
      enddo.
    endform.
          FORM process_email                                            *
    form process_email.
      describe table it_mess_att lines gd_recsize.
      check gd_recsize > 0.
      perform send_email using p_email1.
    perform send_email using p_email2.
    endform.
          FORM send_email                                               *
    -->  p_email                                                       *
    form send_email using p_email.
      check not ( p_email is initial ).
      refresh it_mess_bod.
    Default subject matter
      gd_subject         = 'Subject'.
      gd_attachment_desc = 'Attachname'.
    CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
      it_mess_bod        = 'Message Body text, line 1'.
      append it_mess_bod.
      it_mess_bod        = 'Message Body text, line 2...'.
      append it_mess_bod.
    If no sender specified - default blank
      if p_sender eq space.
        gd_sender_type  = space.
      else.
        gd_sender_type  = 'INT'.
      endif.
    Send file by email as .xls speadsheet
      perform send_file_as_email_attachment
                                   tables it_mess_bod
                                          it_mess_att
                                    using p_email
                                          'Example .xls documnet attachment'
                                          'PDF'
                                          gd_attachment_name
                                          gd_attachment_desc
                                          p_sender
                                          gd_sender_type
                                 changing gd_error
                                          gd_reciever.
    endform.
          FORM delete_spool                                             *
    form delete_spool.
      data: ld_spool_nr type tsp01_sp0r-rqid_char.
      ld_spool_nr = gd_spool_nr.
      check p_delspl <> c_no.
      call function 'RSPO_R_RDELETE_SPOOLREQ'
           exporting
                spoolid = ld_spool_nr.
    endform.
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
          Send email
    form send_file_as_email_attachment tables it_message
                                              it_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      data: ld_error    type sy-subrc,
            ld_reciever type sy-subrc,
            ld_mtitle like sodocchgi1-obj_descr,
            ld_email like  somlreci1-receiver,
            ld_format type  so_obj_tp ,
            ld_attdescription type  so_obj_nam ,
            ld_attfilename type  so_obj_des ,
            ld_sender_address like  soextreci1-receiver,
            ld_sender_address_type like  soextreci1-adr_typ,
            ld_receiver like  sy-subrc.
    data:   t_packing_list like sopcklsti1 occurs 0 with header line,
            t_contents like solisti1 occurs 0 with header line,
            t_receivers like somlreci1 occurs 0 with header line,
            t_attachment like solisti1 occurs 0 with header line,
            t_object_header like solisti1 occurs 0 with header line,
            w_cnt type i,
            w_sent_all(1) type c,
            w_doc_data like sodocchgi1.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      clear w_doc_data.
      read table it_attach index w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + strlen( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      clear t_attachment.
      refresh t_attachment.
      t_attachment[] = it_attach[].
    Describe the body of the message
      clear t_packing_list.
      refresh t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      describe table it_message lines t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      append t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      describe table t_attachment lines t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      append t_packing_list.
    Add the recipients email address
      clear t_receivers.
      refresh t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      append t_receivers.
      call function 'SO_DOCUMENT_SEND_API1'
           exporting
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           importing
                sent_to_all                = w_sent_all
           tables
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      loop at t_receivers.
        ld_receiver = t_receivers-retrn_code.
      endloop.
    endform.

  • Increase max. spool requests

    Hello guys,
    since a few days we have a big problem with our system. After a undefined time all workprocesses are full by executing the report SAPLSPOX.
      --> they try to create an output to table TSP01
    SURE the solution is to run a job which deletes old printouts (RSPO0041)
    But I'm having this problem since days.
    NOW I want to increase the number of max. spool requests????
    Or is there a better solution????
    It's very busioness critical at the moment.
    Cheers
    christian

    Hello together,
    thanks all four your help.
    I have changed the max. spool requests from 32000 to 80000 and I run into this problem last evening again.
    Are there any other settings to change. Buffers or something like that........
    Please help me because of system standstill each time we run into this situation.
    Cheers
    Christian

  • Cleaning spool requests - report RSPO1041

    Hi experts,
    We're using SRM 5.5 and we've scheduled the reports
    - BBP_GET_STATUS_2 ( every 2 minutes)
    - CLEAN_REQREQ_UP
    As a consequence, in the SPOOL we are having many requests.
    In order to delete the spool requests, we have one job for the report RSPO1041, which is defined to delete spool requests from report bbp_get_status_2. In addition, we have 2 more jobs to clean the spool, using the same report RSPO1041, but with a generic variant.
    However, those jobs are not being successfully cleaning the spool, as the spool requests are not being deleted.
    So, my question is, is there any reason for the report bbp_get_status_2 generate spool requests?
    And if it is really necessary, is there any other way to clean the spool? Or there is any other reason to the RSPO1041 is not cleaning the spool requests as it should?
    Many thanks.
    Best regards,
    Andreia Nascimento

    - BBP_GET_STATUS_2 ( every 2 minutes)
    - CLEAN_REQREQ_UP
    Normally CLEAN_REQREQ_UP doesn't generate any spools, BBP_GET_STATUS_2 does and it does have the reason to generate spool as you would want a comprehensive report on the synchronization between SRM and R/3 documents.
    In order to delete the spool requests, we have one job for the report RSPO1041, which is defined to delete spool requests from report bbp_get_status_2. In addition, we have 2 more jobs to clean the spool, using the same report RSPO1041, but with a generic variant.
    Why having multiple jobs for the same purpose? I would just schedule one job that manage the cleaning of spools with a desired variant for report RSPO1041. And there should not be a reason for it not to be cleaning up accordingly, unless the job itself is not running into the status "finished". Having multiple jobs involving report RSPO1041 with different variants also increases the complexity for your tracking of its effectiveness.

  • How to balance huge spool request list at SP01

    Dear all,
    My invoice print smartform generates 250-300 spool requests from each locations / User ids. which are getting printed one by one.
    Can i load balance these spool requests according to diffrent loactions / User ids to speed up the printing.
    My SP01 status shows me all spool request in waiting mode. which is having large number list.
    Regards,
    -Maharshi

    BASIS Team set the parameters.

Maybe you are looking for

  • Upgrade to 10.3.9

    This is a pretty elementary question. But...having been stung before in my PC days doing seemingly simple upgrades, I'm a little shy in this area. Is there anything to watch out for in upgrading from 10.3.5 to 10.3.9? How does it affect the printer I

  • How do I make a word doc to PDF

    How do I make a work doc. to PDF

  • Vendor master change confirmation (Fk08)

    Dear Experts, I have an requirement that i want change vendor master details that details should be confirmed by other user in FK08 but in FK08 t.code i am getting only confirmation status (central) as "to be confirmed" and then i am able to confim t

  • Iphone compatibility with mac OS

    Hi I want to get an iphone but found out my imac with Tiger will not support iphone 4. Is it true that the iphone is useless without an updated OS? Can't afford to replace both the phone and computer at once.   When I do get new computer was thinking

  • No sleep with closed lid?

    I am a mere days away from receiving my new MacBook in the mail My buddies have some and some still have iBooks and no one knew if there was a way to have the lid closed, but to not have the MB go to sleep (disconnect from the internet mainly). I kno