ULINE
Definición
Para escribir líneas horizontales se puede utilizar la sentencia ULINE.
Sintaxis:
ULINE [ AT ] [ / ] [ <posición> ] [ (<longitud>) ].
El significado de la cláusula AT es el mismo que en la sentencia WRITE. Si no se especifica la cláusula AT, el sistema
escribe una nueva línea horizontal.
WRITE TO
Definición
Cuando asignamos valores a objetos de datos con la sentencia, se puede utilizar las opciones de la sentencia WRITE a excepción de UNDER y
NO-GAP.
Sintaxis:
WRITE { <c1> [ <o1> ][ <(l1)> ] | (<c1>)} TO <c2>[ <o2> ] [ <l2>) ] [ <opciones> ].
La sentencia WRITE TO escribe el contenido del campo fuente <c1> sobre el campo destino <c2>. <c1> puede ser cualquier objeto de datos, <c2>
sólo puede ser una variable. <c2> no puede ser un literal o una variable. El contenido de <c1> permanece sin cambios.
La sentencia WRITE TO siempre comprueba las especificaciones realizadas en el registro maestro de usuarios, por ejemplo, si el punto decimal
debe aparecer con coma (,) o con punto (.). El campo destino siempre se considera como alfanumérico (tipo C). Por esta razón es conveniente que el
campo destino sea siempre alfanumérico.
También se puede especificar el nombre del campo fuente en tiempo de ejecución, para ello, encerramos entre paréntesis el nombre del objeto de
dato que contiene el nombre del objeto de dato que vamos a utilizar. Sin embargo, no se puede especificar en tiempo de ejecución el campo destino.
Para ello deberemos utilizar
fild-symbols
.
Se puede especificar el offset y la longitud, tanto del campo fuente como del campo destino. En esta sentencia, el offset y la longitud del campo
pueden ser variable.
SAP recomienda la asignación del campos con offset y longitud entre campos no numéricos. Con campos numéricos, el resultado puede ser
imprevisible.
WRITE { <campo> [ <o1> ] TO <tabla> [ <o2> ] [ <l2>) ] INDEX <índice>.
El contenido de la sección del campo <campo> con desplazamiento de <o1> posiciones y longitud <l!> es sobrescrito en la tabla interna <tabla>, en
la línea con índice <índice>, en la sección con desplazamiento de <o2> posiciones y longitud <l2>. Observemos que en esta sentencia no se utiliza
en ningún caso el área de trabajo. Esto es una variante de la sentencia WRITE .. TO (utilizada para otros casos). La sentencia WRITE .. TO no
reconoce la estructura de línea de la tabla interna. SAP recomienda el uso de esta sentencia sólo si queremos, por ejemplo, sustituir flag del que
sabemos exactamente su posición. También puede ser utilizada para tablas con estructuras de un único campo alfanumérico; tablas con esta
estructura son importantes, por ejemplo, para la generación automática de programas.
Ejemplo 1:
DATA: NAME(5) VALUE 'FIELD',
FIELD(5) VALUE 'Harry',
DEST(18) VALUE 'Robert James Smith',
OFF TYPE I,
LEN TYPE I.
OFF = 7.
LEN = 8.
WRITE (NAME) TO DEST OFF(LEN).
El campo DEST valdrá " Robert Harry ith "