NJC__Documentation::DB

dbo.MG_MS_ITEM_FIND_ASSETS_LIST

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_FIND_ASSETS_LIST
@PARAMETER xml='' 
---XencX---with encryption
as
SET NOCOUNT ON 
declare @xStsnoheader varchar(2),
  @xStsno varchar(2),
  @xStsdes varchar(100)
  
set @xStsnoheader='05'
set @xStsno='00';
set @xStsdes='sukses'

  
declare @XmlSts xml
declare @raw xml 

declare  @findtext varchar(255), 
   @rows int 

 SELECT
  @findtext=ltrim(rtrim(isnull(tempTable.item.value('findtext[1]', 'varchar(255)'),''))) ,
   @rows=isnull(tempTable.item.value('rows[1]', 'int'),0)  
   FROM @PARAMETER.nodes('param/field')  tempTable(item)
 -- CHECK supp_code_old
 
DECLARE @SQLString nvarchar(2000);
DECLARE @ParmDefinition nvarchar(1000);

 SET @findtext= replace(@findtext ,'[', '[[]')
 SET @findtext= replace(@findtext ,'''', '''''')
 SET @findtext= replace(@findtext ,'%','[%]')
 SET @findtext= replace(@findtext ,'_','[_]')
 SET @findtext= replace(@findtext ,'*','%')

 declare @TOP varchar(100);
 declare @xcari varchar(60)
 declare @where varchar(1000)
     
 --declare @tp_find_id_int tp_find_id_int
 declare @tp_find_id_int table(
  id bigint
  , name varchar(max)
 )

  if @rows>0 
   begin 

  if (select count(*) from @tp_find_id_int)<@rows
  begin 
  insert into @tp_find_id_int(id, name)
  SELECT    top (@rows-(select count(*) from @tp_find_id_int))         assets_list_id, assets_number
  FROM            vw_ms_assets_list
   where (assets_number like   @findtext + '%')  
  and len(isnull(assets_number,''))>0
  and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_assets_list.assets_list_id=xfilter.id 
  ) 
  order by   assets_list_id desc, len(isnull(assets_list_id,''))
  end

  if (select count(*) from @tp_find_id_int)<@rows
  begin 

   insert into @tp_find_id_int(id, name)
   SELECT    top (@rows-(select count(*) from @tp_find_id_int))         assets_list_id, assets_number
   FROM            vw_ms_assets_list
    where (assets_number like   @findtext + '%')  
   and len(isnull(assets_number,''))>0
   and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_assets_list.assets_list_id=xfilter.id 
   ) 
    order by   assets_number asc, len(isnull(assets_number,'')) 
  end
  
  
  if (select count(*) from @tp_find_id_int)<@rows
  begin 
  insert into @tp_find_id_int(id, name)
  SELECT    top (@rows-(select count(*) from @tp_find_id_int))         assets_list_id, assets_number
  FROM            vw_ms_assets_list
   where (assets_list_id like '%' + @findtext + '%')  
  and len(isnull(assets_list_id,''))>0
  and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_assets_list.assets_list_id=xfilter.id 
  ) 
  order by   assets_list_id desc, len(isnull(assets_list_id,''))
  end

 
  if (select count(*) from @tp_find_id_int)<@rows
  begin 

   insert into @tp_find_id_int(id, name)
   SELECT    top (@rows-(select count(*) from @tp_find_id_int))         assets_list_id, assets_number
   FROM            vw_ms_assets_list
    where (assets_number like '%' +  @findtext + '%')  
   and len(isnull(assets_number,''))>0
   and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_assets_list.assets_list_id=xfilter.id 
   ) 
    order by   assets_number asc, len(isnull(assets_number,'')) 
  end

end
 set @raw=(
 select 
 id as rID , 
 name as r1 
 from @tp_find_id_int
 for xml path ('xrow')) 

SET NOCOUNT OFF
f:

set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
   select  CAST( (select @XmlSts,@raw    for xml path ('result')
)  as XML)  as dt

GO

Depends On

1

Used By

No items found