dbo.MG_MS_FIND_KPBC

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_KPBC
@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_uom tp_find_uom 
  if @rows>0 
   begin 

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

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

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

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

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