MessageEnrichUtilMgmtSvc/MessageEnrichUtilMgmtSvc/operations/readDVM/xq/MessageEnrichUtilMgmtSvc_readDVM_Response.xqy
2025-11-20 22:17:54 +01:00

134 lines
6.1 KiB
Plaintext

xquery version "1.0";
(:: OracleAnnotationVersion "1.0" ::)
declare namespace ns0 = "http://xmlns.banesco.com/Service/MessageEnrichUtilMgmtSvc";
(:: import schema at "../../../../BanescoCommonArtifacts/xsd/utilities/MessageEnrichUtilMgmtSvc.xsd" ::)
declare namespace xf = "http://tempuri.org/MessageEnrichUtilMgmtSvc/operations/readDVM/xq/MessageEnrichUtilMgmtSvc_readDVM_Response/";
declare namespace lvs = "http://www.banesco.com/ServicesPortfolio/ListValueManagementService";
declare variable $DVM_VB_NAME as xs:string := "DVM_VB_PROTOCOL";
declare function xf:BuildResponseBody($response as element(ns0:readDVM_Rs), $outputDVM as element(*), $DVMName as xs:string) as element(*) {
<response>
{
if ($DVMName = $DVM_VB_NAME) then (
<body>
<ns0:Outputs>
<ns0:Output>
<ns0:Attributes>
<ns0:Attribute>
<ns0:Name>INDLINEA</ns0:Name>
<ns0:Value>{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='INDLINEA']/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
<ns0:Attribute>
<ns0:Name>CRITREV</ns0:Name>
<ns0:Value>{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='CRITREV']/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
<ns0:Attribute>
<ns0:Name>INDCONT</ns0:Name>
<ns0:Value>{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='INDCONT']/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
<ns0:Attribute>
<ns0:Name>NUMREG</ns0:Name>
<ns0:Value>{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='NUMREG']/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
<ns0:Attribute>
<ns0:Name>TIPOPER</ns0:Name>
<ns0:Value>{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='TIPOPER']/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
<ns0:Attribute>
<ns0:Name>TIPTRN</ns0:Name>
<ns0:Value>{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='TIPTRN']/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
</ns0:Attributes>
</ns0:Output>
</ns0:Outputs>
<ns0:Execute>true</ns0:Execute>
</body>
)
else (
if ($DVMName = "DVM_CUSTOMER_TYPE") then (
<body>
{
let $Outputs := $response/ns0:Outputs
return
<ns0:Outputs>
{
for $Output at $index in $Outputs/ns0:Output
return
<ns0:Output>
{
let $Attributes := $Output/ns0:Attributes
return
<ns0:Attributes>
{
for $Attribute in $Attributes/ns0:Attribute
return
<ns0:Attribute>
<ns0:Name>{ data($Attribute/ns0:Name) }</ns0:Name>
<ns0:Value>{ data($outputDVM/response/lvs:BlocksData/lvs:columnValue)}</ns0:Value>
</ns0:Attribute>
}
</ns0:Attributes>
}
</ns0:Output>
}
</ns0:Outputs>
}
<ns0:Execute>true</ns0:Execute>
</body>
)
else (
<body>
{
let $Outputs := $response/ns0:Outputs
return
<ns0:Outputs>
{
for $Output at $index in $Outputs/ns0:Output
return
<ns0:Output>
{
let $Attributes := $Output/ns0:Attributes
return
<ns0:Attributes>
{
for $Attribute in $Attributes/ns0:Attribute
return
<ns0:Attribute>
<ns0:Name>{ data($Attribute/ns0:Name) }</ns0:Name>
<ns0:Value>{ data($outputDVM/response[$index]) }</ns0:Value>
</ns0:Attribute>
}
</ns0:Attributes>
}
</ns0:Output>
}
</ns0:Outputs>
}
<ns0:Execute>true</ns0:Execute>
</body>
)
)
}
</response>
};
declare function xf:MessageEnrichUtilMgmtSvc_readDVM_Response($readDVM_Rs1 as element(ns0:readDVM_Rs),
$anyType1 as element(*),
$DVMName as xs:string)
as element(ns0:readDVM_Rs) {
<ns0:readDVM_Rs>{xf:BuildResponseBody($readDVM_Rs1, $anyType1, $DVMName)/body/*}</ns0:readDVM_Rs>
};
declare variable $readDVM_Rs1 as element(ns0:readDVM_Rs) external;
declare variable $anyType1 as element(*) external;
declare variable $DVMName as xs:string external;
xf:MessageEnrichUtilMgmtSvc_readDVM_Response($readDVM_Rs1,
$anyType1,
$DVMName)