Using Smart Controls Outside of NOMADS
Smart controls are designed to work within the confines of NOMADS. It is possible, however, to invoke the auto-load logic for Smart List Box, Drop Box and Grid controls programmatically. To load the Smart control, make a CALL to the program *winlist as follows:
CALL "*winlist", q_name$, q_library$, smartlist.ctl [,var_iol$, var_rec$]Where:
q_name$ | Name of the query object definition to be used. | |
q_library$ | Name of the library in which the query object definition is located. If null, default is the currently open library. | |
smartlist.ctl | CTL value of the list box to be loaded. | |
var_iol$ | (Optional) Compiled IOList of variables to be passed to the Load logic. | |
var_rec$ | (Optional) Values of variables in the IOList derived by REC(var_iol$ ). |
A native chart can also be auto-loaded by making a CALL to the program *TOOLS/CHARTIMAGE:
CALL "*tools/chartimage", ERR=stmtref, query$, library$, chart$, control, [,controlSettings, var_iol$, var_rec$]query$ | Name of the query which owns the chart. | |
library$ | Path of the library where the query definition resides. | |
chart$ | Name given to the AutoChart definition associated with the query. (Must be a public definition) | |
control | CTL value of the chart control to be loaded. | |
controlSettings | Values are: 0 - Use chart format/titles from the Query+ AutoChart definition | |
var_iol$ | (Optional) Compiled IOList of variables to be passed to the Load logic. (added in PxPlus 2019 Update 1) | |
var_rec$ | (Optional) Values of variables in the IOList derived by REC(var_iol$). (added in PxPlus 2019 Update 1) | |
stmtref | Error transfer. |
Plus charts may also be auto-loaded. To do this, instantiate the *OBJ/CHART object and load it using the CALL to *tools/chartimage. Once loaded, use the Draw( ) method to display the chart. When done, drop the chart object:
oChart=new("*obj/chart")
call "*tools/chartimage","Salesqry","query.en","Sales by Class",oChart,0
oChart'Draw(0,5,5,40,15)
drop object oChart(The *tools/chartimage program was added in PxPlus 2019.)