Contract Price Component Prices¶
Contract Price Component Prices zijn de prijzen van de prijs componenten vastgelegd bij een contract uit ERP.
Onderstaande query kan gebruikt worden om de benodigde data te selecteren.
erp_cpp.sql¶
WITH CTE AS(
SELECT
c.ConnectionId,
c.EAN,
c.ProductType,
co.ContractId,
co.ContractReference,
p.Description,
p.PresentationDescription,
pcp.Price,
pcp.PriceComponentId,
pc.Description as ComponentDescription,
pc.PresentationDescription as ComponentPresentationDescription,
ippcp.PriceComponentPriceId,
pcp.StartDate,
pcp.EndDate,
'Propositie' as Type,
o1.Name
FROM tbl_Contract co
INNER JOIN itbl_Contract_Connection AS icc ON co.ContractId = icc.ContractId
INNER JOIN tbl_Connection AS c ON icc.ConnectionId = c.ConnectionId
LEFT JOIN itbl_Contract_Proposition AS icop ON co.ContractId = icop.ContractId
LEFT JOIN tbl_Proposition AS p ON icop.PropositionId = p.PropositionId
LEFT JOIN itbl_Proposition_PriceComponentPrice AS ippcp ON p.PropositionId = ippcp.PropositionId
LEFT JOIN tbl_PriceComponentPrice AS pcp ON ippcp.PriceComponentPriceId = pcp.PriceComponentPriceId
INNER JOIN tbl_PriceComponent AS pc ON pcp.PriceComponentId = pc.PriceComponentId
INNER JOIN itbl_Organization_Connection AS ioc ON c.ConnectionId = ioc.ConnectionId
INNER JOIN tbl_Organization AS o ON ioc.OrganizationId = o.OrganizationId
INNER JOIN itbl_Collective_Organization AS ico ON o.OrganizationId = ico.OrganizationId
INNER JOIN itbl_Company_Collective AS icoco ON ico.CollectiveId = icoco.CollectiveId
INNER JOIN tbl_Organization AS o1 ON icoco.CompanyId = o1.OrganizationId
where 1=1
AND icc.ValidEndDate > GETDATE()
AND icop.ValidEndDate > GETDATE()
AND ippcp.ValidEndDate > GETDATE()
AND ioc.ValidEndDate > GETDATE()
AND ico.ValidEndDate > GETDATE()
AND icoco.ValidEndDate > GETDATE()
and CO.EndDate > '1-1-2021'
AND pc.CalculationMethodType <> 'AdvancePaymentCalculationDetail'
UNION ALL
SELECT
c.ConnectionId,
c.EAN,
c.ProductType,
co.ContractId,
co.ContractReference,
p.Description,
p.PresentationDescription,
pcp.Price,
pcp.PriceComponentId,
pc.Description as ComponentDescription,
pc.PresentationDescription as ComponentPresentationDescription,
icpcp.PriceComponentPriceId,
pcp.StartDate,
pcp.EndDate,
'Contract' as Type,
o1.Name
FROM tbl_Contract co
INNER JOIN itbl_Contract_Connection AS icc ON co.ContractId = icc.ContractId
INNER JOIN tbl_Connection AS c ON icc.ConnectionId = c.ConnectionId
LEFT JOIN itbl_Contract_Proposition AS icop ON co.ContractId = icop.ContractId
LEFT JOIN tbl_Proposition AS p ON icop.PropositionId = p.PropositionId
LEFT join itbl_Contract_PriceComponentPrice AS icpcp ON co.ContractId = icpcp.ContractId
LEFT JOIN tbl_PriceComponentPrice AS pcp ON icpcp.PriceComponentPriceId = pcp.PriceComponentPriceId
LEFT JOIN tbl_PriceComponent AS pc ON pcp.PriceComponentId = pc.PriceComponentId
INNER JOIN itbl_Organization_Connection AS ioc ON c.ConnectionId = ioc.ConnectionId
INNER JOIN tbl_Organization AS o ON ioc.OrganizationId = o.OrganizationId
INNER JOIN itbl_Collective_Organization AS ico ON o.OrganizationId = ico.OrganizationId
INNER JOIN itbl_Company_Collective AS icoco ON ico.CollectiveId = icoco.CollectiveId
INNER JOIN tbl_Organization AS o1 ON icoco.CompanyId = o1.OrganizationId
where 1=1
AND icc.ValidEndDate > GETDATE()
AND icop.ValidEndDate > GETDATE()
AND icpcp.ValidEndDate > GETDATE()
AND ico.ValidEndDate > GETDATE()
AND icoco.ValidEndDate > GETDATE()
and CO.EndDate > '1-1-2021'
AND pc.CalculationMethodType <> 'AdvancePaymentCalculationDetail'
ORDER BY StartDate
)
SELECT * FROM CTE
De ingelezen data wordt opgeslagen in de database in udq.contractpricecomponentprice:
connection_id
price_component_price_id
contract_reference
ean
product_type
contract_id
description
presentation_description
price
price_component_id
component_description
component_presentation_description
start_date
end_date
type
name
datafile_id
Controles¶
Bij het inlezen wordt gecontroleerd of een Contract Price Component Price voor een specifieke
connection_id, price_component_price_id en contract_reference
al is ingelezen, mocht dit zo zijn dan wordt de betreffende Contract Price Component Price bijgewerkt met
de aangeleverde data.