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_EDIT
@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)
,@ms_item_id bigint
,@ms_type_id int
,@ms_item_custom_no varchar(50)
,@base_no varchar(50)
,@part_no varchar(50)
,@part_name varchar(255)
,@rack_no varchar(255)
,@uom varchar(3)
,@consumable bit
,@qty_minimum decimal(38,4)
,@end_qty nchar(10)
,@end_price_usd decimal(38,5)
,@service_level decimal(18,4)
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@ms_item_id=isnull(tempTable.item.value('ms_item_id[1]', 'bigint'),-1)
,@ms_type_id=isnull(tempTable.item.value('ms_type_id[1]', 'int'),-1)
,@ms_item_custom_no=left(ltrim(rtrim(isnull(tempTable.item.value('ms_item_custom_no[1]', 'varchar(100)'),''))),50)
,@base_no=left(ltrim(rtrim(isnull(tempTable.item.value('base_no[1]', 'varchar(100)'),''))),50)
,@part_no=left(ltrim(rtrim(isnull(tempTable.item.value('part_no[1]', 'varchar(100)'),''))),50)
,@part_name=left(ltrim(rtrim(isnull(tempTable.item.value('part_name[1]', 'varchar(305)'),''))),255)
,@rack_no=left(ltrim(rtrim(isnull(tempTable.item.value('rack_no[1]', 'varchar(305)'),''))),255)
,@uom=left(ltrim(rtrim(isnull(tempTable.item.value('uom[1]', 'varchar(53)'),''))),3)
,@consumable=isnull(tempTable.item.value('consumable[1]', 'bit'),0)
,@qty_minimum=dbo.StrToDec4(isnull( tempTable.item.value('qty_minimum[1]', 'varchar(255)'),'0'))
,@end_qty=dbo.StrToDec4(isnull( tempTable.item.value('end_qty[1]', 'varchar(255)'),'0'))
,@end_price_usd=dbo.StrToDec10(isnull( tempTable.item.value('end_price[1]', 'varchar(255)'),'0'))
,@service_level=dbo.StrToDec4(isnull( tempTable.item.value('service_level[1]', 'decimal(38,4)'),'80'))
FROM @PARAMETER.nodes('param/field') tempTable(item)
declare @old_ms_item_id bigint
,@old_ms_item_h_price_id bigint
,@old_sta_qty decimal(38,5)
,@old_sta_price_usd decimal(38,5)
SELECT TOP (1)@old_ms_item_id= ms_item_id
FROM dt_ms_item
WHERE (ms_item_id = @ms_item_id)
SELECT TOP (1)
@old_sta_qty=end_qty
, @old_sta_price_usd=end_price_usd
, @old_ms_item_h_price_id=ms_item_h_price_id
FROM dt_ms_item_list_price
WHERE (ms_item_id = @ms_item_id) and ms_cost_final_avg_id=0
--select * FROM dt_ms_item_list_price
--WHERE (ms_item_id = @ms_item_id) and ms_cost_final_avg_id=0
if @old_ms_item_id is null
begin
set @xStsno='02';
set @xStsdes='Gagal, Item tidak di temukan' ;
goto f
end
if @part_no=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Part No tidak boleh kosong' ;
goto f
end
if @part_name=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Part Name tidak boleh kosong' ;
goto f
end
if @ms_item_custom_no=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Part Custom tidak boleh kosong' ;
goto f
end
if (SELECT COUNT(*) AS Expr1
FROM dt_ms_item_custom
WHERE (ms_item_custom_no = @ms_item_custom_no))=0
begin
set @xStsno='02';
set @xStsdes='Gagal, Part Custom ' + @ms_item_custom_no +' tidak terdaftar, gunakan part custom yang terdaftar dalam data part custom' ;
goto f
end
if not(@base_no='') and ( SELECT COUNT(*) AS Expr1
FROM dt_ms_item_base
WHERE (ms_item_base_no = @base_no))=0
begin
set @xStsno='02';
set @xStsdes='Gagal, Base Part No ' + @base_no +' tidak terdaftar ' ;
goto f
end
if @uom=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Satuan tidak boleh kosong' ;
goto f
end
if (SELECT COUNT(*) AS Expr1
FROM tblSatuan
WHERE (KdEdi = @uom))=0
begin
set @xStsno='02';
set @xStsdes='Gagal, Kode Satuan' + @ms_item_custom_no +' tidak terdaftar, gunakan Kode satuan yang terdaftar';
goto f
end
--- CHECK APAKAH SUDAH ADA POSTING FINAL AVG
declare @count_posting_avg int= (SELECT COUNT(*) AS Expr1
FROM vw_ms_item_final_avg
WHERE (NOT (ms_cost_final_avg_status_id = - 1)) AND (NOT (ms_cost_final_avg_id = 0))
)
--select @end_price_usd,@old_sta_price_usd
if @count_posting_avg>0
begin
if not(@end_qty=@old_sta_qty)
begin
set @xStsno='02';
set @xStsdes='Gagal, Apabila Ada POSTING FINAL AVG maka nilai Quantity Awal tidak bisa di rubah';
goto f
end
if not(@end_price_usd=@old_sta_price_usd)
begin
set @xStsno='02';
set @xStsdes='Gagal, Apabila Ada POSTING FINAL AVG maka nilai Price Awal tidak bisa di rubah';
goto f
end
end
declare @check_ms_item_id bigint
,@check_ms_type_id int
,@check_ms_type_name varchar(255)
,@check_part_no varchar(255)
,@check_part_name varchar(255)
SELECT TOP (1)
@check_ms_item_id=dt_ms_item.ms_item_id
, @check_ms_type_id=dt_ms_item.ms_type_id
, @check_ms_type_name=enum_ms_type.ms_type_name
, @check_part_no=dt_ms_item.part_no
, @check_part_name=dt_ms_item.part_name
FROM dt_ms_item INNER JOIN
enum_ms_type ON dt_ms_item.ms_type_id = enum_ms_type.ms_type_id
WHERE (dt_ms_item.ms_item_id <>@ms_item_id ) and (dt_ms_item.part_no = @part_no)
if @check_ms_item_id is not null
begin
set @xStsno='02';
set @xStsdes='Gagal, Part no ' + @part_no +' sudah ada dalam data barang '+ @check_ms_type_name +' dengan part name '+ @check_part_name +', gunakan part no lainnya' ;
goto f
end
--- CHECK APAKAH MS_ITEM_ID SUDAH TERAKAIT DENGAN POSTING FINAL AVG
/* declare @check_count int SELECT @check_count=count(*) 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 INNER JOIN dt_ms_item_list_price ON dt_ms_cost_final_avg.ms_cost_final_avg_id = dt_ms_item_list_price.ms_cost_final_avg_id WHERE (dt_ms_cost_final_avg_h_status.ms_cost_final_avg_status_id = 1) AND dt_ms_item_list_price.ms_item_id=@ms_item_id AND not(dt_ms_cost_final_avg.ms_cost_final_avg_id =0) if @check_count >0 and (not(@check_sta_end_qty=@end_qty) or not (@check_sta_end_price_usd=@end_price_usd)) begin set @xStsno='02'; set @xStsdes='Gagal, Item Sudah terkait POSTING FINAL AVG , Stock awal Harga dan Jumlah tidak boleh di rubah' ; goto f end */
declare @date_end_sta date, @ms_date_business_id_sta bigint
SELECT top 1 @date_end_sta= end_date
,@ms_date_business_id_sta= dt_ms_date_business.ms_date_business_id
FROM dt_ms_cost_final_avg INNER JOIN
dt_ms_date_business ON dt_ms_cost_final_avg.end_date = dt_ms_date_business.ms_date_business
WHERE (dt_ms_cost_final_avg.ms_cost_final_avg_id = 0)
declare @ms_item_list_price_id bigint
BEGIN TRANSACTION;
UPDATE dt_ms_item
SET rack_no =@rack_no , service_level=@service_level , qty_minimum=@qty_minimum, ms_item_custom_no = @ms_item_custom_no, ms_item_base_no = @base_no, part_no = @part_no, part_name = @part_name, uom = @uom, consumable = @consumable, modify_date = @now, modify_by = @data_by
WHERE (ms_item_id = @ms_item_id)
if @old_ms_item_h_price_id is not null
begin
if not(@old_sta_price_usd=@end_price_usd) or not (@old_sta_qty=@end_qty)
begin
--- UPDATE STA AWAL----
UPDATE dt_ms_item_list_price
SET modify_date = @now
, modify_by = @data_by
, end_qty = @end_qty
, end_price_usd = @end_price_usd
, end_price = case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end
WHERE (ms_item_h_price_id = @old_ms_item_h_price_id)
UPDATE dt_ms_item_daily_in_move_avg
set
total_qty_avg_move=@end_qty
, price_avg_move_idr=case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end
, price_avg_move_usd=@end_price_usd
where ms_item_id =@ms_item_id and ms_cost_final_avg_id=0
declare @ms_item xml
,@last_final_avg bigint
set @ms_item=(select @ms_item_id as 'row/@id'
for xml path('item')
)
EXEC MG_CALCULATE_AVG_MOVE_BY_BUSINESS_DATE @ms_item,@date_end_sta, -1
end
end
else
begin
--- MASUKAN STA AWAL----
INSERT INTO dt_ms_item_list_price
(ms_cost_final_avg_id, ms_item_id, end_qty, end_price_usd , end_price, create_date, create_by, modify_date, modify_by)
VALUES (0,@ms_item_id,@end_qty,@end_price_usd,case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end,@now,@data_by,@now,@data_by)
set @ms_item_list_price_id= SCOPE_IDENTITY();
--UPDATE dt_ms_item
--SET ms_item_h_price_id=@ms_item_list_price_id
--WHERE (ms_item_id = @ms_item_id)
INSERT INTO dt_ms_item_daily_in_move_avg
(ms_date_business_id, ms_item_id, total_qty_avg_move, price_avg_move_idr, price_avg_move_usd, ms_item_h_price_id, ms_cost_final_avg_id)
VALUES (@ms_date_business_id_sta,@ms_item_id,@end_qty , case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end,@end_price_usd,@ms_item_list_price_id,0)
end
if exists( select * from dt_ms_mutasi_item where ms_item_id =@ms_item_id and ms_cost_final_avg_id=0)
begin
update dt_ms_mutasi_item set qty_end=@end_qty
where ms_item_id =@ms_item_id and ms_cost_final_avg_id=0
end
else
begin
INSERT INTO dt_ms_mutasi_item
(ms_cost_final_avg_id, ms_item_id, qty_end, qty_adjutment)
values(0, @ms_item_id, @end_qty, 0)
end
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_EDIT
@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)
,@ms_item_id bigint
,@ms_type_id int
,@ms_item_custom_no varchar(50)
,@base_no varchar(50)
,@part_no varchar(50)
,@part_name varchar(255)
,@rack_no varchar(255)
,@uom varchar(3)
,@consumable bit
,@qty_minimum decimal(38,4)
,@end_qty nchar(10)
,@end_price_usd decimal(38,5)
,@service_level decimal(18,4)
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@ms_item_id=isnull(tempTable.item.value('ms_item_id[1]', 'bigint'),-1)
,@ms_type_id=isnull(tempTable.item.value('ms_type_id[1]', 'int'),-1)
,@ms_item_custom_no=left(ltrim(rtrim(isnull(tempTable.item.value('ms_item_custom_no[1]', 'varchar(100)'),''))),50)
,@base_no=left(ltrim(rtrim(isnull(tempTable.item.value('base_no[1]', 'varchar(100)'),''))),50)
,@part_no=left(ltrim(rtrim(isnull(tempTable.item.value('part_no[1]', 'varchar(100)'),''))),50)
,@part_name=left(ltrim(rtrim(isnull(tempTable.item.value('part_name[1]', 'varchar(305)'),''))),255)
,@rack_no=left(ltrim(rtrim(isnull(tempTable.item.value('rack_no[1]', 'varchar(305)'),''))),255)
,@uom=left(ltrim(rtrim(isnull(tempTable.item.value('uom[1]', 'varchar(53)'),''))),3)
,@consumable=isnull(tempTable.item.value('consumable[1]', 'bit'),0)
,@qty_minimum=dbo.StrToDec4(isnull( tempTable.item.value('qty_minimum[1]', 'varchar(255)'),'0'))
,@end_qty=dbo.StrToDec4(isnull( tempTable.item.value('end_qty[1]', 'varchar(255)'),'0'))
,@end_price_usd=dbo.StrToDec10(isnull( tempTable.item.value('end_price[1]', 'varchar(255)'),'0'))
,@service_level=dbo.StrToDec4(isnull( tempTable.item.value('service_level[1]', 'decimal(38,4)'),'80'))
FROM @PARAMETER.nodes('param/field') tempTable(item)
declare @old_ms_item_id bigint
,@old_ms_item_h_price_id bigint
,@old_sta_qty decimal(38,5)
,@old_sta_price_usd decimal(38,5)
SELECT TOP (1)@old_ms_item_id= ms_item_id
FROM dt_ms_item
WHERE (ms_item_id = @ms_item_id)
SELECT TOP (1)
@old_sta_qty=end_qty
, @old_sta_price_usd=end_price_usd
, @old_ms_item_h_price_id=ms_item_h_price_id
FROM dt_ms_item_list_price
WHERE (ms_item_id = @ms_item_id) and ms_cost_final_avg_id=0
--select * FROM dt_ms_item_list_price
--WHERE (ms_item_id = @ms_item_id) and ms_cost_final_avg_id=0
if @old_ms_item_id is null
begin
set @xStsno='02';
set @xStsdes='Gagal, Item tidak di temukan' ;
goto f
end
if @part_no=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Part No tidak boleh kosong' ;
goto f
end
if @part_name=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Part Name tidak boleh kosong' ;
goto f
end
if @ms_item_custom_no=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Part Custom tidak boleh kosong' ;
goto f
end
if (SELECT COUNT(*) AS Expr1
FROM dt_ms_item_custom
WHERE (ms_item_custom_no = @ms_item_custom_no))=0
begin
set @xStsno='02';
set @xStsdes='Gagal, Part Custom ' + @ms_item_custom_no +' tidak terdaftar, gunakan part custom yang terdaftar dalam data part custom' ;
goto f
end
if not(@base_no='') and ( SELECT COUNT(*) AS Expr1
FROM dt_ms_item_base
WHERE (ms_item_base_no = @base_no))=0
begin
set @xStsno='02';
set @xStsdes='Gagal, Base Part No ' + @base_no +' tidak terdaftar ' ;
goto f
end
if @uom=''
begin
set @xStsno='02';
set @xStsdes='Gagal, Satuan tidak boleh kosong' ;
goto f
end
if (SELECT COUNT(*) AS Expr1
FROM tblSatuan
WHERE (KdEdi = @uom))=0
begin
set @xStsno='02';
set @xStsdes='Gagal, Kode Satuan' + @ms_item_custom_no +' tidak terdaftar, gunakan Kode satuan yang terdaftar';
goto f
end
--- CHECK APAKAH SUDAH ADA POSTING FINAL AVG
declare @count_posting_avg int= (SELECT COUNT(*) AS Expr1
FROM vw_ms_item_final_avg
WHERE (NOT (ms_cost_final_avg_status_id = - 1)) AND (NOT (ms_cost_final_avg_id = 0))
)
--select @end_price_usd,@old_sta_price_usd
if @count_posting_avg>0
begin
if not(@end_qty=@old_sta_qty)
begin
set @xStsno='02';
set @xStsdes='Gagal, Apabila Ada POSTING FINAL AVG maka nilai Quantity Awal tidak bisa di rubah';
goto f
end
if not(@end_price_usd=@old_sta_price_usd)
begin
set @xStsno='02';
set @xStsdes='Gagal, Apabila Ada POSTING FINAL AVG maka nilai Price Awal tidak bisa di rubah';
goto f
end
end
declare @check_ms_item_id bigint
,@check_ms_type_id int
,@check_ms_type_name varchar(255)
,@check_part_no varchar(255)
,@check_part_name varchar(255)
SELECT TOP (1)
@check_ms_item_id=dt_ms_item.ms_item_id
, @check_ms_type_id=dt_ms_item.ms_type_id
, @check_ms_type_name=enum_ms_type.ms_type_name
, @check_part_no=dt_ms_item.part_no
, @check_part_name=dt_ms_item.part_name
FROM dt_ms_item INNER JOIN
enum_ms_type ON dt_ms_item.ms_type_id = enum_ms_type.ms_type_id
WHERE (dt_ms_item.ms_item_id <>@ms_item_id ) and (dt_ms_item.part_no = @part_no)
if @check_ms_item_id is not null
begin
set @xStsno='02';
set @xStsdes='Gagal, Part no ' + @part_no +' sudah ada dalam data barang '+ @check_ms_type_name +' dengan part name '+ @check_part_name +', gunakan part no lainnya' ;
goto f
end
--- CHECK APAKAH MS_ITEM_ID SUDAH TERAKAIT DENGAN POSTING FINAL AVG
/* declare @check_count int SELECT @check_count=count(*) 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 INNER JOIN dt_ms_item_list_price ON dt_ms_cost_final_avg.ms_cost_final_avg_id = dt_ms_item_list_price.ms_cost_final_avg_id WHERE (dt_ms_cost_final_avg_h_status.ms_cost_final_avg_status_id = 1) AND dt_ms_item_list_price.ms_item_id=@ms_item_id AND not(dt_ms_cost_final_avg.ms_cost_final_avg_id =0) if @check_count >0 and (not(@check_sta_end_qty=@end_qty) or not (@check_sta_end_price_usd=@end_price_usd)) begin set @xStsno='02'; set @xStsdes='Gagal, Item Sudah terkait POSTING FINAL AVG , Stock awal Harga dan Jumlah tidak boleh di rubah' ; goto f end */
declare @date_end_sta date, @ms_date_business_id_sta bigint
SELECT top 1 @date_end_sta= end_date
,@ms_date_business_id_sta= dt_ms_date_business.ms_date_business_id
FROM dt_ms_cost_final_avg INNER JOIN
dt_ms_date_business ON dt_ms_cost_final_avg.end_date = dt_ms_date_business.ms_date_business
WHERE (dt_ms_cost_final_avg.ms_cost_final_avg_id = 0)
declare @ms_item_list_price_id bigint
BEGIN TRANSACTION;
UPDATE dt_ms_item
SET rack_no =@rack_no , service_level=@service_level , qty_minimum=@qty_minimum, ms_item_custom_no = @ms_item_custom_no, ms_item_base_no = @base_no, part_no = @part_no, part_name = @part_name, uom = @uom, consumable = @consumable, modify_date = @now, modify_by = @data_by
WHERE (ms_item_id = @ms_item_id)
if @old_ms_item_h_price_id is not null
begin
if not(@old_sta_price_usd=@end_price_usd) or not (@old_sta_qty=@end_qty)
begin
--- UPDATE STA AWAL----
UPDATE dt_ms_item_list_price
SET modify_date = @now
, modify_by = @data_by
, end_qty = @end_qty
, end_price_usd = @end_price_usd
, end_price = case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end
WHERE (ms_item_h_price_id = @old_ms_item_h_price_id)
UPDATE dt_ms_item_daily_in_move_avg
set
total_qty_avg_move=@end_qty
, price_avg_move_idr=case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end
, price_avg_move_usd=@end_price_usd
where ms_item_id =@ms_item_id and ms_cost_final_avg_id=0
declare @ms_item xml
,@last_final_avg bigint
set @ms_item=(select @ms_item_id as 'row/@id'
for xml path('item')
)
EXEC MG_CALCULATE_AVG_MOVE_BY_BUSINESS_DATE @ms_item,@date_end_sta, -1
end
end
else
begin
--- MASUKAN STA AWAL----
INSERT INTO dt_ms_item_list_price
(ms_cost_final_avg_id, ms_item_id, end_qty, end_price_usd , end_price, create_date, create_by, modify_date, modify_by)
VALUES (0,@ms_item_id,@end_qty,@end_price_usd,case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end,@now,@data_by,@now,@data_by)
set @ms_item_list_price_id= SCOPE_IDENTITY();
--UPDATE dt_ms_item
--SET ms_item_h_price_id=@ms_item_list_price_id
--WHERE (ms_item_id = @ms_item_id)
INSERT INTO dt_ms_item_daily_in_move_avg
(ms_date_business_id, ms_item_id, total_qty_avg_move, price_avg_move_idr, price_avg_move_usd, ms_item_h_price_id, ms_cost_final_avg_id)
VALUES (@ms_date_business_id_sta,@ms_item_id,@end_qty , case when @end_price_usd =0 then 0 else @end_price_usd*dbo.get_rate_valuta(@date_end_sta,'USD') end,@end_price_usd,@ms_item_list_price_id,0)
end
if exists( select * from dt_ms_mutasi_item where ms_item_id =@ms_item_id and ms_cost_final_avg_id=0)
begin
update dt_ms_mutasi_item set qty_end=@end_qty
where ms_item_id =@ms_item_id and ms_cost_final_avg_id=0
end
else
begin
INSERT INTO dt_ms_mutasi_item
(ms_cost_final_avg_id, ms_item_id, qty_end, qty_adjutment)
values(0, @ms_item_id, @end_qty, 0)
end
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
15- dbo.StrToDec4
- dbo.StrToDec10
- dbo.dt_ms_item
- dbo.dt_ms_item_list_price
- dbo.dt_ms_item_custom
- dbo.dt_ms_item_base
- dbo.tblSatuan
- dbo.vw_ms_item_final_avg
- dbo.enum_ms_type
- dbo.dt_ms_cost_final_avg
- dbo.dt_ms_date_business
- dbo.get_rate_valuta
- dbo.dt_ms_item_daily_in_move_avg
- dbo.MG_CALCULATE_AVG_MOVE_BY_BUSINESS_DATE
- dbo.dt_ms_mutasi_item
Used By
No items found