✒️ABAP HANA / Las mejoras a partir de ABAP 7.40 Por Martín Gómez Rodríguez

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

Se implementó una serie de mejoras en el lenguaje ABAP

AS ABAP 7.40 es sucesor de AS ABAP 7.31

Mayor orientación hacia las expresiones, haciendo poder reducir el código y el paradigma code pushdown

1.1 ¿Cómo determinamos con cual versión de ABAP estamos trabajando?

Ingresamos a un modo SAP > Menú Sistema > Status

Clic en "Componentes" (Product version

Buscamos SA_BASIS y SAP_ABA

1.2 ¿De donde venimos, donde estamos y hacia donde vamos?

Versiones:

7.0 : Fue orientado a declaraciones.

7.02: Se habilitpo la expresión. Expresiones de cadena con operador de concatenación && combinadas con cadenas. Podemos mandar el valor directo de la tabla concatenando con expresiones.

7.40: Orientado a la expresión real:

Al momento de buscar en tabla podemos genrar al vuelo una variable auxiliar DATA(wa_tabla).

En la misma expresión podemos hacer la busqueda del registro y ahí enviar el valor que buscamos.

1.3 ¿Qué es ABAP 7.50 y cuales son sus fundamentos?

Especificaciones:

Lanza servidor SAP de aplicaciones SAP NetWeaver AS ABAP 7.5 y con él ABAP 7.5

Es compatible con el servidor ode aplicaciones aBAP 7.4

Corre con el kernel 7.45

Solo funciona con sistemas Unicode

Soporta la base de datos SAP HANA y otras

Facilita la explotacion de HANA

Ofrece un modelo de programación ABAP común

SAP Fiori como UX

Compatible con industria 4.0 y escenarios de big data

Moderniza y simplifica el lenguaje ABAP

Experiencia de desarrolllo de primera clase en Eclipse

Herramientas de administración de código personalizada para una actualización y migración simples a SAP S/4 HANA

2 Declaraciones en línea (Inline Declarations)

Deberan ser usadas para reducir y optimizar el código, pero no abusar de ellas ya que podrían ser muy complejo seguir el código a un futuro

2.1 Declaraciones con DATA

Antes declarabamos y luego asignabamos

Ahora se pude ser en un paso: DATA(v_texto) = 'Hola Mundo'.

2.2 Loop AT INTO work area

Antes se declaraban tanto tabla como work area

Ahora se puede declarar el work area al momento del loop: LOOP AT ti_carrier INTO data(wa_carrier). ENDLOOP.

2.3 CALL METHOD

Antes declarabamos atributos para utilizarlso en la llamada, en dos lineas

Ahora podemos declarar en una sola linea:

TRY

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

ChANGING t_table = lt_data ).

lo_alv->display().

CATCH cx_salv_msg INTO data(lo_exc_inline).

MESSAGE lo_exc_inline TYPE 'I' DISPLAY LIKE 'E'.

ENDTRY.

2.4 LOOP AT ASSINGNING

Ahora podemos hacerlo en una linea: LOOP AT ti_burks ASSIGNING field-symbol(<wa_bukrs>). ENDLOOP.

2.5 READ TABLE ASSIGNING

Ahora podemos hacerlo en una linea: READ TABLE ti_matnr ASSIGNING field-symbol(<wa_matnr>) INDEX 3.

2.6 SELECT INTO TABLE

Ahora podemos hacerlo en una linea: SELECT * FROM scarr INTO TABLE @data(ti_scarr).

2.7 SELECT SINGLE INTO

Ahora podemos declar la variable dentro del select:

SELECT SINGLE carrname

FROM scarr

WHERE carrid EQ 'AA'

INTO @data(v_carrname).

Las declaraciones no cambian el alcance de las variables ABAP, por lo tanto no se puede usar el mismo nombre de variable varias veces en un metodo. Son utiles para variables con un contexto de uso limitado y local.

No se pueden utilizar para definir el resultado de un SELECT INTO o INTO TABLE

3 Expresiones con Tablas

3.1 READ TABLE INDEX

Ahora podemos leer un registro puntual de una tabla interna así: data(wa_carrier) = ti_carrier[ 1 ].

3.2 READ TABLE WITH KEY

Ahora podemos leer un registro de una tabla interna utilizando campos clave así: DATA wa_carrier = ti_carrier[ carrid = 'LH' ]. **

3.3 ¿Existe el registro?

Ahora podemos determinar si existe el registro en una ti_ así: IF line_exists( ti_carrier[ carrid ='AA'] ).

3.4 Obtenemos el índice de una tabla

Ahora podemos determinar el indice de una ti_ así: DATA(v_index) = line_index( ti_scarr[ carrid = 'AA'] ).

Si no encuentra nada se producirá un dump por ello SAP recomienda hacer un field-symbol y checar el SY-SUBRC de la siguiente manera

ASSIGN lt_tab to FIELD-SYMBOL().

IF sy-subrc EQ 0. ENDIF.

4 Expresiones de constructor

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

Antes para declarar objetos era:

DATA: lo_reporte TYPE REF TO lcl_reporte.

CREATE OBJECT lo_reporte EXPORTING iv_rec = 5.

Ahora podemos hacerlo en una linea:

data(o_reporte) = NEW lcl_reporte( 1 ).

NEW será el operador que nos permitirá declararlo en linea.

Antes para inicializar los campos de una estructura o work area era:

DATA: ls_carr TYPE scarr.

ls_carr-carrid = 'LH'.

ls_carr-carrname = 'Lufthansa'.

Ahora podemos hacerlo en una linea:

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

VALUE será el operador que utilizaremos.

También podemos combinar la expresión VALUE con una declaración en linea:

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

Tenemos que declaran el tipo de dato exacto.

También podemos utilizar el operador VALUE para inicializar tablas:

DATA: lt_carrier TYPE TABLE OF scarr.

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

( carrid = 'LH' carrname = 'Lufthansa' ) ).

Otro operador muy utilizado es REF junto con GET REFERENCE, se utiliza de la siguiente manera:

TRY

"Preparamos la conexión SQL.

data(lo_result_set) = cl_sql_connection=>get_connection()->create_statement()->execute_query( iv_statement ).

lo_result_set->set_parama-table( ref #(lt_result ) ).

"Obtenemos el resultado.

lo_result_set->next_package( ).

lo_result_set->close( ).

CATCH cx_sql_exception INTO data(lo_exc).

"Manejo de los errores.

ENDTRY-

5 El operador CORRESPONDING

Pasar el contenido inicializando previamente el contenido, antes lo usabamos así:

CLEAR wa_line2.

MOVE-CORRESPONDING wa_line1 TO wa_line2.

Ahora podemos hacerlo así:

wa_line2 = CORRESPONDIGN #( wa_line1 ).

Los campos que no sean iguales o no coincidan entre ambas estructuras serán inicializados.

Para asignar el contenido sin previamente inicializar el contenido, podemos hacerlo así:

wa_line2 = CORRESPONDING #( BASE ( wa_line2 ) wa_line1 ).

Para asignar contenido teniendo 3 tablas sin previamente inicializar el contenido, podemos hacerlo así:

DATA(wa_line3) = CORRESPONDING line2( BASE ( wa_line2 ) wa_line1 ).

6 Operaciones con caracteres

Ahora podemos indentificar las cadenas rodeandolas por dos |(pipes), así:

DATA: v_string TYPE string.

v_string = |Esto es un texto literal.|.

WRITE: / (30) v_string.

Podrán no ser considerados caracteres, si encerramos dentro de llaves {} los siguientes objetos:

Objetos de datos

Expresiones de cálculo

Expresiones de constructores

Expresiones de tablas

Funciones predefinidas

Métodos funcionales y encadenamiento de métodos

Esto último se hacía así antes:

DATA: v_string TYPE string,

v_syssubrc_c(4) TYPE c.

CLEAR v_syssubrc_c.

v_syssubrc_c = sy-subrc.

CONCATENATE 'El código de retorno es:' v_syssubrc_c INTO v_string SEPARATED BY space.

WRITE: /(30) v_strign.

Ahora lo podremos hacer así:

DATA: v_string TYPE string.

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

WRITE: /(30) v_string.

Para concatenar caracteres, lo hacíamos así:

DATA:v vl_output TYPE string.

CONCATENATE 'Hola' 'Mundo' INTO vl_outputy SEPARATED BY space.

Ahora lo podemos hacer así:

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


 

Escanear / Compartir

 

 

Agradecimiento:

Ha agradecido este aporte: Jesús Quiñonez López


Sobre el autor

Publicación académica de Martín Ramssés Gómez Rodríguez, en su ámbito de estudios para el Master ABAP for HANA.

SAP SemiSenior

Martín Ramssés Gómez Rodríguez

Profesión: Desarrollador Software - Mexico - Legajo: QS57M

✒️Autor de: 10 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Desarollarme profesionalmente para seguir apoyando a la sociedad, de manera ética y con valores

Certificación Académica de Martín Gómez

✒️+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!