Revenue Services 2ndversion
Revenue Services 2ndversion
[ZZ_SP_Revenue_Report_Services]
@Division Char(3) ,
@ReportingDate Date,
@ProjectStatus nvarchar(100),
@OnlyWIP bit ,
@IncludeExpenses bit ,
@CentralInvoicing bit,
@ProjectManager nvarchar(6),
@ReportingStartDate Date,
@Project Char(20)
As
Begin
Select Distinct
p.Division as S_ProjectDivision
, p.ProjectNr as S_ProjectCode
, p.Description as S_ProjectDescription
, p.ParentProject as S_ParentProjectCode
, p.YesNoField3 as S_CentralInvoicing
, Cast(man.res_id as varchar)+' - '+man.fullname as S_ProjectManager
, Cast(p.InitialStartDate as date) as S_ProjectStartDate
, Cast(p.InitialEndDate as date) as S_ProjectEndDate
, ( Select Description From [010_Synergy]..DDTests Where Tablename='PRProject' And
FieldName='Status' And DisplayChar=p.Status) as S_ProjectStatus
, ( Select Description From [010_Synergy]..DDTests Where Tablename='PRProject' And
FieldName='Type' And DisplayChar=p.type) as S_ProjectType
, p.YesNoField5 as S_IsTravelExpense
, Ltrim(OrderAcount.cmp_code) as S_ProjectOrderedByCode
, OrderAcount.cmp_name as S_ProjectOrderedByName
, Ltrim(InvoiceAcount.cmp_code) as S_ProjectInvoiceToCode
, InvoiceAcount.cmp_name as S_ProjectInvoiceToName
Into [SPECIFIC]..ZZ_TA_Revenue_Report_Services
-- Update S_InitialRevenueBudgetDC
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set S_InitialRevenueBudgetDC = (Select SUM( Isnull(AmountActual,0) )
From [010_Synergy].dbo.[Absences] a with (nolock)
Where [dbo].[ZZ_TA_Revenue_Report_Services].S_ProjectCode
= a.ProjectNumber and a.type = 103)
-- Update S_RevenueBudgetDC
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set S_RevenueBudgetDC = (Select SUM( Isnull(Amount,0) )
From [010_Synergy].dbo.[ProjectBudgetLines] with
(nolock)
Where [dbo].
[ZZ_TA_Revenue_Report_Services].S_ProjectCode=[010_Synergy].dbo.
[ProjectBudgetLines].ProjectNumber)
-- Update S_InitialCostBudgetDC
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set S_InitialCostBudgetDC = (Select SUM( Isnull(Amount,0) )
From [010_Synergy].dbo.[Absences] a with (nolock)
Where [dbo].[ZZ_TA_Revenue_Report_Services].S_ProjectCode
= a.ProjectNumber and a.type = 103)
--Update S_CostBudgetDC
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set S_CostBudgetDC = (Select SUM( Isnull(CostAmount,0) )
From [010_Synergy].dbo.[ProjectBudgetLines] with
(nolock)
Where [dbo].
[ZZ_TA_Revenue_Report_Services].S_ProjectCode=[010_Synergy].dbo.
[ProjectBudgetLines].ProjectNumber)
-- Update TotalInvoiced DC
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalInvoicedDC = ( Select round(SUM(-
Isnull(bdr_hfl,0)),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With
(nolock) on gbkmut.reknr= grtbk.reknr
Where
gbkmut.project=ZZ_TA_Revenue_Report_Services.S_ProjectCode
And gbkmut.dagbknr like ''70%''
-- Update TotalInvoiced FC
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalInvoicedFC = ( Select round(SUM(-
Isnull(bdr_val,0)),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With
(nolock) on gbkmut.reknr= grtbk.reknr
Where
gbkmut.project=ZZ_TA_Revenue_Report_Services.S_ProjectCode
And gbkmut.dagbknr like ''70%''
-- Update TotalWIP
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalWIP = ( Select round(SUM(Isnull(-
bdr_hfl,0)),2)
From ['+@Division+']..gbkmut
with (nolock)
Inner join ['+@Division+']..grtbk With (nolock) on gbkmut.reknr =
grtbk.reknr
Inner join ['+@Division+']..Settings With (nolock) on
Settings.SettingGroup = ''eproject'' and Settings.SettingName like ''%WIP_Balance
%''
Where gbkmut.project=ZZ_TA_Revenue_Report_Services.S_ProjectCode
-- Update TotalRevenueAllDatesDC
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalRevenueAllDatesDC = ( Select round(SUM(-
Isnull(bdr_hfl,0)),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With
(nolock) on gbkmut.reknr= grtbk.reknr
Where
gbkmut.project=ZZ_TA_Revenue_Report_Services.S_ProjectCode
And gbkmut.transtype = ''N''
And grtbk.omzrek = ''J'') '
Execute sp_executesql @SQLQuery
-- TotalHoursInGlobe
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalHoursInGlobe = ( Select
sum( Isnull(aantal,0) )
From
['+@Division+']..gbkmut with (nolock)
inner join ['+@Division+']..items i with (nolock) on i.itemcode =
gbkmut.artcode
Where gbkmut.project = ZZ_TA_Revenue_Report_Services.S_ProjectCode
-- Update TotalHoursCostInGlobe
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalHoursCostInGlobe = ( Select
round(SUM( Isnull(bdr_hfl,0) ),2)
From ['+@Division+']..gbkmut with (nolock)
inner join
['+@Division+']..items i with (nolock) on i.itemcode = gbkmut.artcode
Where gbkmut.project = ZZ_TA_Revenue_Report_Services.S_ProjectCode
-- Update TotalOutsourcingCostInGlobe
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalOutsourcingCostInGlobe = ( Select
round(SUM( Isnull(bdr_hfl,0) ),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With (nolock) on
gbkmut.reknr= grtbk.reknr
Where gbkmut.project =
ZZ_TA_Revenue_Report_Services.S_ProjectCode
And grtbk.omzrek = ''K''
And Ltrim(gbkmut.reknr) not like ''999%''
And gbkmut.docdate <='''+Cast(@ReportingDate as varchar)
+ '''
And gbkmut.transtype = ''N''
And gbkmut.dagbknr is not null ) '
Execute sp_executesql @SQLQuery
Update [dbo].[ZZ_TA_Revenue_Report_Services] Set G_TotalOutsourcingCostInGlobe = 0
where G_TotalOutsourcingCostInGlobe is null
-- Update TotalPCA
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalPCA = ( Select
round(SUM( Isnull(bdr_hfl,0) ),2)
From
['+@Division+']..gbkmut with (nolock)
Where gbkmut.project =
ZZ_TA_Revenue_Report_Services.S_ProjectCode
And Ltrim(gbkmut.reknr) like ''487100%''
And gbkmut.docdate <='''+Cast(@ReportingDate as varchar)
+ '''
And gbkmut.docdate >='''+Cast(@ReportingStartDate as
varchar)+ '''
And gbkmut.transtype = ''N''
And gbkmut.dagbknr is not null ) '
Execute sp_executesql @SQLQuery
-- Update TotalFAE
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalFAE = ( Select
round(SUM( Isnull(bdr_hfl,0) ),2)
From ['+@Division+']..gbkmut
with (nolock)
Where gbkmut.project =
ZZ_TA_Revenue_Report_Services.S_ProjectCode
And Ltrim(gbkmut.reknr) like ''418110%''
And gbkmut.docdate <='''+Cast(@ReportingDate as varchar)
+ '''
And gbkmut.docdate >='''+Cast(@ReportingStartDate as
varchar)+ '''
And gbkmut.transtype = ''N''
And gbkmut.dagbknr is not null ) '
Execute sp_executesql @SQLQuery
-- Update TotalExchangeRateDifference
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalExchangeRateDifference = ( Select
round(SUM( Isnull(bdr_hfl,0) ),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With (nolock) on gbkmut.reknr =
grtbk.reknr
Where gbkmut.project =
ZZ_TA_Revenue_Report_Services.S_ProjectCode
And grtbk.omzrek in (''N'')
And gbkmut.docdate <='''+Cast(@ReportingDate as varchar)+ '''
-- Update TotalCostInGlobe
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalCostInGlobe = ( Select
round(SUM( Isnull(bdr_hfl,0) ),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With (nolock) on gbkmut.reknr =
grtbk.reknr
Where gbkmut.project =
ZZ_TA_Revenue_Report_Services.S_ProjectCode
And grtbk.omzrek = ''K''
And gbkmut.docdate <='''+Cast(@ReportingDate as varchar)+ '''
-- Update TotalCostAllDatesDC
Set @SQLQuery = N'
Update [dbo].[ZZ_TA_Revenue_Report_Services]
Set ZZ_TA_Revenue_Report_Services.G_TotalCostAllDatesDC = ( Select
round(SUM(Isnull(bdr_hfl,0)),2)
From
['+@Division+']..gbkmut with (nolock)
Inner join ['+@Division+']..grtbk With
(nolock) on gbkmut.reknr= grtbk.reknr
Where
gbkmut.project=ZZ_TA_Revenue_Report_Services.S_ProjectCode
And gbkmut.transtype = ''N''
And grtbk.omzrek = ''K'') '
Execute sp_executesql @SQLQuery
Select Distinct
S_ProjectDivision
, S_ProjectCode
, S_ProjectDescription
, S_ParentProjectCode
, S_ProjectManager
, S_ProjectStartDate
, S_ProjectEndDate
, S_ProjectStatus
, S_CentralInvoicing
, S_ProjectType
, S_IsTravelExpense
, S_ProjectOrderedByCode
, S_ProjectOrderedByName
, S_ProjectInvoiceToCode
, S_ProjectInvoiceToName
, S_ProjectWareHouse
, S_ProjectAssortment
, S_ProjectItemOutput
, S_ProjectWIPMethod
, S_ProjectBillingCurrency
, S_TotalProjectTermsFC
, S_TotalProjectTermsDC
, S_InitialRevenueBudgetDC
, S_RevenueBudgetDC
, S_InitialCostBudgetDC
, S_CostBudgetDC
, G_RevenueBudgetDC
, G_CostBudgetDC
, G_RevenueActualDC
, G_CostActualDC
, G_ProjectCompletion
, G_TotalInvoicedDC
, G_TotalInvoicedFC
, G_TotalWIP
, G_RevenueRecognizedInAccounting
, G_TotalRevenueAllDatesDC
, G_TotalHoursInGlobe
, G_TotalHoursCostInGlobe
, G_TotalOutsourcingCostInGlobe
, G_TotalExchangeRateDifference
, G_TotalCostInGlobe
, G_TotalCostAllDatesDC
, G_TotalFAE
, G_TotalPCA
, (case when abs(S_RevenueBudgetDC - G_RevenueBudgetDC) <= 0.05 then 1 else 0 end)
as S_G_CheckSalesBudget
, (case when abs(S_CostBudgetDC - G_CostBudgetDC) <= 0.05 then 1 else 0 end) as
S_G_CheckCostBudget
, (case when abs(G_RevenueActualDC - G_TotalRevenueAllDatesDC) <= 0.05 then 1 else
0 end) as S_G_CheckSalesActual
, (case when abs(G_CostActualDC - G_TotalCostAllDatesDC) <= 0.05 then 1 else 0 end)
as S_G_CheckCostActual
, G_RevenueActualDC - G_CostActualDC as G_ProfitDC
, (case when G_CostActualDC <> 0 then (G_RevenueActualDC - G_CostActualDC) /
G_CostActualDC * 100 else 0 end) as G_MarkupPercDC
, (case when G_RevenueActualDC <> 0 then (G_RevenueActualDC - G_CostActualDC) /
G_RevenueActualDC * 100 else 0 end) as G_MarginPercDC
, ID106025 -- Gaëlle GUEHENNEUX
End