Spool Request contains disrelated data

Dear All
I met a strange issue, the spool reqeust contains disrelated data.
the phenomenon is:
I created a JOB with function fronted. But when the JOB finished, I found other disrelated data in this spool request.
I'm not sure whether one spool request can contain several print requests?
When I create the request at the same time other function create in this spool request?

By default, SAP merges forms in existing spool requests with same properties, listed here: [Note 85318 appending documents to existing spool requests|http://service.sap.com/sap/support/notes/85318]. You may force them to go in a new spool request using output parameters when printing the form (see the note).

Similar Messages

  • Creating no. of spool requests based on data

    Hi all!
      I am preparing a smartform showing the schedule deliveries of purchase orders of all vendors within a specified period. A new spool request is to be generated for each vendor's schedule deliveries. How can I raise a new spool request when the vendor no. is changed? Is it possible? If yes,please suggest.
    Edited by: Jayasri P. on Apr 21, 2008 12:31 PM

    Hi Nehal!
      I have passed the parameter of type SSFCRESCL in the function module fm_name(i.e. 2nd f.module in my program).But it's throwing a dump when executing saying that parameter of specified type doesn't allow to pass through this function module an it allows only fields of a particular type .What is the type of LS_COMPOSER?
    I have declared the variable as : LS_COMPOSER TYPE SSFCRESCL .
    LS_COMPOSER-TDNEWID = 'X'.
    CALL FUNCTION FM_NAME
           Exporting
               t_lfa1 = t_lfa1
               OUTPUT_OPTIONS = LS_COMPOSER
           TABLES
               it_ekko =it_ekko
               it_ekpo = it_ekpo
               it_eket = it_eket.
    What's going wrong with this?

  • Spool request error in downloading 4000 pages

    Hi all
    I have a small doubt regarding the spool request.
    In my scenario I am running the transaction FBL3N
    in the background and I am getting an output of around 4000 pages.
    I need to download it but my Spool request contains only 10 pages
    by default.
    I changed it to 4000 but it gives the error of memoryoverflow.
    I could work by dividing the file into parts say 500 or 1000 but
    is there any way out so that I could download all the pages in
    one go.
    Hope you ppl have got me.
    Please respond asap.
    Thanks in advance.
    Sumit

    hi,
    you can divide data into different spools in following way:
    call function 'GET_PRINT_PARAMETERS'
          exporting
            destination    = 'LOCL'
            copies         = count
            list_name      = 'TEST'
            list_text      = 'Test for multiple spools'
            immediately    = ' '
            release        = 'X'
            new_list_id    = 'X'
            expiration     = days
            line_size      = 79
            line_count     = 23
            layout         = 'X_PAPER'
            sap_cover_page = 'X'
            receiver       = 'SAP*'
            department     = 'System'
            no_dialog      = 'X'
          importing
            out_parameters = params
            valid          = valid.
       IF VALID eq SPACE.
          new-page print on parameters params no dialog.
       endif.
    writes data into spool 1.
    new-page print off.
          new-page print on parameters params no dialog.
    write into spool 2.
    new-page print off.
    thanks,
    anupama.

  • Retrieving Deleted Spool Request

    Hi,
    We are running R/3 45B on the iseries and we had the same problem from Note 1422843 - Wrong deletion date in spool request
    I ran the report RSPO2010 to change the deletion date in R/3 PRD excluding 9 users to keep their year end reports.
    I then ran RSPO0041.  I thought I read the note 1422843 correctly but I ended up deleting every spool request up the date 1/7/2010.  Ran with the variant delete all request with min age 8 days.
    Is there anyway of getting the spool request back that were deleted? 
    Is there a table with a deleting flag that I can just uncheck? 
    I do have a backup -  Are there just a couple of tables I can restore to my Q&A system - Can't do full DBcopy at this time.
    Regards,
    Brian

    Hi Brian,
    tja, the stuff is unfortunately deleted now ...
    There is no mark to unmark or similar.
    The most stuff of a spoolfile is in TST1 - but there should be a few more tables - I didn't investigate this by now -.in my mind, it is a solvable issue with the restore of "let's say 5 tables" to QAS ...
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de

  • Spool Request Date

    Hello experts,
    I want to get the spool request date corresponding to the spool request  number from a table. Can you please tell me from where i can get the spool request date??? After search i got that table TSP01 contains the spool request number/id. But how and where to use it exactly i dont know.
    Thanks!!

    Hi,
    TSP01-RQCRETIME field is having concatenation of Date and Time.
    TSP01-RQCRETIME(8) specifies the spool request creation datae and
    TSP01-RQCRETIME+8(8) will give the spool request created time.
    Thanks,
    Renuka S.

  • Error Message - "could not complete your request because the preset contains invalid data"

    I am trying to open a file, and every time I do it comes up with the following error message:
    "Could not complete your request because the preset contains invalid data"
    I am using Photoshop CS4 on a Macbook Pro running Snow Leopard 10.6.2.
    I have tried:
    - restarting my mac
    - opening different files created at different times
    - deleting photoshop from my app folder and the app support folder from my /username/library/application support/adobe/ folder and copied them back from a Time Machine backup from a few days ago.
    I was using Photoshop all day today with absolutely no problems. I have searched Google and this forum and have come up short. No one has this exact error anywhere.
    Any help? Thanks so much in advance!
    Pat Dryburgh

    The one thing you didn't do is reset your Photoshop preferences.
    Most likely the preferences got corrupted, and reference a corrupt preset.

  • The requested page contains stale data Error

    Hi All,
    I have two table in the back end. VikCountry(country_code PK,country_name).
    VikCities(country_code FK,city_name).I have created two EO's and TWo VO's for them and the AssociationObject.
    In the UI ,I have two messageTextInput fields, one for the country code and one for the country name,And a Advance table having a "Add Another Row" button at footer level.In UI i want to enter the data i.e Country Code,Name and Cities for that country(Master Detail Relation ship)
    Following is the code that i have written in the CO file:-
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    RnDAMImpl AM = (RnDAMImpl)pageContext.getApplicationModule(webBean);
    if(!AM.getVikCountryVO1().isPreparedForExecution())
    AM.getVikCountryVO1().executeQuery();
    Row row1 = AM.getVikCountryVO1().createRow();
    AM.getVikCountryVO1().insertRow(row1);
    row1.setNewRowState(Row.STATUS_INITIALIZED);
    if(!AM.getVikCitiesVO1().isPreparedForExecution())
    AM.getVikCitiesVO1().executeQuery();
    Row row2 = AM.getVikCitiesVO1().createRow();
    AM.getVikCitiesVO1().insertRow(row2);
    row2.setNewRowState(Row.STATUS_INITIALIZED);
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    RnDAMImpl AM = (RnDAMImpl)pageContext.getApplicationModule(webBean);
    if(pageContext.getParameter("Submit")!=null)
    AM.getOADBTransaction().commit();
    else if(pageContext.getParameter("Cancle")!=null)
    if(AM.getTransaction().isDirty())
    AM.getOADBTransaction().rollback();
    else if(pageContext.getParameter(EVENT_PARAM).equals("addRows"))
    System.out.println("inside the addrows");
    Row row2 = AM.getVikCitiesVO1().createRow();
    AM.getVikCitiesVO1().insertRow(row2);
    row2.setNewRowState(Row.STATUS_INITIALIZED);
    Now when i am entering the data in the UI and press submit button,then It is giving me an error:-
    The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example). If the browser's navigation buttons were not used, this error could have been caused by coding mistakes in application code. Please check Supporting the Browser Back Button developer guide - View Object Primary Key Comparison section to review the primary causes of this error and correct the coding mistakes.
    Cause:
    The number of displayed records, 1, exceeds the actual number of records, 0, in view object RnDAM.VikCitiesVO1. Some of the displayed records may have been deleted..
    I am unable to solve this Problem.Please Help.
    Thanks,
    Vikram

    Q:Why are you creating new Rows for Country and City VO in processRequest ?
    A:Bcoz to insert the empty rows in the VO cache.
    Q:And then again in processFormRequest you are creating another row for the Cities VO.
    A:As i set the Insert Row Automatically property to false, when user select the "Add Another Row" button in UI, i am inserting an empty row in the VO cache.
    If there is anything wrong plz let me know.
    Q:When does error happen when you try to add another row or when you try to commit the transaction ?
    A:When i am commiting and if i fill the data in the textboxes and table, and press Add Another Row Button in table.

  • Creating the spool request for the internal table data

    Hi..
    I am little confused with the function module used for creating the spool request.
    well...I am practicing the ALV report and sending the that report to the spool.
    I  ve used the FM SLVC_TABLE_PS_TO_SPOOL.
    this is the way i defined the internal table.
    Data:
    begin of imat occurs 0,
    matnr like marav-matnr,
    maktx like marav-maktx,
    matkl like marav-matkl,                     
    ntgew like marav-ntgew,
    gewei like marav-gewei,
    end of imat.
    data i_lines type sy-tfill
    and i declared..
    describe table imat lines i_lines.
    then i given the value for i_file_length as i_lines in the export paramet of the FM SLVC_TABLE_PS_TO_SPOOL.
    CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'
        EXPORTING
          i_file_length            = i_lines
       IMPORTING
         E_SPOOLID                = spoolid
        tables
          it_textdata              = imat
    when i executed it shows the list and wen going back it shows the runtime error as
    CALL_FUNCTION_CONFLICT_LENG  - Type conflict when calling a function module (field length).
    please provide me some solutions.
    thanks in advance.
    etienne.

    Hi satyajit,
    Thanks for your response....but the fields in my internal table "IMAT" is not compatible with the structure LVC_S_1022 as it has it componenrt - LINE.
    so how can i define my internal table IMAT as type lvc_s_1022 as you suggested.
    thanks in advance.
    etienne.

  • ORA-03297: file contains used data beyond requested RESIZE value

    DB 10.2.0.4
    AIX 5.2
    PROD
    I have dropped many big tables after moving on another database, what i thought it will free the space of the disk because right now there is no provision to extend the disk size and disk size have already occupied 90%. I dropped tables which had 150 GB total size but when i am trying to resize the datafiles it is giving below error whereas that datafile has free space ( example: free space 8000mb and total size 20000mb of that file i tried to resize it to 14000mb it is giving below error)
    I tired the same for many datafiles for a particular tablespace all datafiles are giving same error except one of them.
    ERROR at line 1:
    ORA-03297: file contains used data beyond requested RESIZE value
    Thanks

    user13382934 wrote:
    DB 10.2.0.4
    AIX 5.2
    PROD
    I have dropped many big tables after moving on another database, what i thought it will free the space of the disk because right now there is no provision to extend the disk size and disk size have already occupied 90%. I dropped tables which had 150 GB total size but when i am trying to resize the datafiles it is giving below error whereas that datafile has free space ( example: free space 8000mb and total size 20000mb of that file i tried to resize it to 14000mb it is giving below error)
    I tired the same for many datafiles for a particular tablespace all datafiles are giving same error except one of them.
    ERROR at line 1:
    ORA-03297: file contains used data beyond requested RESIZE value
    ThanksThis error occurs when some object has blocks "adjacent" to the High Water Mark.
    In order to RESIZE, the object needs to be identified & then moved;
    preferably to a different tablespace.
    After do so you can RESIZE at least a modest amount.

  • ORA-3297:file contains used data beyond requested resize value.

    Hi All,
    I am trying to rezise a datafile and getting the ORA-3297 error.
    From the dynamic views i verified that there is more than 10GB of freespace in INDEX_TB tablesapce which contains only one datafile whose present size is > 19 GB
    alter database datafile '/data/oracle/oradata/testdb/INDEX_TB.dbf' resize 17G;
    ORA-3297:file contains used data beyond requested resize value.Oracle 10.1.0 on AIX 5.3
    Details are below,
    tablespace_name:INDEX_TB
    size_mb:19797.84375
    free_mb:11947
    free%:60.34495549546904571362727317210996778374
    How do i find the high water mark of the datafile?
    ~Thanks

    Thank you all for the comments.
    Here i got an odd situation. According to the dynamic views there are 56 or 60 % are free in DATA_TB & INDEX_TB tablespace.
    But sql from Doc 130866.1 gives the output as below. I tried coalesce tablespace but no effect.
    Tablespace: DATA_TB Datafile:
    /data/oracle/oradata/testdb/DATA_TB.dbf
    Can not be resized, no free space at end of file.
    Tablespace: DATA_TB Datafile:
    /data/oracle/oradata/testdb/DATA_TB02.dbf
    Can not be resized, no free space at end of file.
    Tablespace: INDEX_TB Datafile:
    /data/oracle/oradata/testdb/INDEX_TB.dbf
    Can not be resized, no free space at end of file.
    ~Thanks

  • Converting OTF data from script to Spool Request

    Hello,
    Is there any way to convert OTF data into Spool Request.
    Actual scenario is for the Order Acknowledgement form they have configured the output type for Print Medium and here the spool is generated through Close_Form . Based on the spool no they are converting the spool to PDF and then placing a copy in the Unix Directory.
    They have also configured the form for Fax Medium , but here in the close_form they are getting the Fax number instead of spool number. As this way it just Fax the output to required destination , user require a copy of the output should be converted to PDF and then it has to be placed in Unix directory as it is happening for print medium.
    The problem here in the close form for first  case , i can see the spool id but in the second case that is not happening . So only OTF data is available with me. So is there any way where i can pass OTF data get spool id . So that if i have spool id rest will be taken care by my existing logic.
    I Appreciate your valuable inputs.
    Thanks,
    Subash

    Check this code snippet.
    data : it_spool      TYPE STANDARD TABLE OF rsporq     ,
                         it_pdf        TYPE STANDARD TABLE OF tline      ,
                         v_objtype     TYPE rststype-type   ,
                        v_name        TYPE rststype-name  .
    *&      Form  find_spool_request_id
    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
    FORM convert_spool_to_pdf .
      READ TABLE it_spool INTO wa_spool INDEX 1.
      v_spoolno = wa_spool-rqident.
    *Get Spool request attributes
      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.
    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

  • How to receive OTF data out of spool request?

    Hi Guys,
    I want to write a program which reads out the OTF data of a spool request and then I want to send it either as eMail or as FAX to some receivers.
    The function modules I found so far (CONVERT_OTF, CONVERT_OTF_AND_FAX etc.) assume that the OTF table is already filled. But what I have in the beginning is only the spool ID. Even the function RSPO_DISPLAY_SPOOLJOB doesn't pass back the OTF data. What I saw in this function is that the OTF data is read directly via C-CAll => Call 'C_RSTS_OPEN' and Call 'C_RSTS_READ'.
    Does anyone of you have an idea how to solve my problem or could give me a hint?
    Thanks,
    Thomas

    Hi Thomas,
    As you said, the OTF is stored as is in the spool file, and you can read it using the C calls, or use RSPO_RETURN_SPOOLJOB function module for example.
    Note that using SP01, you can send a spool via a menu entry, which corresponds to function module RSPO_SPOOLJOB_TO_OFFICE.
    Best regards
    Sandra

  • 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

  • While converting spool to PDF, no data is coming in the PDF file.

    Hi All,
    I am submitting a z program ZPR022_INNCOMETAX_REPORT_COPY1 (which has some output display) from Z_ITSLIP_MAIL.  I am creating a job, submitting the above program via JOB  to SAP-SPOOL.
    In program ZPR022_INNCOMETAX_REPORT_COPY1 , I am getting the run time job information and from there I am getting the spool id.  Now I am converting the spool id to a PDF.  This PDF should contain the output of the program ZPR022_INNCOMETAX_REPORT_COPY1.  This output is normal output using Write statement only.  But once the program is executed, I could find no data in the PDF file.  When I check in SM37 and SP02, both the JOB and the SPOOL are created.  What I feel is the program is not picking the spool id at the run time.  Could any one help me in this regard how to proceed.
    Please find the code below.
    Program 1.
    LOOP AT pernr.
      CLEAR p_job.
      p_stim = p_stim + 120.
      CONCATENATE'ITSlip' pernr-low p_job sy-datum INTO p_job SEPARATED BY
    space.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname   = p_job
          sdlstrtdt = p_sdat
          sdlstrttm = p_stim
        IMPORTING
          jobcount  = l_jobcount.
      SUBMIT ZPR022_INNCOMETAX_REPORT_COPY1
        WITH pnptimr6 = 'X'
        WITH pnpbegda = period-low
        WITH pnpendda = period-high
        WITH pnppernr-low = pernr-low
        WITH pnpabkrs-low = 'IN'
           VIA JOB     p_job
            NUMBER  l_jobcount
           TO SAP-SPOOL WITHOUT SPOOL DYNPRO
               SPOOL PARAMETERS ls_params
               WITH immediately = 'X'
              KEEP IN SPOOL = 'X'
                  AND RETURN.
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount  = l_jobcount
          jobname   = p_job
          strtimmed = 'X'
         PRDMINS = 2.
          sdlstrtdt = p_sdat
          sdlstrttm = p_stim.
    ENDLOOP.
    Program 2.
      IF sy-batch EQ 'X'.
        LOOP  AT pnppernr.
          SELECT SINGLE * FROM pa0105
            WHERE pernr EQ pnppernr-low
              AND subty EQ '0010'
              AND endda EQ '99991231'.
          p_email1 = pa0105-usrid_long..
          PERFORM get_job_details.
          PERFORM obtain_spool_id.
          PERFORM convert_spool_to_pdf.
          PERFORM process_email.
         IF sy-sysid = c_dev.
            WAIT UP TO 5 SECONDS.
            SUBMIT rsconn01 WITH mode   = 'INT'
                            WITH output = 'X'
                            AND RETURN.
         ENDIF.
        ENDLOOP.
      ELSE.
        SKIP.
        WRITE:/ 'Program must be executed in background in-order for spool'
                'request to be created.'.
       EXPORT gd_spool_nr TO MEMORY ID 'SPOOLTOPDF'.
      ENDIF.
    ENDFORM.                    " SEND_MAIL
    *&      Form  get_job_details
          text
    -->  p1        text
    <--  p2        text
    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.                    " get_job_details
    *&      Form  obtain_spool_id
          text
    -->  p1        text
    <--  p2        text
    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.                    " obtain_spool_id
    *&      Form  convert_spool_to_pdf
          text
    -->  p1        text
    <--  p2        text
    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.                    " convert_spool_to_pdf
    *&      Form  process_email
          text
    -->  p1        text
    <--  p2        text
    FORM process_email .
      DESCRIBE TABLE it_mess_att LINES gd_recsize.
      CHECK gd_recsize > 0.
      PERFORM send_email USING p_email1.
    ENDFORM.                    "process_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 = 'IT Declaration'.
      CONCATENATE 'ITSLIP' ' ' INTO gd_attachment_name.
      it_mess_bod        = 'IT FORM for this month'.
      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_email1
                                          'MindTree Payroll team'
                                          'PDF'
                                          gd_attachment_name
                                          gd_attachment_desc
                                          p_sender
                                          gd_sender_type
                                 CHANGING gd_error
                                          gd_reciever.
    ENDFORM.                    " process_email
    *&      Form  send_file_as_email_attachment
          text
         -->P_IT_MESS_BOD  text
         -->P_IT_MESS_ATT  text
         -->P_P_EMAIL  text
         -->P_4422   text
         -->P_4423   text
         -->P_GD_ATTACHMENT_NAME  text
         -->P_GD_ATTACHMENT_DESC  text
         -->P_P_SENDER  text
         -->P_GD_SENDER_TYPE  text
         <--P_GD_ERROR  text
         <--P_GD_RECIEVER  text
    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               = 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.                    "send_file_as_email_attachment
    Points will be rewarded.
    Regards,
    Balaji

    Hi,
    I think you are retrieving the spool before the entire spool is generated.
    Put the following logic to retrieve spool iD
    CHECK WHETHER STATUS OF JOB IS COMPLETED OR CANCELLED
      WHILE 1 = 1.
    GET THE JOB STEPLIST WHICH HAS THE SPOOL NUMBER
        CALL FUNCTION 'BP_JOB_READ'
          EXPORTING
            job_read_jobcount           = w_jobcount
            job_read_jobname            = w_jobname
            job_read_opcode             = '35'
      JOB_STEP_NUMBER             =
         IMPORTING
           job_read_jobhead            = wa_jobhead
         TABLES
           job_read_steplist           = i_jobsteplist
    CHANGING
      RET                         =
       EXCEPTIONS
         invalid_opcode              = 1
         job_doesnt_exist            = 2
         job_doesnt_have_steps       = 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.
    BEGIN OF INSERTION U179942 E1BK928781
    IF STATUS OF JOB IS COMPLETED(F) OR CANCELLED(A)
    READ THE JOBSTEPLIST & GET THE SPOOL NUMBER
        IF wa_jobhead-status =  c_a OR wa_jobhead-status = c_f.
          READ TABLE i_jobsteplist INTO wa_jobsteplist INDEX 1.
          CHECK wa_jobsteplist-listident <> space.
          w_spool_number = wa_jobsteplist-listident.
          EXIT.
        ENDIF.
      ENDWHILE.
    Best regards,
    Prashant

  • Direct Conversion of smartform into PDF system has to take spool request ?

    does anybody know:
    Direct Conversion of smartform into PDF, system has to take spool request dynamically..
    i don't mean to use the SE38 calling PRG RSTXPDFT4 to transfer SAP sript into PDF.
    thanks
    SRIDHAR

    --strike Yes this is what I understood.
    In the structure job_output_info of your function you'll find your OTF data :
    st_ssfcrescl-otfdata --
      CALL FUNCTION smartform_fonction_name
            EXPORTING
    *     ARCHIVE_INDEX              =
    *     ARCHIVE_INDEX_TAB          =
    *     ARCHIVE_PARAMETERS         =
          control_parameters         = st_ssfctrlop
    *     MAIL_APPL_OBJ              =
    *     MAIL_RECIPIENT             =
    *     MAIL_SENDER                =
          output_options             = st_ssfcompop
          user_settings              = ' '
        IMPORTING
         document_output_info        = st_ssfcrespd
         job_output_info             = st_ssfcrescl " This is the one which contains OTF data
         job_output_options          = st_ssfcresop
        TABLES
       EXCEPTIONS
         formatting_error           = 1
         internal_error             = 2
         send_error                 = 3
         user_canceled              = 4
         OTHERS                     = 5.
    -- Then you just have to convert, using something like that : --
    * Convert OTF to PDF
      LOOP AT otf_data INTO w_otf.
        CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
        INTO w_pdf.
        APPEND w_pdf TO i_content_txt.
      ENDLOOP.
      CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
        EXPORTING
          format_src      = 'OTF'
          format_dst      = 'PDF'
        CHANGING
          transfer_bin    = w_transfer_bin
          content_txt     = i_content_txt
          content_bin     = i_content_bin
          objhead         = i_objhead
          len             = v_len_in
        EXCEPTIONS
          err_conv_failed = 1
          OTHERS          = 2.
      v_size = v_len_in.
      pdf_itab_size = v_size.
      it_pdfout[] = it_pdf[].
    * Create the PDF File
      CLEAR it_pdfdata.
      REFRESH it_pdfdata.
    *  it_pdfdata[] = it_pdfout[].
      LOOP AT it_pdfout.
        MOVE it_pdfout-tline TO it_pdfdata-line.
        APPEND it_pdfdata.
        CLEAR it_pdfdata.
      ENDLOOP.
    -- The smartform creation and the PDF creation are done in the same time...--
    OK, So what do'nt you want to use the RSTXPDFT4 program ?
    Hope this helps,
    Erwan
    Edited by: Erwan LE BRUN on Aug 28, 2008 12:02 PM
    Edited by: Erwan LE BRUN on Aug 28, 2008 12:03 PM

Maybe you are looking for

  • Os-X Tiger DVD unreadable

    I replaced the original CD-RW with a new Lite-on DVDRW SHW-160P6S drive. Works great. I have read CD, DVD, written DVD and successfully tested burned DVDs on another computer. It works with Finder, iTune & Toast. But I bought OS-X tiger and I can't i

  • Hiding of Select Options in screen based on selection in selection list box

    Hi People,          I have a screen where i have put a selection list box, it is pre-filled with values, Now based on the value which user selects, I want to show/hide some select-options fields. I have declared the select options in the top include

  • BPS: How to filter Lead Columns at run time

    I need to know if there is a way to filter values for lead columns, after planning level and planning package where defined Example: Family | Material | Brand | Format | sales | cost | Margin F1      M1         B1      F1       100     80     20 F1  

  • X-Fi Mode Switching and XP File Permissi

    I have my file permissions locked down pretty tightly for all accounts except the Administrator. This is great for preventing major file system meltdowns whenever my wife picks up an email virus, but it can also make trouble now and then. The X-Fi ap

  • Garageband is award worthy. The Frustration Awards 2010

    Why is it that every time I go to use Garageband that I have to completely start again with all the same audio problems? Guitar is plugged into Fast Track which is plugged into the USB port. I go to audio preferences and see that the computer recogni