NJC__Documentation::DB

dbo.MG_MS_ITEM_FIND_PART_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_PART_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 

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))         ms_item_id, part_no
  FROM            vw_ms_item_part_list_process
   where (part_no like   @findtext + '%')  
  and len(isnull(part_no,''))>0
  and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_item_part_list_process.ms_item_id=xfilter.id 
  ) 
  order by   ms_item_id desc, len(isnull(ms_item_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))        ms_item_id, part_no
   FROM            vw_ms_item_part_list_process
    where (part_no like   @findtext + '%')  
   and len(isnull(part_no,''))>0
   and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_item_part_list_process.ms_item_id=xfilter.id 
   ) 
    order by   part_no asc, len(isnull(part_no,'')) 
  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))         ms_item_id, part_no
  FROM            vw_ms_item_part_list_process
   where (ms_item_id like '%' + @findtext + '%')  
  and len(isnull(ms_item_id,''))>0
  and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_item_part_list_process.ms_item_id=xfilter.id 
  ) 
  order by   ms_item_id desc, len(isnull(ms_item_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))         ms_item_id, part_no
   FROM            vw_ms_item_part_list_process
    where (part_no like '%' +  @findtext + '%')  
   and len(isnull(part_no,''))>0
   and not exists (
   select * from @tp_find_id_int as xfilter
   where vw_ms_item_part_list_process.ms_item_id=xfilter.id 
   ) 
    order by   part_no asc, len(isnull(part_no,'')) 
 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

Used By

No items found