cancel
Showing results for 
Search instead for 
Did you mean: 

How to set priority of spool request when printing with SMARTFORMS

Joerg_S
Participant
0 Kudos

Hi all,

in SP01 when you check a spool request (double click spool nr & select 2nd tab "output info") you will see priority set to '5' (standard). See also table TSP01, field RQPRIO.

Question:

how can I put priority = '1' to the spool request when printing with smartforms?

I have already checked these import parameters:

CONTROL_PARAMETERS	TYPE	SSFCTRLOP
OUTPUT_OPTIONS		TYPE	SSFCOMPOP

thanks for your help

regards

Jörg

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Spool priority is set by the Basis Adminstrator. Normally, they set a medium (5) priority for all the user profiles in a system. You can contact them for help or resetting of the spool priority.

If you want to set the spool request of individual spools, you can do that programmatically. Read and change the value of TSP01-RQPRIO field from 5 to 1. This is not a good approach but it works.

Joerg_S
Participant
0 Kudos

@Rudresh Chand

Spool priority is set by the Basis Adminstrator. Normally, they set a medium (5) priority for all the user profiles in a system. You can contact them for help or resetting of the spool priority.

Thanks for your help. You do confirm what I also found in a "old" SAP Note (118057 / 2.1.2) from year 2001, telling me that there is no prepared "import field" from ABAP to spooler for setting priority.

If you want to set the spool request of individual spools, you can do that programmatically. Read and change the value of TSP01-RQPRIO field from 5 to 1. This is not a good approach but it works.

That's it !... solved:


 " (Subroutine included in FM)
...
* interne Tabelle füllen für Smartforms
    MOVE-CORRESPONDING wa_pagolabel TO it_pagolabel.

* _____________________________________________________________________*
* Smartforms rufen, drucken
* ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
* a) dynam. Funktionsbaustein um Formular zu ermitteln
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
     EXPORTING
       formname                 = wa_pagolabel-fname_sf
*     VARIANT                  = ' '
*     DIRECT_CALL              = ' '
     IMPORTING
       fm_name                  = fm_zebra_sf
     EXCEPTIONS
       no_form                  = 1
       no_function_module       = 2
       OTHERS                   = 3              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

* b) Daten zur Ausgabe an Smartforms übergeben
    CALL FUNCTION fm_zebra_sf
     EXPORTING
       control_parameters         = wa_sf_control
       output_options             = wa_sf_options
       user_settings              = ' '             
     IMPORTING
*   DOCUMENT_OUTPUT_INFO       =
      job_output_info            = wa_sf_output_info
*      job_output_options         = wa_sf_output_options
     TABLES
      t_fields                   = it_pagolabel
     EXCEPTIONS
      formatting_error           = 1
      internal_error             = 2
      send_error                 = 3
      user_canceled              = 4
      OTHERS                     = 5
              .
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid
            TYPE 'I'       " SY-MSGTY
          NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    IF NOT wa_sf_output_info-outputdone = 'X'.
      MOVE 'SFC' TO v_fehler.                            "User Canceled
    ELSE.
      READ TABLE wa_sf_output_info-spoolids INDEX 1
            INTO wa_pagolabel-rspoid.
      MESSAGE 'PAGOMAT now printing ...' TYPE 'S'.             
    ENDIF.

* _____________________________________________________________________*
*   Spoolsteuerung Priorität auf '1' setzen, falls WP Spooler überlastet(!)
*   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    SELECT SINGLE * FROM tsp01
      WHERE rqident    = wa_pagolabel-rspoid.
    IF sy-subrc = '0'.
      UPDATE tsp01
         SET rqprio = '1'
       WHERE rqident = wa_pagolabel-rspoid.
    ENDIF.
...

Answers (1)

Answers (1)

Former Member
0 Kudos

I hope your requirement is to print immediately when the spool is generated. If this is correct then the immediate printing is depending on two things

1. In the user master own data the radio button 'Output immediately' should check.

2. Pass the OUTPUT_OPTIONS-TDIMMED as 'X'

Thanks,

Venkata

Joerg_S
Participant
0 Kudos

@Venkata Narayana

If you where looking for points I have to to dash your hope

I'm searching for a option that will put "my" spool request to the top of spooler if there are a lot of prints queued. My printer is a label printer in production and has to be handled with "main priority" whereas a monthly report from controlling would do no harm staying in spooler for about 5 minutes ...

If you print a ALV list (from a report, like SP01 for example) you can choose priority in the print dialog

... field PRIPAR_DYN-PRIOT

this option is missing in both tables mentioned above

regards

Jörg

P.S.

F1 Help for field "Priority" from SP01

Spool: Spool or print request priority The spool system passes the priority on to the host spooler, if the corresponding print command is maintained (in the profile parameter rspo/host_spool/print). The host spooler determines how to interpret each priority. The interpretation may therefore vary from platform to platform. The priority applies to all output requests. If multiple spool work processes are used, the internal spool queue in the spool work process also uses the priority. Procedure 5 is the default priority in the spool system. Enter a lower number to increase the priority of the output requests for a spool request.

Edited by: Jörg Sauterleute on Jan 26, 2011 10:21 PM