Last month I mentioned using REXX to build and execute ad-hoc SQL queries. For the sake of completeness, here is the same solution implemented in CL using the RUNSQL command.
The program does exactly the same as the previously describe REXX script — extracts all records flagged with today’s date so that they can be reviewed at a later date. And here it is:
pgm dcl &date6 *char 6 dcl &date8 *char 8 dcl &statement *char 255 /* First retrieve the current system date (QDATE) */ /* and convert it to an 8 character value */ RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATE6) CVTDAT DATE(&DATE6) TOVAR(&DATE8) FROMFMT(*JOB) TOFMT(*YYMD) TOSEP(*NONE) /* Next, build the SQL statement */ CHGVAR VAR(&STATEMENT) + VALUE('insert into EXPATPAUL1/INPUTDATA' *bcat + 'select * from EXPATPAUL1/PRODDATA where dhdate =' *bcat + &date8) runsql sql(&statement) commit(*none) endpgm