Spool status

hi,
could i know in which table are the spool status like "Error", "Waiting" etc... that we see in sp01 stored.
cheers,
Aditya.

Hi Aditya,
<b>The table is TBTCP.</b>
You can use FM <b>BP_JOB_READ</b> to check the status.
The status would be available in JOB_READ_STEPLIST-STATUS.
Best regards,
Prashant
Pls mark points for helpful answers

Similar Messages

  • Spool status Incorrect

    Hello Everyone
         I have one problem. I have configured PO release in such way that when ever user will release and save  PO , immediate print command will be sent.
        Now i have two transactions ME29n and ME28 to release PO. At backend both transactions use the same program and form to print.
       When i run ME28 , print command is sent immediately and i can see spool completed successfully in SP01.
      When i run ME29n, 1st time i can see a message that PO is changed after save , but when i see spool, spool does not get created.
      When i run ME29n, 2dn time for the same PO, if i go to check message setting and come back to main screen without doing any changes, and press save, spool gets generated and completed successfully.
      I tried to debug both the transactions number of times, then in debug , both transactions ended up in giving me spool  status 'Incorrect'.
    (Don know the reason if this is due to debug or something else )
      So i am not able to understand the reason behind this situation.Assist.
      Thanks

    I am honestly unable to understand what exactly is the question (you need to be more specific, SDN is not a Help Desk). In the subject you're saying "incorrect" but then "can see spool completed successfully in SP01". Which one is true?
    In any case, my guess is that you need to change the output configuration. If it is required to perform two transactions then the output should not be triggered until the second transaction completes. There is also separate configuration for the initial output and output for changes in POs. And, on top of that, in SP01 you should be able to see an explanation what is "incorrect".
    Actually this is not really an ABAP question but the output configuration, so ask your MM/PTP consultant.

  • Spool status - error no authorization

    Hi All,
    There is a background job which is generating the report in spool. It has the status has Incorrect (No authorization).
    It has total number of pages: 3.000 and giving the error as "No authorization for this number of pages".
    how and where to provide the authorization to avoid this error.
    Thanks in advance.
    Regards
    Ramesh.

    Hi,
    have a look into authorityobjekt: S_SPO_PAGE.
    Hope it helps.
    Regards, Dieter

  • Help please - when printing to adobe pdf, this hangs and stays in spool status

    Can someone help assist and troubleshoot this problem I'm facing with printing to pdf.
    The background is I provided a vendor a Word converted PDF document approval letter to upload into the system.  While UAT testing, we are not able to print to PDF - hangs in print spool.
    However the document checklist that had been uploaded into the system, properly prints to pdf (see page 2 attached).  Is there any way to debug or determine the root cause since the vendor believes that they have delivered a product that works from their perspective and suggest it's an Adobe issue.

    Hi,
    Could you please provide both the word documents(one that prints and the other that does not print) ? This would be helpful in isolating the issue.
    Thanks,
    Swati
    [email protected]

  • Spool with 'Eror' status.

    When i print the invoices, it gets printed correctly with spool status as 'Completed' for some of the local output device (LOCL,HOLE) but for the output device(ZPDF( PDF output using Email)), spool is getting created with 'Error' status.
    When i checked the log for error status, its coming as 'Character converter active when first problem occured'.

    Hi Ashish,
    Check with the basis team for the log error ....
    Regards,
    Sravanthi

  • Spool list in background

    Hii everybody,
    I am not able to generate the background spool list for this report. When executed in background, the job shows successful execution, but when I see spool status, it shows waiting and the spool has incomplete list. The bottom part of the spool list has all vertical lines... Any guesses what might be the problem? I am able to see the output when report ran in foreground. It is an ALV grid report.
    PLese reply me fast as it is urgent.
    M A

    Hope you have end spool writing with  new-page print off.
    form write_to_spool.
      data : l_params        type pri_params,          "new spool params
               l_destination type pri_params-pdest value 'LOCL'.      "printer name
    *Get the print parameters.
      call function 'GET_PRINT_PARAMETERS'
        EXPORTING
          copies                 = 1
          department             = 'SYSTEM'
          destination            = l_destination
          expiration             = 2
          immediately            = ' '
          layout                 = 'X_65_255'
          line_count             = 65
          line_size              = 255
          list_name              = 'XYZ'
          list_text              = 'ABC'
          mode                   = ' '
          new_list_id            = 'X'
          no_dialog              = 'X'
          receiver               = 'SAP*'
          release                = 'X'
          sap_cover_page         = 'X'
          user                   = sy-uname
        IMPORTING
          out_parameters         = l_params
        EXCEPTIONS
          archive_info_not_found = 1
          invalid_print_params   = 2
          invalid_archive_params = 3
          others                 = 4.
      case sy-subrc.
        when 1.
          raise get_print_info_not_found.
        when 2.
          raise get_print_invalid_prt_params.
        when 3.
          raise get_print_invalid_arch_params.
        when 4.
          raise get_print_others.
      endcase.
    *start spool writing.
      new-page print on parameters l_params no dialog.
      uline.
      skip.
    write  your contents
      uline.
    *end spool writing.
      new-page print off.
    endform.                    " write_to_spool

  • Printer Status (HP LaserJet 400 M401dn)

    I'm using printer in software and I need to know status of printer (jam/toner low/paper etc.). 
    PJL status for my HP LaserJet 400 M401dn always return code "10023" (even if door opened, no cartridge, jam); same issue in this thread:  http://h30434.www3.hp.com/t5/Printing-Issues-Troub​leshooting/LaserJet-CP1525n-Color-PJL-INFO-STATUS/​...
    I also tried to get Windows spooler status, it was not informative, too.
    But HP notification software always sends message on "opened door" and even on "no paper". Could I somehow get similar status for printer?

    Hi,
    Based on the following link, it does not have wireless capability but it has a LAN port:
       http://www8.hp.com/au/en/products/printers/product-detail.html?oid=5096262#!tab=specs
    The Airport Extreme has 3 LAN ports:
       http://www.apple.com/au/airport-extreme/specs/
    Therefore you can connect the printer to one port using normal CAT5e or CAT6 cable and the printer will work similar to this:
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Spool not generated in some condition

    Requirement :Developing a data transfer program. Approach used is Call Transaction in S mode.
    In some cases(if Receiving Storage Location is PKGX) I need to load only MB11 and other cases I need to load 3 transaction sequentially – MB11 creates Mat. Doc. No. which in turn passed to the LT06 to create TO(Transfer Order) and the TO passed to LT12 to confirm TO.
    Problem – When I run it in background(it generates report in foreground), job finished successfully, data is loaded into system and spool status shown as error ONLY IF ALL THE 3 TRANSACTIONS CALLED AND LOADED.
    I debugged the Batch Job(using t-code JDBG) line by line output,contents are writen to output but at the end spool goes into error and report is not visible.
    In all other cases like messages/outputs due to record not correct or/and only MB11 is to be processed, spool is generated with status Waiting and report is visible.
    Statement at top –
    REPORT ZL6C_LOAD_INVENTORY_WM_SLOC
    NO STANDARD PAGE HEADING
    MESSAGE-ID ZOLSC_AS
    LINE-COUNT 65
    LINE-SIZE 148.
    It works if I set line-size as 132 .
    To overcome this I used FM GET_PRINT_PARAMETER with various cominations of parameter passed but it doesn’t work –
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
    COPIES = L_C_ONE
    DEPARTMENT = L_C_SYSTEM
    DESTINATION = L_C_LOCL
    EXPIRATION = L_C_2
    LAYOUT = L_C_X_65_255
    LINE_COUNT = L_C_65
    LINE_SIZE = L_C_255
    LIST_NAME = L_LIST_NAME
    LIST_TEXT = L_LIST_TEXT
    MODE = 'BATCH'
    NEW_LIST_ID = G_C_X
    NO_DIALOG = G_C_X
    RECEIVER = L_C_SAP
    RELEASE = G_C_X
    SAP_COVER_PAGE = G_C_X
    REPORT = SY-REPID
    USER = SY-UNAME
    IMPORTING
    OUT_PARAMETERS = L_PARAMS
    EXCEPTIONS
    ARCHIVE_INFO_NOT_FOUND = 1
    INVALID_PRINT_PARAMS = 2
    INVALID_ARCHIVE_PARAMS = 3
    OTHERS = 4
    IF SY-SUBRC = 0 AND NOT L_PARAMS IS INITIAL.
    NEW-PAGE PRINT ON PARAMETERS L_PARAMS NO DIALOG NEW-SECTION.
    G_SPOOL = 'X'.
    ENDIF.
    Also when I use this FM under INITIALIZATION then it generates the spool but content written at TOP_OF_PAGE not displayed. When I use it under START-OF-SELECTION, problem still remain same.
    Please Suggest
    thanks
    Sonal

    Hello All,
    I checked in SM58. It showed an error.
    I checked my function module attributes. It was normal. Changed it to Remote enabled.
    Now spool is generated.
    Regards,
    Kausthub

  • Spool Not Generated Conditionally

    <b>Requirement :</b>Developing a data transfer program. Approach used is Call Transaction in S mode.
    In some cases(if Receiving Storage Location is PKGX) I need to load only MB11 and other cases I need to load 3 transaction sequentially – MB11 creates Mat. Doc. No. which in turn passed to the LT06 to create TO(Transfer Order) and the TO passed to LT12 to confirm TO.
    <b>Problem –</b> When I run it in background(it generates report in foreground), job finished successfully, data is loaded into system and spool status shown as error ONLY IF ALL THE 3 TRANSACTIONS CALLED AND LOADED.
    <u>I debugged the Batch Job(using t-code JDBG) line by line output,contents are writen to output but at the end spool goes into error and report is not visible</u>.
    In all other cases like messages/outputs due to record not correct or/and only MB11 is to be processed, spool is generated with status Waiting and report is visible.
    <b>Statement at top –</b> REPORT ZL6C_LOAD_INVENTORY_WM_SLOC
    NO STANDARD PAGE HEADING
    MESSAGE-ID ZOLSC_AS
    LINE-COUNT 65
    LINE-SIZE 148.
    <u><b>It works if I set line-size as 132 .</b></u>
    To overcome this I used FM GET_PRINT_PARAMETER with various cominations of parameter passed but it doesn’t work –
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
    COPIES = L_C_ONE
    DEPARTMENT = L_C_SYSTEM
    DESTINATION = L_C_LOCL
    EXPIRATION = L_C_2
    LAYOUT = L_C_X_65_255
    LINE_COUNT = L_C_65
    LINE_SIZE = L_C_255
    LIST_NAME = L_LIST_NAME
    LIST_TEXT = L_LIST_TEXT
    MODE = 'BATCH'
    NEW_LIST_ID = G_C_X
    NO_DIALOG = G_C_X
    RECEIVER = L_C_SAP
    RELEASE = G_C_X
    SAP_COVER_PAGE = G_C_X
    REPORT = SY-REPID
    USER = SY-UNAME
    IMPORTING
    OUT_PARAMETERS = L_PARAMS
    EXCEPTIONS
    ARCHIVE_INFO_NOT_FOUND = 1
    INVALID_PRINT_PARAMS = 2
    INVALID_ARCHIVE_PARAMS = 3
    OTHERS = 4
    IF SY-SUBRC = 0 AND NOT L_PARAMS IS INITIAL.
    NEW-PAGE PRINT ON PARAMETERS L_PARAMS NO DIALOG NEW-SECTION.
    G_SPOOL = 'X'.
    ENDIF.
    Also when I use this FM under INITIALIZATION then it generates the spool but content written at TOP_OF_PAGE not displayed. When I use it under START-OF-SELECTION, problem still remain same.
    Please Suggest
    thanks
    Sonal

    Use FM  : RSPO_OUTPUT_SPOOL_REQUEST
    Reward Points if it is helpful
    Thanks
    Seshu

  • Spool not generated for some conditions

    <b>Requirement :</b>Developing a data transfer program. Approach used is Call Transaction in S mode.
    In some cases(if Receiving Storage Location is PKGX) I need to load only MB11 and other cases I need to load 3 transaction sequentially – MB11 creates Mat. Doc. No.  which in turn passed to the LT06 to create TO(Transfer Order) and the TO passed to LT12 to confirm TO.
    <b>Problem –</b> When I run it in background(it generates report in foreground), job finished successfully, data is loaded into system and spool status shown as error ONLY IF ALL THE 3 TRANSACTIONS CALLED AND LOADED.
    <u>I debugged the Batch Job(using t-code JDBG) line by line output,contents are writen to output but at the end spool goes into error and report is not visible.</u>
    In all other cases like messages/outputs due to record not correct  or/and  only MB11 is to be processed, spool is generated with status Waiting and report is visible.
    <b>Statement at top –</b>
    REPORT  ZL6C_LOAD_INVENTORY_WM_SLOC
            NO STANDARD PAGE HEADING
            MESSAGE-ID ZOLSC_AS
            LINE-COUNT 65
            LINE-SIZE  148.
    <u>It works if I set line-size as 132 .</u>
    To overcome this I used FM GET_PRINT_PARAMETER with various cominations of parameter passed but it doesn’t work –
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
    COPIES                 = L_C_ONE
           DEPARTMENT             = L_C_SYSTEM
           DESTINATION            = L_C_LOCL
           EXPIRATION             = L_C_2
           LAYOUT                 = L_C_X_65_255
           LINE_COUNT             = L_C_65
           LINE_SIZE              = L_C_255
           LIST_NAME              = L_LIST_NAME
           LIST_TEXT              = L_LIST_TEXT
           MODE                   = 'BATCH'
           NEW_LIST_ID            = G_C_X
           NO_DIALOG              = G_C_X
           RECEIVER               = L_C_SAP
           RELEASE                = G_C_X
           SAP_COVER_PAGE         = G_C_X
           REPORT                 = SY-REPID
           USER                   = SY-UNAME
    IMPORTING
           OUT_PARAMETERS         = L_PARAMS
    EXCEPTIONS
           ARCHIVE_INFO_NOT_FOUND = 1
           INVALID_PRINT_PARAMS   = 2
           INVALID_ARCHIVE_PARAMS = 3
           OTHERS                 = 4
       IF SY-SUBRC = 0 AND NOT L_PARAMS IS INITIAL.
         NEW-PAGE PRINT ON PARAMETERS L_PARAMS  NO DIALOG NEW-SECTION.
         G_SPOOL = 'X'.
       ENDIF.
    Also when I use this FM under INITIALIZATION then it generates the spool but content written at TOP_OF_PAGE not displayed. When I use it under START-OF-SELECTION, problem still remain same.
    Please Suggest
    thanks
    Sonal

    Hi,
      All spool requests will be stored in TSP01 table
    TSP01 - Spool Requests
    field name for Spool request number is RQIDENT
    Hi,
    Take a look at OSS Note 422136 which states:
    "2. You can only store one spool request even if a step generates several spool requests during processing. The application is responsible for a "spool overview" in this case. If a step generates several spool requests during processing, only one request can be stored. In this case, the application report should issue the number with a message when writing a spool request so that it is then displayed in the job log."
    Also take a look at OSS Note 519059 which further supports the case that you must capture the individual spool numbers as they are being created (i.e. within the job step's program). The note contains the following:
    8] Question: How are the spool requests assigned?
    Answer: The step information is stored in table TBTCP. This has space for exactly one spool request (field LISTIDENT). If a step generates several spool requests during the processing, only one can be stored. In this case the application is responsible for a "spool overview
    <b>Reward points</b>
    Regards

  • Waiting in host spooler

    We are facing some printing prob: SAP Output blocks on printer LJ06 frequently: waiting in host spooler
    SAP Output blocks on printer LJ06 frequently (= every day, more then 1 time).
    This for output sent from several transactions (= not only or every time from the same transaction)
    We only have problem with SAP printing. No problem with BaaN printing neither with windows printing. Some follow-up tests done : it takes average 5 minutes before the status in SAP printer spooler is changing from 'Waiting for output formatter' to 'Waiting for host spooler'. Please provide some solution for this prob.
    Regards,
    Ansar

    Dear Ansar, There can be various resons as to why waiting in host spooler status is coming.
    You would need to drill down down to find out the root cause
    Can you check the status of Print Server up and running or not ? .
    Can you check at SM51 if enough spool process are there to entertain print requests. there might be a conditon where in spool work process is stuck.
    I would ask you to check with respect to your printer architecture. Suppoe if you are using print server to print then can you check if the is any network issue between SAP and Print server.
    If the above is green then can you check if there are many jobs stuck at printer level OR print server level ?
    may be you can kill the first one and try if the if the printout comes.
    Let us know if your problem still persists.
    Try testing the same printer at development, quality and production - this will help you in finding out if there is any issue related to and SAP instance host's network problem
    hope it helps.
    Regards, Amber S | ITL

  • When printing to PDF Acrobat locks up at spooling

    Running Windows XP and Office 2007 and Arcobat 8 (with most recent web updated)
    When printing to PDF from any program (Word, Excel, Quickbooks, even Acrobat), the creating PDF window locks up and the print job gets stuck at the spooling status. No errors are displayed, I'm unable to cancel anything. Seemed to start happening after downloading the latest updates.
    Have tried to repair installation 3 times, reinstalled program 2 times, with no sucess. Have run this version for over three months with no issues beforehand.
    Help!!!!

    AcroTray is running in background.
    Thanks, will try that. Just have to work out Word settings so the conversion is seamless. Word tends to drop images and such when I do that.
    In the interim, I've downloaded the CutePDF driver and all seems to be working. Ultimately the issue seems to lie with the PDF driver provided by Acrobat, but no matter how many times I reinstall the driver I still get the same problem.

  • Report printing issue after upgrading from LV 8.2 to LV 2009

    Hello,
    I am upgrading an application from LabView 8.2 to LabView 2009. It uses the Report Generation Toolkit to create reports based on Word templates. The reports are pretty complicated, with a lot of bookmarks, tables, and graphs, but only one page long.
    The reports are generated correctly. However when sent to printing (using Print report.vi), the printer goes into spooling status and if you are patient enough you may get the report after at least 7 minutes. I tried changing the printer setting to "Print directly to the printer", as per an old KnowledgeBase article. No luck. I have installed a local printer. No luck again.
    If I close the LabView application while the printer is shown in spooling status, the report prints right away, every time.
    Never had this issue in LabView 8.2. On that machine I had Office XP. Now I have Office 2007...
    I do not get any error whatsoever, and I cannot figure out where the solution may be.
    I have one single report that prints right away every time I try. Coincidence or not, this is the only one that has no tables to print. It has graph though and plenty of bookmarks.
    I have exhausted all the ideas on how to deal with this situation, and I must find a solution ASAP. Any suggestion would be greatly appreciated.
    Thanks.

    Brandon,
    Thanks for your input.
    Not sure how I can use it to narrow down the problem though. I ran it, and I see that the printers are correctly identified, the default one is correctly found, however absolutely nothing is being printed out (I typed a text in the string control, and the Print control was on).
    Everything runs with no errors. I would prefer to see a bunch of errors ...

  • Background job executed as SAP*, need advice to change owner.

    Hi all,
    I'm facing an issue where my SAP background job currently has 2 job "SAP_CCMS_CPH_REORG" and "SAP_CCMS_CPH_HRCOLL" under the ownership of sap. I would like to move them away from SAP ID.
    I have tried to recreate the job using sm36 (and using my ID with sap_all profile) in testing environment, but it not seem to work.
    Highly appreciates any advices and/or pointers with regards to the above mention question.
    Thank you.

    Hi all,
    Thank you for the reply but I have forgotten to add a few updates.
    The issue is that I can change owner from SAP* to my ID with sap_all profile.
    But, after execution,
    Job with sap* owner ended successfully, with spool status marked as completed.
    whereas
    Job with my ID as owner ended successfully, but spool status marked as "waiting"
    error mesage:
    Description          Value
    Status:              Frontend unavailable
    Last event:
    Message:             Request on hold
    Date:                19.02.2009
    Time:                11:57:28
    Job status:          On hold
    Error class:         Delayed
    Area:                Data transfer
    Printout:            Not printed
    Apologies for the inconveniences caused.

  • Running the alv report  in  background and sending it thro email

    hi,
          i have to run the  alv report in background and send the output through email

    Hi
    Many a times there is a requirement to display ALV Grid (not ALV List) in the background Job. I have checked the SDN Forum for the same and it has been mentioned that ALV Grid cannot be displayed in Background, but the list output of ALV is possible. So user won’t have the actual Grid interface but the List interface.
    There is a workaround to display ALV Grid in Background Job. The only restriction is you can’t schedule the job through SM36. You need to execute the transaction of the report program, fill in the selection screen data and hit Execute.
    The job would be executed in background. User will be able to see the Job Log and Job Status after executing the program. User doesn’t have to go to SM37 to view the job status/log. Once the Job Status is changed to “COMPLETED”, user can click on “DISPLAY SPOOL” to view the ALV Grid.
    Limitations:
    Can’t schedulea background job
    The session should be active until the background job is completed. If the session is closed, then user won’t be able to check the output in ALV Grid. User would be able to check the output through spool or SM37
    Advantages:
    If the spool width is greater than 255 characters, then the entire width could be seen in the output because the output is directed to an ALV Grid and not to spool
    Interface of ALV Grid is available instead of ALV List even though it’s a background job.
    Program won’t give the TIME OUT error
    Steps Required:
    1. Once you execute the program, the following screen would be displayed
    2. Click “Display Job Status” to check the Status of the Background Job
    3. Click on “Display the Job Log” to check the Log
    4. Click on “Display Job Status” to check the Job Status
    5. Click on “DISPLAY SPOOL” to check the spool content once the Job Status is changed to “COMPLETED”. Output is displayed in ALV Grid
    Programs:
    1.  Two different programs needs to be created
    ZPROGRAM_ONE: This is the 1st program, where the selection screen and all the data validations would be done. Error handling for invalid data should be done in this program.
    Once the data validation is done, this program would call the 2nd program ZPROGEAM_TWO. Build the logic to display ALV Grid in this program. The logic will only display ALV in foreground and it won’t be reflected in the spool.
    ZPROGRAM_TWO: This program would fetch all the data and do all the processing. If you want the spool output along with ALV Grid output, then build the logic in this program to display ALV Grid.
    *& Report  ZPROGRAM_ONE                                                *
    REPORT  zprogram_one                            .
    PRASHANT PATIL
    TABLES : mara,
             tsp01.
    type-pools:slis.
    TYPES : BEGIN OF t_mara,
              matnr   TYPE mara-matnr,
              ersda   TYPE mara-ersda,
              ernam   TYPE mara-ernam,
              laeda   TYPE mara-laeda,
            END OF t_mara.
    DATA : i_mara       TYPE STANDARD TABLE OF t_mara,
           wa_mara      TYPE t_mara,
           wa_index     TYPE indx,        " For Index details
           wa_index_key TYPE indx-srtfd VALUE 'PRG_ONE',
           i_jobsteplist     TYPE STANDARD TABLE OF tbtcstep, " For spool number
           wa_params         TYPE pri_params,  " To Get Print Parameters
           wa_jobhead        TYPE tbtcjob,     " To know the status of job
           wa_jobsteplist    TYPE tbtcstep,    " To know the spool
           w_jobname         TYPE tbtco-jobname,  " Job name for bckgrnd job
           w_jobcount        TYPE tbtco-jobcount, " Unique id for bckgrd job
           w_path            TYPE string,         " Upload path
           w_lsind           TYPE sy-lsind,       " Index
           wa_seltab         TYPE rsparams,
           i_seltab          TYPE STANDARD TABLE OF rsparams,
           wa_index1         TYPE indx,        " For Index details
           wa_index_key1     TYPE indx-srtfd VALUE 'PRG_TWO',
           i_fieldcat        TYPE slis_t_fieldcat_alv,
           wa_fieldcat       LIKE LINE OF i_fieldcat.
            CONSTANTS DECLARATION                                        *
    CONSTANTS :
             c_a(1) TYPE c VALUE 'A',
             c_m(1) TYPE c VALUE 'M',
             c_l(1) TYPE c VALUE 'L',
             c_c(1) TYPE c VALUE 'C',
             c_zfdr(4) TYPE c VALUE 'ZFDR',
             c_x(1)    TYPE c VALUE 'X',
             c_locl(4) TYPE c VALUE 'LOCL', " Destination is LOCAL
             c_f(1)    TYPE c VALUE 'F',   " Job Status - Failed
             c_s(1)    TYPE c VALUE 'S',
             c_p(1)    TYPE c VALUE 'P'.
    SELECTION SCREEN PARAMETERS
    SELECT-OPTIONS : s_matnr FOR mara-matnr.
    START-OF-SELECTION.
    Before the export, fill the data fields before CLUSTR
      wa_index-aedat = sy-datum.
      wa_index-usera = sy-uname.
      EXPORT s_matnr
           TO DATABASE indx(st) FROM wa_index ID wa_index_key.
    To Open the Job for background processing
      PERFORM open_job.
    To get the print parameters
      PERFORM get_print_parameters.
    Submit the job in background
      PERFORM job_submit.
    Close the background job
      PERFORM job_close.
    This is the output screen with the buttons ********
    Create 3 buttons DISPLAY SPOOL, STATUS, JOBLOG
      SET PF-STATUS 'ZS001'.
      WRITE: / 'The program is submitted in Background'.
      WRITE: / 'Press DISPLAY SPOOL to see the spool'.
      WRITE: / 'Press STATUS to see the status of the background'.
    AT USER-COMMAND.
    If user presses the 'BACK' button
      IF sy-ucomm = 'BAK'.
        IF  wa_jobhead-status = c_f OR
            wa_jobhead-status = c_a.
          LEAVE TO SCREEN 0.
        ENDIF.
      ENDIF.
    If the user presses the 'DISPLAY SPOOL' Button
      IF sy-ucomm = 'DISPLAY'.
        PERFORM display_spool.
      ENDIF.
    If the user presses the 'JOB STATUS' Button
      IF sy-ucomm = 'STATUS'.
        PERFORM display_status.
      ENDIF.
    If the user presses the 'JOB LOG' Button
      IF sy-ucomm = 'JOBLOG'.
        PERFORM display_job_log.
      ENDIF.
    *&      Form  open_job
          text
    -->  p1        text
    <--  p2        text
    FORM open_job .
    This is to Create a new job which is to be submitted in background to
    process sales order/delivery/invoice
    Here we would get a unique id ( Jobcount ) which identifies our job
    along with the job name which we have assigned to our job
      CONCATENATE sy-uname
                  sy-datum
                  sy-uzeit
                          INTO w_jobname .  " Assign unique jobname
      CALL FUNCTION 'JOB_OPEN'
       EXPORTING
      DELANFREP              = ' '
      JOBGROUP               = ' '
        jobname                = w_jobname
      SDLSTRTDT              = NO_DATE
      SDLSTRTTM              = NO_TIME
      JOBCLASS               =
      IMPORTING
       jobcount                = w_jobcount
    CHANGING
      RET                    =
    EXCEPTIONS
       cant_create_job        = 1
       invalid_job_data       = 2
       jobname_missing        = 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.
    ENDFORM.                    " open_job
    *&      Form  get_print_parameters
          text
    -->  p1        text
    <--  p2        text
    FORM get_print_parameters .
      DATA : l_valid TYPE c.
    This is to get the Print Parameters for the job which is to be
    submitted in background to process sales order/delivery/invoice
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
       EXPORTING
      ARCHIVE_ID                   = C_CHAR_UNKNOWN
      ARCHIVE_INFO                 = C_CHAR_UNKNOWN
      ARCHIVE_MODE                 = C_CHAR_UNKNOWN
      ARCHIVE_TEXT                 = C_CHAR_UNKNOWN
      AR_OBJECT                    = C_CHAR_UNKNOWN
      ARCHIVE_REPORT               = C_CHAR_UNKNOWN
      AUTHORITY                    = C_CHAR_UNKNOWN
      COPIES                       = C_NUM3_UNKNOWN
      COVER_PAGE                   = C_CHAR_UNKNOWN
      DATA_SET                     = C_CHAR_UNKNOWN
      DEPARTMENT                   = C_CHAR_UNKNOWN
          destination                  = c_locl " LOCL
      EXPIRATION                   = C_NUM1_UNKNOWN
          immediately                  = space
      IN_ARCHIVE_PARAMETERS        = ' '
      IN_PARAMETERS                = ' '
      LAYOUT                       = C_CHAR_UNKNOWN
      LINE_COUNT                   = C_INT_UNKNOWN
      LINE_SIZE                    = C_INT_UNKNOWN
      LIST_NAME                    = C_CHAR_UNKNOWN
      LIST_TEXT                    = C_CHAR_UNKNOWN
      MODE                         = ' '
          new_list_id                  = c_x
      PROTECT_LIST                 = C_CHAR_UNKNOWN
          no_dialog                    = c_x
      RECEIVER                     = C_CHAR_UNKNOWN
      RELEASE                      = C_CHAR_UNKNOWN
      REPORT                       = C_CHAR_UNKNOWN
      SAP_COVER_PAGE               = C_CHAR_UNKNOWN
      HOST_COVER_PAGE              = C_CHAR_UNKNOWN
      PRIORITY                     = C_NUM1_UNKNOWN
      SAP_OBJECT                   = C_CHAR_UNKNOWN
      TYPE                         = C_CHAR_UNKNOWN
          user                         = sy-uname
      USE_OLD_LAYOUT               = ' '
      UC_DISPLAY_MODE              = C_CHAR_UNKNOWN
      DRAFT                        = C_CHAR_UNKNOWN
      ABAP_LIST                    = ' '
      USE_ARCHIVENAME_DEF          = ' '
      DEFAULT_SPOOL_SIZE           = C_CHAR_UNKNOWN
      PO_FAX_STORE                 = ' '
      NO_FRAMES                    = C_CHAR_UNKNOWN
       IMPORTING
      OUT_ARCHIVE_PARAMETERS       =
          out_parameters               = wa_params
       valid                        = l_valid
       EXCEPTIONS
         archive_info_not_found       = 1
         invalid_print_params         = 2
         invalid_archive_params       = 3
         OTHERS                       = 4
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " get_print_parameters
    *&      Form  job_submit
          text
    -->  p1        text
    <--  p2        text
    FORM job_submit .
    The job which we have created & the unique id ( jobcount ) which we
    have got identifies our job. Hence those parameters are passed along
    with the name of the background program "ZPROGRAM_TWO"
    The job is submitted in background.
      CALL FUNCTION 'JOB_SUBMIT'
        EXPORTING
      ARCPARAMS                         =
        authcknam                         = sy-uname
      COMMANDNAME                       = ' '
      OPERATINGSYSTEM                   = ' '
      EXTPGM_NAME                       = ' '
      EXTPGM_PARAM                      = ' '
      EXTPGM_SET_TRACE_ON               = ' '
      EXTPGM_STDERR_IN_JOBLOG           = 'X'
      EXTPGM_STDOUT_IN_JOBLOG           = 'X'
      EXTPGM_SYSTEM                     = ' '
      EXTPGM_RFCDEST                    = ' '
      EXTPGM_WAIT_FOR_TERMINATION       = 'X'
        jobcount                          = w_jobcount
        jobname                           = w_jobname
      LANGUAGE                          = SY-LANGU
        priparams                         = wa_params
        report                            = 'ZPROGRAM_TWO'
      VARIANT                           = ' '
    IMPORTING
      STEP_NUMBER                       =
       EXCEPTIONS
         bad_priparams                     = 1
         bad_xpgflags                      = 2
         invalid_jobdata                   = 3
         jobname_missing                   = 4
         job_notex                         = 5
         job_submit_failed                 = 6
         lock_failed                       = 7
         program_missing                   = 8
         prog_abap_and_extpg_set           = 9
         OTHERS                            = 10
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " job_submit
    *&      Form  job_close
          text
    -->  p1        text
    <--  p2        text
    FORM job_close .
    Once the job is submitted in background then the job is closed
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
      AT_OPMODE                         = ' '
      AT_OPMODE_PERIODIC                = ' '
      CALENDAR_ID                       = ' '
      EVENT_ID                          = ' '
      EVENT_PARAM                       = ' '
      EVENT_PERIODIC                    = ' '
        jobcount                          = w_jobcount
        jobname                           = w_jobname
      LASTSTRTDT                        = NO_DATE
      LASTSTRTTM                        = NO_TIME
      PRDDAYS                           = 0
      PRDHOURS                          = 0
      PRDMINS                           = 0
      PRDMONTHS                         = 0
      PRDWEEKS                          = 0
      PREDJOB_CHECKSTAT                 = ' '
      PRED_JOBCOUNT                     = ' '
      PRED_JOBNAME                      = ' '
      SDLSTRTDT                         = NO_DATE
      SDLSTRTTM                         = NO_TIME
      STARTDATE_RESTRICTION             = BTC_PROCESS_ALWAYS
        strtimmed                         = c_x
      TARGETSYSTEM                      = ' '
      START_ON_WORKDAY_NOT_BEFORE       = SY-DATUM
      START_ON_WORKDAY_NR               = 0
      WORKDAY_COUNT_DIRECTION           = 0
      RECIPIENT_OBJ                     =
      TARGETSERVER                      = ' '
      DONT_RELEASE                      = ' '
      TARGETGROUP                       = ' '
      DIRECT_START                      =
    IMPORTING
      JOB_WAS_RELEASED                  =
    CHANGING
      RET                               =
       EXCEPTIONS
         cant_start_immediate              = 1
         invalid_startdate                 = 2
         jobname_missing                   = 3
         job_close_failed                  = 4
         job_nosteps                       = 5
         job_notex                         = 6
         lock_failed                       = 7
         invalid_target                    = 8
         OTHERS                            = 9
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " job_close
    *&      Form  display_spool
          text
    -->  p1        text
    <--  p2        text
    FORM display_spool .
    To Read the Job to get the spool details
      DATA : l_rqident TYPE tsp01-rqident, " Spool Number
             l_spoolno TYPE tsp01_sp0r-rqid_char.
      CLEAR : l_rqident,
              w_lsind,
              wa_jobsteplist.
      REFRESH : i_jobsteplist.
      SET PF-STATUS 'ZAR02'.
    Get the Spool Number
      CALL FUNCTION 'BP_JOB_READ'
        EXPORTING
          job_read_jobcount           = w_jobcount
          job_read_jobname            = w_jobname
          job_read_opcode             = '20'
        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.
    Read the Job Step list to get the spool number
      READ TABLE i_jobsteplist INTO wa_jobsteplist INDEX 1.
      CHECK wa_jobsteplist-listident <> space.
    Spool Number
      l_rqident = wa_jobsteplist-listident.
      MOVE l_rqident TO l_spoolno.
    Check the spool in TSP01
      SELECT SINGLE * FROM tsp01 WHERE rqident = l_rqident.
      IF  sy-subrc = 0.
        LEAVE TO LIST-PROCESSING.
        CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
          EXPORTING
            spoolid       = l_spoolno
        IMPORTING
          RC            =
          STATUS        =
        PERFORM show_alv.
      ENDIF.
      w_lsind = sy-lsind.
      IF sy-lsind GE 19.
        sy-lsind = 1.
      ENDIF.
    ENDFORM.                    " display_spool
    *&      Form  show_alv
          text
    -->  p1        text
    <--  p2        text
    FORM show_alv .
    Before the import, fill the data fields before CLUSTR.
      wa_index1-aedat = sy-datum.
      wa_index1-usera = sy-uname.
    To Import the selection screen data from Calling Program
      IMPORT i_mara
      FROM DATABASE indx(st) ID wa_index_key1 TO wa_index1.
      FREE MEMORY ID wa_index_key1.
    This prepares the field-catalog for ALV.
      PERFORM prepare_fieldcatalog.
    This displays the output in  ALV format .
      PERFORM display_alv.
    ENDFORM.                    " show_alv
    *&      Form  display_status
          text
    -->  p1        text
    <--  p2        text
    FORM display_status .
    To Display the STATUS of the JOB which is exectued in background
      CLEAR : wa_jobsteplist.
      REFRESH : i_jobsteplist.
      WRITE:/ 'DISPLAYING JOB STATUS'.
      CALL FUNCTION 'BP_JOB_READ'
        EXPORTING
          job_read_jobcount           = w_jobcount
          job_read_jobname            = w_jobname
          job_read_opcode             = '20'
        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.
    To Display the status text as per the status type
      CASE wa_jobhead-status.
        WHEN 'S'. WRITE: / 'Scheduled'.
        WHEN 'R'. WRITE: / 'Released'.
        WHEN 'F'. WRITE: / 'Completed'.
        WHEN 'A'. WRITE: / 'Cancelled'.
        WHEN OTHERS.
      ENDCASE.
      IF sy-lsind GE 19.
        sy-lsind = 1.
      ENDIF.
    ENDFORM.                    " display_status
    *&      Form  display_job_log
          text
    -->  p1        text
    <--  p2        text
    FORM display_job_log .
    To display the log of the background program
      LEAVE TO LIST-PROCESSING.
      CALL FUNCTION 'BP_JOBLOG_SHOW_SM37B'
        EXPORTING
          client                    = sy-mandt
          jobcount                  = w_jobcount
          joblogid                  = ' '
          jobname                   = w_jobname
        EXCEPTIONS
          error_reading_jobdata     = 1
          error_reading_joblog_data = 2
          jobcount_missing          = 3
          joblog_does_not_exist     = 4
          joblog_is_empty           = 5
          joblog_show_canceled      = 6
          jobname_missing           = 7
          job_does_not_exist        = 8
          no_joblog_there_yet       = 9
          no_show_privilege_given   = 10
          OTHERS                    = 11.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " display_job_log
    *&      Form  prepare_fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    FORM prepare_fieldcatalog .
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'MATNR'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-reptext_ddic = 'Material no.'.
      wa_fieldcat-outputlen    = '18'.
      APPEND wa_fieldcat TO i_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'ERSDA'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-reptext_ddic = 'Creation date'.
      wa_fieldcat-outputlen    = '10'.
      APPEND  wa_fieldcat TO i_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'ERNAM'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-reptext_ddic = 'Name of Person'.
      wa_fieldcat-outputlen    = '10'.
      APPEND wa_fieldcat TO i_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'LAEDA'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-reptext_ddic = ' Last Change'.
      wa_fieldcat-outputlen    = '10'.
      APPEND  wa_fieldcat TO i_fieldcat.
    ENDFORM.                    " prepare_fieldcatalog
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
    Call ABAP List Viewer (ALV)
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          it_fieldcat  = i_fieldcat
        tables
          t_outtab     = i_mara.
    ENDFORM.                    " display_alv
    •     ZPROGRAM_TWO: This is the 2nd program which would be called from program ZPROGRAM_ONE.
    *& Report  ZPROGRAM_TWO                                                *
    REPORT  zprogram_two                            .
    PRASHANT PATIL
    TABLES : mara.
    TYPE-POOLS:slis.
    TYPES : BEGIN OF t_mara,
              matnr   TYPE mara-matnr,
              ersda   TYPE mara-ersda,
              ernam   TYPE mara-ernam,
              laeda   TYPE mara-laeda,
            END OF t_mara.
    DATA : i_mara        TYPE STANDARD TABLE OF t_mara,
           wa_mara       TYPE t_mara,
           wa_index      TYPE indx,        " For Index details
           wa_index_key  TYPE indx-srtfd VALUE 'PRG_ONE',
           wa_index1     TYPE indx,        " For Index details
           wa_index_key1 TYPE indx-srtfd VALUE 'PRG_TWO',
           i_fieldcat        TYPE slis_t_fieldcat_alv,
           wa_fieldcat       LIKE LINE OF i_fieldcat.
    SELECT-OPTIONS : s_matnr FOR mara-matnr.
    Before the import, fill the data fields before CLUSTR.
    wa_index-aedat = sy-datum.
    wa_index-usera = sy-uname.
    To Import the selection screen data from Calling Program
    IMPORT s_matnr
    FROM DATABASE indx(st) ID wa_index_key TO wa_index.
    FREE MEMORY ID wa_index_key.
    SELECT matnr
           ersda
           ernam
           laeda
           FROM mara
           INTO TABLE i_mara
           WHERE matnr IN s_matnr.
    PERFORM prepare_fieldcatalog.
    PERFORM display_alv.
    Before the export, fill the data fields before CLUSTR
    wa_index1-aedat = sy-datum.
    wa_index1-usera = sy-uname.
    EXPORT i_mara
    TO DATABASE indx(st) FROM wa_index1 ID wa_index_key1.
    *&      Form  prepare_fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    FORM prepare_fieldcatalog .
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'MATNR'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-outputlen    = '18'.
      APPEND wa_fieldcat TO i_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'ERSDA'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-outputlen    = '10'.
      APPEND  wa_fieldcat TO i_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'ERNAM'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-outputlen    = '10'.
      APPEND wa_fieldcat TO i_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname    = 'LAEDA'.
      wa_fieldcat-tabname      = 'I_MARA'.
      wa_fieldcat-outputlen    = '10'.
      APPEND  wa_fieldcat TO i_fieldcat.
    ENDFORM.                    " prepare_fieldcatalog
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
    Call ABAP List Viewer (ALV)
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          it_fieldcat = i_fieldcat
        TABLES
          t_outtab    = i_mara.
    ENDFORM.                    " display_alv
    its possible to display ALV Grid using OO ALV. Following code can be used instead of FM.
    In the PBO, add following code
    SET PF-STATUS 'ZSTAT'.
    If program is executed in background
    CALL METHOD cl_gui_alv_grid=>offline
    RECEIVING
    e_offline = off.
    IF off IS INITIAL.
    IF container1 IS INITIAL.
    CREATE OBJECT container1
    EXPORTING
    container_name = 'CC_ALV1' .
    ENDIF.
    ENDIF.
    CREATE OBJECT g_grid1
    EXPORTING
    i_parent = container1.
    CALL METHOD g_grid1->set_table_for_first_display
    EXPORTING
    I_BUFFER_ACTIVE =
    I_BYPASSING_BUFFER =
    I_CONSISTENCY_CHECK =
    I_STRUCTURE_NAME =
    IS_VARIANT =
    i_save = 'A'
    i_default = ' '
    is_layout =
    is_print =
    IT_SPECIAL_GROUPS =
    it_toolbar_excluding =
    IT_HYPERLINK =
    IT_ALV_GRAPHICS =
    IT_EXCEPT_QINFO =
    CHANGING
    it_outtab = i_output
    it_fieldcatalog = i_fieldcatalog
    IT_SORT =
    IT_FILTER =
    EXCEPTIONS
    invalid_parameter_combination = 1
    program_error = 2
    too_many_lines = 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.
    Reward points if useful
    Regards
    Anji

Maybe you are looking for

  • How do I find out how much of my hard drive space is used up

    I have a Mac OS X Version 10.7.5. Processor 2.66 GHz Intel Core 2 Duo; Memory 2 GB 1067 MHz DDR3. Computer is running very slow. I cleared downloads and reset Safari, emptied trash, etc. How  can I find out how much space I have left on my hard drive

  • How do I get iTunes to arrange movies (from a series) in the order they were released

    Bottom line, we all download movies into iTunes and regardless of if you view them as a list or as cover art, they are always in alphabetical order.   But when you have a series of movies (pick any of your favorites... Harry Potter, Twilight, Transfo

  • How to register PL/SQL index table parameter in OracleCallableStatement ?

    Hello , I am using Oracle release 8.1.6.0.0 . I need to call a PL/SQL procedure through JDBC, which specifies an INDEX TABLE OUT parameter(e.g. TYPE type_name IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER) . I found that with Oracle8i release 8.1.

  • Making field invisible on screen shifts rest of the fields Up..

    Hi All, I am facing a problem that when i make one of my screen fields invisible the rest of the fields shifts up and fill up the space. Can this be avoided... please suggest thanks in advance, kushagra sharma

  • GetBytes() doesn't work

    I am using a special Java library that is very limited and in order for my program to work I have to be able to convert a String to bytes, without using getBytes(), because the api doesn't include most String functions. GetBytes() is one of the missi