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(*) {
{
if ($DVMName = $DVM_VB_NAME) then (
INDLINEA
{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='INDLINEA']/lvs:columnValue)}
CRITREV
{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='CRITREV']/lvs:columnValue)}
INDCONT
{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='INDCONT']/lvs:columnValue)}
NUMREG
{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='NUMREG']/lvs:columnValue)}
TIPOPER
{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='TIPOPER']/lvs:columnValue)}
TIPTRN
{data($outputDVM/response[1]/lvs:BlocksData[./lvs:columnName='TIPTRN']/lvs:columnValue)}
true
)
else (
if ($DVMName = "DVM_CUSTOMER_TYPE") then (
{
let $Outputs := $response/ns0:Outputs
return
{
for $Output at $index in $Outputs/ns0:Output
return
{
let $Attributes := $Output/ns0:Attributes
return
{
for $Attribute in $Attributes/ns0:Attribute
return
{ data($Attribute/ns0:Name) }
{ data($outputDVM/response/lvs:BlocksData/lvs:columnValue)}
}
}
}
}
true
)
else (
{
let $Outputs := $response/ns0:Outputs
return
{
for $Output at $index in $Outputs/ns0:Output
return
{
let $Attributes := $Output/ns0:Attributes
return
{
for $Attribute in $Attributes/ns0:Attribute
return
{ data($Attribute/ns0:Name) }
{ data($outputDVM/response[$index]) }
}
}
}
}
true
)
)
}
};
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) {
{xf:BuildResponseBody($readDVM_Rs1, $anyType1, $DVMName)/body/*}
};
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)