*= Create a summary cursor for each coverage.
SELECT ;
Pol_cKey ;
,MAX(Pol_cPolicyNo) AS Pol_cPolicyNo ;
,MAX(Pol_cFileNo) AS Pol_cFileNo ;
,MAX(Pol_cQuoteNum) AS Pol_cQuoteNum ;
,MAX(Pol_dBound) AS Pol_dBound ;
,MAX(Pol_nDues) AS Pol_nDues ;
,MAX(Pol_nCommRate) AS Pol_nCommRate ;
,MAX(Pol_nMaxRateMod) AS Pol_nMaxRateMod ;
,MAX(Pol_nDiscountMaxRateOverage) AS Pol_nDiscountMaxRateOverage ;
,MAX(Pol_nPremium) AS Pol_nPremium ;
,MAX(Pol_nMinPrem) AS Pol_nMinPrem ;
,MAX(Pol_nPremiumTax) AS Pol_nPremiumTax ;
,MAX(Pol_nPerilPrem) AS Pol_nPerilPrem ;
,MAX(Pol_nMinCharge) AS Pol_nMinCharge ;
,MAX(Pol_nMinChgDef) AS Pol_nMinChgDef ;
,MAX(Pol_nPolicyFee) AS Pol_nPolicyFee ;
,MAX(Pol_nPolicyFeeTax) AS Pol_nPolicyFeeTax ;
,MAX(Pol_ntfDecimal) AS Pol_ntfDecimal ;
,MAX(Pol_nMinTermFactor) AS Pol_nMinTermFactor ;
,End_cKey ;
,MAX(End_cQuoteNum) AS End_cQuoteNum ;
,MAX(End_dQuoteDate) AS End_dQuoteDate ;
,MAX(End_dBound) AS End_dBound ;
,MAX(End_dDate) AS End_dDate ;
,MAX(End_EffectiveDate) AS End_EffectiveDate ;
,MAX(End_EffectiveTime) AS End_EffectiveTime ;
,MAX(End_tEffectiveDateTime) AS End_tEffectiveDateTime ;
,MAX(End_ntfDecimal) AS End_ntfDecimal ;
,CAST(MAX(ALLTRIM(End_mScript)) AS Memo) AS End_mScript ;
,Cov_cKey ;
,MAX(Coverage) AS Coverage ;
,MAX(Cov_nMaxRateMod) AS Cov_nMaxRateMod ;
,MAX(Cov_nDiscountMaxRateOverage) AS Cov_nDiscountMaxRateOverage ;
,MAX(Cov_Discount) AS Cov_Discount ;
,MAX(CovDisc_nIsPolicyDiscount) AS CovDisc_nIsPolicyDiscount ;
,MAX(CovDisc_nDiscount) AS CovDisc_nDiscount ;
,MAX(CovDisc_nRateModPer) AS CovDisc_nRateModPer ;
,MAX(CovDisc_nRateModAmt) AS CovDisc_nRateModAmt ;
,MAX(Cov_TotCovPerPrem) AS Cov_TotCovPerPrem ;
,MAX(Cov_PerMinChgDef) AS Cov_PerMinChgDef ;
,CAST(MAX(ALLTRIM(Cov_ExtraCostPerils)) AS Memo) AS Cov_ExtraCostPerils ;
,MAX(Cov_TotCovHazDis) AS Cov_TotCovHazDis ;
,CAST(MAX(ALLTRIM(Cov_HazardDiscountsApplied)) AS Memo) AS Cov_HazardDiscountsApplied ;
,CAST(NULL AS Memo) AS HazardList ;
,CAST(MAX(LEN(ALLTRIM(Hazard))) AS INTEGER) AS MaxHazardLen ;
,CAST(MAX(LEN(ALLTRIM(ChildHazard))) AS INTEGER) AS MaxChildHazardLen ;
,SUM(PremiumB4Discounts) ;
AS TotalPremiumB4Discounts ;
,SUM(PremiumB4Discounts) ;
- SUM(EffectivePremium) ;
AS TotalHazardDiscounts ;
,SUM(EffectivePremium) ;
AS TotalHazardPremium ;
INTO CURSOR PolEndCovSummary ;
FROM DetailPolEndCovHazDiscountedPremiums ;
GROUP BY ;
Pol_cKey ;
,End_cKey ;
,Cov_cKey ;
ORDER BY 31 ; && Coverage
READWRITE