NJC__Documentation::DB

dbo.MG_MS_FIND_PART_CUSTOM

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_FIND_PART_CUSTOM
@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 tp_find 
  if @rows>0 
   begin 

  if (select count(*) from @tp_find)<@rows
  begin 
  insert into @tp_find(code, name)
  SELECT        ms_item_custom_no, ms_item_custom_name
  FROM            dt_ms_item_custom
   where (ms_item_custom_no like   @findtext + '%')  
  and len(isnull(ms_item_custom_no,''))>0
  and not exists (
   select * from @tp_find as xfilter
   where dt_ms_item_custom.ms_item_custom_no=xfilter.code 
  ) 
  order by   ms_item_custom_no desc, len(isnull(ms_item_custom_no,''))
  end

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

   insert into @tp_find(code, name)
   SELECT        ms_item_custom_no, ms_item_custom_name
   FROM            dt_ms_item_custom
    where (ms_item_custom_name like   @findtext + '%')  
   and len(isnull(ms_item_custom_name,''))>0
   and not exists (
   select * from @tp_find as xfilter
   where dt_ms_item_custom.ms_item_custom_no=xfilter.code 
   ) 
    order by   ms_item_custom_name asc, len(isnull(ms_item_custom_name,'')) 
  end
  
  
  if (select count(*) from @tp_find)<@rows
  begin 
  insert into @tp_find(code, name)
  SELECT        ms_item_custom_no, ms_item_custom_name
  FROM            dt_ms_item_custom
   where (ms_item_custom_no like '%' + @findtext + '%')  
  and len(isnull(ms_item_custom_no,''))>0
  and not exists (
   select * from @tp_find as xfilter
   where dt_ms_item_custom.ms_item_custom_no=xfilter.code 
  ) 
  order by   ms_item_custom_no desc, len(isnull(ms_item_custom_no,''))
  end

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

   insert into @tp_find(code, name)
   SELECT        ms_item_custom_no, ms_item_custom_name
   FROM            dt_ms_item_custom
    where (ms_item_custom_name like '%' +  @findtext + '%')  
   and len(isnull(ms_item_custom_name,''))>0
   and not exists (
   select * from @tp_find as xfilter
   where dt_ms_item_custom.ms_item_custom_no=xfilter.code 
   ) 
    order by   ms_item_custom_name asc, len(isnull(ms_item_custom_name,'')) 
  end
    
end
 set @raw=(
 select 
 code as rID , 
 name as r1 
 from @tp_find
 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

 --exec MG_MS_FIND_PART_CUSTOM
 --'12dbo.MG_MS_FIND_PART_CUSTOM2::1p 10'
GO

Depends On

1

Used By

No items found