Hi guys,
I need an urgent help with XMLTABLE.
I am trying to decompose PAIN.002 (ISO20022) using XMLTABLE. These messages have 3 levels (MessageId, PaymentInfoId and EndtoEndIds).
The message may have one MessageId that can have multiple PaymentInfoIds and one PaymentInfoId can have multiple EndToEndIds. I have got below query to solve this but it's failing with SQ16003N for an obvious reason where I get multiple PaymentInfoIds however it works well when I get One MessageId, One PaymentInfoId and Multiple EndToEndIds
Can someone please help me with a way to handle this:
select x.BankMsgId, x.MsgId, x.
from
xmltable
(
'$d/*ocument/*:CstmrPmtStsRpt/ +
*:OrgnlPmtInfAndSts/*:TxInfAndSts/*:OrgnlEndToEndId'
passing
xmlparse(document GET_XML_FILE(InpPath)) as "d"
columns
BankMsgId
varchar(45) default ' '
PATH '../../../*:GrpHdr/*:MsgId',
MsgId
varchar(45) default ' '
FileCount
dec(15,0) default 0
PATH '../../../*:OrgnlGrpInfAndSts/*:OrgnlNbOfTxs',
FileSum
dec(15,2) default 0
PATH '../../../*:OrgnlGrpInfAndSts/*:OrgnlCtrlSum',
PaymentInfoId
varchar(45) default ' '
PATH '../../../*:OrgnlPmtInfAndSts/*:OrgnlPmtInfId',
BatchCount
dec(15,0) default 0
PATH '../../../*:OrgnlPmtInfAndSts/*:OrgnlNbOfTxs',
BatchSum
dec(15,2) default 0
PATH '../../../*:OrgnlPmtInfAndSts/*:OrgnlCtrlSum',
EndToEndId
varchar(45) default ' '
PATH
'.',
ExecDate
varchar(45) default ' '
PATH
'../*:OrgnlTxRef/*:ReqdExctnDt',
TrxSum
dec(15,2) default 0
PATH
'../*:OrgnlTxRef/*:Amt/*:InstdAmt',
Sts
varchar(10) default ' '
PATH
'../*:TxSts',
StsCod
varchar(10) default ' '
PATH
'../*:StsRsnInf/*:Rsn/*:Cd'
) as x
I need an urgent help with XMLTABLE.
I am trying to decompose PAIN.002 (ISO20022) using XMLTABLE. These messages have 3 levels (MessageId, PaymentInfoId and EndtoEndIds).
The message may have one MessageId that can have multiple PaymentInfoIds and one PaymentInfoId can have multiple EndToEndIds. I have got below query to solve this but it's failing with SQ16003N for an obvious reason where I get multiple PaymentInfoIds however it works well when I get One MessageId, One PaymentInfoId and Multiple EndToEndIds
Can someone please help me with a way to handle this:
select x.BankMsgId, x.MsgId, x.
from
xmltable
(
'$d/*ocument/*:CstmrPmtStsRpt/ +
*:OrgnlPmtInfAndSts/*:TxInfAndSts/*:OrgnlEndToEndId'
passing
xmlparse(document GET_XML_FILE(InpPath)) as "d"
columns
BankMsgId
varchar(45) default ' '
PATH '../../../*:GrpHdr/*:MsgId',
MsgId
varchar(45) default ' '
FileCount
dec(15,0) default 0
PATH '../../../*:OrgnlGrpInfAndSts/*:OrgnlNbOfTxs',
FileSum
dec(15,2) default 0
PATH '../../../*:OrgnlGrpInfAndSts/*:OrgnlCtrlSum',
PaymentInfoId
varchar(45) default ' '
PATH '../../../*:OrgnlPmtInfAndSts/*:OrgnlPmtInfId',
BatchCount
dec(15,0) default 0
PATH '../../../*:OrgnlPmtInfAndSts/*:OrgnlNbOfTxs',
BatchSum
dec(15,2) default 0
PATH '../../../*:OrgnlPmtInfAndSts/*:OrgnlCtrlSum',
EndToEndId
varchar(45) default ' '
PATH
'.',
ExecDate
varchar(45) default ' '
PATH
'../*:OrgnlTxRef/*:ReqdExctnDt',
TrxSum
dec(15,2) default 0
PATH
'../*:OrgnlTxRef/*:Amt/*:InstdAmt',
Sts
varchar(10) default ' '
PATH
'../*:TxSts',
StsCod
varchar(10) default ' '
PATH
'../*:StsRsnInf/*:Rsn/*:Cd'
) as x
Comment