Uso de Field Symbols para la conversión de caracteres a

Anuncio
http://www.teknodatips.com.ar
Notas técnicas – Tips de SAP Netweaver ABAP Tip en breve
Teknoda “SAPping”
(Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado)
"Tips en breve/Tips en detalle" se envía con frecuencia variable y absolutamente sin cargo como un servicio a nuestros
clientes SAP. Contiene principalmente notas técnicas y no contiene mensajes publicitarios.
Conteste este mail con asunto “REMOVER” si no desea recibir más esta publicación. Si desea suscribir otra dirección
de e-mail para que comience a recibir los tips envíe un mensaje desde esa dirección a [email protected]
Uso de Field Symbols para la conversión de caracteres a ASCII
Tema:
Field Symbols, Conversión.
Utilidad:
Cómo obtener la configuración ASCII de un string mediante el uso de field
symbols.
Nivel:
Intermedio.
Los “field symbols” son nombres simbólicos de otros campos. NO reservan espacio físicamente para un
campo sino que “apuntan” a su contenido. Un field symbol puede apuntar a cualquier objeto de datos.
Para poder utilizarlos en un programa se debe:
1) Definir el field symbol.
2) Asignar al field symbol el objeto de datos
1) Se puede declarar un field symbol sin o con especificaciones de “tipo”. Si no se especifica el “type”, el
field symbol asume todos los atributos técnicos del campo asignado. Si se especifica type, el sistema
controla la compatibilidad del field symbol y el campo al que se está asociando en el momento de la
ejecución de la sentencia de asignación. La sintaxis de la declaración es:
FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>]
2) En un programa, se pueden asignar objetos de datos a field symbols en cualquier momento, como
también asignar una serie de diferentes objetos de datos a un field symbol. Para la asignación se utiliza la
sentencia ASSIGN, que tiene varias variantes y parámetros. Una de estas variantes es la adición TYPE
con los Abap types C, D, F, I, N, P, T y X que permiten setear el tipo de datos de un field symbol
independientemente del objeto asignado.
Ejemplo:
data txt(8) value ’20020624’.
data hexa(1)value ’X’.
field-symbols <fs>.
assign txt to <fs>.
write / <fs>.
“ a)
assign txt to <fs> type ´D´.
write / <fs>.
“ b)
assign txt to <fs> type hexa.
write / <fs>.
“ c)
El resultado sería:
a) 20020624
b) 24062002
c) 3230303230363234
En el ejemplo el string txt es asignado al field symbol tres veces. En la primera asignación no se especifica
tipo. En la segunda, el tipo especificado es D y la salida depende de la definición que tenga el usuario actual
en su registro maestro. En el tercer assign, la salida corresponde al código hexadecimal de los caracteres
contenidos en txt. Estos dependen de la plataforma, en este caso es ASCII.
Para tener en cuenta:
Los field symbols proveen gran flexibilidad ya que permiten, entre otras cosas procesar secciones de
campos (se pueden especificar modificadores de desplazamiento y longitud dinámicamente), direccionar
partes de un campo (asignando un field symbol a otro), lograr que un field symbol tome distintos atributos
técnicos de los campos asignados a él, etc. Pero aumentan las posibilidades de error o de incorrectas
asignaciones de datos durante la corrida, dado que los campos se asignan recién en el momento de ejecución
del programa y las verificaciones de sintaxis y chequeos de seguridad son muy limitados para las operaciones
que incluyen field symbols.
Por estas razones, se recomienda el uso de los field symbols sólo si no se pueden alcanzar los mismos
resultados usando otras sentencias ABAP.
IMPORTANTE
Copyright 2002 Teknoda S.A. Junio 2002. SAP, R/3 y ABAP son marcas registradas de SAP AG. Teknoda
agradece el permiso de SAP para usar sus marcas en esta publicación.
SAP no es el editor de esta publicación y no es, por lo tanto, responsable de su contenido.
La información contenida en este artículo ha sido recolectada en la tarea cotidiana por nuestros especialistas
a partir de fuentes consideradas confiables. No obstante, por la posibilidad de error humano, mecánico,
cambios de versión u otro, Teknoda no grantiza la exactitud o completud de la información aquí volcada.
Dudas o consultas: [email protected]
Descargar