On 24-May-2016 07:27 -0500, Rob Berendt wrote:
Neither method <ed: create table from query of the UDTF and DSPFFD
nor query of SYSPARMS> leads to believe that the <ed: member text>
information is in there.
And my suggestion [for how] to use a scalar UDF was problematic in a
test; i.e. used in another lateral join of values-row-clause invoking
that UDF, instead of functioning as expected [i.e. producing expected
output] on v7r1, resulted in [even if I replace that UDF with the
built-in REPLACE scalar, for example]:
msgMCH3601 T/QQQVFMT TM/QQQVFMT TP/VFLDJREF STMT/34534 "Pointer not
set for location referenced.
msgCPF4204 F/QQQQUERY FM/QQQQUERY FP/QQQQUERY stmt/33065 QDT1
"Internal failure occurred in query processor."
msgSQL0901 rcCPF4204 et3107 f/QSQXCUTE
The revised\failing invocation:
SELECT A.DBXLIB as SRCPF_LIBR
, A.DBXFIL as SRCPF_NAME
, B.SYSTEM_TABLE_MEMBER as SrcMbrName
, B.LAST_SOURCE_UPDATE_TIMESTAMP as SRCPF_UDAT
, B.SOURCE_TYPE as SRCPF_SRCTYPE
, b.CREATE_TIMESTAMP as Source_Create_Timestamp
, b.LAST_CHANGE_TIMESTAMP as Source_Type_Text_Change_Timestamp
, c."Mbr_Text" /* originally c.* and no naming of col in NTE */
FROM QSYS.QADBXATR A
, LATERAL
( SELECT * FROM TABLE
( QSYS2.PARTITION_STATISTICS(A.DBXLIB, A.DBXFIL) ) AS X
) AS B
, lateral
( values(replace(A.DBXLIB,A.DBXFIL,SYSTEM_TABLE_MEMBER))
) AS C ( "Mbr_Text" )
WHERE A.DBXlib = 'MYLIBR'
and A.DBXATR = 'PF'
and A.DBXREL = 'Y'
and A.DBXTYP = 'S'
AND B.SOURCE_TYPE IS NOT NULL
As an Amazon Associate we earn from qualifying purchases.