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
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
Depends On
4Used By
18- dbo.MG_MS_ADJUSTMENT_HEADER_ADD
- dbo.MG_MS_ADJUSTMENT_HEADER_EDIT
- dbo.MG_MS_BC_IN_ADD
- dbo.MG_MS_BC_IN_EDIT
- dbo.MG_MS_BC_IN_FINISH
- dbo.MG_MS_BC_IN_IMPORT_FROM_CEISA
- dbo.MG_MS_BC_IN_IMPORT_FROM_GRN
- dbo.MG_MS_BC_IN_IMPORT_FROM_INVOICE
- dbo.MG_MS_BC_IN_IMPORT_FROM_MOLTS
- dbo.MG_MS_MEMO_HEADER_ADD
- dbo.MG_MS_MEMO_HEADER_APPROVE
- dbo.MG_MS_MEMO_HEADER_EDIT
- dbo.MG_MS_OUT_CAR_LINE_HEADER_ADD
- dbo.MG_MS_OUT_CAR_LINE_HEADER_APPROVE
- dbo.MG_MS_OUT_CAR_LINE_HEADER_EDIT
- dbo.MG_MS_PRODUCTION_RETUR_HEADER_ADD
- dbo.MG_MS_PRODUCTION_RETUR_HEADER_APPROVE
- dbo.MG_MS_PRODUCTION_RETUR_HEADER_EDIT