SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

Uso de Field Symbols en ABAP para la conversión de caracteres a ASCII

Cómo obtener en ABAP la configuración ASCII de un string mediante el uso de field symbols

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:

1) 20020624
2) 24062002
3) 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.

 


Copyright Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


Ficha Técnica:  Notas técnicas – Tips de SAP Netweaver ABAP

Tema: Field Symbols, Conversión ASCII. Descripción: Cómo obtener en ABAP la configuración ASCII de un string mediante el uso de field symbols.

 

 

Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.