Está en la página 1de 50

CA930

CREACIÓN DE

FORMULARIOS

CON SAPSCRIPT
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

REFERENCIAS
Para una mayor referencia teórica del presente documento se pueden consultar los
siguientes manuales:

CA930 Creating Layout Sets using SAPscript

VERSIÓN
Versión 1.0 20.01.99

2
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Objetivo.

El propósito del presente documento es resumir las consideraciones prácticas más


importantes referentes a las funciones del Editor SAPscript del sistema R/3, estas
consideraciones incluyen el detalle de los conceptos básicos para la edición de
Formularios en SAPscript.

Introducción.

SAPscript es un procesador de textos integrado que se usa para el formateo y


presentación de documentos, reportes y en general cualquier aplicación dentro del
sistema R/3 que lo requiera.

3
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 1.
VISIÓN GENERAL DE SAPSCRIPT.

OBJETIVOS.

 Obtener un conocimiento general de la estructura de SAPscript.


 Conocer como se integra SAPscript al sistema R/3.
 Conocer los componentes de SAPscript.
 Conocer como interactuan los componentes de SAPscript, principalmente el
programa de impresión y los formularios.

LAYOUT SET (FORMULARIO) .

Un Layout set (Formulario) especifica la apariencia y estructura de un documento,


contiene módulos de texto predefinidos con espacios reservados para variables de
datos, dichos módulos de texto se pueden utilizar para diferentes aplicaciones.

Cada documento SAPscript usa un Layout set (Formulario); para realizar cambios en
los documentos, tales como una parte de texto, tipo de letra, formatos de párrafo y
tabuladores sólo es necesario modificar el Layout set.

Para editar Formularios desde el menú principal del R/3 seleccionar:

ToolsWord processing Layout sets.

Para crear Formularios propios, se pueden copiar y adecuar Formularios existentes.

PROGRAMA DE IMPRESIÓN.

El programa de impresión controla:

 La salida de texto a la impresora, pantalla o fax

 Selecciona los datos desde la Base de datos o a partir de la entrada del usuario

 Selecciona un Formulario y controla cual texto debe ser impreso, su secuencia y


frecuencia

 Determina los atributos de la impresora tales como dispositivo de salida, número


de copias, y si será inmediatamente impreso.

PROGRAMA DE IMPRESIÓN.

La apariencia final de un documento depende de la interacción entre el programa y


el Formulario.

El programa de impresión de SAPscript inicializa el proceso de impresión. Cada


comando introducido usando la interface de programación de SAPscript se transfiere
hacia el Composer.
4
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

El composer recibe la información del formato desde el formulario especificado en el


programa de impresión.

Si los documentos contienen variables, el Composer reemplaza las variables con


datos desde el sistema R/3, tales como la fecha actual o con las datos del usuario
seleccionados por el programa de impresión.

El programa de impresión controla la terminación del formulario. Una vez que este es
realizado, el Composer coloca el documento terminado en el Spool.

5
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 2.
CREACIÓN Y MANTENIMIENTO DE FORMULARIOS
OBJETIVOS

 Conocer los elementos usados para crear un formulario en SAPscript


 Como crear y modificar esos elementos en el sistema

TRABAJANDO CON FORMULARIOS.

Se pueden crear y mantener Formularios seleccionando ToolsWord


Processing Layout set desde el menú de R/3, o directamente utilizando la
transacción /se71

Se puede desplegar la lista de todos los formularios existentes o uno


especifico, utilizando los criterios de búsqueda con F4.

También desde la pantalla inicial, se puede seleccionar cada sección


(elemento) de manera independiente:

6
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

HEADER. (CABECERA)

Contiene la Información general y configuración básica.

La información general incluye:


 El nombre del formulario
 Número del cliente
 Clase de desarrollo
 Estatus del formulario (Active, saved, etc.)
 Fecha de creación y última modificación
 Versión del sistema

Dentro de la configuración básica se especifica:


 Descripción del formulario
 Formato de Párrafo default
 Tamaño y tipo de medida de tabulador
 Primera página (para definir atributos de página
 Formato de página (letter, A4, etc)
 Tipo y orientación de la página
 Atributos de letra (letra, tamaño de letra, negrillas, itálicas, o subrayado)

7
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Los valores Lines/inch (LPI, lineas por pulgada) y character/inch (CPI,


caracteres por pulgada) se usan para convertir medidas especificadas en
líneas y caracteres a valores absolutos.

TIPOS DE ESTATUS .

Un formulario puede tener tres tipos de estatus:

New: El formulario aún no esta listo para imprimirse

Active: El formulario esta listo para imprimirse. Para establecer el estatus de


un formulario en activo, seleccionar Layout setActivate

Revised: Si un formulario se pone en estatus revised y saved el sistema utilizara


la versión activa del formulario al momento de imprimir.

Para deshacer cambios realizados a un formulario seleccionar UtilitiesReset

8
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

PAGES (PÁGINAS).

Nombre y secuencia de páginas en el formulario.

En esta opción es importante definir el tipo de numeración y las características


de numeración de las páginas.

Se pueden definir una o más páginas en un formulario, el control de la


secuencia de las paginas se define especificando la primera página y las siguientes
paginas en los atributos de página; si no se especifican las paginas siguientes, el
proceso de impresión termina después de la página actual que ha sido impresa.

También se debe especificar el modo de numeración, este determina si el


número de página se incrementará, será el mismo o retornará a un valor inicial.

9
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

WINDOWS (VENTANAS).

Descripción de áreas en las páginas.

Se pueden definir ventanas lógicas en un formulario especificando el nombre y


tipo de ventana.

Cada área dentro de una página se define con una ventana. Una ventana
contiene principalmente el texto y las variables a imprimir. El texto a su vez puede
estar estructurado en Bloques llamados Text elements.

El Tipo de ventana también es importante ya que a excepción de la ventana


MAIN las ventanas pueden ser de tipo ‘VAR’ o ‘CONST’ que son para variables y
constantes respectivamente. El contenido de un variable de ventana se regenera en
cada nueva página: el contenido de una constante de ventana se genera una vez
que inicia el despliegue y se imprime en cada página de salida.

Todas las ventanas que contienen diferente información en diferentes páginas


deben ser de tipo ‘VAR’, es decir, el alto y ancho de la ventana puede variar.

Las ventanas de tipo ‘CONST’, se usan para aquellas que tienen la misma
dimensión en todas las páginas donde ocurren.

LA VENTANA MAIN.

Una ventana especial es MAIN, la cual contiene la salida de los grupos de


lineas de un documento. La ventana MAIN contiene un texto de longitud variable, tal
como una lista de clientes, por eso cuando una ventana en una página esta llena,
SAPscript continua con el texto en la ventana MAIN de la siguiente página

Una ventana MAIN puede tener diferente altura y posición en las diferentes
páginas en que ocurra, pero siempre tendrá el mismo ANCHO.

Para ver los textos dentro de una ventana es necesario seleccionar la ventana
y enseguida el botón ‘Text elements’.

Para imprimir etiquetas, o imprimir documentos con mas de una columna, se


puede definir mas de una ventana MAIN en cualquier página seleccionando
EditMain Window.

10
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

PAGE WINDOWS (VENTANAS DE PÁGINA).

Posición y tamaño de las ventanas en las paginas.

Una sola ventana puede aparecer en más de una página de un Formulario.


SAPscript distingue entre Ventana Lógica (Logical window) y la Página de ventana
física (physical page window).

La misma ventana lógica puede aparecer en varios tamaños y posiciones en


diferentes páginas del formulario.

Se puede determinar la distribución de las Paginas de ventana físicas en una


página específica definiendo el tamaño y posición de cada ventana.

Definiendo el formato de texto en una página de ventana física,


automáticamente se define el formato de todas las demás ventanas que pertenecen a
la misma ventana lógica.

Para que una ventana aparezca dentro de ´Page Windows´ debe ser definida
primero dentro de ´Windows´; a partir de esta lista se puede entrar a los Elementos
de texto de cada ventana.

11
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

PARAGRAPH FORMAT (FORMATO DE PÁRRAFO).

Información sobre Tamaño y Tipo de letra y Tabuladores por párrafo.

Un Paragraph Format contiene toda la información necesaria para formatear


un párrafo de texto. El Tipo de letra (Font) y los Tabuladores son importantes para los
párrafos; si no se especifica el FONT, se usa la letra fijada en el header. La forma de
crear columnas en la salida en un documento es especificando una lista de
tabuladores.

Se pueden especificar los siguientes atributos estándar de párrafo:

 Margen derecho
 Margen izquierdo
 Espaciado vertical: espacio antes /espacio después
 Alineación de párrafo: Izquierdo, derecho, centrado o justificado
 Protección de página: no permite break automático en un párrafo

12
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

FONTS (TIPOS DE LETRA).

Los atributos de letra para párrafos incluyen:

 Familia de letra (Font Family), como COURIER, HELVE, o TIMES


 Tamaño de letra (Tamaño de letra)
 Negrillas (bold)
 Itálicas (Italics)
 Subrayado (underlining)

Se puede tomar un atributo de letra desde los atributos generales del


formulario.

TABS (TABULADORES).

Los atributos de tabulador controlan las posiciones en un párrafo:


Se pueden definir tantas posiciones de tabulador como se desee. Las
posiciones definidas reemplazan los tabuladores de default. Para alinear un párrafo,
use las posiciones de tabulador: Left, Right, enter, Sign, Decimal.
Para definir la posición de números en un párrafo, seleccione Sign o Decimal.
Sign, Permite definir números alineados a la derecha del tabulador. Deja
espacio para un signo de menos o un espacio en blanco al final del número.

13
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Decimal, Permite alinear puntos decimales con cualquier posición de


tabulador.

OUTLINES (DIVISIONES DE TEXTO).

Se pueden utilizar atributos de outline para dividir el texto en unidades como


capítulos, subcapítulos, y secciones.

Para numerar parrafos automáticamente, existen los siguientes tipos:


 Arabic numerals
 Roman numerals.
 Letters.
 Fixed characters.
También se pueden numerar unidades de texto creando niveles consecutivos
de numeración.

CHARACTER FORMAT (FORMATO DE CARACTERES).

Características del texto en un párrafo.

Un Character Format se usa para remarcar los párrafos, por ejemplo cambio
de letra normal a itálica.

Los atributos estándar del formato de caracteres incluyen:

Subscript: La cadena de caracteres es impresa a medio espacio de linea abajo


de la linea

Superscript: La cadena de caracteres es impresa a medio espacio arriba de la


linea

Character protection: La cadena de caracteres no puede ser dividida, y será


impresa en una linea

Hidden: La cadena de caracteres no se imprime

Bar code: La cadena de caracteres se encripta e imprime como un código de


barras.

Para sobreescribir una definición previa de Formato de caracteres seleccione,


“On” u “Off” en la definición de atributos.

14
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

15
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 3.
EDICIÓN DE TEXTO

OBJETIVOS

 Como usar el editor de texto


 Opciones para operaciones de texto y posibilidades de formateo
 Como esta constituido el editor de texto

EL EDITOR DE TEXTO.

PANTALLA DEL EDITOR


El contenido de las ventanas se define en el editor SAPscript.

La barra de títulos despliega el nombre del documento y el modo de


procesamiento
La barra de Menú despliega los menús desde los cuales se pueden
seleccionar funciones para salvar o imprimir texto.
La columna TAG contiene formatos clave, los cuales definen el formato
de salida o inician comandos de control. Aquí se pueden introducir formatos
de párrafo.

Los elementos del editor son: Status Line, Text Line y Tag Column.

STATUS LINE.

La línea de estatus despliega información para el Editor SAPscript,


esta información incluye:

 La línea de estatus muestra el nombre del formulario.


 Las líneas desplegadas en el editor (numero de lineas en la pantalla /
número total de lineas)
 Los párrafos y Formatos de carácter seleccionados.

TEXT LINE.

El área de texto en el editor SAPscript contiene una regla y las líneas


del editor a partir de las cuales se pueden introducir textos, Elementos de
texto y cualquier dato que se desee desplegar por medio de SAPscript.
Los textos se pueden formatear usando los párrafos clave contenidos
en el Tag Column que contiene todos los formatos de salida, también se
pueden usar los Comandos de control de SAPscript.

Nota: Un elemento de texto siempre empieza con la línea /E<Nombre


del Elemento de Texto> y continua hasta el siguiente Elemento de Texto o al
final del editor, cualquiera que sea primero.

TAB CHARACTERS .

Los tabuladores en un párrafo se especifican por ´,,´.

16
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

SÍMBOLOS .

&N…N&
Los Símbolos se encierran entre ´&´ y no deben contener ningún
blanco, estos símbolos se reemplazan por su valor correspondiente en el
formato de salida.

TAG COLUMN .

El Tag Column contiene formatos clave para definir el formateo de


salida de un texto o para iniciar Comandos de control. Estos formatos clave
pueden ser definidos por el usuario y constan de uno o dos caracteres.

Existen algunos formatos claves definidos en SAPscript:

* Default paragraph (Párrafo preestablecido)


Aplica el formato de párrafo preestablecido como default

/ New line (línea nueva)


El texto se imprime en una nueva linea conservando los atributos del
último párrafo definido.

/: SAPscript control command (Comando de control de SAPscript)


Los caracteres no se despliegan como texto ya que se toman como
comandos de control y no se interpretan o ejecutan hasta el despliegue; estos
comandos se deben poner en una linea completa.

/* Comment line (Línea de Comentario)


La línea de comentario no se toma en cuenta en el despliegue.

= Extended line (Línea extendida


Toma los atributos definidos en la linea anterior. Debe haber como
mínimo un carácter en blanco al inicio de la extensión de la línea.

17
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

INTRODUCCIÓN DE TEXTO.

 Para crear un nuevo párrafo, posicione el cursor y presione ENTER.


 Un asterisco (*) en la columna TAG indica le formato de párrafo default
 El nuevo párrafo tiene el mismo formato que el anterior
 Para insertar un corte de linea en un párrafo, use F6. Una diagonal invertida
(/) en la columna TAG indica este corte de linea.

 Para unir dos párrafos:

1. Use espacios en blanco para sobreescribir el formato actual


2. Seleccione Format

 Para borrar lineas en blanco o unir lineas separadas:

1. Use espacios en blanco para sobreescribir el formato actual.


2. Seleccione Format.

SALIDA DE TEXTO.

Para imprimir un texto, seleccione TextPrint

En la caja de diálogo se pueden especificar parámetros de impresión como:

18
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

 Dispositivo de salida
 Número de copias
 Páginas a imprimir
 Opciones de Spool, como salida inmediata
 Para ver la salida previa del texto, seleccione Print preview
 Alternativamente, para desplegar un texto en la pantalla, se puede
seleccionar TextPrint preview.
 Los parámetros del spool (dispositivo de salida y controlador de
impresión) son tomados desde los defaults del usuario.

INSERTAR TEXTO.

Para insertar texto, posicione el cursor y seleccione insert. La barra de títulos


muestra el modo Insert activo, y lineas en blanco.

El Formato de Párrafo permanece igual cuando se inserta texto, aunque


puede ser modificado si así se desea.

Para salir del modo Insert, seleccione End insertion,

MOVER Y COPIAR TEXTO.

Para borrar o copiar una sección de texto, seleccione el texto que será
copiado o borrado.

Para seleccionar texto, elija Select u oprima doble click en la posición que
desee marcar.

Cuando seleccione el inicio de la sección de texto, SAPscript se encuentra en


el modo Select. El texto seleccionado esta en modo resaltado

Para definir el final de la sección de texto, elija Select o doble click en la


posición deseada

Para seleccionar una parte de texto oprima doble click en la columna TAG

Seleccione Cut o Copy. El texto marcado se copia al Clipboard.

Cut borra el texto marcado.

Copy No borra el texto marcado.

Cuando se corta o copia texto, se borra el contenido previo del clipboard.

Para insertar el contenido del clipboard, posicione el cursor y seleccione Paste

Para copiar texto a un editor diferente, use el clipboard

Existen tres clipboards, los cuales pueden usarse para salvar texto.
Seleccione GotoUser Clipboard

19
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

FORMATEO DE PÁRRAFOS Y CARACTERES.

Se puede organizar texto usando los formatos de Párrafo y Carácter que


están disponibles en el formulario actual.

Para aplicar formatos de Párrafo y carácter, seleccione FormatParagraph


o FormatCarácter.

La caja de dialogo despliega los formatos predefinidos, sus descripciones y


atributos. Introduzca párrafos predefinidos en la columna TAG. se pueden cambiar o
borrar formatos predefinidos que ya han sido introducidos.
Para desplegar una lista de los posibles formatos de párrafo, seleccione F4.
Para formatear una cadena de caracteres:
Introduzca NN.../. NN o seleccione Format

Cuando se marca una sección entera, asegurese que no existan espacios en


blanco entre la última palabra que será marcada y el cursor

Para aplicar nuevamente el último formato usado, seleccione Transfer


character o Transfer paragraph.

CARACTERES ESPECIALES.

Para suprimir el reconocimiento de caracteres especiales, utilice 

Para mover un parte de texto hacia la siguiente posición de tabulador, escriba


una coma doble (,,) al inicio del texto que desea mover.

Se pueden definir posiciones de tabulador en Párrafos. Sino define


tabuladores, se usan las posiciones de default predefinidas del formulario.
Para agregar líneas de comentario que sean ignoradas cuando se formatea el
texto, introduzca /* en la columna tag

Para proteger una linea extendida con el formato predefinido, introduzca =.


Esta función también suprime los espacios en blanco implícitos en el editor al final de
la linea anterior.

Los símbolos consisten de espacios reservados para variables de datos. Los


datos se insertan durante la preparación de la impresión.

Para formatear símbolos, introduzca &N...N&

Para usar comandos de control de SAPscript, introduzca /: en la columna


TAG. Los comandos de control no son interpretados hasta que el documento se
procesa por el composer.

20
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 4.
SÍMBOLOS Y COMANDOS DE CONTROL
OBJETIVOS

 Como usar símbolos en SAPscript


 La diferencia entre los diferentes tipos de símbolos
 Las opciones de formateo
 Como controlar la salida de un texto SAPscript usando los comandos de
control

USO DE LOS SÍMBOLOS.

Se pueden usar símbolos para incluir datos a partir de tablas en documentos


SAPscript.

Cuando se imprime un documento, se imprimen los datos a partir de tablas en vez


de los símbolos.

Cada símbolo tiene un nombre el cual se encierra entre &

No se hace distinción entre mayúsculas y minúsculas.


No se permiten espacios en los nombres de símbolos
El símbolo completo (el nombre entre &..&) debe caber en una línea

Para insertar símbolos en un documento, seleccione IncludeSymbols

TIPOS DE SÍMBOLOS.

SAPscript emplea 4 diferentes tipos de símbolos:

 Símbolos de sistema
 Símbolos estándar
 Símbolos de programa
 Símbolos de texto

SÍMBOLOS DE SISTEMA.

SAPscript proporciona símbolos de sistema estándar que se reemplazan


automáticamente con datos del Sistema R/3 cuando se imprime un documento

Estos símbolos de sistema se pueden utilizar en cualquier documento

DATE Fecha
DAY Día
NAME_OF_DAY Nombre del día
MONTH Mes
NAME_OF_MONTH Nombre del mes
YEAR Año

21
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

TIME Tiempo
HOURS Horas
MINUTES Minutos
SECONDS Segundos
PAGE Número de página
NEXTPAGE Número de la siguiente página
DEVICE Dispositivo
SPACE Espacio en blanco
ULINE Subrayado
VLINE línea vertical

Para incluir un símbolo de sistema, seleccione: IncludeSymbolsSystem

SÍMBOLOS ESTÁNDAR.

Los símbolos estándar son definidos por el usuario. Y son mantenidos


centralmente en la tabla TTDTG.

Se pueden usar símbolos estándar en cualquier documento .

Se pueden desplegar o cambiar símbolos estándar seleccionando


SystemServices Table maintenance o seleccionando ToolsWord
processingSettings, seguido de los símbolos estándar.

Los símbolos estándar son específicos por lenguaje.

Algunos ejemplos de Símbolos estándar son:

&SGDH& Para el saludo: “Dear Sir/Madam:”


&MFG& Para terminar el saludo: “Yours Faithfulliy”

SÍMBOLOS DE PROGRAMA.

Los símbolos de programa despliegan datos desde programas ABAP/4 los


cuales han sido llamados desde la función de procesamiento de texto.

Los símbolos de programa representan los contenidos de los campos de base


de datos. Es necesario definir dichos campos en una tabla o estructura del diccionario
ABAP/4 y declararlos en el programa de impresión usando la instrucción TABLES.

La instrucción TABLES crea áreas de trabajo en el programa de impresión las


cuales se llenan con datos en el programa. SAPscript formatea estos datos de
acuerdo a los atributos definidos en el Diccionario

SÍMBOLOS DE TEXTO.

Se pueden definir símbolos de texto para cualquier módulo de texto. Estos


símbolos son válidos sólo en el módulo de texto para el cual fueron definidos.

Se pueden asignar valores a un símbolo de las siguientes dos maneras:


22
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Empleando DEFINE.
El valor asignado al símbolo se salva cuando se salva el módulo de
texto.
Para asignar varios valores diferentes al mismo símbolo, emplee
DEFINE cada vez que asigne un nuevo valor.

Seleccionando un símbolo de texto estándar.


Para hacerlo, seleccione IncludeSymbolsText.

El sistema despliega todos los símbolos de texto disponibles en el


texto actual y/o formulario.

El valor asignado a un símbolo de texto sólo es temporal. Este valor no


se salva junto con el texto.

OPCIONES DE FORMATO.

El valor de un símbolo se despliega completamente. Sin embargo, los


espacios en blanco se eliminan para cambiar el despliegue del símbolo, emplee las
siguientes opciones adicionales:

Offset Salida a partir de una determinada posición


&symbol+4&

Length Dato con una longitud de salida específica


&symbol(5)&

 Suprime el valor inicial


&symbol(I)&

 Elimina ceros iniciales


&symbol(Z)&

C Comprime espacios en blanco consecutivos en un sólo espacio


en blanco. Los espacios en blanco iniciales se eliminan.
&symbol(C)&

R La salida es justificada a la derecha


&symbol(S)&

S Oculta operadores
&symbol(S)&

* La longitud del campo es definida por el diccionario ABAP/4


&symbol(*)&

(x,y) Notación decimal: Los datos tienen x longitud con y posiciones


decimales
&symbol(8.2)&

23
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

El texto se puede insertar antes o después de un símbolo, por ejemplo: &


´text1´SYMBOL´text2´&.

También se puede combinar opciones de formateo.

COMANDOS DE CONTROL.

Se pueden usar comandos de control para modificar la salida de texto. Estos


comandos permiten:

 Incluir texto en un documento


 Asignar valores a Símbolos de texto
 Iniciar o suprimir un corte de página
 Inicialización de párrafos

Para introducir un comando, utilice el formato clave /: en la columna de


formato

La longitud de un comando no debe exceder de una línea

Ejemplos de comandos de control.

/: INCLUDE
/: DEFINE
/: ADDRESS... ENDADDRESS
/: PROTECT... ENDPROTECT
/: NEW-PAGE
/: IF ... ENDIF
/: CASE ... ENDCASE

MÓDULOS DE TEXTO.

Un formulario frecuentemente contiene módulos de texto predefinidos tales


como una lista de materiales, descripciones de clientes, etc.

Estos módulos de texto se introducen y almacenan individualmente.

Se pueden combinar y desplegar estos módulos en un formulario.

Se puede usar un módulo de texto en mas de un formulario.

Para identificar un texto se especifica el cliente, nombre, lenguaje, objeto de


texto y un identificador del texto.

Los objetos de texto y los identificadores de texto son usados para clasificar
textos.
Un objeto de texto describe el contexto de un documento, por ejemplo: “Texto
Materiales”, o “Texto estándar”, estos textos pueden ser utilizados por mas de una
aplicación.

24
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Los objetos de texto se dividen en Identificadores de texto (text Ids) para


permitir una clasificación más precisa de los tipos de texto. Por ejemplo, la categoría
“Textos de Ventas y Distribución” es una subcategoría de “Textos de Materiales”.

Para trabajar en cualquier documento estándar, esto es, todos los textos ubicados en
el Objeto de Texto, seleccione

ToolsWord processing Standar text

MÓDULOS DE TEXTO INCLUIDOS.

Se pueden incluir módulos de texto para el cliente actual en cualquier ventana


en un formulario. También se pueden incluir módulos de texto en otros módulos de
texto. En ambos casos se utiliza INCLUDE.

Se puede especificar el nombre del texto que se desea incluir.


Se pueden especificar campos clave adicionales para el texto utilizando los
parámetros OBJECT, ID y LENGUAJE.
Si se usa el parámetro PARAGRAPH para especificar un formato de párrafo en un
formulario, este será usado como el formato default en el texto insertado.

FORMATO DE DIRECCIÓN.

Se deben especificar explícitamente valores para los símbolos de texto.

Para asignar valores a los símbolos de texto, se usa DEFINE antes de que el
símbolo de texto sea desplegado por primera vez.

Los símbolos de texto son retenidos en el documento. Esto significa que los
símbolos de texto permanecen en el módulo de texto la siguiente vez que es llamado.

Para formatear una dirección de acuerdo a las convenciones por país, utilice
ADDRESS...ENDADDRESS.

Defina las convenciones postales en el parámetro COUNTRY

Los campos referenciados son descritos en la estructura ADRS. Se pueden


asignar literales o símbolos a esos parámetros.

FORMATOS DE HORA, FECHA Y DECIMALES.

Estos formatos son específicos del usuario.

Para modificar los formatos de programa y símbolos de sistema, utilice los


siguientes comandos de control:

SET TIME MASK


Controla el formato de campos de tiempo
/: SET TIME MASK = ´.........´

25
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

SET DATE MASK


Controla el formato de campos de fecha
/: SET DATE MASK = ´.........´

SET CONTRY
Proporciona una opción de formato para fecha o decimales específica por
país.
/: SET COUNTRY = ´.........´

Para definir mascaras de formato utilice lineas de comando (command lines).

CORTE Y PROTECCIÓN DE PÁGINA.

SAPscript inserta automáticamente un corte de página cuando la ventana


MAIN esta llena.

Para omitir el corte de página automático e insertar un corte de página


manual, utilice NEW-PAGE.

Se puede indicar el siguiente corte de página explícitamente, sino se indica, la


página definida en el Formulario se utiliza como siguiente página.

Para evitar cortes de página no deseados, utilice PROTECT...ENDPROTECT.


Todas las lineas de texto encerradas entre estos comandos se imprimiran en una
página.

/: NEW-PAGE (page)

/: PROTECT
...
...
/: ENDPROTECT

Si no hay suficiente espacio en la página, el comando PROTECT actúa como


un comando NEW-PAGE e inserta un corte de página.

SALIDA DE TEXTO CONDICIONADA: DISTINCIÓN CASE

Se puede especificar que lineas de texto deben imprimirse sólo cuando se


encuentra cierta condición. Para establecer estas condiciones, utilice IF...ENDIF.

/: IF Condition
.
.
.
/: ENDIF

Si la expresión lógica evaluada con el comando IF es verdadera, las lineas de


texto encerradas entre los comandos IF... ENDIF se imprimen, de otra forma se
ignoran.

26
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Los siguientes operadores de comparación son permisibles para expresiones


lógicas:

= EQ igual
 LT menor que
 GT mayor que
 LE menor o igual que
 GE mayor o igual que
 EN diferente de

Operadores de comparación

NOT, AND, OR

Sólo son validas comparaciones de texto

Para distinguir entre casos de doble nivel y multinivel, utilice ELSE y ELSEIF
con IF... ENDIF.

CASE es un tipo especial de distinción multinivel usando comandos IF.

/: CASE symbol
/: WHEN Value
:
:
/: ENDCASE

27
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 5.
EL PROGRAMA DE IMPRESIÓN

OBJETIVOS:

 Comprender la estructura de programas de impresión en SAPscript


 Comprender como trabajan juntos el Programa de Impresión y el Formulario
 Familiarizarse con los módulos de función para la salida de texto
 Comprender la salida de Elementos de texto en formularios
 Comprender como trabaja el Composer SAPscript

EL PRINT PROGRAM Y EL COMPOSER

En el sistema R/3, tanto el Programa de impresión y el formulario son necesarios


para imprimir documentos. El programa de impresión es tanto un reporte ABAP/4
como un Module pool.

El programa de impresión:

 Recupera datos de aplicaciones R/3 desde la base de datos


 Define el proceso lógico del formulario (el orden y repetición de los elementos
de texto
 Selecciona el formulario para impresión
 Selecciona el dispositivo de salida, tal como impresora, monitor o fax
 Fija los atributos de impresión como salida inmediata, número de copias, y
páginas a ser impresas.

El Composer Controla:

 Lineas y cortes de página en el Formulario


 Formateo de Comandos de Control SAPscript y variables de símbolos
 La inclusión de textos largos en un documento
 La descripción de página para el spool request (Formato final o OTF)

ESTRUCTURA DE UN PROGRAMA DE IMPRESIÓN.

Las aplicaciones R/3 como FI, CO, y MM son proveídos con formularios
estándar y programas de impresión que pueden ser customizados.

Con el programa de impresión se debe distinguir entre:


 Recuperación de datos desde el sistema R/3
 Inicio y fin de impresión del Formulario
 Cambios para diferentes Formularios
 Salida de texto en el Formulario

Cada vez que se imprime un Formulario, se debe usar el par de módulos de


función OPEN_FORM y CLOSE_FORM

Un programa de impresión también puede imprimir varios formularios los


cuales pueden ser administrados individualmente como Spool request individuales o
combinados en un sólo spool request.

28
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Para combinar Formularios en un sólo spool request, utilice START_FORM y


END_FORM.

Para imprimir elementos de texto en las ventanas de un Formulario, utilice


WRITE_FORM

Para transferir comandos de control hacia el Formulario, utilice


CONTROL_FORM

Ejemplo. program rstxexp1.


tables: scustom, sbook, ...
Recuperación select * from ...
de datos ...
call function ´OPEN_FORM´
exporting form = ...
...
call function ´START_FORM´ ...
...
Abre formulario call function ´WRITE_FORM´ Cambio a otro
para impresión exporting element = ... Formulario
window = ...
...
call function ´END_FORM´...
...
call function ´START_FORM´...
...
Cierra impresión call function ´END_FORM´...
del formulario ... Salida de
call function ´CLOSE_FORM´... impresión en
un formulario

29
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

INICIO Y FIN EN LA IMPRESIÓN DE UN FORMULARIO.

El módulo de función OPEN_FORM inicializa la impresión del Formulario. Se


puede llamar el OPEN_FORM antes de que se pueda trabajar con cualquiera de los
otros módulos de función de Formulario.

Para especificar el Formulario y el lenguaje deseado, utilice los parámetros


FORM y LANGUAJE.

Para controlar el canal de salida, utilice el parámetro DEVICE con:

PRINTER para imprimir usando el Spool


TELEFAX para salida a FAX utilizando el Spool o SAPconnect
SCREEN para salida a monitor usando GUI. No se puede imprimir
el texto si se utiliza este valor.

Para especificar atributos para impresiones o faxes, tales como número de


copias, salida inmediata, etc. utilice la opción PARAMETERS (estructura ITCPO).

Para suprimir la caja de diálogo para parámetros de salida, tales como el


nombre del dispositivo en DEVICE = PRINTER o DEVICE = TELEFAX, utilice el
parámetro DIALOG.

Para terminar la impresión de un Formulario, utilice el módulo de función


CLOSE_FORM

Una vez que la impresión del Formulario ha terminado, se puede obtener


información de estatus y la impresión y parámetros de fax a partir del parámetro
RESULT (estructura ITCPP).

CALL FUNCTION ´OPEN_FORM´


EXPORTING
FORM = ...
LANGUAJE = ...
DEVICE = ...
OPTIONS = ...
DIALOG = ...
IMPORTING
LANGUAJE = ...
EXCEPTIONS... =...

-----------------------------------------------------------

CALL FUNCTION ´CLOSE_FORM´


IMPORTING
RESULT =...
EXCEPTIONS... =...

30
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

SALIDA DE MAS DE UN FORMULARIO UTILIZANDO UN SOLO SPOOL REQUEST.

Para imprimir varios Formularios idénticos que contienen datos diferentes con
un sólo Spool Request, inicie cada Formulario usando START_FORM y terminelo
usando END_FORM

Antes de usar START_FORM por primera vez, se debe llamar el


OPEN_FORM.

Los módulos de función para cada Formulario son llamados entre


START_FORM y END_FORM

END_FORM no termina el proceso de impresión.

Utilice START_FORM o CLOSE_FORM después de END_FORM.

Nota: END_FORM no puede reemplazar a END_FORM.

Para especificar el Formulario bajo START_FORM, utilice los parámetros


FORM y LANGUAJE.

Para seleccionar una página de inicio diferente a la página de inicio default,


utilice el parámetro STARTPAGE.

CALL FUNCTION ´START_FORM´


EXPORTING
FORM = ...
LANGUAGE = ...
STARTPAGE = ...
IMPORTING
LANGUAGE = ...
EXCEPTIONS ... = ...

---------------------------------------------------------------

CALL FUNCTION ´END_FORM´


IMPORTING
RESULT = ...
EXCEPTIONS ... = ...

31
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

OPCIONES DE SALIDA PARA ELEMENTOS DE TEXTO.

Para salida de Elementos de texto en la ventana de un Formulario, utilice el


módulo de función WRITE_FORM.

El orden en el cual se imprimen los elementos de texto corresponden al orden


en el cual el módulo de función WRITE_FORM es llamado. En otras palabras, este se
determina por el programa de impresión.

Se debe especificar el elemento de texto deseado usando el parámetro


ELEMENT.

El parámetro WINDOW especifica la ventana en la cual se despliega el


elemento de texto.

El parámetro TYPE especifica el área de salida en la ventana MAIN.

El parámetro FUNCTION si el texto será introducido, reemplazado o borrado.

CALL FUNCTION ´WRITE_FORM´


EXPORTING = ...
ELEMENT = ...
FUNCTION = ...
TYPE = ...
WINDOW = ...
EXCEPTIONS
... = ...

Main window (MAIN) Non-main window

Para introducción de texto Para introducir texto


Para definir encabezados Para reemplazar texto
Para borrar encabezados Para borrar texto

32
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

SALIDA DE ELEMENTOS DE TEXTO EN LA VENTANA MAIN DE UN FORMULARIO.

Para imprimir Elementos de Texto en la ventana principal de un formulario,


utilice WRITE_FORM.

El orden en que los Elementos de Texto se imprimen corresponde al orden en


el cual se utiliza módulo de función en el programa de impresión.

Se debe especificar el Elemento de texto deseado usando el parámetro


ELEMENT.

El parámetro WINDOW debe ser asignado a MAIN. Este es el valor de default.


El parámetro TYPE debe ser asignado a BODY. Este es el valor de default.
El parámetro FUNCTION no es relevante aquí.

La salida de los Elementos de texto en la ventana principal manda un corte de


página tan pronto como la ventana de página esta llena.
También se puede utilizar el módulo de función WRITE_FORM_LINES. Para
hacerlo indique directamente el parámetro LINES e indique el texto a imprimir.

CALL FUNCTION ´WRITE_FORM´


EXPORTING ELEMENT = ...
EXCEPTIONS... = ...

AGREGANDO ELEMENTOS DE TEXTO A UNA VENTANA NO PRINCIPAL.

Para agregar un Elemento de texto a una ventana no principal, utilice


WRITE_FORM con FUNCTION = ´APPEND´.
El texto insertado en la ventana principal, cualquier texto que no quepa en la
ventana de pagina (page window) actual se pierde.
Como con la ventana principal, el orden en el cual los elementos de texto se
imprimen corresponde al orden en el cual el módulo de función WRITE_FORM es
usado en el programa de impresión.

Se debe especificar el nombre del Elemento de texto en el parámetro


ELEMENT.

Se debe especificar el nombre de la ventana no principal en el parámetro


WINDOW.
El parámetro TYPE no es relevante aquí.
El parámetro FUNCTION debe tener el valor ´APPEND´.

CALL FUNCTION ´WRITE_FORM´


EXPORTING ELEMENT = ...
FUNCTION = ´APPEND´
WINDOW = ´INFO´
EXCEPTIONS... = ...

33
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

REEMPLAZANDO ELEMENTOS DE TEXTO EN VENTANAS NO PRINCIPALES.

Para reemplazar el contenido actual de una ventana no principal con un


elemento de texto, utilice el módulo de función WRITE_FORM con FUNCTION =
´SET´.

Se debe especificar el nombre del Elemento de texto en el parámetro


ELEMENT.

Se debe especificar el nombre de la ventana en el parámetro WINDOW.


El parámetro TYPE no es relevante aquí.
El parámetro FUNCTION no tiene el valor ´SET´.

BORRANDO UN ELEMENTO DE TEXTO EN UNA VENTANA NO PRINCIPAL.

Para borrar un Elemento de texto en una ventana no principal, utilice


WRITE_FORM con FUNCTION = ´DELETE´.

Se debe especificar el Elemento de texto en el parámetro ELEMENT.


Se debe especificar la ventana en el parámetro WINDOW.
El parámetro TYPE no es relevante aquí.
El parámetro FUNCTION debe tener el valor ´DELETE.

CALL FUNCTION ´WRITE_FORM´


EXPORTING ELEMENT = ...
FUNCTION = ´DELETE´
WINDOW = ´HEADER´
EXCEPTIONS ... = ...

34
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

VENTANA MAIN.

Se puede desplegar texto en la ventana MAIN en cualquiera de las tres ares


de salida TOP (header), BODY y BOTTOM (footer).

Se pueden crear encabezados de página (page headers) y/o pies de página


(page footers) en el header y footer de la ventana MAIN. Estos son parecidos a los
encabezados y pies de página creados en ABAP/4 durante la impresión de una lista.

El espacio ocupado por el encabezado y pie dependen de la cantidad de texto


que contengan; este espacio es tomado del BODY

Se pueden definir y cambiar los contenidos de las ares de salida TOP, BODY
y BOTTOM dinámicamente en cualquier momento durante la salida del formulario.
SAPscript automáticamente imprime esas áreas en cada página de un formulario que
contenga una ventana MAIN.

TOP

MAIN
BODY

BOTTOM
bobo
BOTTOM

35
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

DEFINIENDO Y BORRANDO ENCABEZADOS.

Para introducir encabezados en la ventana MAIN, utilice WRITE_FORM,


TYPE = ´TOP´, FUNCTION = ´SET´.

Si el área del BODY no contiene ningún texto, el encabezado se imprime en la


página actual.

Si el área del BODY contiene texto, el encabezado se imprime por primera vez
al inicio de la siguiente página.

Para imprimir Elementos de texto, bajo un encabezado en la ventana MAIN,


utilice el módulo de función WRITE_FORM, TYPE = ´BODY´. La salida bajo el
encabezado puede extenderse a mas de una página

Para borrar un encabezado cuando sus Elementos de texto han sido


impresos, utilice WRITE_FORM, TYPE = ´TOP´, FUNCTION = ´DELETE´.

El encabezado no se borra hasta la siguiente página. Por esta razón, un


encabezado en el área TOP no puede ser borrado retroactivamente si ya existe texto
en el área BODY.

En el siguiente ejemplo, el encabezado, la dirección del cliente, se imprime


primero en el área BODY y después se coloca en el área TOP para las siguientes
páginas.

Call function ´START_FORM´...


...
Salida de encabezado en call function ´WRITE_FORM´
Página actual exporting element = ´ITEM_HEADER´
type = ´BODY´
window = ´MAIN´
Introducción de
call function ´WRITE_FORM´
Encabezado en el área exporting element = ´ITEM_HEADER´
TOP function = ´SET´
type = ´TOP´
window = ´MAIN´
...
Borrado de encabezado
En el área TOP para la call function ´WRITE_FORM´
Siguiente página exporting element = ´ITEM_HEADER´
function = ´DELETE´
type = ´TOP´
window = ´MAIN´
...
call function ´END_FORM´...

36
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

CÓMO TRABAJA EL COMPOSER.

La ventana MAIN controla el corte de página. Los elementos de texto de


ventanas no main no son procesados hasta el corte de página.

Un corte de página se ejecuta por:

 Un overflow de la ventana MAIN (automático)


 Un comando NEW-PAGE en la ventana MAIN (manual)

Para imprimir los elementos de texto en el área TOP, BODY o BOTTOM de la


ventana MAIN, o en ventanas no MAIN, utilice el módulo de función WRITE_FORM.

Un Elemento de texto default al inicio de una ventana no MAIN se imprime una


vez en la ventana tan pronto como esta es procesada. Sin embargo, siguiendo un
corte de página los elementos de texto default en la ventana MAIN no aparecen en la
ventana MAIN de la siguiente página.

La ventana MAIN controla los cortes de página.

Los elementos de Texto en una ventana no MAIN se procesan al corte de


página o al final del formulario.

Los símbolos en el área BODY de la ventana MAIN se reemplazan con datos


inmediatamente.

Los símbolos en el área TOP o BOTTOM se reemplazan con datos aunque


se hagan cambios en esta área.

Los símbolos en una ventana no MAIN se reemplazan cuando ocurre un corte


de página.

37
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 6.
DEFINICIÓN Y USO DE ESTILOS
OBJETIVOS

 Comprender el uso de estilos


 Crear y mantener estilos
 Asignar estilos a textos SAPscript

ESTILOS: UNA AYUDA DE FORMATEO.

Se pueden usar estilos para definir párrafos y formatos de caracteres, que no


existan en el formulario actual, que permanezcan independientemente de los
definidos por el formulario.

SAPscript provee varios estilos estándar, como los usados en mensajes de


correo electrónico o para documentación en línea.

Se puede asignar un estilo a cualquier texto. Para hacerlo seleccione


FormatStyle.

Para desplegar todos los formatos definidos para un estilo, seleccione


FormatCharacter, y FormatParagraph.

Para hacer cambios de estilo temporales en un documento, utilice el comando


de control /: STYLE.

Cuando se asigna un estilo, la definición el párrafo y el formato de caracteres


usado en el estilo sobreescriben los del formulario actual.

Para encontrar estilos estándar, realizar cambios en estilos, crear nuevos


estilos o desplegar los estilos disponibles, utilice la transacción para mantenimiento
de estilos:

ToolsWord processingStyle

Para accesarla desde el mantenimiento del formulario o desde el


mantenimiento estándar de texto, seleccione EnvironmentStyle.

38
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

UNIDAD 7.
INTERFAZ DE PROGRAMACIÓN PARA PROCESAMIENTO DE TEXTO
OBJETIVOS

 Familiarizarse con los módulos de función de SAPscript para la


administración de documentos
 Aprender como salvar texto SAPscript usando el procedimiento de
actualización
 Familiarizarse con las transacciones de aplicación de SAPscript.

INICIALIZANDO Y CAMBIANDO TEXTOS.

Se debe preparar un encabezado de texto y una tabla por cada documento


que sea editado por un programa de aplicación.

El encabezado de texto contiene todos los datos pertenecientes a un


documento.

La tabla de linea contiene las lineas de texto

Cuando se crea un nuevo texto, se inicializan las áreas de trabajo usando


INIT_TEXT. El comando CLEAR HEADER no es suficiente.

Para llamar el editor de texto largo, utilice EDIT_TEXT Se pueden controlar


numerosas funciones, tales como el desplegado o el modo de cambio usando
parámetros de entrada.

Cuando se selecciona TextSave mientras se usa EDIT_TEXT, el módulo de


función SAVE_TEXT se llama automáticamente. Para suprimir esta función, utilice el
parámetro SAVE = SPACE.

Para transferir el texto a ser editado al módulo de función EDIT_TEXT, utilice


HEADER y LINES.

Areas de Trabajo para textos SAPscript en el programa de impresión:

HEADER: Texto de encabezado (cadena con estructura del diccionario THEAD)


LINES: Tabla de linea (Tabla interna con estructura del diccionario TLINE)

INIT_TEXT: Inicialización de áreas de trabajo requeridas en el programa para crear


un nuevo texto

EDIT_TEXT: Llama al editor, el cual permite introducir datos en un texto nuevo o uno
ya existente.
HEADER y LINES sirven como parámetros de transferencia

39
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

BÚSQUEDA DE TEXTO.

SELECT_TEXT:
Selecciona texto en base al criterio dado por el usuario.
Despliega un catálogo de texto.

Entrada: Clave de texto (se permiten entradas genéricas)


Salida: Tabla con información de encabezado en todos los
textos Encontrados

El módulo de función SELECT_TEXT genera una tabla con los textos de


encabezado de todos los módulos de texto correspondientes a la clave de búsqueda

Los textos SAPscript son específicos del cliente.

Los textos clave contienen cuatro caracteres:

OBJECT Objeto de texto


ID ID del texto
NAME Nombre del texto
LANGUAGE Lenguaje del texto

Generalmente se puede seleccionar texto con SELECT_TEXT usando un


asterisco “*”.

EL PROCESO DE ACTUALIZACIÓN DE TEXTO.

La mayoría de los documentos SAPscript en los programas de aplicación se


salvan con el procedimiento de actualización.

El concepto de actualización del R/3 se explica completamente en la


Documentación R/3.

El modo BACKUP (V = Actualización, D = Directo sin Actualización) es un


atributo de una clase de documento, es decir, de todos los documentos alojados en
un objeto de texto particular. El desarrollador define este modo en una transacción
separada.

ToolsWord processing ... y EnvironmentSettings)

Cuando se salva un texto por medio del procedimiento de actualización, todos


los módulos de función trabajan con el texto en memoria.

El texto en memoria contiene todos los cambios realizados en el programa de


aplicaciones.

Para almacenar cambios a un texto en la base de datos:


Utilizar COMMIT_TEXT
Utilizar el comando ABAP/4 COMMIT WORK

Si no se realizan los pasos descritos arriba, todos los cambios se perderán y la


actualización se terminará.

40
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

LEYENDO, SALVANDO Y BORRANDO TEXTO.

READ_TEXT: Lee un solo texto desde el texto en memoria o desde la base de


datos en el área de trabajo.

Entrada: Clave de texto.


Salida: HEADER y LINES

SAVE_TEXT: Almacena un texto desde el área de trabajo en el texto en


memoria o en la base de datos.

Entrada: HEADER y LINES

DELETE_TEXT: Borra uno o más textos en texto de memoria o en la base de


datos

Entrada: Texto clave (puede ser genérico)

ACTUALIZACIÓN DE TEXTOS.

COMMIT_TEXT
Actualiza texto desde el texto de memoria en el archivo de actualización.
La memoria de texto se limpia después de una llamada exitosa.

COMMIT WORK
Llamada desde un programa de aplicación (Comando ABAP/4).
Necesario para almacenar texto en la Base de Datos.

Cuando el R/3 salva texto (o datos en general) por medio de actualización,


este toma lugar asincronamente en un proceso separado, llamado tarea de
actualización.

Para almacenar cambios de texto por el procedimiento de actualización de


texto:
Utilice COMMIT_TEXT.
Utilice el comando de ABAP/4 COMMIT WORK.

COMMIT_TEXT no reemplaza al comando ABAP/4 COMMIT WORK.

Se puede llamar el COMMIT_TEXT y el COMMIT WORK sólo una vez por


unidad lógica de trabajo (LUW), y hacerlo al final del procedimiento.

Si no se ejecutan el COMMIT_TEXT o el COMMIT WORK, todos los cambios


a los textos se perderán.

Después de que se ha ejecutado un COMMIT_TEXT, el texto de memoria


queda vacío.

41
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

SALVANDO TEXTO DIRECTAMENTE.

Como una alternativa para la actualización del archivo se puede salvar texto
directamente en la base de datos. Esto aplica a todos los textos cuyos objetos de
texto tienen el modo backup D.

El modo BACKUP (V = actualización, D = Directo sin actualización) es un


atributo de una clase de texto completa, esto es, de todos los textos localizados para
un objeto de texto particular. El desarrollador define este modo en una transacción
individual (ToolsWord processing ... y EnvironmentSettings)

Para un procesamiento masivo de textos (como en transporte, copias de


clientes o reorganización de la compañía), se puede especificar el modo backup
temporalmente como D.

Para hacer uso de este modo temporal bajo SAVE_TEXT o DELETE_TEXT,


utilice el parámetro SAVEMODE_DIRECT.

Cuando se define el SAVEMODE_DIRECT = ´X´, el módulo de función


SAVE_TEXT y DELETE_TEXT actúan como se muestra arriba (imagen pág. 7-10).

SAVEMODE_DIRECT trabaja sólo una vez, para una sola llamada del módulo
de función correspondiente.

NOTA: No mezclar actualización “normal” con SAVEMODE_DIRECT bajo


ninguna circunstancia.

42
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

APENDICE A
PERSONALIZANDO FORMULARIOS

 Invoice Forms (SD) (Forma de factura)


 Order Form (MM) (Forma de Ordenes)
 Account Statement (FI) (Forma de Estado de Cuenta)

NAVEGANDO EN LA PERSONALIZACIÓN DE FORMULARIOS

Para accesar la Guía de implementación de personalización de R/3, se


selecciona:
Tools  Business Engineering  Customizing, y luego Enterprise IMG

La Guía de Implementación Enterprise (IMG) es un apartado de la Referencia


IMG de SAP (de donde es generado).

Desde este menú, se puede llegar a la aplicación apropiada (como Financial


accounting, Logistics general o Sales and Distribution)

INVOICE FORM (SD) (FORMA DE FACTURA) I

Para asignar programas de impresión dentro de SD, se selecciona:


Sales and Distribution  Basic Functions  Output  Output
determination  Process output and forms  Assign forms and programs.

En la caja de diálogo, se selecciona el formulario para una transacción


desde SD (de tipo salida).

INVOICE FORM (SD) (FORMA DE FACTURA) II

Seleccionar Assign forms and programs. Esta ventana de diálogo da


acceso a diferentes clases de formularios de SD.

Posicionarse en la línea deseada y seleccionar Choose.

INVOICE FORM (SD) (FORMA DE FACTURA) III

La asignación de un programa de impresión y un formulario se de termina de


acuerdo al tipo de mensaje.
El tipo de mensaje indica el tipo de formulario que se va a usar.
La columna 3 (medium) indica la manera en el que el mensaje se va a
mandar.
La columna 4 contiene las entradas de los programas de impresión
estándares.
Si desea cambiar el programa de impresión o el formulario, debe ingresar su
objeto propio (o un objeto modificado) hasta este punto.

Ver el material del Apéndice B concerniente a modificaciones.


43
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

ORDER FORM (MM) (FORMA DE ORDENES) I

Para asignar programas de impresión dentro de Manejo de Materiales (MM),


se selecciona:
Material Management  Purchasing  Messages  Layout sets
for messages  Customize/Assign layout set for purchase order.

ORDER FORM (MM) (FORMA DE ORDENES) II

La caja de diálogo te permite entrar a las transacciones de formas de


ordenes de compra.

Selecciona la transacción que se necesite colocando el cursor en ella.

ORDER FORM (MM) (FORMA DE ORDENES) III

Se pueden asignar programas de impresión a formularios de acuerdo al


tipo de salida.

Las entradas de los programas estándares se graban aquí.

Para cambiar el programa de impresión o el formulario, debe ingresar su


objeto propio.

Ver el material del Apéndice B concerniente a modificaciones.

ACCOUNT STATEMENT (FI) (FORMA DE ESTADO DE CUENTA) I

Para asignar programas de impresión en los módulos FI (un estado de


cuenta por ejemplo). Seleccionar:

Financial Accounting  Financial Accounting Global Settings 


Correspondence  Define form names for correspondence print

ACCOUNT STATEMENT (FI) (FORMA DE ESTADO DE CUENTA) II

Para asignar programas de impresión a formularios, seleccionar:

Define form names for correspondence print

Las entradas de los programas estándar son grabados.

Para hacer modificaciones al formulario o a programas de impresión, ver


también el Apéndice B.

44
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

OUTGOING PAYMENTS (FI) I

Para cambiar la entrada de programas de impresión y formularios para


salida de pagos dentro de FI, seleccionar:

Financial Accounting  Accounts Receivable and Accounts


Payable  Business Transactions  Outgoing payments  Outgoing
payments Global Settings  Automatic Outgoing Payments  Payment
method/Bank Selection  Configure payment program.

OUTGOING PAYMENTS (FI) II

Para cambiar el programa de impresión, seleccionar Ctry payment


methods.

La caja de diálogo muestra los países disponibles.

Dar doble click en el país deseado.

OUTGOING PAYMENTS (FI) III

Dar doble click en el método de pago de los que se despliegan.

En el ejemplo (pág. 8-13 Appendix A Customizing R/3 Layout sets) se


seleccionó el método de pago C (cheque).

OUTGOING PAYMENTS (FI) IV

Ingresar los cambios al programa de impresión.

OUTGOING PAYMENTS (FI) V

Para cambiar el formulario, seleccionar Paying Company Codes.

Dar doble click para seleccionar el país.

El mismo método de pago se despliega en los programas de impresión.


Seleccione las entradas apropiadas. En el ejemplo el método de pago es
Cheque.

OUTGOING PAYMENTS (FI) VI

Para ir a la entrada del medio de pago, seleccionar Form data.

APENDICE B.
45
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

MODIFICACIONES

 Visión General: Para realizar modificaciones.


 En el formulario
 En el programa de impresión

PARA REALIZAR MODIFICACIONES.

Para modificar formularios:


 Copiar los formularios relevantes como Z … o Y … Z o Y son
los rangos de nombre para el cliente, hacer todas las
modificaciones en las copias.
 Grabar el formulario nuevo en la Guía de Implementación
(Implementation Guide) (IMG) Ver apéndice A.
 Para utilizar campos o elementos de bases de datos, modificar ell
programa de impresión. Copiar los programas de impresión como
son Z… o Y…, modificar las copias, y grabarlas en el IMG.
Ver apéndice A.

COPIAR FORMULARIOS.

Para copiar formularios, seleccionar Tools  Word procesing  Layout set del
menú principal de R/3.

Después seleccionar Utilities  Copy from client.

El cliente objetivo es siempre el cliente con el que esta actualmente en el


sistema.

Después de esto ya se puede editar el formulario en el rango de nombre del


cliente.

MODIFICANDO PROGRAMAS DE IMPRESIÓN.

Para copiar el programa objeto (Z… o Y…), seleccionar ABAP-/4 


Workbench  ABAP/4 Editor. Después seleccionar Program  Copy.

Ahora se puede ya mirar ya a través del código del programa para encontrar
los lugares en donde se desean hacer las modificaciones. En esta etapa, es valioso
considerar si hay puntos en los que pudiera ser funcional incluir accesos adicionales
a las tablas de la base de datos.

Si se experimentan problemas de impresión, usar el debugger, seleccionando


Tools  Word processing  Layout set  Utilities  Activate debugger.

46
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

PRUEBA DE IMPRESIÓN.

Después de modificar formularios, se puede ver previamente antes de


imprimirlo seleccionando Utilities  Test print.
Las posiciones y el tamaño de las ventanas serán indicadas.
Todos los elementos de texto de la ventana principal se visualizan, no importa
cuantas páginas ocupe. Todas las ventanas en estas páginas también se imprimen.
Los símbolos de programa se reemplazan por X´s.

47
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

APENDICE C.
FUENTES.
 Estilos de Fuentes
 Utilizando estilos de Fuentes
 Fuentes del sistema y fuentes de impresión

VISIÓN GENERAL DE LAS FUENTES.

Este apéndice intenta dar una visión general de las fuentes que se utilizan en
SAPscript.

Para accesar la transacción de mantenimiento de fuentes (SE73), seleccionar


Tools  Word processing  Font.

FAMILIAS DE FUENTES.

Todas los nombres de fuentes que se pueden usar están agrupados en


familias. Existe también una bandera para mostrar si la fuente es proporcional o
equidistante.

El mantenimiento a las familias de fuentes se hace con la transacción de


mantenimiento de fuentes. También se puede dar mantenimiento a los atributos
“Proportional” o “Equidistant” aquí.

FUENTES DEL SISTEMA.

Una fuente del sistema (Fuente SAP) es la combinacion de familias de


fuentes, tamaño de letra y los atributos bold e italic. La selección de la fuente usada
en los procesos de SAPscript siempre se refiere a una fuente del sistema.

FUENTES DE IMPRESIÓN.

Una fuente de impresión es una combinación del tipo de impresora y una


fuente del sistema.

Las fuentes de impresión son las fuentes que SAPscript tiene disponibles en
los dispositivos. (impresoras, pantallas, telex etc.). Para las fuentes proporcionales,
deben grabarse en el formato Adobe AFM (Adobe Font Metrics) los datos metricos.
Para las fuentes equidistantes, los valores deben darce en el CPI (Characters Per
Inch), Caracteres por pulgada.

SAPscript tiene una conversión automática entre las fuentes del sistema de un
documento y las fuentes de impresora instaladas en una impresora en particular.
Para habilitar estas conversiones, es necesario tener fuentes de reemplazo para cada
famila de fuentes.

48
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

Las conversiones entre fuentes del sistema y fuentes de impresora se


despliegan en el mantenimiento de fuentes. Se puede por ejemplo, convertir una
fuente dada por el sistema para diferentes impresoras, o convertir diferentes fuentes
del sistema para una sola impresora.

CÓDIGOS DE BARRA DEL SISTEMA Y DE IMPRESIÓN.

El atributo de cadena de caracteres Bar Code (Código de barras), permite


imprimir códigos de barra utilizando SAPscript. El mantenimiento de los diferentes
tipos de códigos de barras se hace independientemente de cualquier dispositivo,
como códigos de barras del sistema.

Para los tipos para impresoras que soportan impresión de códigos de barras,
la impresora establece una conexión con el control específico del dispositivo,
conocido como control de impresión. El mantenimiento de los controles de impresión
se hace con la transaccion de administración de spool. Para accesar esta
transacción, se selecciona:
Tools  Administration  Spool  Spool Admimnistration.

Cuando se imprime un código de barras, primero se manda un control de


impresión llamado código prefijo a la impresora. Este es seguido por los datos del
código de barras (por ejemplo un número de 8 dígitos). Finalmente otro control de
impresión, el código sufijo, se manda.

CONTROLES DE IMPRESIÓN.

Un control de impresión es una secuencia de control que se manda a un


dispositivo que tiene una dirección asignada con un nombre simbólico. Se usa la
transacción de administración del spool para dar mantenimiento a los controles de
impresión de cada tipo de dispositivo. Para accesar esta transacción, se selecciona:
Tools  Administration  Spool  Spool Admimnistration.

Los controles de impresión son los responsables de controlar las fuentes de


impresora y los códigos de barras. En la transacción de mantenimiento de fuentes,
solo se ingresa el nombre simbólico del control de impresión para fuentes de
impresión códigos de barras.

La impresora es controlada por varios drivers que convierten el formato de


salida interno de SAPscript (OTF,output text format) en secuencias de control que
puedan ser interpretadas por las impresoras. Las secuencias de control se definen
por lo general usando controles de impresión. En la transacción de administración del
spool se asignan los drivers para los tipos de dispositivos.

49
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC
INTERNACIONAL DE SISTEMAS S.A. DE C.V. C REACIÓN DE FORMULARIOS CON
SAPSCRIPT

APENDICE D.
INSERTAR ELEMENTOS GRÁFICOS.

 Ejemplo: Insertando el logotipo de una compañía.

REQUERIMIENTOS.

Para insertar una gráfica en un formulario:


 La gráfica debe estar disponible en la terminal en formato TIFF (Tag
Image File Format).
 Definir una ventana nueva en el formulario. Después de cargar la
gráfica en la forma de texto estándar, se incorpora la gráfica como
módulo de texto en la nueva ventana.
 Para cargar el archivo TIFF en texto estándar, se usa el reporte
RSTXLDMC de ABAP/4.

RSTXLDMC: INSERTANDO UNA GRÁFICA.

Para insertar la gráfica en un formulario, se usa el reporte RSTXLDMC.

Usar RSTXLDMC para salvar el archivo TIFF en la terminal. El sistema sugiere


un nombre para el texto: ZHEX-MACRO-*. El asterisco se refiere al tipo del archivo, el
ejemplo el archivo se llama BMON, así es que el nombre sería ZHEX-MACRO-
BMON. Usar el ID “ST” y el lenguaje de log-on.

Se puede especificar la posición exacta de la gráfica cuando se carga. Esta


posición es independiente de la posición de la ventana en la página donde aparece.

Para verificar el cambio resultante en el formulario, seleccionar:


Utilities  Print test.

Se debe correr la prueba de impresión con una impresora que soporte


gráficos.

50
REFERENCIA: CLON015 C:\M IS DOCUMENTOS\SAPSCRIPT COMPLETO.DOC

También podría gustarte