dbo.MG_MS_BASE_PART_EDIT

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_BASE_PART_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_base_no_old varchar(50)
,@ms_item_base_no varchar(50)
,@ms_item_base_name varchar(255)
,@info varchar(1000)

,@allow_to_production bit
,@allow_to_scrap bit
,@allow_to_repair bit
,@allow_to_selling bit
,@mandatory_car_line bit 

SELECT 
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@ms_item_base_no_old=left(ltrim(rtrim(isnull(tempTable.item.value('ms_item_base_no_old[1]', 'varchar(60)'),''))),50)
,@ms_item_base_no=left(ltrim(rtrim(isnull(tempTable.item.value('ms_item_base_no[1]', 'varchar(60)'),''))),50)
,@ms_item_base_name=left(ltrim(rtrim(isnull(tempTable.item.value('ms_item_base_name[1]', 'varchar(305)'),''))),255)
,@info=left(ltrim(rtrim(isnull(tempTable.item.value('info[1]', 'varchar(1050)'),''))),1000)
,@allow_to_production=isnull( tempTable.item.value('allow_to_production[1]', 'bit'),'0') 
,@allow_to_scrap=isnull( tempTable.item.value('allow_to_scrap[1]', 'bit'),'0') 
,@allow_to_repair=isnull( tempTable.item.value('allow_to_repair[1]', 'bit'),'0') 
,@allow_to_selling=isnull( tempTable.item.value('allow_to_selling[1]', 'bit'),'0') 
,@mandatory_car_line=isnull( tempTable.item.value('mandatory_car_line[1]', 'bit'),'0') 
FROM @PARAMETER.nodes('param/field')  tempTable(item)


if len(@ms_item_base_no_old)<0
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Pilih Base Part yang akan di edit' ;
goto f
end

if len(@ms_item_base_no)<0
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Base Part No tidak boleh kosong' ;
goto f
end

if (
SELECT        COUNT(*) AS Expr1
FROM            dt_ms_item_base
WHERE        (ms_item_base_no = @ms_item_base_no) and  (ms_item_base_no <> @ms_item_base_no_old ) ) >0
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Base Part No Sudah terdaftar , gunakan Base Part No lainnya' ;
goto f
end

 

if @ms_item_base_name =''
begin
 set @xStsno='02';
 set @xStsdes='Gagal, Base Part Name tidak boleh kosong' ;
goto f
end
  
 declare @ms_item_base_h_allow_id bigint=null;

BEGIN TRANSACTION;    

if (SELECT        COUNT(*) AS Expr1
FROM            vw_ms_base_part
WHERE        (ms_item_base_no = @ms_item_base_no_old) AND (allow_to_production = @allow_to_production) AND (mandatory_car_line = @mandatory_car_line) AND (allow_to_scrap = @allow_to_scrap) AND 
                         (allow_to_repair = @allow_to_repair) AND (allow_to_selling = @allow_to_selling))=0
begin 

 INSERT INTO dt_ms_item_base_h_allow
        (ms_item_base_no, allow_to_production, mandatory_car_line, allow_to_scrap, allow_to_repair, allow_to_selling, create_date, create_by)
 VALUES        (@ms_item_base_no_old,@allow_to_production,@mandatory_car_line,@allow_to_scrap,@allow_to_repair,@allow_to_selling,@now,@data_by)
 set @ms_item_base_h_allow_id=SCOPE_IDENTITY(); 
end

UPDATE       dt_ms_item_base
SET                ms_item_base_no = @ms_item_base_no
, ms_item_base_name = @ms_item_base_name
, info = @info
, modify_date = @now, modify_by = @data_by
, ms_item_base_h_allow_id=case when @ms_item_base_h_allow_id is null then ms_item_base_h_allow_id else @ms_item_base_h_allow_id end 
WHERE        (ms_item_base_no = @ms_item_base_no_old)


if not(@ms_item_base_no_old=@ms_item_base_no)
begin 
 UPDATE       dt_ms_item
 SET                ms_item_base_no = @ms_item_base_no
 WHERE        (ms_item_base_no = @ms_item_base_no_old) 
 UPDATE       dt_ms_item_base_h_allow
 SET                ms_item_base_no = @ms_item_base_no
 WHERE        (ms_item_base_no = @ms_item_base_no_old) 
 UPDATE       dt_ms_item_base_h_allow
 SET                ms_item_base_no = @ms_item_base_no
 WHERE        (ms_item_base_no = @ms_item_base_no_old) 
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

--EXEC MG_MS_BASE_PART_EDIT
--'12json2::1ABA0127810007'
GO

Used By

No items found