About me

Gestión de spool

Concepto de spool

En cualquier entorno de gestión empresarial se produce una gran cantidad de información que en muchas ocasiones interesa sacar a papel a través de informes, listados, análisis. . . El spool es un almacén receptor de peticiones de impresión que proporciona una serie de utilidades para controlar la salida de información. Aunque se asocia directamente spool con imprimir en papel, en SAP las posibilidades son más amplias: podemos enviar una orden de
spool por fax, o imprimirla en un fichero. Nosotros nos limitaremos a ver el funcionamiento de la salida por impresora para lo cual lo primero que debemos hacer es aprender cómo se instala una.

Instalación de una impresora

Con la transacción SPAD a la que llegaremos a través de Herramientas/CCMS/Spool/ Gestión de spool – podemos instalar dispositivos de salida en nuestro sistema R/3. Vamos a describir la instalación de una impresora de tipo local a nivel de PC, es decir, una impresora genérica en la que cualquiera puede imprimir pero a cada persona que lo haga le saldrá la información por la impresora que tenga definida por defecto en su servidor de presentación.

En el campo dispositivo de salida introduciremos el nombre que le vamos a dar a la impresora y tras pulsar el botón Gestión total y el botón con el icono de un folio en blanco llegaremos a la pantalla en la que definiremos los siguientes datos:

Tipo de dispositivo. Es lo más parecido a lo que en microinformática se denomina driver de la impresora. Para la creación de una impresora transacción SPAD. Mantenimiento de dispositivos de salida local elegiremos siempre el tipo SAPWIN. Este dispositivo precisa de un programa llamado saplpd que forma parte de la instalación del frontend de SAP. Cuando se imprime algo el sapgui ejecuta automáticamente el programa saplpd y este recibe los datos a imprimir y se encarga de enviarlos a la impresora.

Clase de dispositivo. Seleccionamos de la lista la opción Impresora común.
Grupo de autorizaciones. Podemos restringir a los usuarios a que puedan imprimir por determinadas impresoras. Esto es muy interesante cuando disponemos de impresoras de alto rendimiento dedicadas a la impresión de facturas, nóminas, etc. No nos interesara, en estos casos, que ningún usuario pueda sacar listados por estas impresoras interrumpiendo los largos procesos que suelen llevar a cabo. Como estamos definiendo una impresora local para todo el mundo dejamos este campo en blanco.
Modelo. Campo descriptivo para poner la marca y modelo de la impresora.
Ubicación. Campo descriptivo para indicar al usuario donde se encuentra físicamente la impresora. Es útil rellenarlo cuando disponemos de salas separadas para las impresoras a las que hay que dirigirse para recoger la salida del spool.

Por último, pasamos a la pestaña marcada con la etiqueta Acomplam. SPOOL host. Aquí se le dice como esta conectada la impresora al servidor SAP.

Elegiremos de la lista la opción F:Imprimir en front end que le marca que debe enviar la información al PC para que sea este el que le de salida. El campo impresora host debemos rellenarlo con el nombre DEFAULT para indicarle que la orden de spool debe salir por la impresora que este configurada por defecto en el PC. Una vez hecho esto sólo nos queda pulsar el botón de grabar y ya podemos usar la impresora instalada.


Como imprimir

Teniendo una impresora ya instalada podemos, desde cualquier pantalla de listado, pulsar el icono de impresora de la barra de estándar de herramientas y tendremos que rellenar las opciones.

El primer campo a rellenar es el nombre de la impresora por donde queremos que salga nuestro listado1. Este es el único campo obligatorio, pero también podemos indicar otras muchas opciones que vemos a continuación.

La cantidad de copias que queremos sacar. Si queremos todas las páginas o sólo un rango de ellas. El nombre y el título de la orden de spool. Será útil para luego buscarla entre el spool o entre el montón de hojas impresas que salen por una impresora compartida. La salida inmediata o el almacenamiento en el spool.
1En la pantalla viene con el nombre genérico de dispositivo de salida.

Podemos marcar el borrado de la orden tras la impresión correcta o, por el contrario, dejar que la orden permanezca en el spool para futuras reimpresiones.

La cantidad de días que debe permanecer en el spool antes de ser borrada por los jobs de mantenimiento. La impresión de una portada previa con el título de la orden de spool y el destinatario y departamento al que pertenece. Estos últimos datos tienen sentido en una empresa en la que haya servicio de entrega de impresiones, es decir, que no tenemos que ir a la impresora sino que nos envían los papeles a nuestro puesto de trabajo. La cantidad de líneas y columna que queremos sacar y por lo tanto el formato de la página.

Operaciones sobre órdenes de spool

Para poder administrar todas las peticiones de spool que hacemos SAP provee de la transacción SP01 que se encuentra en Herramientas/CCMS/Spool/Control de salida. En ella nos encontramos inicialmente una pantalla con diferentes criterios de selección.
Aquí podemos elegir las órdenes de spool por varios criterios; los más habituales son el creador de la orden y la fecha. Tras pulsar F8 nos encontramos con un listado de las órdenes seleccionadas. Este listado tiene la misma característica que el de la transacción de gestión de jobs; es un programa de selección, listado y gestión simultáneamente.

Las operaciones que podemos hacer sobre una orden de spool incluyen la creación de órdenes de salida, el cambio de los atributos, el borrado de la orden o la visualización de su contenido. Esta última opción es realmente interesante cuando queremos comprobar el resultado de un programa que se ha ejecutado en proceso de fondo, pero no queremos imprimirlo hasta ver si ha salido lo que esperábamos. En cuanto a los atributos, podemos ver algunos de los que se pueden cambiar. Básicamente son los mismos que definimos inicialmente al crear la orden de spool. Por ejemplo, es muy habitual comprobar tras la salida al papel que un listado que tiene 132 columnas en sus atributos ha salido con letra pequeña y en formato horizontal pero no llega a ocupar realmente más de 80. En ese caso cambiaremos el campo edición por un X 65 80 para conseguir un listado con letra más grande y en vertical y volveremos a repetir la salida de la orden.

Una de las labores del administrador consiste en asegurarse que las órdenes de spool olvidadas por los usuarios no llenan nuestra base de datos. Para ello dispone del programa RSPO0041 que le permite eliminar masivamente el spool que lleve más de n días almacenado.

Comentarios

  1. Me ha gustado mucho tu artículo Amparo y he querido incluir un enlace en uno de mis posts. Por si lo quieres leer te dejo el enlace impresiones en sap. Gracias por compartir tus conocimientos con todos.

    ResponderEliminar
  2. Compartir es la mejor forma de aprender porque quien comparte como en este caso, recibe en muchas ocasiones más de lo que da.
    Gracias por tu enlace.

    ResponderEliminar
  3. hola Amparo, una consulta, es posible configurar sap para que muestre las propiedades de la impresora que va a utilizar. La necesidad que tengo es por que las impresoras que tenemos estan configuradas para que por defecto impriman a 2 hojas por pagina. y en algunos casos se requiere que desde SAP se imprima a una hoja por pagina. En otras aplicaciones el usuario entra a las propiedades de la impresora la modifica y manda la impresion. En SAP no puede x que imprime por la cola.

    cambie los valores de la cola para impresion a hoja por pagina pero no hace caso.

    ResponderEliminar
  4. Entiendo que se trata de un formulario SAPSCRIPT A DOBLE CARA

    En la SE71 marcá la opción "Disposición página" y entra a tu formulario
    En el cuadro "Página" selecciona la primera pagina que se va a imprimir,
    a la derecha hay un boton con otros atributos, pulsa ese botón y te aparece
    una ventana donde al final hay una opción que dice "Modo Impresión" allí
    seleccioná modo "Duplex", creo que a la página siguiente se le debe dejar
    vacía esta opción.

    Otra cosa, la impresora debe soportar impresión en doble cara,
    y estar configurada para eso.

    La nota OSS puede orientar un poco (96102)

    ResponderEliminar
  5. hola, de que manera puedo imprimir un reporte de lista y que salga vertical??
    graciasss

    ResponderEliminar
  6. Les comento que en sap tengo un usuario A y un usuario B y están generando impresiones con formatos distintos (Tamaño de letra, tipo de letra, fondo de color) e imprimen el mismo contenido de las contabilizaciones de que están en SAP, la cual agradecería me pudiesen orientar el por qué los usuarios tienen ese problema. Puede pasar por problemas de los usuarios SAP, o simplemente es un problema de la configuración de la impresora a nivel de windows.
    Desde ya mucgas gracias...!

    ResponderEliminar
  7. Hola buenos días

    Podrian orientarme como es en el caso para la configuración de las impresoras en red?

    ResponderEliminar
  8. La transacción SPAD se usa para configurar todo tipo de impresoras.

    ResponderEliminar
  9. Hola Amparo, una pregunta,

    En un proceso de impresión de etiquetas detuve la impresión inmediata y guarde la spool en una tabla interna como en tu ejemplo,
    Después con la función RSPO_OUTPUT_SPOOL_REQUEST mande la spool en orden ascendente, pero al momento de imprimir mas de 10 etiquetas salen en desorden, esto lo se por que lleva un numero consecutivo cada etiqueta,

    Sabes que puede ser???

    Te agradeceré infinitamente,

    Gracias y saludos

    ResponderEliminar
  10. echa un vistazo a este enlace del scn:

    https://wiki.scn.sap.com/wiki/display/ABAP/Print+spools+sequentially


    Gracias

    ResponderEliminar
  11. Hola Amparo buen día.
    Tengo un problema con la impresión, ya que quiero seleccionar que página imprimir, pero me sale seleccionado por default TODO y la parte de seleccionar paginas de pagina a tal pagina viene bloqueado. Sabes que puede ser?.

    Gracias .

    Saludos.

    ResponderEliminar
  12. Buena tarde Dra Amparo García, existe alguna manera de enviar a imprimir toda la cola del Spool? o alguna transacción que imprima de forma masiva documentos de FI, Gracias.

    ResponderEliminar
  13. Buenos días

    Quisiera saber como configurar en el Spool el botón de opciones adicionales para ingresarle clave a la impresión de manera que cualquier persona no tenga acceso a información confidencial

    ResponderEliminar
  14. La mejor solución que veo yo desde mi experiencia es descargar la impresión desde una orden de spool a un documento pdf y ponerle clave a ese documento pdf.
    Saludos.

    ResponderEliminar
  15. hola! saben en que tabla se relaciona el usuario y el dispositivo de salida predefinido en la su01 en la pestaña Valores, campo Disp.salida?

    Muchas gracias y saludos

    ResponderEliminar
  16. Buena día,

    excelente información

    Alguna forma de salida del spool directamente a txt? sin tener abierto SAP, tengo un job que se ejecuta en la noche, la idea es que una vez se ejecute se descargue al ordenador, lo he intentado con una impresora virtual pero esta abre el dialogo para dar nombre al archivo así que no me sirve porque debería estar abierto SAP, y como lo que necesito es que lo haga internamente cuando ejecute el JOB en la noche.

    Gracias.

    ResponderEliminar
    Respuestas
    1. Cuando dices "sin tener abierto SAP" .... entiendo que quieres descargar en modo background (a través de proceso de job) una orden de spool a un fichero .txt del servidor, verdad?

      Si es así, hay varias maneras de hacerlo: 1) deberías desarrollar un proceso que extraiga la información de la orden de spool en el formato adecuado y crear el fichero .txt con las sentencias DATASET. Esto requiere un perfil de desarrollo. Función RSPO_DOWNLOAD_SPOOLJOB

      2) Hay una forma estándar de convertir una orden de spool a fichero pdf (que no txt) a través del report RSTXPDFT4. En este caso definiendo un job (SM37) que tenga como primer paso el report indicado y pasándolo como parámetro la orden de spool.
      En este caso no es necesario desarrollo, lo puede hacer un perfil consultor.

      3) En la transacción SP01 o SP02 marcar la orden de spool y luego Menu/Orden SPOOL/ Transmitir/Exportar como texto. En este caso el modo de hacerlo es foreground y habría que investigar a través de juego de datos (SM35) si es posible automatizarlo sin intervención del usuario y tener en cuenta el tamaño de la orden de spool porque puede superar el área de memoria para ABAP.

      Espero haberte ayudado.
      Un cordial saludo.

      Eliminar
  17. Hola Amparo,

    Me encuentro con la siguiente situación: Tengo que descargar en fichero pdf un documento muy grande (todo el libro mayor para los auditores). Al ser tan grande, da timeout, lo he descargado en txt por partes, pero al unirlo y descargarlo en pdf, las paginas no coinciden.
    También he probado a utilizar le programa que comentas RSTXPDFT4 y nada.

    Se te ocurre como lo puedo descargar?
    Un saludo

    ResponderEliminar
    Respuestas
    1. Hola Alejandra.

      Se me ocurre que se podría montar un informe a medida que te permita por pantalla seleccionar la información a descargar y construir el informe en background dejando el resultado (fichero/ficheros .pdf) en el servidor. De esta forma, te desentiendes del problema del timeout. Si es necesario lo dejas corriendo por la noche en un proceso batch y a la mañana ya lo tienes.

      Ahora... eso sí, necesitas un analista-programador que te monte el informe a medida.

      Un cordial saludo.

      Eliminar

Publicar un comentario

Entradas populares de este blog

Las 15 transacciones más usadas por un técnico ABAP

Los 8 reports más útiles en AM - HCM