SAP Tutorial de scripts: SE71, SE78, SCC1, VF03, SO10

⚡ Resumen inteligente

SAP Los scripts forman el sistema de procesamiento de texto del SAP Sistema para imprimir texto preformateado en formularios preformateados. Esta página explica los cinco componentes, el conjunto de diseño, los comandos de control, el programa de impresión, los tipos de salida y las transacciones SE71, SE78, SO10 y SCC1.

  • 📝 Definición básica: SAPEl script es el sistema de procesamiento de texto integrado de SAP, utilizado para imprimir texto preformateado en formularios preformateados, como facturas.
  • 🧱 Cinco componentes: Un editor, estilos y conjuntos de diseño, el compositor, una interfaz de programación y las tablas de la base de datos que almacenan textos y formularios.
  • 📄 Conjunto de diseño: El conjunto de maquetación no contiene datos. Describe las páginas, las ventanas y los elementos de texto, y el programa de impresión le proporciona los datos seleccionados de la base de datos.
  • ⌨️ Comandos de control: Introducidos con /: en el formato de párrafo, comandos como NEW-PAGE, PROTECT, INCLUDE y PERFORM controlan el formato de salida.
  • 🖨️ Programa de impresión: OPEN_FORM, WRITE_FORM y CLOSE_FORM son obligatorios, mientras que START_FORM y END_FORM son opcionales.
  • 📬 Tipos de salida: Almacenado en la tabla NAST y ejecutado por el programa RSNAST00, un tipo de salida decide si el documento se imprime, se envía por fax o se envía por correo.
  • 🔁 Dependencia del cliente: A SAPEl formato del script depende del cliente, por lo que se copia entre clientes con SCC1 o con la utilidad Copiar desde cliente de SE71.

SAP Scripts

¿Qué es SAP ¿Texto?

SAP el guion es el SAP El propio sistema de procesamiento de textos del sistema. Se parece mucho a otros sistemas de procesamiento de textos líderes.

Se utiliza para imprimir texto preformateado en formularios preformateados.

Documentos típicos producidos con SAPLos scripts son facturas, órdenes de compra, albaranes y cartas a clientes. El formulario se diseña una sola vez en la transacción SE71, y un programa de impresión ABAP proporciona los datos en tiempo de ejecución.

Componentes de SAPScript

SAP Los scripts se componen de cinco componentes principales:

Componentes de SAPScript

  1. Un editor para ingresar y editar las líneas de un texto.
  2. Estilos y conjuntos de diseño para el diseño de impresión. Se crean independientemente de los textos individuales mediante las transacciones de mantenimiento correspondientes y se asignan a los textos más tarde.
  3. El compositor es un módulo de salida central. SAP El compositor de guiones es invisible para el exterior.
  4. Una interfaz de programación que le permite incluir SAP componentes de script en sus propios programas de aplicación y para controlar la salida de los conjuntos de diseño desde dentro de los programas
  5. Varias tablas de bases de datos para almacenar textos, estilos y conjuntos de diseño.

El diagrama superior muestra cómo encajan esos componentes. A continuación se describe el diseño, que se muestra en el centro.

Conjunto de diseño

Para generar documentos utilizando la interfaz de programación, los programas de aplicación R/3 necesitan los llamados conjuntos de formato (una especie de formulario). SAP script, un conjunto de diseño describe el diseño de las páginas de impresión individuales y utiliza elementos de texto para proporcionar bloques de salida definibles, que un programa de impresión puede llamar. Un conjunto de diseño se puede definir como un diseño de página para un documento.

El diseño por sí solo no contiene datos. La selección de datos para el documento se realiza mediante el programa de impresión. Este programa selecciona los datos de la tabla de la base de datos y los envía al diseño. Cuando se ejecuta el programa de impresión, el documento se imprime en la pantalla o en la impresora.

Por lo general un SAPEl diseño del script consta de los siguientes componentes

  1. Datos de encabezado: Los datos del encabezado se utilizan para información y control de SAP impresión. Los datos del encabezado se componen de 2 partes: Independiente del dispositivo: almacena información como la página de inicio, el párrafo predeterminado, los atributos de idioma, etc. Y el dependiente del dispositivo almacena información como el formato de página, las líneas de orientación por pulgada, etc.
  2. Formatos de párrafos y caracteres: Los párrafos tienen formato utilizando varios atributos. Por ejemplo, los atributos de párrafo estándar especifican el margen izquierdo o derecho, la alineación, el interlineado, etc. Los atributos de fuente especifican la familia de fuentes, el tamaño de fuente, etc. Los formatos de caracteres permiten formatear bloques enteros de texto dentro de un párrafo
  3. Windows y elementos de texto: Windows son áreas de texto individuales (dirección del encabezado, fecha, pie de página) en una página. Ayuda a combinar la información contenida en un documento en ciertos grupos y hacer que cada grupo aparezca en la página impresa en un área individual. Puede definir elementos de texto (textos de ventana) para cada ventana. El programa de impresión accede a los elementos de texto por su nombre, los formatea y los imprime en la ventana respectiva. El párrafo y los formatos de caracteres utilizados deben definirse en el formulario.
  4. Páginas: Son páginas individuales de un documento y deben tener un nombre único. A menudo encontrará diferentes diseños para cada página: la primera página de una factura se diferencia de las siguientes, en las que no es necesario repetir información general, como la dirección o los datos del cliente.
  5. Página Windows: Al definir ventanas y páginas, aún no se determina la posición y el espaciado de los textos que se van a imprimir. Una ventana de página define el área de salida rectangular en el medio de salida especificando el borde superior izquierdo del área de salida y su ancho y alto.

Comandos de control

El propósito de los “comandos de control” es permitir el control del formato de salida. Estos comandos no son interpretados por el SAP editor de secuencias de comandos, pero se pasan al SAP Compositor de scripts para su procesamiento. Esto incluye, por ejemplo, el formato de línea y página, el formato de texto según los formatos de párrafo y de caracteres especificados.

Sintaxis

Enter /: in the paragraph format

Ejemplos

  • NUEVA PÁGINA: salto de página explícito
  • PROTECT ………ENDPROTECT – Para imprimir el párrafo completo en una página.
  • INCLUIR: para incluir el contenido de otro texto en el texto actual.
  • PERFORM – Para llamar a una subrutina de cualquier programa ABAP

Programa de impresión

La ejecución del script se realiza a través de un programa ABAP, que se conoce como Programa de impresión. Cada programa de impresión debe tener un formulario de ENTRADA, el cual será llamado desde la personalización.

Para una configuración estándar, podemos ver el nombre del formulario (nombre del script), el nombre del programa de impresión y el tipo de salida en la tabla TNAPR. El programa de impresión utiliza las funciones de control de formulario para llamar al script.

El programa de impresión llama a todas o algunas de las funciones de control del formulario para ejecutar el script.

  • OPEN_FORM (Obligatorio) Abre la salida del conjunto de diseño.
  • CLOSE_FORM (Obligatorio) Finaliza la salida del conjunto de diseño.
  • START_FORM (Opcional) Inicia un nuevo conjunto de diseño
  • WRITE_FORM (Obligatorio) Llama a un elemento del conjunto de diseño
  • END_FORM (Opcional) Finaliza el conjunto de diseño actual

Cómo crear un SAPFormulario de script en SE71

Un trabajo SAPLa salida del script requiere un formulario, un programa de impresión y una configuración personalizada. Los pasos que se describen a continuación permiten crear uno a partir de un formulario vacío.

  1. Crear el formulario: En SE71, introduzca un nombre para el formulario y un idioma, y ​​a continuación, seleccione Crear. Rellene los datos de la cabecera con la página de inicio, el párrafo predeterminado y el formato de página.
  2. Defina los formatos de párrafo y de carácter: Cree al menos un formato de párrafo, por ejemplo AS para una línea estándar, ya que cada elemento de texto hace referencia a un formato de párrafo.
  3. Crear las páginas: Defina una primera página, por ejemplo PRIMERA, y establezca su página siguiente como SIGUIENTE para que los documentos más largos continúen en un segundo diseño.
  4. Cree las ventanas y las ventanas de página: Defina las ventanas, como ENCABEZADO, PRINCIPAL y PIE DE PÁGINA, luego coloque cada una de ellas en la página e ingrese el borde superior izquierdo, el ancho y la altura.
  5. Escribe los elementos de texto: Abra el editor de texto en una ventana y marque cada bloque con /E seguido del nombre del elemento. El programa de impresión lo llamará por ese nombre.
  6. Active el formulario y escriba el programa de impresión: Active el formulario y, a continuación, llame a las funciones de control del formulario desde el programa ABAP, como se muestra a continuación.
  7. Asigne el tipo de salida: Introduzca el nombre del formulario, el programa de impresión y la rutina ENTRY en la tabla TNAPR a través de la personalización de salida de la aplicación, por ejemplo NACE.
CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    form     = 'Z_INVOICE'
    language = sy-langu
    device   = 'PRINTER'.

* Print the element ITEM_LINE in the window MAIN
LOOP AT lt_items INTO ls_item.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element  = 'ITEM_LINE'
      window   = 'MAIN'
      function = 'SET'
      type     = 'BODY'.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'.

⚠️ Advertencia: La función WRITE_FORM solo imprime los campos que se hayan rellenado en el momento de la llamada. Rellene el área de trabajo antes de llamar a la función, ya que el formulario lee los campos globales del programa de impresión, no los parámetros del módulo de función.

Tipos de salida

El tipo de salida puede especificar un formulario impreso que necesita para uso interno o un formulario que desea enviar a un cliente o proveedor. El tipo de salida también puede ser un mensaje de correo electrónico interno que desea enviar al personal de otro departamento.

Por ejemplo, “Imprimir” puede clasificarse como un tipo de salida de un documento de facturación, es decir, cuando se ejecuta este tipo de salida, se imprime el documento de facturación. De manera similar, “Fax” puede ser un tipo de salida, es decir, cuando se ejecuta este tipo de salida, se envía un fax del documento de facturación.

Todos los tipos de salida de cualquier documento (por ejemplo, documento de facturación) se almacenarán en la tabla NAST. Los tipos de salida se ejecutan a través del programa RSNAST00.

Ejemplo: Tipo de salida en un documento de facturación-

  1. Ir a VF03
  2. Ingrese el número del documento de facturación y presione enter nuevamente
  3. Elija Salida en el menú Ir a -> Encabezado
  4. Aquí Z101 es un tipo de salida de impresión.

Tipos de salida

La captura de pantalla muestra la pantalla de resultados de la transacción VF03, donde el tipo de salida Z101 está asociado al documento de facturación.

Textos y gráficos estándar

Los textos estándar para su informe se pueden crear mediante transacción SO10

Los gráficos y las macros de impresora se cargan con (reporte) RSTXLDMC en documentos de texto estándar individuales o mediante transacción SE78. Los gráficos se cargan en formato “Baseline TIFF 6.0” (archivos .tif en PC).

SAP Los elementos de texto estándar y de script se pueden exportar o importar entre dos sistemas utilizando el programa RSTXSCRP

Copiar scripts entre clientes:

SAP El script es un objeto que depende del cliente. A diferencia de los programas, los cambios realizados en SAP El script en un cliente no se reflejará en otros clientes. Para copiar script de un cliente a otro, vaya a SE71 y use la opción "Copiar del cliente" disponible en el menú Utilidades o importe la solicitud de transporte, en la que se guarda el script, desde el cliente original usando la transacción SCC1.

Puntos importantes a tener en cuenta

  1. SAP El script no mantiene ninguna versión. Entonces al modificar el SAP script, asegúrese de que los cambios estén bien documentados en el script. Esto también se aplica a los textos estándar.
  2. El resultado del formulario será diferente cuando se vea en la pantalla y en la impresora. Por lo tanto, pruebe siempre la salida del script en la impresora.

SAPScript vs. Formularios inteligentes

SAPEl script es la más antigua de las dos tecnologías de forma en SAPy cada nuevo formulario normalmente se construye con Formularios inteligentesLa tabla que aparece a continuación muestra el motivo.

Criterios SAPguión Formularios inteligentes
transacción SE71 FORMAS INTELIGENTES
Dependencia del cliente Depende del cliente, copiado con SCC1 Cliente independiente
Ventana principal Se requiere exactamente una ventana principal. No es obligatorio y se permiten varias ventanas principales.
Lógica del programa Escrito en el programa de impresión independiente. Parcialmente integrado en el formulario, que genera su propio módulo de función.
Formatos de salida Imprimir, enviar faxes y enviar correos electrónicos. Impresión, fax, correo electrónico y salida XML o HTML.
Gestión de versiones Ninguno, por lo que los cambios deben documentarse manualmente. Disponible a través del banco de trabajo.

SAPEl script sigue siendo ampliamente utilizado, porque muchos estándares SAP Los formularios y sus programas de impresión aún dependen de ello, y porque un formulario que depende del cliente se puede adaptar a cada cliente.

Preguntas Frecuentes

La tabla TNAPR almacena el nombre del formulario, el programa de impresión y la rutina ENTRY para cada tipo de salida. Puede consultarla con la transacción SE16 o abrir la configuración de salida de la aplicación en la transacción NACE.

Los gráficos deben cargarse en formato TIFF 6.0 básico a través de SE78 o el informe RSTXLDMC, y el formulario debe hacer referencia al texto estándar resultante. El editor no acepta archivos en color ni PNG.

Active el depurador de formularios mediante la ruta de menú Utilidades, Activar depurador en SE71. El sistema se detendrá en cada elemento de texto mientras se ejecuta el programa de impresión, y podrá comprobar los valores de los campos.

El informe de migración dentro de la transacción SMARTFORMS realiza la conversión. Los asistentes de IA ayudan posteriormente explicando los nodos convertidos, reescribiendo las llamadas al programa de impresión y enumerando los elementos de texto que requieren revisión manual.

SAPEl script no guarda historial de versiones, por lo que los cambios son difíciles de realizar. trace. Las herramientas de IA comparan dos exportaciones producidas por RSTXSCRP, resumen los cambios en cada elemento de texto y elaboran la documentación que el propio formulario no almacena.

Resumir este post con: