Ejecución encadenada de macros

Top  Previous  Next

Órdenes de macro, parámetros, y otros conceptos

Ya hemos visto que con la opción de grabar automáticamente, los se distribuyen en la hoja de macros, situados entre las etiquetas que lo delimitan:

<MACRO NombreMacro>

...

Instrucciones de la sintaxis

...

</MACRO>

Después de la etiqueta de <MACRO ...> viene el nombre del macro. En los macros creados por Gandia BarbWin de forma automática, tiene relación el nombre con la orden de trabajo. A partir de aquí y en líneas sucesivas, comienzan las instrucciones a procesar.

También hay unas etiquetas especiales que permiten definir operaciones especiales:

<SELECT {Condición de selección},{Texto descriptivo de la condición que aparecerá en cabecera de tabla}> para realizar una selección de registros.
<SELECT> selecciona todos los registros.
<GRPCAL {lista de variables separadas por punto y coma},{UNI/COM}> indica la formación de grupos de cálculo para los procesos.
<GRPCAL> indica que no se accede a ningún grupo de cálculo.
<PONDER {variable}> ponderación por la variable indicada.
<PONDER> no ponderar por ninguna

Podemos establecer comentarios a las órdenes o a los propios macros, intercalando líneas independientes que comiencen por // delante del texto en cada línea.

Llamadas a ejecución

Las llamadas a los macros se realizan a través de la Instrucción CALL NombreMacro, donde el NombreMacro puede ser un nombre de macro contenido dentro de la hoja de macros actual del programa o puede ser el nombre de un fichero que contenga macros.

Las distintas formas de utilizar un CALL son:

CALL “MAC001.TXT”, llamada a un fichero de macro llamado MAC001.TXT que está en el directorio de trabajo.
CALL “C:\MIS DOCUMENTOS\MAC001.TXT”, llamada a un fichero de macro llamado MAC001:TXT que está en la ruta de directorios “C:\MIS DOCUMENTOS\MAC001.TXT.
CALL “LIBRERIA.MAC”(MAC001), llamada a un fichero de macro denominado MAC001, pero que se encuentra dentro de un fichero librería de macros que se llama LIBRERIA.MAC.
CALL MAC001, llamada a un macro que se encuentra dentro de la librería que tenemos cargada en el momento actual.

Todas estas llamadas se pueden guardar en un tipo de fichero con extensión *.eje que contiene las diferentes llamadas a ficheros externos o a ficheros de una librería.

Un ejemplo podría ser:

CALL SELECT.TXT(CONDICION=SEXO=1,DESCRIPCION=HOMBRES)

CALL GRUPOS.TXT(UNITARIO=TRUE,COMBINADO=FALSE,GRUPO=EDAD)

CALL PONDERA.TXT(PESO=P15)

CALL TABLA1.TXT

// Con las dos barras podemos escribir un comentario

CALL SELECT.TXT(CONDICION=SEXO=2,DESCRIPCION=MUJERES)

CALL TABLA1.TXT

CALL SELECT.TXT(CONDICION=SEXO=1,DESCRIPCION=HOMBRES)

CALL PONDERA.TXT(PESO=P16)

CALL TABLA1.TXT

CALL SELECT.TXT(CONDICION=SEXO=2,DESCRIPCION=MUJERES)

CALL TABLA1.TXT

Parámetros en los macros

Los parámetros se definen dentro de los macros mediante una cadena entre <>. Ejemplo: <Param>. En la llamada al macro hay que pasar los parámetros de la siguiente manera: CALL NombreMacro(Param1=x,Param2=y,..,ParamN=z)

donde Param1..ParamN son los nombres de los parámetros que hemos definido dentro del macro al que estamos llamando. X, Y, Z, puede ser cualquier valor (numérico, cadena, etc.) pero también puede ser un valor interactivo (introducido por el usuario):

Introducir el valor del parámetro VALOR=xx
? pide un valor
?V pide una variable
?Vs pide una lista de variables

Ejemplos de llamadas a sintaxis con parámetros interactivos

Indicamos parámetros interactivos, porque sesperan una interacción del usuario, para que se introduzca el valor del mismo.

CALL “MAC001.TXT”(VALOR=?), llamada a un fichero de macro llamado MAC001.TXT que está en el directorio de trabajo y se preguntará de forma interactiva por el valor que recibe el parámetro VALOR.
CALL “C:\MIS DOCUMENTOS\MAC001.TXT”(Variable a elegir=?V), llamada a un fichero de macro llamado MAC001:TXT que está en la ruta de directorios “C:\MIS DOCUMENTOS\MAC001.TXT., y se pide el nombre de una variable a elegir.

Ejemplos de llamadas a sintaxis con parámetros

CALL “MAC001.TXT”(VALOR=5), llamada a un fichero de macro llamado MAC001.TXT que está en el directorio de trabajo y se donde se sustituirá la cadena VALOR por el nº 5 tal como se le indica en la instrucción.
CALL “C:\MIS DOCUMENTOS\MAC001.TXT”(Variable a elegir=SEXO), llamada a un fichero de macro llamado MAC001:TXT que está en la ruta de directorios “C:\MIS DOCUMENTOS\MAC001.TXT., y donde la cadena Variable a elegir será SEXO.