web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Dynamics 365 Community / Blogs / Axapta todo es posible / Axapta: Macros en sentencia...

Axapta: Macros en sentencias SQL

Ismael Utitiaj Profile Picture Ismael Utitiaj 426
Macros en sentencias SQL
Uno de los beneficios de utilizar macros es que permiten especificar sentencias parciales de consultas en código X++, las cuales pueden ser reutilizadas en varias partes a lo largo de cualquier aplicación.

Beneficios:

·         Reutilización de código,

·         Mejora la lectura del código fuente,

·         Mayor flexibilidad a modificaciones,

·         Reducir el tiempo de desarrollo.

 Ejemplo de uso:

Clase con dos métodos que realizan consultas a la base de datos.

Método: custPaymentProcess
 
 
Método: advancesProcess
 
Luego del análisis realizado a estos dos métodos se puede observar que las consultas pueden ser utilizadas dentro de macros, de esta forma, se puede mejorar la visibilidad del código fuente y hacer uso de la reutilización del código.
Para lo cual creamos dos macros:
Todo se simplifica utilizando macros
·         Macro FieldsCustPaymentHeader
 
A continuación la explicación al código.
o   El %1, %2, %n permite pasar argumentos a nuestra macro, esto permite definir desde donde se llama la macro las variables que queremos utilizar dentro de esta.
o   #ifNot.Empty(%n) permite definir un rango condicionante de acuerdo al argumento que se esté enviando a la macro. En este ejemplo comprobamos si el parámetro enviado en la tercera posición no está vacío ejecuta todo el bloque #ifNot.Empty(%3) …#EndIf
o   #EndIf identifica que es el final de la macro condicionante.
o   #if.Empty(%n) permite comprobar si el parámetro enviado en la posición %n es vacía, entonces se ejecuta todo lo que se encuentra en el bloque #If .Empty…#EndIf


·         Macro FieldsCustPaymentLine

 
La explicación expuesta en la primera macro aplica en esta.


Utilización de la macro en consultas SQL en X++

Modificamos nuestro código original para remplazar con las macros creadas anteriormente.


En el segundo método tenemos:



De esta forma la utilización de macros en las sentencias SQL nos permite una gran flexibilidad a la hora de desarrollar aplicaciones en Axapta.

 

Comments

*This post is locked for comments