NJC__Documentation::DB

dbo.MG_DATA_INTERFACE_MODULE_DEKSTOP_REGISTER

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

True

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_DATA_INTERFACE_MODULE_DEKSTOP_REGISTER
@PARAMETER xml='' 
with encryption
as


declare @XmlSts xml
declare @raw xml
declare @xStsnoheader varchar(2),
  @xStsno varchar(2),
  @xStsdes varchar(2000)
  
set @xStsnoheader='06'
set @xStsno='00';
set @xStsdes='success'

 --
 -- SET NOCOUNT ON
 --exec MG_CHECK_CREATE_PERIODE @xStsno output,@xStsdes output;
 --if not(
 --@xStsno ='00'
 -- )
 --begin
 -- set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
 -- goto g
 -- end
 --SET NOCOUNT OFF

BEGIN TRY
BEGIN TRANSACTION;
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
 
 
 declare @data_by varchar(20) 
   ,@key varchar(1000)
     ,@computer_name varchar(255) 
   ,@computer_address varchar(255) 
   ,@nomor_reg_bc varchar(6) 
   ,@is_palapa varchar(1) 
   ,@kantor_bc varchar(6) 
   ,@bc_type_id int
   ,@bc_type_name varchar(255)
   ,@local_path varchar(255)
   ,@aktivasi varchar(255) 
   ,@edinum varchar(255) 

 set @data_by=-1;
   ------ ,local_path varchar(255)

 SELECT
   @computer_name= tempTable.item.value('computer_name[1]', 'varchar(255)') ,
  @computer_address= tempTable.item.value('computer_address[1]', 'varchar(255)') ,
  @nomor_reg_bc= tempTable.item.value('nomor_reg_bc[1]', 'varchar(6)') ,
   @kantor_bc= tempTable.item.value('kantor_bc[1]', 'varchar(6)') ,
   @local_path= tempTable.item.value('local_path[1]', 'varchar(255)') ,
   @aktivasi= tempTable.item.value('aktivasi[1]', 'varchar(255)') ,
   @edinum=  tempTable.item.value('edinum[1]', 'varchar(255)') ,
   @key= tempTable.item.value('key[1]', 'varchar(255)')  ,
   @bc_type_id= tempTable.item.value('bc_type_id[1]', 'int')  
  FROM @PARAMETER.nodes('param/field')  tempTable(item)
  
  
 set @computer_name=ltrim(rtrim(isnull(@computer_name,'')));
 set @computer_address=ltrim(rtrim(isnull(@computer_address,'')));
 set @nomor_reg_bc=ltrim(rtrim(isnull(@nomor_reg_bc,'')));
 set @kantor_bc=ltrim(rtrim(isnull(@kantor_bc,'')));
 set @local_path=ltrim(rtrim(isnull(@local_path,'')));
  set @aktivasi=ltrim(rtrim(isnull(@aktivasi,'')));
  set @edinum=ltrim(rtrim(isnull(@edinum,'')));
  
  

 declare  
 @id int  ,
 @readonly int
  
  execUTE  [dbo].[S_ALL_LOG_DETAIL]
  @LOG_PARAM =@PARAMETER,
  @id = @id OUTPUT,
  @readonly = @readonly OUTPUT,
  @no = @xStsno OUTPUT,
  @des = @xStsdes OUTPUT
  
  
 if @xStsno <>'00'
 goto f 
 
 
 if @readonly=1
 begin
  set @xStsno='03';
  set @xStsdes='Maaf , Hak aksess anda hanya readonly';
   goto f 

 end
 
 set @data_by=@id

 SELECT  top 1
    @bc_type_name =bc_type_name  
 FROM         enum_bc_type
 WHERE     (bc_type_id = @bc_type_id) 
 if @bc_type_name is null
 begin 
   set @xStsno='99';
  set @xStsdes='Gagal, TYPE BC tidak terdefinisi';
  goto f
 end
  
 if @computer_name =''
 begin 
   set @xStsno='02';
  set @xStsdes='Gagal, Nama Komputer tidak boleh kosong';
  goto f
 end
 
 if @computer_address =''
 begin 
   set @xStsno='03';
  set @xStsdes='Gagal, Alamat Komputer tidak boleh kosong';
  goto f
 end
 
 if @nomor_reg_bc =''
 begin 
   set @xStsno='03';
  set @xStsdes='Gagal, Nomor Regristrasi tidak boleh kosong';
  goto f
 end
 
 if @kantor_bc =''
 begin 
   set @xStsno='03';
  set @xStsdes='Gagal, Kode KPBC tidak boleh kosong';
  goto f
 end

 if @aktivasi =''
 begin 
   set @xStsno='03';
  set @xStsdes='Gagal, Kode Aktivasi tidak boleh kosong';
  goto f
 end

 -- if @edinum =''
 -- begin
   -- set @xStsno='03';
  -- set @xStsdes='Gagal, Edi Number tidak boleh kosong';
  -- goto f
 -- end
  
  declare @motherboard_id varchar(255)

   declare @XMLValidString varchar(max)
 SELECT     
 TOP (1)
  @XMLValidString=isnull(CONVERT(varchar(MAX),DecryptByPassphrase('Ap4TanyaT4nya MauT4uAj4 4h'    , set_30)),'')   ,
 @motherboard_id=isnull(CONVERT(varchar(MAX),DecryptByPassphrase('Ap4TanyaT4nya MauT4uAj4 4h'    , set_23)),'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')   
  FROM         dt_app_set
 
 
 if @XMLValidString =''
 begin
   set @xStsno='04';
  set @xStsdes='Gagal, Module Module Interface Belum di definisikan, lakukan get interface module terlebih dahulu atau hubungi Custome Service';
   goto f
 end
 declare @XMLString xml
 set @XMLString=@XMLValidString
 
 declare @tmpInterface table ( aktivasi varchar(255), 
        edinum  varchar(255), 
        is_palapa bit,
        bc_type_id int)
 insert into @tmpInterface
 
 SELECT
    isnull(tempTable.item.value('@akt', 'varchar(255)'),0) ,
   isnull(tempTable.item.value('@num', 'varchar(255)'),0) ,
   isnull(tempTable.item.value('@m', 'bit'),0) ,
   isnull(tempTable.item.value('@t', 'int'),0) 
 FROM @XMLString.nodes('module/interface/r')  tempTable(item)

 
  --- CHECK APAKAH TERDAFTAR DALAM DATA REGISTER MEMBER
  if (
  select count(*) from @tmpInterface where (aktivasi=@aktivasi) and (edinum=@edinum) and (bc_type_id=@bc_type_id)
  )=0
  begin
  set @xStsno='04';
  set @xStsdes='Gagal, interface belum di register, lakukan get interface module terlebih dahulu atau hubungi Custome Service';
   goto f
  end


  --- CHECK APAKAH TERDAFTAR DALAM LIST
  declare @interface_module_bc_id bigint,
    @old_computer_name varchar(255),
    @old_computer_address varchar(255),
    @old_local_path varchar(255),
    @old_status_interface_module_bc_id int,
    @old_bc_type_name varchar(255),
    @old_status_interface_module_bc_name varchar(255) 

 SELECT        @old_computer_name=computer_name
 , @old_computer_address=computer_address
 , @old_local_path=local_path
 , @interface_module_bc_id=interface_module_bc_id
 , @old_bc_type_name=        bc_type_name
 , @old_status_interface_module_bc_id=status_interface_module_bc_id
 , @old_status_interface_module_bc_name=status_interface_module_bc_name
 FROM            vw_interface_module
 WHERE        (bc_type_id = @bc_type_id) AND (aktivasi = @aktivasi) AND (edinum = @edinum)



 
    declare @interface_module_bc_h_status_id bigint
  

 if @interface_module_bc_id is not null
 begin
   UPDATE       dt_interface_module_bc
  SET                computer_name = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @computer_name), 
   computer_address = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @computer_address), 
   nomor_reg_bc = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @nomor_reg_bc), 
   is_palapa = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @is_palapa), kantor_bc = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', 
   @kantor_bc), local_path = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @local_path), bc_type_id = @bc_type_id, 
   aktivasi = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @aktivasi), edinum = ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h', @edinum), 
   mode_interface_id = 2
  WHERE        (interface_module_bc_id = @interface_module_bc_id)

  if @old_status_interface_module_bc_id=2 
  begin

   INSERT INTO dt_interface_module_bc_h_status
         (interface_module_bc_id, status_interface_module_bc_id, status_info, create_date)
   VALUES     (@interface_module_bc_id,1,'',@NOW );
   set @interface_module_bc_h_status_id=SCOPE_IDENTITY() ;
  
   UPDATE    dt_interface_module_bc
   SET              interface_module_bc_h_status_id = @interface_module_bc_h_status_id
   WHERE     (interface_module_bc_id = @interface_module_bc_id);
  end

  end
 else
 begin

  INSERT INTO dt_interface_module_bc
        (
          computer_name
        , computer_address
        , nomor_reg_bc
        , is_palapa
        , kantor_bc
        , local_path
        , bc_type_id
        , aktivasi
        , edinum
        , mode_interface_id
       )
  VALUES     (  ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @computer_name)
   ,  ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @computer_address)
   , ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @nomor_reg_bc)
   , ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @is_palapa)
   , ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @kantor_bc)
   , ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @local_path)
   ,@bc_type_id
   , ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @aktivasi)
   , ENCRYPTBYPASSPHRASE('Ap4TanyaT4nya MauT4uAj4 4h'    , @edinum)
   ,2
   )
  
   set @interface_module_bc_id= SCOPE_IDENTITY() ;
   
  INSERT INTO dt_interface_module_bc_h_status
        (interface_module_bc_id, status_interface_module_bc_id, status_info, create_date)
  VALUES     (@interface_module_bc_id,1,'',@NOW );
  set @interface_module_bc_h_status_id=SCOPE_IDENTITY() ;
  
  UPDATE    dt_interface_module_bc
  SET              interface_module_bc_h_status_id = @interface_module_bc_h_status_id
  WHERE     (interface_module_bc_id = @interface_module_bc_id);

 end
   
  
 

--1 BC 2.3 1
--2 BC 2.6.2 1
--3 BC 2.7 1
--4 BC 4.0 1
--5 BC 2.6.1 2
--6 BC 3.0 2
--7 BC 4.1 2
--8 BC 2.5 2
--9 BC 2.7 2
  
 execUTE MG_DATA_INTERFACE_MODULE_ROW_DETAIL
    @interface_module_bc_id=@interface_module_bc_id,
    @raw=@raw output


f:

 
COMMIT TRANSACTION;
set nocount off

END TRY  
BEGIN CATCH
 IF (@@TRANCOUNT > 0) 
 ROLLBACK TRANSACTION;
 
 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

Used By

No items found