Impresión de documentos en Comercial

domingo, 9 de mayo de 2010


En este post intento explicar la parametrización necesaria para llevar a cabo la impresión automática de documentos en el módulo Comercial. La impresión de documentos en el módulo SAP-SD se realiza mediante la determinación de mensajes de impresión.


Parametrización

En el caso práctico que seguiré crearé un documento de impresión para pedidos de ventas, aunque de forma muy parecida lo podríamos hacer para entregas, facturas, documentos transporte... y otros documentos que podamos utilizar en este módulo.

Para empezar, decir que todo lo que necesitamos lo encontraremos en el apartado de customizing 'Control de mensajes de comercial'.

IMG: Comercial / Funciones básicas / Control de mensajes
  • En primer lugar, revisamos cuáles van a ser nuestras tablas de condiciones. La tabla de condiciones es el lugar en el que almacenaremos los datos que regirán nuestros mensajes de impresión. Existen una serie de tablas de condiciones estándar que podemos utilizar como tablas organización de ventas y cliente (tabla 001), de pedidos de un tipo determinado (tabla 013), etc.  Yo usaré una con criterios organización de ventas / clase pedido (005).
 IMG: Comercial / Funciones básicas / Control de mensajes / Determinación de mensaje / Determinación de mensaje vía técnica de condiciones / Actualizar determinación de mensajes para doc. de ventas / Actualizar tablas de condiciones

  • Actualizar secuencia de acceso: en base a las tablas de condiciones indicaremos el criterio por el cual queremos determinar la impresión de nuestros documentos. Dentro de las diferentes secuencias de acceso creadas en SAP nosotros nos fijaremos en la secuencia 0004 Org.ventas / Cl.pedido.
  IMG: Comercial / Funciones básicas / Control de mensajes / Determinación de mensaje / Determinación de mensaje vía técnica de condiciones / Actualizar determinación de mensajes para doc. de ventas / Actualizar secuencias de acceso

Secuencias de acceso

  • Actualizar clase de mensaje: buscamos la clase de mensaje que asociaremos a nuestro pedido de ventas. Por defecto, SAP utiliza el mensaje BA00 (confirmación de pedido). Sin embargo, siempre es aconsejable hacer copias de los mensajes estándar de SAP y hacer cambios sobre la copia. Así que yo voy a copiarlo en un mensaje llamado ZBA0 utilizando las opciones que me da por defecto SAP. Aquí es muy importante indicar qué secuencia de acceso usaremos para nuestro mensaje (la indicada en el punto anterior). En nuestro caso, Org.ventas / cl.pedido.
  IMG: Comercial / Funciones básicas / Control de mensajes / Determinación de mensaje / Determinación de mensaje vía técnica de condiciones / Actualizar determinación de mensajes para doc. de ventas / Actualizar secuencias de acceso


Secuencia de acceso

  • Seleccionamos el apartado 'Rutinas de proceso': aquí defino el programa que regirá la impresión así como el formulario que contendrá el formato e información del documento. Podemos hacer dos cosas, bien utilizar el programa y formulario que nos da SAP de forma estándar, bien crear un programa y formulario propios. Os recomiendo lo segundo ya que los clientes/usuarios siempre van a demandar modificaciones y esto no lo podéis hacer con programas y formularios estándar. También os aconsejo que no utilicéis la opción de formularios sino la de formul.PDF/smartforms. Los primeros son herramientas de SAPscript que ya están en desuso, además de que son mucho más complicadas de programar y mantener. En este post no explicaré cómo crear smartforms pero cualquier programador ABAP os puede ayudar en este aspecto.
Asignar rutinas y formularios

  • Actualizar esquema para mensajes: nos permite indicar cuál de los mensajes que hemos creado se asignará a nuestro pedido. Solamente podremos utilizar aquellos mensajes que indiquemos en nuestro esquema de mensajes. Además, nos permite crear clásusulas condicionales (secuencias de código ABAP) para filtrar el uso de nuestros mensajes de impresión. 
 IMG: Comercial / Funciones básicas / Control de mensajes / Determinación de mensaje / Determinación de mensaje vía técnica de condiciones / Actualizar determinación de mensajes para doc. de ventas / Actualizar esquema para mensajes

Esquema para mensajes

Funcionalidad

  • En primer lugar, tenemos que crear el mensaje según alguna de la combinación de claves previamente definidas (en nuestro caso, por org.ventas / clase de pedido).
Logística / Comercial / Datos maestros / Mensaje / Documento de venta / VV11-Crear

Crear mensajes

  •  Añadimos cada uno de los tipos de pedido e indicamos la impresora por la cual queremos que se impriman cuando sean llamados (botón 'comunicación'). Grabamos.
Crear mensajes

Para comprobar si funciona crearemos un nuevo pedido

Logística / Comercial / Ventas / Pedido / VA01-Crear

Y en el apartado 'Documento de venta / dar salida' previsualizaremos nuestro documento.

Imagen inicial | *mancy*


    5 comentarios:

    1. Hola Oscar,

      He realizado todos los pasos que indicas pero después de crear un pedido de venta y luego visualizarlo para imprimir seleccionando "Dar Salida", me aparece un mensaje: "No se ha seleccionado ningun mensaje para la impresión".

      La idea es que al crear un pedido se agregue automáticamente el mensaje indicado en la VV11, pero no lo está haciendo al parecer.

      Quedo a la espera de tus comentarios.

      ResponderEliminar
      Respuestas
      1. Hola. Si has creado tu mensaje en la VV11 correctamente yo me revisaría de nuevo la secuencia de acceso y el esquema de mensajes. Puedes ir a tu pedido en Detalles / Mensajes / Cabecera / Tratar / Pasar / Análisis determ. Eso te dará alguna pista a la hora de descubrir de dónde viene tu error.
        Saludos.

        Eliminar
      2. Hola, tal vez solo te falto selecionar el dispositivo de salida y activar el check de Dar salida Inmediatamente en el registro de condicion desde la VV11, puedes verificarlo desde la VV12.

        Suerte

        Eliminar
      3. Eso es eun error habitual, mas probable que sea por eso

        Eliminar
    2. Hola,

      Hay alguna manera de limitar que solo se pueda imprimir un solo mensaje. Me explico. El sistema tiene parametrizados 4 tipos de mensaje pero solo determinará 1 y sin dar salida al mismo.

      Será el usuario quien manualmente le dará salida, pero una vez impreso uno, no debería poder imprimir ninguno más.

      Alguna idea?

      ResponderEliminar