InicioApuntes Y MonografiasABAP Mejores practicas en codigo
Hola, vuelvo a postear sobre código abap Ahora voy a enseñarles las mejores practicas para codificar en abap, para mejorar asi la performance del programa, performance al acceder a la base de datos y también para prolijidad/legibilidad del código. Veamos de que trata: Primero quiero aclarar a grandes rasgos como es la arquitectura SAP y su ide: 1) En el nivel mas bajo tenemos la base de datos que acompaña la instalación del sistema SAP. La misma puede ser unix, oracle, etc., 2) En segundo lugar tenemos el servidor de aplicaciones, que administra los procesos entre la base de datos y la capa de usuario (que explicaré en el punto 3), 3)La capa de usuario que para nosotros es nuestro ide, pero que puede ser también el entorno de para el usuario final. Rapidamente les dejo un ejemplo: El programador o un usuario final, lanzan un proceso. Por ejemplo el programador hace un select a base de datos o el usuario final ejecuta una transaccion que termina haciendo un select a base de datos. El servidor de aplicaciones administra este pedido a base de datos y luego se hace el fetch o select propiamente dicho. El objetivo de este post es que nosotros, desarrolladores, tratemos de emplear las mejores practicas para que ese acceso a base de datos sea haga de la mejor manera posible para darle la mejor experiencia al usuario. Veamos primero buenas practicas dentro de nuestro codigo: 1) Sentencia SORT: al hacerlo es mejor indicarle al programa los campos criterio para realizar el ordenamiento. Por ejemplo sort it_tab by vbeln posnr. Si no se detalla el sentido por defecto se ordena de manera descendiente. Sino habría que indicar: sort it_tab by vbeln posnr ascending para que sea en orden ascendente. 2) Sentencia LOOP: evitar el uso de cabecera como workarea: Lo mejor es usar loop it_tab assigning ó sino pueden usar loop it_tab reference into ref_area. Sino usar loop it_tab into workarea. Después eviten el where en la iteracion: Loop it_tab assigning where netwr GT 0. NO!!!! Es preferible hacerlo asi: loop it_tab_assiging . check -netwr GT 0. Traten de usar indices para no leer toda la tabla, esto mejora la performance. Por ejemplo ordenen la tabla por un campo y busquen la primera ocurrencia del valor que buscan: sort it_tab by vbeln. read table it_tab transporting no fields with key vbeln = 101010 binary search. if sy-subrc EQ 0. l_index = sy-tabix. loop it_tab assigning from l_index. ... endloop. endif. Veamos un poco de buenas practicas para acceder a base de datos: 1) Cuando accedan a una tabla en un select mínimo pongan el primer campo clave, sino tienen ese dato hablen con el funcional y traten de buscarle la vuelta, quizas haya alguna tabla secundatia para poder conseguir ese dato o algun truquillo para conseguirlo (piensen antes de escribir, es ahi donde se ve el valor agregado de cada uno). Cuanto mas campos claves completen más rapido se hará la búsqueda. 2) Cuando hacen un select es mejor especificar los campos antes que poner asterisco, si tienen que traer todos los campos úsenlo pero son los menos esos casos, generalmente usamos algunos campos de la tabla luego. 3) Es mejor hace un select into table que varios select single. Es decir, es mejor ir una vez a base de datos y traernos todos los registros que ir varias veces y traer uno solo. Bueno esto es todo por ahora. Tengan en cuenta que estoy hablando a un nivel general y quizás cuando estén codificando no puedan aplicar estos consejos. Tranquilos! son las mejores practicas, si ya agotaron varias posibilidades y no lograron aplicarlas hagan lo menos feo posible entonces Suerte y cualquier cosa me avisan! Saludos!!
Datos archivados del Taringa! original
10puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

c
charly_rojo🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.