PROCESS |
Call a NOMADS Panel |
1. Invoke a NOMADS Panel: |
PROCESS "panel","[lib]",arg_1$,arg_2$, ... arg_20$ |
2. Invoke a NOMADS Query: |
PROCESS "panel","[lib]",val$ |
3. Invoking File Maintenance: |
PROCESS "panel","[lib]",arg_1$ |
Where:
arg_1$ ... arg_20$ |
List of valid arguments for a Panel object. Optional string expressions. You can use up to 20 arguments. These arguments are accessible in the invoked panel as values in the reserved NOMADS variables ARG_1$ through ARG_20$. For Query or File Maintenance objects, you are limited to one argument, the value of which is accessible in the reserved variable ARG_1$. The others are reserved. |
lib |
Optional. Name of the NOMADS library containing the panel name. String expression. If you use null (""), NOMADS uses your currently active library. |
panel |
Name of the NOMADS Panel, Query or File Maintenance object. String expression. |
val$ |
Starting/return value for a Query. See Example. |
Use the PROCESS directive to call a NOMADS panel from a program. NOMADS returns to the program when the panel is exited. You can pass optional arguments to and from the NOMADS panel.
When you use the PROCESS directive, PxPlus converts the statement internally into a CALL to *winproc (the NOMADS engine) to process the panel.
These examples illustrate the different uses for the PROCESS directive.
In this example, the PxPlus PROCESS statement invokes the "SALES" panel through the program and passes two arguments, SALES_ID$ and STR(SALES_AMT), to the "SALES" panel to get the values:
process "SALES","LIBRARY.EN",SALES_ID$,str(SALES_AMT)
In the NOMADS Panel Header Pre-Display logic, you would execute the following assignments:
SALES_ID$=ARG_1$;
SALES_AMT=num(ARG_2$)
For queries that are not attached to a NOMADS control object:
process "MY_QUERY","",X$
When "MY_QUERY" runs, the value of X$ is used to set the starting position in the file. When "MY_QUERY" is exited, NOMADS passes the return value to the calling program in X$.