-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathQSHQRYAIDC.CLP
57 lines (48 loc) · 2.69 KB
/
QSHQRYAIDC.CLP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
PGM PARM(&OUTFILE &IDCOLNAME &PROMPT)
DCL VAR(&IDCOLNAME) TYPE(*CHAR) LEN(30)
DCL VAR(&PROMPT) TYPE(*CHAR) LEN(4)
DCL VAR(&EMPTYERROR) TYPE(*CHAR) LEN(4)
DCL VAR(&IFILE) TYPE(*CHAR) LEN(10) VALUE(QCUSTCDT)
DCL VAR(&ILIB) TYPE(*CHAR) LEN(10) VALUE(QIWS)
DCL VAR(&OUTFILE) TYPE(*CHAR) LEN(20)
DCL VAR(&TEMPFILE) TYPE(*CHAR) LEN(10) VALUE(CUST1)
DCL VAR(&TEMPLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&SQL) TYPE(*CHAR) LEN(5000)
DCL VAR(&SQLQUERY) TYPE(*CHAR) LEN(5000)
DCL VAR(&RECORDS) TYPE(*DEC) LEN(10)
DCL VAR(&RECORDSC) TYPE(*CHAR) LEN(10)
DCL VAR(&COMPMSGTYP) TYPE(*CHAR) LEN(10) +
VALUE(*COMP)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERRORS))
/*----------------------------------------------------------------------------*/
/* Parse outfile parm */
/*----------------------------------------------------------------------------*/
CHGVAR VAR(&TEMPLIB) VALUE(%SST(&OUTFILE 11 10))
CHGVAR VAR(&TEMPFILE) VALUE(%SST(&OUTFILE 1 10))
/*----------------------------------------------------------------------------*/
/* Add new column to table */
/*----------------------------------------------------------------------------*/
CHGVAR VAR(&SQL) VALUE('ALTER TABLE' |> &TEMPLIB |< +
'/' |< &TEMPFILE |> 'ADD COLUMN' |> +
&IDCOLNAME |> 'BigInt Generated By +
Default as Identity(Start With 1 +
Increment By 1 Minvalue 1 MaxValue +
9223372036854775807 No Cycle No order +
Cache 20)')
IF COND(&PROMPT *EQ *YES) THEN(DO)
? QSYS/RUNSQL ??SQL(&SQL) ??COMMIT(*NONE)
ENDDO
IF COND(&PROMPT *NE *YES) THEN(DO)
QSYS/RUNSQL SQL(&SQL) COMMIT(*NONE)
ENDDO
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Recid +
column' |> &IDCOLNAME |> 'was added to +
file' |> &TEMPLIB |< '/' |< &TEMPFILE) +
MSGTYPE(&COMPMSGTYP)
RETURN
ERRORS:
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) +
MSGDTA('QSHQRYAID-Errors occurred running +
SQL query command. Check the job log and +
your SQL query statement') MSGTYPE(*ESCAPE)
ENDPGM