ABAP: Pasar de JSON a estructura

Para pasar de un string que contiene un JSON a una estructura utilizaremos el método JSON_TO_DATA de la clase CL_FDT_JSON, la estructura deberá tener los mismos campos que el JSON.

 

Ejemplo

En este caso se le pasará la variable LV_JSON de tipo string y el contenido se informará en la estructura LW_ESTRUCTURA que tendrá los mismos campos que aparecen en el JSON.

DATA: lv_json       TYPE string, 
      lw_estructura TYPE t_estructura.

cl_fdt_json=>json_to_data( EXPORTING iv_json = lv_json
                           CHANGING ca_data = lw_estructura ).

Para ver mas tutoriales de SAP, pulse en el siguiente enlace: Listado de tutoriales

ABAP: Manejo de cadena de caracteres

En la siguiente guía veremos cómo operar con cadenas de caracteres (Entendemos por cadena de caracteres los siguientes tipos d, n, c, t y string)

 

Reemplazar

Para reemplazar un carácter o cadena de caracteres utilizaremos REPLACE.
Buscará el string1 (tardes) con el string2 (noches) en el string 3(Buenas tardes) y el resultado será Buenas noches.

DATA: string1 TYPE string VALUE 'tardes',
      string2 TYPE string VALUE 'noches',
      string3 TYPE string VALUE 'Buenas tardes'.

REPLACE string1 WITH string2 INTO string3.

 

Pasar a Mayúsculas/Minúsculas

Para pasar de mayúsculas a minúsculas o viceversa, utilizaremos TRANSALTE, indicando TO UPPER CASE para pasar a mayúsculas o TO LOWER CASE para pasar a minúsculas.

TRANSLATE string1 TO UPPER CASE.

TRANSLATE string1 TO LOWER CASE.

Leer más

ABAP: Leer variable de otro programa

Si necesitamos leer datos desde un programa, que no es el programa en el que estamos en este momento podemos hacerlo con Field Symbols de la siguiente forma.

Pasos

  • Declarar Field Symbol de tipo ANY si es una variable o del tipo ANY TABLE si es una tabla interna.
  • Indicar el programa desde donde queremos leer la variable entre paréntesis y a continuación el nombre de la variable entre comillas simples utilizando ASSIGN

Código

En nuestro caso vamos a leer del programa SAPLMBWL la tabla interna XMSEG[ ] y asignaremos el contenido de la misma al Field Symbol <fs_xmseg>

FIELD-SYMBOLS: <fs_xmseg> TYPE ANY TABLE.

ASSIGN ('(SAPLMBWL)XMSEG[]') TO <fs_xmseg>.

Para ver mas tutoriales de SAP, pulse en el siguiente enlace: Listado de tutoriales

ABAP: Cantidad de registros de una tabla interna

Para averiguar la cantidad de registros de una tabla interna utilizaremos DESCRIBE TABLE de la siguiente forma.

 

DESCRIBE TABLE

  • Declararemos una variable de tipo numérica donde se almacenará el número de líneas de la tabla, en nuestro caso LV_LINES
  • En DESCRIBLE TABLE indicaremos la tabla interna de la que queremos conocer el número de líneas e indicaremos la variable donde almacenar el número de líneas

 

Código

DATA: lv_lines TYPE i.

DESCRIBE TABLE li_tabla LINES lv_lines.

IF lv_lines > 0.

ENDIF.

Para ver mas tutoriales de SAP, pulse en el siguiente enlace: Listado de tutoriales