dbo.OlahFindViewTypeAll

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
@PATH varchar 10
@FIELD_TABLE varchar 250
@TYPE int 4
@BYPASS_LIKE bit 1
@RESULT1 varchar 1000
@RESULT2 varchar 1000

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create procedure dbo.OlahFindViewTypeAll
@PARAMETER xml,
@PATH varchar(10),
@FIELD_TABLE varchar(250) ,
@TYPE int , --1= STRING ,2=ANGKA , 3=DATETIME
@BYPASS_LIKE bit,
@RESULT1 varchar(1000) output,
@RESULT2 varchar(1000) output 
WITH 
---XencX---encryption ,
EXECUTE AS CALLER
AS
BEGIN
 set @RESULT1=''
 set @RESULT2=''

DECLARE @SQLString nvarchar(MAX);
DECLARE @ParmDefinition nvarchar(MAX);
declare @x_cr bit,
  @x_lr bit,
  @x_ll bit,
  @x_ft varchar(255),
  @x_d1 varchar(255),
  @x_d2 varchar(255),
  @x_cn int
  
if @TYPE=3
begin
--CN //1:equal , 2:< , 3:> , 4:between
 SET @SQLString = 
N'SELECT @x_cn=isnull(tempTable.xItem.value(''@cn'', ''int''),0) , @x_d1=isnull(tempTable.xItem.value(''@d1'', ''varchar(255)''),'') , @x_d2=isnull(tempTable.xItem.value(''@d2'', ''varchar(255)''),'') , @x_cr=isnull(tempTable.xItem.value(''@cr'', ''bit''),1) FROM @PARAMETER.nodes(''param/search/' + @PATH + ''') tempTable(xItem)'
    SET @ParmDefinition = N'@PARAMETER xml, @x_cr bit OUTPUT, @x_d1 varchar(255) OUTPUT, @x_d2 varchar(255) OUTPUT, @x_cn int OUTPUT';
 EXECUTE sp_executesql  @SQLString, @ParmDefinition,
 @PARAMETER=@PARAMETER,
 @x_cr=@x_cr OUTPUT,
 @x_d1=@x_d1 OUTPUT,
 @x_d2=@x_d2 OUTPUT,
 @x_cn=@x_cn OUTPUT 

 if (@x_cn=4)
 begin
  set @RESULT1= ' (convert(datetime,xsupplier_receiver.modify_date ,112) between convert(datetime, ''' + @x_d1 + ''',112) and convert(datetime, ''' + @x_d2 + ''',112)) and ' ;
  set @RESULT2= 'between ' + convert(varchar(255),convert(datetime,   @x_d1     ,112),103) + ' until ' + convert(varchar(255),convert(datetime,   @x_d2     ,112),103);
 end
 else
 begin
    if (@x_cn=1)
   begin
   set @RESULT1=  ' (convert(datetime,xsupplier_receiver.modify_date ,112) = convert(datetime, ''' + @x_d1 + ''',112)) and ' ;
   set @RESULT2= '= ' + convert(varchar(255),convert(datetime,   @x_d1     ,112),103) ;
   end
    else if (@x_cn=2)
   begin
   set @RESULT1=  ' (convert(datetime,xsupplier_receiver.modify_date ,112) < convert(datetime, ''' + @x_d1 + ''',112)) and ' ;
   set @RESULT2= '< ' + convert(varchar(255),convert(datetime,   @x_d1     ,112),103);
   end
    else if (@x_cn=3)
   begin
   set @RESULT1=  ' (convert(datetime,xsupplier_receiver.modify_date ,112) > convert(datetime, ''' + @x_d1 + ''',112)) and ' ;
   set @RESULT2= '> ' + convert(varchar(255),convert(datetime,   @x_d1     ,112),103);
   end
 end
end
else
begin

  
  SET @SQLString = 
N'SELECT @x_ft=isnull(tempTable.xItem.value(''@ft'', ''varchar(255)''),'''') , @x_lr=isnull(tempTable.xItem.value(''@lr'', ''bit''),0) , @x_ll=isnull(tempTable.xItem.value(''@ll'', ''bit''),0) ,@x_cr=isnull(tempTable.xItem.value(''@cr'', ''bit''),0) FROM @PARAMETER.nodes(''param/search/'+ @PATH + ''') tempTable(xItem) '
  SET @ParmDefinition = N'@PARAMETER xml, @x_cr bit OUTPUT, @x_lr bit OUTPUT, @x_ll bit OUTPUT, @x_ft varchar(255) OUTPUT';
 EXECUTE sp_executesql  @SQLString, @ParmDefinition,
 @PARAMETER=@PARAMETER,
 @x_cr=@x_cr OUTPUT,
 @x_lr=@x_lr OUTPUT,
 @x_ll=@x_ll OUTPUT,
 @x_ft=@x_ft OUTPUT 
    
 if @x_cr =1
 begin
  if @BYPASS_LIKE=0 AND @TYPE=1
  begin
    if (@x_lr=1) set @x_ft= @x_ft + '%' ;
   if (@x_ll=1) set @x_ft= '%' +  @x_ft ;
   if ((@x_lr=1) or (@x_lr=1) ) 
       set @x_ft= ' like ''' + @x_ft + '''';
      
   else
    set @x_ft= ' = ''' + @x_ft + '''';
   end
  else
  begin
    if @TYPE=1
      set @x_ft= ' = ''' + @x_ft + '''';
    else if @TYPE=2
      set @x_ft= ' = ' + @x_ft ;
      
  
  end

  if @x_ft =''
  set @RESULT2= '';
  else
  set @RESULT2= ltrim(rtrim(@x_ft));
  
  set @RESULT1=' (' + @FIELD_TABLE + ' ' + @x_ft + ') and ';
 end 
END  
     RETURN( 1)
END;


GO

Depends On

No items found

Used By

No items found