✒️ABAP HANA / Las mejoras a partir de ABAP 7.40 Por Sergio Del Sordo

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

ABAP Las mejoras a partir de ABAP 7.40

ABAP Las mejoras a partir de ABAP 7.40

Mejoras a partir de ABAP 7.40

Para saber con qué versión estamos trabajando, verificamos los componentes SAP_BASIS Y SAP_ABA.

A partir de la versión 7.0, ABAP fue orientado a declaraciones.

Con la versión 7.02, ABAP dio el primer gran paso en la dirección de habilitación de la expresión.

ABAP 7.4 está más orientado hacia las expresiones.

ABAP 7.5 es compatible con el servidor de aplicaciones ABAP 7.4 y corre con el kernel 7.45. Sólo funciona con sistemas Unicode. Soporta la base de datos HANA y otras bases de datos. Establece a SAP Fiori como experiencia de usuario.


Declaraciones en línea (inline declarations)

El objetivo es reducir y optimizar el código.

Antes de ABAP 7.4 declarábamos y asignábamos una variable en dos líneas. Ahora lo podemos hacer en una sola:

DATA(v_texto) = 'Hola Mundo'.


LOOP AT ti_carrier INTO data(wa_carrier).

LOOP AT ti_bukrs ASSIGNING field-symbol(<wa_bukrs>).

READ TABLE ti_matnr ASSIGNING field-symbol(<wa_matnr>) INDEX 3.

SELECT * FROM scarr INTO TABLE @data(ti_scarr).

SELECT SINGLE carrname FROM scarr WHERE carrid EQ 'AA' INTO @data(v_carrname).

cl_salv_table=>factory( IMPORTING r_salv_table = data(lo_alv_inline)

CHANGING t_table = lt_data ).

No es posible usar el mismo nombre de variable dentro de un mismo scope (sobre todo en métodos).

Las declaraciones inline son sumamente útiles para un contexto limitado y local.


Expresiones con tablas

Cuando una línea de la tabla no es encontrada al momento de realizar por ejemplo un READ, se dispara la excepción
CX_SY_ITAB_LINE_NOT_FOUND en lugar de cambiar el valor del sy-subrc.

  • Podemos reemplazar:

READ TABLE ti_carrier INTO wa_carrier INDEX 1.

por:

DATA(wa_carrier) = ti_carrier[ 1 ].

  • Podemos reemplazar:

READ TABLE ti_carrier INTO wa_carrier WITH KEY carrid = 'LH'.

por:

DATA(vl_nombre) = ti_carrier[ carrid = 'LH' ]-carrname.

  • Para saber si existe un registro, podemos reemplazar:

READ TABLE ti_carrier WITH KEY carrid = 'AA' TRANSPORTING NO FIELDS.

IF sy-subrc = 0.

ENDIF.

por:

IF line_exists( ti_carrier[ carrid = 'AA'] ).

ENDIF.

  • Para obtener el índice de una tabla, podemos reemplazar:

READ TABLE ti_carrier WITH KEY carrid = 'AA' TRANSPORTING NO FIELDS.

IF sy-subrc = 0.

v_index = sy-tabix.

ENDIF.

por:

DATA(v_index) = line_index( ti_scarr[ carrid = 'AA' ] ).

Se producirá un dump si utilizamos una expresión en línea que haga referencia a un registro que no existe en una tabla
interna. Es por ello que SAP recomienda asignar un field symbol y chequear el SY-SUBRC:

ASSIGN ti_tab[ 1 ] TO field-symbol().

IF sy-subrc = 0.

ENDIF.


Expresiones de constructor

Nos permiten crear e inicializar objetos ABAP, estructuras de datos y referencias de datos por medio de una expresión.

El operador NEW nos permite declarar una instancia de un objeto directamente en línea. Los parámetros para el constructor
son transferidos cuando el método es llamado.

DATA(o_reporte) = NEW lcl_reporte ( 1 ).

El operador VALUE se utiliza para inicializar estructuras o tablas internas.

Podemos reemplazar:

DATA: ls_scarr TYPE scarr.

ls_scarr-carrid = 'LH'.

ls_scarr-carrname = 'Lufthansa'.

por:

ls_scarr = VALUE #( carrid = 'LH' carrname = 'Lufthansa' ).


Uno de los beneficios de la expresión VALUE es que puede combinarse con una declaración en línea. Sin embargo, en este caso deberemos especificar el tipo de dato exacto tal como vemos a continuación:

DATA(ls_scarr) = VALUE scarr( carrid = 'LH' carrname = 'Lufthansa' ).

Para inicializar una tabla interna:

DATA: lt_carrier TYPE TABLE OF scarr.

lt_carrier = VALUE #( ( carrid = 'AA' carrname = 'American Airlines' ) ( carrid = 'LH' carrname = 'Lufthansa' ) ).

El operador REF, que es una alternativa orientada a la expresión, se usa para generar una referencia de datos junto con la sentencia GET REFERENCE. Veamos cómo usar el operador REF junto con las declaraciones en línea:

TRY.

DATA(lo_result_set) = cl_sql_connection=>get_connection()->create_statement()->execute_query( lv_statement ).

lo_result_set->set_param_table( ref #( lt_result ) ).

lo_result_set->next_package().

lo_result_set->close().

CATCH cx_sql_exception INTO data(lo_exc).

ENDTRY.


El operador CORRESPONDING, muy utilizado cuando trabajamos con estructuras y tablas internas, ha sido optimizado. Podemos reemplazar un MOVE-CORRESPONDING por:

wa_line2 = CORRESPONDING #( wa_line1 ).


Operaciones con caracteres

Antes identificábamos a las cadenas de caracteres encerrándolas entre comillas simples. Ahora, va entre pipes. Dentro de una cadena, podemos encerrar entre llaves los siguientes objetos y expresiones: Objetos de datos, expresiones de cálculo, expresiones de constructores, expresiones de tablas, funciones predefinidas, y métodos funcionales y encadenamiento de métodos.

DATA v_string TYPE string.

v_string = |El código de retorno es: { sy-subrc }|.


La sentencia CONCATENATE ha sido optimizada:

DATA(vl_output) = |Hola| & | | & |mundo|.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Sergio Ariel Del Sordo, en su ámbito de estudios para el Master ABAP for HANA.

SAP SemiSenior

Sergio Ariel Del Sordo

Profesión: Analista Programador Abap - Argentina - Legajo: LE26W

✒️Autor de: 13 Publicaciones Académicas

🎓Egresado del módulo:

Presentación:

Soy analista programador universitario y la mayor parte de mi actividad laboral la desarrollé como programador abap. me interesa aprender sobre hana, ya que es lo que se está usando en las empresas.

Certificación Académica de Sergio Del

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las mejoras a partir de ABAP 7.40" de la mano de nuestros alumnos.

SAP Master


Mejoras principales en ABAP desde 7.4 SAP NetWeaver 7.40 trajo numerosas mejoras al lenguaje ABAP, permitiendo escribir código más corto, legible y orientado a expresiones. El paradigma "code pushdown" ahora facilita la ejecución de cálculos directamente en la base de datos, disminuyendo la cantidad de código de aplicación necesario. Para identificar la versión de ABAP, se debe revisar la información de los componentes sap_basis y sap_aba en el menú Sistema > Estatus. Evolución de ABAP: desde la versión 7.0 con orientación a declaraciones, pasando por la 7.02 con más expresiones y operadores,...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Las mejoras introducidas a partir de ABAP 7.40 en la programación ABAP HANA avanzada marcan un cambio hacia un enfoque más eficiente y optimizado para aprovechar la base de datos in-memory de SAP HANA. Entre los avances clave se encuentran el concepto code-pushdown, que permite trasladar operaciones intensivas de la capa de aplicación a la base de datos mediante vistas CDS y AMDP, reduciendo tiempos de ejecución y uso de memoria. Se incorporan expresiones inline, declaraciones dinámicas y tipos de datos más flexibles que simplifican el código y mejoran su legibilidad. Además, se facilita la programación orientada a objetos con nuevas sintaxis y operadores, junto con un acceso más...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Comparto material encontrado;espero les sea útil: Reseña Histórica de las Versiones ABAP: Avances, Ventajas y Desventajas 1. ABAP/4 (Década de 1980 - SAP R/2 y R/3) Contexto: ABAP nació como un lenguaje de reportes en los años 80, con SAP R/2. Luego se consolidó en SAP R/3 en los 90 como ABAP/4 (cuarta generación). Ventajas: Enfocado a procesos de negocio. Integración nativa con SAP R/3. Fuerte en procesamiento de datos. Desventajas: Sintaxis rígida. Poca orientación a objetos. Interfaces limitadas. 2. ABAP Objects (Introducido con SAP R/3 4.6C – Año 2000) Contexto:...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Mejoras a ABAP Juanto con SAP Netweaver 7.40 llego el servidor de aplicaciones AS ABAP 7.40. El AS ABAP 7.40 es el sucesor de AS ABAP 7.31 (tambien conocido como AS ABAP 7.03) que es el sucesor de AS ABAP 7.02 que se basa en AS ABAP 7.0. Gracias a una mayor orientacion hacia las expresiones, estas mejoras nos permiten escribir un codigo ABAP mas corto y mas legible. En el contexio del desarrollo de ABAP en SAP HANA, las opciones asociadas con las expresiones hacen posible reducir el codigo ABAP a la intencion escencial. El Paradigma code pushdown puede utilizarse para realizar calculos dentro de la BD y (al usar los componentes contenidos en el ABAP AS) la aplicacion puede orquestarse utilizando considerablemente menos codigo de aplicacion....

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Las mejoras a partir de Abap 7.40 1. Mejoras Abap Mayor orientación hacia la expresiones lo que permite escribir un código Abap mas corto y legible En el contexto de d esarrollo Abap en Sap Hana, las opciones asociadas con las expresiones hacen posible reducir el código Abap a la intención esencial Se pueden realizar cálculos dentro de la base de datos Sap Hana (paradigma Code Pushdown) Para determinar la versión Abap que estamos trabajando, damos clic al menú Sistema/Status, damos clic en botón Coponentes (lupa de Product Version), y en la lista de componentes buscamos la versión o release SAP_BASIS y SAP_ABA 2. Abap 7.50 En octubre de 2015 SAP lanza el servidor...

Acceder a esta publicación

Creado y Compartido por: Sergio Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

1. Las mejoras a ABAP A partir del lanzamiento del sistema SAP NetWeaver 7.4 se han implementado una seri de mejoras en el lenguaje de programación ABAP. Gracias a una mayor orientación hacia las expresiones, estas mejoras nos permiten escribir un código ABAP más corto y más legible. El paradigma code pushdown puede utilizar para realizar cálculos dentro de la base de datos y la aplicación puede orquestarse utilizando considerablemente menos código de aplicación. 1.1 ¿Cómo determinamos con cúal versión de ABAP estamos trabajando? Sistema / Status / Componentes (product versión) / SAP_BASIS y SAP_ABA. 1.2 ¿De dónde venimos, dónde...

Acceder a esta publicación

Creado y Compartido por: Oscar Iván Eugenio Trejo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior


Hay que tener en cuenta que en la declaración en línea de variables que no sean tablas, es el sistema quien decide el tipo de la variable. En el caso de las tablas tomará como referencia los tipos de los campos. Esto: DATA: v_texto TYPE string. vtexto = 'Hola mundo'. y esto: DATA(v_texto) = 'Hola mundo'. No es lo mismo. Si cambiamos el valor por 'Mi primer programa en ABAP': En la primera definición quedará bien: 'Mi primer programa en ABAP'. Pero en la segunda quedará como 'Mi primer p'. DEBUG y haz la prueba. Y es que en la definición en línea crea la variable como de tipo C y longitud 10, lo que imposibilita su reutilización salvo que sepamos a priori que la longitud del texto...

Acceder a esta publicación

Creado y Compartido por: Fernando Morales Del Rosario / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

1. Las mejoras a ABAP Junto con SAP NetWeaver 7.4 llegó el servidor de aplicaciones AS ABAP 7.4. A partir del lanzamiento de SAP NetWeaver 7.4 se han implementado una serie de mejoras en el lenguaje de programación ABAP. La orientación hacia las expresiones permite escribir un código más corto y legible. El paradigma code pushdown puede utilizarse para realizar cálculos dentro de la base de datos y la aplicación puede orquestarse utilizando considerablemente menos código de aplicación. 1.1. ¿Como determinamos con cuál versión de ABAP estamos trabajando? Vamos a menú Sistema / Status / botón Componentes (Product Version). Buscamos la versión...

Acceder a esta publicación

Creado y Compartido por: Ricardo Daniel Tovar Barrera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

MEJORAS ABAP: Junto Sap Netweaver 7.40 llegó el servidor de aplicaciones ABAP AS ABAP 7.40 para Hana (sucesor de AS ABAP 7.31 / 7.02 / 7.0 todos estos para ERP). Estas mejoras permiten escribir un código ABAP más corto y legible El paradigma code pushdown puede utilizarse para realizar cálculo dentro de la BD y la aplicación puede orquestarse usando considerablemente menos código de aplicación. COMO VERIFICAR LA VERSIÓN ABAP: Ingresar a un modo SAP Ir al menú Sistema > Status Click al botón Componentes (Product Version) En la lista de componentes de software instalados buscar la versión de los componentes SAP_BASIS y SAP_ABA Verificar que estas trabajando con ABAP...

Acceder a esta publicación

Creado y Compartido por: Johanna Thaina Rangel Lucero / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Unidad 2: Lección 1 Las mejoras a partir de ABAP 7.4 1. Las mejoras a ABAP A partir del lanzamiento del sistema SAP NetWeaver 7.4 se han implementado mejoras en el lenguaje de programación ABAP Junto con SAP Netweaver 7.4 llegó el servidor de aplicaciones ABAP AS ABAP 7.4 Permitir escribir un código ABAP más corto y más legible 1.1 Determinar cuál versión ABAP se tiene Buscar la opción Sistema / Status, ir a Componentes y en la lista buscar los que digan SAP_BASIS y SAP_ABA 1.2 Que es ABAP 7.5 y cuáles son sus fundamentos? En 2015 SAP lanza el servidor de aplicaciones SAP NetWeaver AS ABAP 7.5 y con él la nueva versión del lenguaje ABAP 7.5 Generalidades...

Acceder a esta publicación

Creado y Compartido por: Alejandra Soto Guerrero

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!