dbo.RPT_DYNAMIC_WIP

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

True

Execute As
Assembly

Parameters

Name Data Type Length Description
@PARAMETER xml -1

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE procedure dbo.RPT_DYNAMIC_WIP
@PARAMETER xml 
with encryption
as


declare @xStsnoheader varchar(2),
  @xStsno varchar(2),
  @xStsdes varchar(100)
set @xStsnoheader='03'
set @xStsno='00';
set @xStsdes='success'

declare @XmlSts xml
declare @raw xml



declare @rowspage int,
  @page int,
  @desc int,
  @sort varchar(255) ,
   @start_date date,
     @start_date_str varchar(2000),
     @end_date date,
     @end_date_str varchar(2000),
    @mode int,
  @format varchar(255),
  @source varchar(255)
SELECT
 @rowspage=isnull(tempTable.xItem.value('@rowspage', 'int'),0) ,
 @page=isnull(tempTable.xItem.value('@page', 'int'),1) ,
 @desc=isnull(tempTable.xItem.value('@desc', 'bit'),0) ,
 @sort=isnull(tempTable.xItem.value('@sort', 'varchar(255)'),'r1') ,
 @start_date_str=isnull(tempTable.xItem.value('start_date[1]', 'varchar(255)') ,'') ,
 @start_date=dbo.str_to_date(tempTable.xItem.value('start_date[1]', 'varchar(255)') ) ,
 @end_date_str=isnull(tempTable.xItem.value('end_date[1]', 'varchar(255)') ,'') ,
 @end_date=dbo.str_to_date(tempTable.xItem.value('end_date[1]', 'varchar(255)') ) ,
 @mode=isnull(tempTable.xItem.value('mode[1]', 'int'),1) ,
  @format=isnull(tempTable.xItem.value('format[1]', 'varchar(255)'),1) ,
  @source=isnull(tempTable.xItem.value('source[1]', 'varchar(255)'),'')  
FROM @PARAMETER.nodes('param/field')  tempTable(xItem)
declare @XMLMAPING xml
 

if @format =''
set @format='pdf'

declare @xlsreadonly bit
set @xlsreadonly=1
declare @additional_id int
declare @additional_value int

if @mode=2 and upper(ltrim(rtrim(@format)))<>'PDF'
begin
   if upper(ltrim(rtrim(@format)))='XLS' or upper(ltrim(rtrim(@format)))='XLSX'
 begin
  set @additional_id=3010
   set @additional_value= dbo.additional_info(@additional_id)
   if    @additional_value =1
  begin
   set @xlsreadonly=0
  end

  set @additional_id=3013
   set @additional_value= dbo.additional_info(@additional_id)
  if    @additional_value =0
  begin
   set @xStsno='06'
   set @xStsdes='Module Export to XLS/XLSX belum diaktifkan'
   goto f
  end
 end
 else
 begin

  set @xStsno='06'
  set @xStsdes='Module Export to ' + @format + ' belum diaktifkan'
  goto f

  end
end

 declare @PeriodeName varchar(255),
 @stock_date datetime,
 @closing_with_stock_opname bit ,
 @closing_stock_opname_id bigint,  
 @status_periode_id int

set @PeriodeName=   'WIP ' +  dbo.dateToIndStr( @start_date)   +' S.D ' + dbo.dateToIndStr( @end_date)  

declare @PT_NAME varchar(max)
  SELECT     TOP (1) @PT_NAME = isnull(CONVERT(varchar(MAX),DecryptByPassphrase('Ap4TanyaT4nya MauT4uAj4 4h'    , set_2)),'DEMO ONLY')  
 FROM         dt_app_set

 

 



  declare @TABELDATA varchar(max)
  declare  
 
    @OutSortBy varchar(255),
    @rumusWhere varchar(max) ,
     @search xml,
    @fixWhere varchar(2000)
    
  DECLARE @SQLString nvarchar(MAX);
  DECLARE @ParmDefinition nvarchar(MAX);

  --OLAH DETAIL +++++++++++++++++++++
  declare @jmlrow bigint;
  
  declare @detail xml
  declare @totalpages bigint
  
  declare @max_decimal_formula int
  set @max_decimal_formula=4;
  

  declare @SISAROWS bigint

 
   set @XMLMAPING =
  
' '
  
 set @TABELDATA=case when @source='wh' then 
' FROM gab_rpt_mutasi_wip_wh(@start_date,@end_date) ' when @source='aw' then 
' FROM gab_rpt_mutasi_wip_aw(@start_date,@end_date) ' else  
' FROM gab_rpt_mutasi_wip_all(@start_date,@end_date) '
  end   

     set @fixWhere=''
  EXEC  [dbo].[MyRUMUSWhereAndSortView]
    @PARAMETER =@PARAMETER,
    @XMLMAPING = @XMLMAPING,
    @fixWhere = @fixWhere,
    @Sort =@sort,
    @desc = @desc,
    @OutSortBy = @OutSortBy OUTPUT,
    @rumusWhere = @rumusWhere OUTPUT,
    @search = @search OUTPUT;
   
 SET @SQLString = 
N' set @jmlrow=( SELECT count(*) ' 
 +@TABELDATA
 + @rumusWhere + ' )' ;

 SET @ParmDefinition = N'@start_date date, @end_date date,@jmlrow bigint OUTPUT';
 EXECUTE sp_executesql  @SQLString, @ParmDefinition,
 @start_date=@start_date,
 @end_date=@end_date,
 @jmlrow = @jmlrow OUTPUT 

   
  set @SISAROWS =@jmlrow % @rowspage

   if @SISAROWS=0
    set @totalpages= @jmlrow/@rowspage
   else
    set @totalpages=  ((@jmlrow-@SISAROWS)/@rowspage) + 1
 
    

  set  @detail=(
      SELECT  top 1   
     @sort as 'sort' , 
     @desc as 'desc' , 
     @rowspage as 'rowspage' , 
     @jmlrow as 'rows' , 
     @totalpages as 'pages' ,
     @PeriodeName as 'periode_name',
     @PT_NAME as 'nama_pt',
      @xlsreadonly as 'xls_readonly',
     CONVERT(varchar(255),NEWID()) as 'report_ID'
     FROM         APP_SETTING

     for xml path('detail') )

  --OLAH DATA +++++++++++++++++++++
  
  SET @SQLString = 
N' set @raw=( SELECT rn,rn as rID,r1,r2,r3,r4,r5 FROM( SELECT ' + 
  case when @mode =1 then 
  'ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy + ') as rn, '  
  else 
  'ROW_NUMBER() OVER(ORDER BY barang_code) as rn, '  
  end + 
' barang_code AS r1, barang_name AS r2, satuan_code AS r3, qty AS r4, '''' AS r5 ' 
  + @TABELDATA + @rumusWhere   + ' ) XDATA '

  if (@mode =1)
  begin
  set @SQLString = @SQLString +      'WHERE rN BETWEEN (' + cast((@page) as varchar(max)) +' -1) * ' + cast(@ROWSPAGE  as varchar(max)) + 
' + 1 AND '+ CAST(@page * @ROWSPAGE as varchar(max))   + ' for xml PATH(''xrow'')) '
  end
  else
  begin
  set @SQLString = @SQLString +      ' for xml PATH(''xrow'')) '
  end

 SET @ParmDefinition = N'@start_date date, @end_date date,@raw XML OUTPUT';
 EXECUTE sp_executesql  @SQLString, @ParmDefinition,
 @start_date=@start_date,
 @end_date=@end_date,
 @raw = @raw OUTPUT 
  
  f:

set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))

 select  CAST( (select  @XmlSts,@detail,@raw   for xml path ('result')
)  as XML)  as dt;

GO

Used By

No items found