Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @PARAMETER | xml | -1 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create procedure dbo.MG_MS_ITEM_FINAL_AVG_CANCEL
@PARAMETER xml=''
---XencX---with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
declare @pemisah varchar(255)
declare @pemisah_replace varchar(255)
set @pemisah_replace='<br />'
--set @pemisah=CHAR(13) + CHAR(10) + '
'
set @pemisah = '
'
declare @resultX varchar(max)
declare @resultX2 varchar(max)
declare @XmlSts xml
declare @raw xml
declare @xStsnoheader varchar(2),
@xStsno varchar(2),
@xStsdes varchar(max)
set @xStsnoheader='07'
set @xStsno='00';
set @xStsdes='sukses'
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@header_id bigint
,@info varchar(255)
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@info=left(ltrim(rtrim(isnull(tempTable.item.value('info[1]', 'varchar(300)'),''))),255)
,@header_id= isnull(tempTable.item.value('header_id[1]', 'bigint'),-1)
FROM @PARAMETER.nodes('param/field') tempTable(item)
declare
@check_header_ms_cost_final_avg_id bigint
, @check_header_final_avg_name varchar(255)
, @check_header_start_date date
, @check_header_end_date date
, @check_header_info varchar(255)
, @check_header_ms_cost_final_avg_status_id int
, @check_header_ms_cost_final_avg_status varchar(255)
SELECT top(1)
@check_header_ms_cost_final_avg_id=ms_cost_final_avg_id
, @check_header_final_avg_name=final_avg_name
, @check_header_start_date=start_date
, @check_header_end_date=end_date
, @check_header_info=info
, @check_header_ms_cost_final_avg_status_id=ms_cost_final_avg_status_id
, @check_header_ms_cost_final_avg_status=ms_cost_final_avg_status
FROM vw_ms_item_final_avg
where ms_cost_final_avg_id=@header_id
if @check_header_ms_cost_final_avg_id is null
begin
set @xStsno='02';
set @xStsdes='Gagal, Pilih AVG yang akan di Cancel' ;
goto f
end
if @check_header_ms_cost_final_avg_status_id=-1
begin
set @xStsno='02';
set @xStsdes='Gagal, Dokumen sudah dalam status ' + @check_header_ms_cost_final_avg_status + ' tidak bisa di cancel lagi';
goto f
end
declare @adaAvgYangLebihBaru int
set @adaAvgYangLebihBaru=isnull((
SELECT COUNT(*) AS Expr1
FROM vw_ms_item_final_avg
WHERE (NOT (ms_cost_final_avg_status_id = - 1))
and start_date>@check_header_end_date
),0)
if @adaAvgYangLebihBaru>0
begin
set @xStsno='02';
set @xStsdes='Gagal, Ada ' + cast(@adaAvgYangLebihBaru as varchar(255)) + ' FINAL AVG yang lebih baru';
goto f
end
BEGIN TRANSACTION;
UPDATE dt_ms_production_retur
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_production_retur INNER JOIN
dt_ms_date_business ON dt_ms_production_retur.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_adj_sto
SET approve_ms_cost_final_avg_id =-1
FROM dt_ms_adj_sto INNER JOIN
dt_ms_date_business ON dt_ms_adj_sto.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_tpb_out_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_tpb_out_header INNER JOIN
dt_ms_date_business ON dt_ms_tpb_out_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_tpb_in_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_tpb_in_header INNER JOIN
dt_ms_date_business ON dt_ms_tpb_in_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_memo_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_memo_header INNER JOIN
dt_ms_date_business ON dt_ms_memo_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_car_line_out_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_car_line_out_header INNER JOIN
dt_ms_date_business ON dt_ms_car_line_out_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_item_daily_in_move_avg
SET ms_item_h_price_id= -1
,ms_cost_final_avg_id=-1
FROM dt_ms_item_daily_in_move_avg INNER JOIN
dt_ms_date_business ON dt_ms_item_daily_in_move_avg.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
declare @ms_cost_final_avg_h_status_id bigint
UPDATE dt_ms_date_business
SET ms_cost_final_avg_id =-1
WHERE ms_cost_final_avg_id=@header_id
INSERT INTO dt_ms_cost_final_avg_h_status
(ms_cost_final_avg_id, ms_cost_final_avg_status_id, status_info, create_date, create_by)
VALUES (@header_id, -1, @info,@now,@data_by)
set @ms_cost_final_avg_h_status_id=SCOPE_IDENTITY()
update dt_ms_cost_final_avg
set ms_cost_final_avg_h_status_id =@ms_cost_final_avg_h_status_id
where ms_cost_final_avg_id=@header_id
COMMIT TRANSACTION;
f:
set nocount off
END TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0) ROLLBACK TRAN;
set @xStsno='88'
set @xStsdes= ERROR_MESSAGE()
END CATCH
g:
set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
select CAST( (select @XmlSts,isnull(@raw ,'') for xml path ('result')
) as XML) as dt
GO
GO
create procedure dbo.MG_MS_ITEM_FINAL_AVG_CANCEL
@PARAMETER xml=''
---XencX---with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
declare @pemisah varchar(255)
declare @pemisah_replace varchar(255)
set @pemisah_replace='<br />'
--set @pemisah=CHAR(13) + CHAR(10) + '
'
set @pemisah = '
'
declare @resultX varchar(max)
declare @resultX2 varchar(max)
declare @XmlSts xml
declare @raw xml
declare @xStsnoheader varchar(2),
@xStsno varchar(2),
@xStsdes varchar(max)
set @xStsnoheader='07'
set @xStsno='00';
set @xStsdes='sukses'
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@header_id bigint
,@info varchar(255)
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@info=left(ltrim(rtrim(isnull(tempTable.item.value('info[1]', 'varchar(300)'),''))),255)
,@header_id= isnull(tempTable.item.value('header_id[1]', 'bigint'),-1)
FROM @PARAMETER.nodes('param/field') tempTable(item)
declare
@check_header_ms_cost_final_avg_id bigint
, @check_header_final_avg_name varchar(255)
, @check_header_start_date date
, @check_header_end_date date
, @check_header_info varchar(255)
, @check_header_ms_cost_final_avg_status_id int
, @check_header_ms_cost_final_avg_status varchar(255)
SELECT top(1)
@check_header_ms_cost_final_avg_id=ms_cost_final_avg_id
, @check_header_final_avg_name=final_avg_name
, @check_header_start_date=start_date
, @check_header_end_date=end_date
, @check_header_info=info
, @check_header_ms_cost_final_avg_status_id=ms_cost_final_avg_status_id
, @check_header_ms_cost_final_avg_status=ms_cost_final_avg_status
FROM vw_ms_item_final_avg
where ms_cost_final_avg_id=@header_id
if @check_header_ms_cost_final_avg_id is null
begin
set @xStsno='02';
set @xStsdes='Gagal, Pilih AVG yang akan di Cancel' ;
goto f
end
if @check_header_ms_cost_final_avg_status_id=-1
begin
set @xStsno='02';
set @xStsdes='Gagal, Dokumen sudah dalam status ' + @check_header_ms_cost_final_avg_status + ' tidak bisa di cancel lagi';
goto f
end
declare @adaAvgYangLebihBaru int
set @adaAvgYangLebihBaru=isnull((
SELECT COUNT(*) AS Expr1
FROM vw_ms_item_final_avg
WHERE (NOT (ms_cost_final_avg_status_id = - 1))
and start_date>@check_header_end_date
),0)
if @adaAvgYangLebihBaru>0
begin
set @xStsno='02';
set @xStsdes='Gagal, Ada ' + cast(@adaAvgYangLebihBaru as varchar(255)) + ' FINAL AVG yang lebih baru';
goto f
end
BEGIN TRANSACTION;
UPDATE dt_ms_production_retur
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_production_retur INNER JOIN
dt_ms_date_business ON dt_ms_production_retur.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_adj_sto
SET approve_ms_cost_final_avg_id =-1
FROM dt_ms_adj_sto INNER JOIN
dt_ms_date_business ON dt_ms_adj_sto.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_tpb_out_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_tpb_out_header INNER JOIN
dt_ms_date_business ON dt_ms_tpb_out_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_tpb_in_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_tpb_in_header INNER JOIN
dt_ms_date_business ON dt_ms_tpb_in_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_memo_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_memo_header INNER JOIN
dt_ms_date_business ON dt_ms_memo_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_car_line_out_header
SET approve_ms_cost_final_avg_id = -1
FROM dt_ms_car_line_out_header INNER JOIN
dt_ms_date_business ON dt_ms_car_line_out_header.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
UPDATE dt_ms_item_daily_in_move_avg
SET ms_item_h_price_id= -1
,ms_cost_final_avg_id=-1
FROM dt_ms_item_daily_in_move_avg INNER JOIN
dt_ms_date_business ON dt_ms_item_daily_in_move_avg.ms_date_business_id = dt_ms_date_business.ms_date_business_id
WHERE (dt_ms_date_business.ms_cost_final_avg_id = @header_id)
declare @ms_cost_final_avg_h_status_id bigint
UPDATE dt_ms_date_business
SET ms_cost_final_avg_id =-1
WHERE ms_cost_final_avg_id=@header_id
INSERT INTO dt_ms_cost_final_avg_h_status
(ms_cost_final_avg_id, ms_cost_final_avg_status_id, status_info, create_date, create_by)
VALUES (@header_id, -1, @info,@now,@data_by)
set @ms_cost_final_avg_h_status_id=SCOPE_IDENTITY()
update dt_ms_cost_final_avg
set ms_cost_final_avg_h_status_id =@ms_cost_final_avg_h_status_id
where ms_cost_final_avg_id=@header_id
COMMIT TRANSACTION;
f:
set nocount off
END TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0) ROLLBACK TRAN;
set @xStsno='88'
set @xStsdes= ERROR_MESSAGE()
END CATCH
g:
set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
select CAST( (select @XmlSts,isnull(@raw ,'') for xml path ('result')
) as XML) as dt
GO
Depends On
11Used By
No items found