NJC__Documentation::DB

dbo.MG_MS_CHECK_BUSINESS_DATE_AND_AVG

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

Name Data Type Length Description
@business_date date 3
@allow_move_ms_date_business bit 1
@result_date_business_id bigint 8
@result_date_business date 3
@result_date_business_id_from bigint 8
@result_date_business_from date 3
@is_move_date_business bit 1
@xStsno varchar 2
@xStsdes varchar -1

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE PROCEDURE dbo.MG_MS_CHECK_BUSINESS_DATE_AND_AVG 
  @business_date date
, @allow_move_ms_date_business bit 

, @result_date_business_id bigint output
, @result_date_business date output
, @result_date_business_id_from bigint  output 
, @result_date_business_from date  output 
, @is_move_date_business bit  output  

, @xStsno varchar(2) output
, @xStsdes varchar(max)  output
as 

declare @pemisah varchar(255)
declare @pemisah_replace varchar(255)
set @pemisah_replace='<br />'
--set @pemisah=CHAR(13) + CHAR(10) + '
'

set @pemisah = '
'

 
set @xStsno='00';
set @xStsdes='sukses'



SELECT    top (1) @result_date_business_id =   ms_date_business_id
FROM            dt_ms_date_business
WHERE        (ms_date_business = @business_date) 

if @result_date_business_id is null
begin
 set @result_date_business_id=cast(replace(convert(varchar(10),@business_date,121),'-','') as int)
 INSERT INTO dt_ms_date_business
        (ms_date_business_id, ms_date_business, ms_cost_final_avg_id)
 VALUES        (@result_date_business_id,@business_date, - 1)  
end 

set @is_move_date_business=0
set @result_date_business_id_from=@result_date_business_id  
set @result_date_business=@business_date
set @result_date_business_from=@business_date

declare @check_ms_cost_final_avg_id  bigint
,@check_start_date date 
,@check_end_date date
,@check_info varchar(1000)
,@check_final_avg_name varchar(255)

SELECT  top (1)      
  @check_ms_cost_final_avg_id=dt_ms_cost_final_avg.ms_cost_final_avg_id
, @check_start_date=dt_ms_cost_final_avg.start_date
, @check_end_date=dt_ms_cost_final_avg.end_date
, @check_info=dt_ms_cost_final_avg.info
, @check_final_avg_name=dt_ms_cost_final_avg.final_avg_name
FROM            dt_ms_cost_final_avg INNER JOIN
                        dt_ms_cost_final_avg_h_status ON dt_ms_cost_final_avg.ms_cost_final_avg_h_status_id = dt_ms_cost_final_avg_h_status.ms_cost_final_avg_h_status_id
WHERE        
(dt_ms_cost_final_avg_h_status.ms_cost_final_avg_status_id = 1) 
AND not(dt_ms_cost_final_avg.ms_cost_final_avg_id=0)
AND (dt_ms_cost_final_avg.start_date <=@business_date) 
AND (dt_ms_cost_final_avg.end_date >=@business_date)
 


if @check_ms_cost_final_avg_id is not null
begin
 if  @allow_move_ms_date_business=0 
 begin 
  set @xStsno='02';
  set @xStsdes='Gagal, Sudah Ada Posting FINAL AVG = ' + @check_final_avg_name   + @pemisah +
  'START DATE =' +  +dbo.date_to_str(@check_start_date)   + @pemisah +
  'END DATE =' +  +dbo.date_to_str(@check_end_date)   + @pemisah +
  'Untuk Tanggal ' +dbo.date_to_str(@business_date)  + '.'   + @pemisah +
  'Pilih Move Business Date untuk mencatat dalam posting FINAL selanjut nya' 
  goto f
 end
 else
 begin 
  set @business_date=( SELECT   top(1)     dateadd(D ,1, dt_ms_cost_final_avg.end_date)
   FROM            dt_ms_cost_final_avg INNER JOIN
          dt_ms_cost_final_avg_h_status ON dt_ms_cost_final_avg.ms_cost_final_avg_h_status_id = dt_ms_cost_final_avg_h_status.ms_cost_final_avg_h_status_id
   WHERE        (dt_ms_cost_final_avg_h_status.ms_cost_final_avg_status_id = 1)
   ORDER BY dt_ms_cost_final_avg.end_date DESC 
  )
   
  SELECT    top (1) @result_date_business_id =   ms_date_business_id
  FROM            dt_ms_date_business
  WHERE        (ms_date_business = @business_date)  
  if @result_date_business_id is null
  begin
   set @result_date_business_id=cast(replace(convert(varchar(10),@business_date,121),'-','') as int)
   INSERT INTO dt_ms_date_business
          (ms_date_business_id, ms_date_business, ms_cost_final_avg_id)
   VALUES        (@result_date_business_id,@business_date, - 1)  
  end  
  
  set @is_move_date_business=1
  set @result_date_business=@business_date
 end 
end
else
begin
set @is_move_date_business=0
end
f:   

GO