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
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