dbo.MG_PEMI_RPT_KB_KB

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_PEMI_RPT_KB_KB
@PARAMETER xml 
--with encryption
as
DECLARE @xStsnoheader varchar(2),
  @xStsno varchar(2),
  @xStsdes varchar(100)
SET @xStsnoheader='03'
SET @xStsno='00';
SET @xStsdes='sukses'

DECLARE @XmlSts xml
DECLARE @raw xml

 
DECLARE @rowspage int,
  @page int,
  @desc int,
  @sort varchar(255) ,
    @date_printed date ,
   @start_date date,
    @end_date date,
   @mode int,
  @format varchar(255),
  @source varchar(255)
SELECT
 @rowspage=isnull(tempTable.xItem.value('@rowspage', 'int'),50) ,
 @page=isnull(tempTable.xItem.value('@page', 'int'),1) ,
 @desc=isnull(tempTable.xItem.value('@desc', 'bit'),0) ,
 @sort=isnull(tempTable.xItem.value('@sort', 'varchar(255)'),'rID') ,
 @date_printed= isnull(tempTable.xItem.value('date_printed[1]', 'varchar(255)'),'')   ,
 @start_date=dbo.str_to_date(tempTable.xItem.value('start_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)'),'All') 
FROM @PARAMETER.nodes('param/field')  tempTable(xItem)


declare @PeriodeName varchar(255)
declare @PeriodeName2 varchar(255)

set @PeriodeName=  'PERIODE ' +  dbo.dateToIndStr(@start_date) +' S.D ' + dbo.dateToIndStr( @end_date)
set @PeriodeName2=  ': ' + dbo.dateToIndStr(@start_date) +' S.D ' + dbo.dateToIndStr( @end_date)
 
declare @maxdec int

set @maxdec=(SELECT        MAX(set_decimal.detail_total) AS Expr1
FROM            set_decimal INNER JOIN
                         enum_bc_type ON set_decimal.bc_type_id = enum_bc_type.bc_type_id
WHERE        (enum_bc_type.x = 1))

if @maxdec is null
set @maxdec=4
 

DECLARE @motherboard_id varchar(255)
DECLARE @XMLValidString varchar(max)


DECLARE @max_dec_detail_unit int
, @max_dec_detail_total int
, @max_dec_detail_bruto int
, @max_dec_detail_netto int
, @max_dec_header_total int
, @max_dec_header_valuta int
, @max_dec_header_tambahan int
, @max_dec_header_diskon int
, @max_dec_header_asuransi int
, @max_dec_header_freight int
 
IF @max_dec_detail_unit is null
 SET @max_dec_detail_unit=4
IF @max_dec_detail_total is null
 SET @max_dec_detail_total=4
IF @max_dec_header_total is null
 SET @max_dec_header_total=2
IF @max_dec_header_tambahan is null
 SET @max_dec_header_tambahan=2
IF @max_dec_header_diskon is null
 SET @max_dec_header_diskon=2
IF @max_dec_header_asuransi is null
 SET @max_dec_header_asuransi=2
IF @max_dec_header_freight is null
 SET @max_dec_header_freight=2
IF @max_dec_header_valuta is null
 SET @max_dec_header_valuta=2
IF @max_dec_detail_bruto is null
 SET @max_dec_detail_bruto=2
IF @max_dec_detail_netto is null
 SET @max_dec_detail_netto=2
  

IF @format =''
SET @format='pdf'

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

DECLARE @XMLMAPING xml
DECLARE @TABELDATA varchar(max)
SET @XMLMAPING =
' + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="NOMOR_AJU" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="NOMOR_DAFTAR" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="TANGGAL_DAFTAR" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="URAIAN" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="JUMLAH_SATUAN" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="KODE_SATUAN" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="CIF" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="KODE_VALUTA" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="NDPBM" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="CIF_RUPIAH" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="TANGGAL_REKAM" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="KETERANGAN" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="NOMOR_INVOICE" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="CIF" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="BRUTO" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="JUMLAH_KEMASAN" > + case when @mode =2 then  '0' else '1' end  + 
'" iSearchtype="1" iSearchByPassLike ="0" iname="KODE_KEMASAN" > '

set @TABELDATA=
' FROM dbo.fn_rpt_kb_kb(''' + convert(varchar(10),@start_date,121) +''',''' + convert(varchar(10),@end_date,121) +''', '''+ @source +
''') '

DECLARE  
 
  @OutSortBy varchar(255),
  @rumusWhere varchar(max) ,
     @search xml,
     @fixWhere varchar(2000)
   
      set @fixWhere=''
  
EXEC  [dbo].[MyRUMUSWhereAndSortView]
  @PARAMETER =@PARAMETER,
  @XMLMAPING = @XMLMAPING,
  @fixWhere = @fixWhere,
  @Sort =@sort,
  @desc = @desc,
  @OutSortBy = @OutSortBy OUTPUT,
  @rumusWhere = @rumusWhere OUTPUT,
  @search = @search OUTPUT;
DECLARE @SQLString nvarchar(MAX);
DECLARE @ParmDefinition nvarchar(MAX);
print @rumusWhere
--OLAH DETAIL +++++++++++++++++++++
declare @jmlrow bigint;
SET @SQLString = 
N' set @jmlrow=( SELECT count(*) ' 
+@TABELDATA
+ @rumusWhere + ' )' ;
SET @ParmDefinition = N'@jmlrow bigint OUTPUT';
EXECUTE sp_executesql  @SQLString, @ParmDefinition,
@jmlrow = @jmlrow OUTPUT 
  
declare @detail xml
declare @totalpages bigint


declare @SISAROWS bigint
set @SISAROWS =@jmlrow % @rowspage

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

   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

set  @detail=(
    SELECT  top 1   
   @sort as 'sort' , 
   @desc as 'desc' , 
   @rowspage as 'rowspage' , 
   @jmlrow as 'rows' , 
   @totalpages as 'pages' ,
   @PeriodeName as 'periode_name',
   @PeriodeName2 as 'param1',
   @PeriodeName2 as 'param2',
   @PT_NAME as 'nama_pt',
   @maxdec as 'max_decimal_digit_price',
   @xlsreadonly as 'xls_readonly',
   dbo.additional_info(3110) as 'ada_invoice',
   CONVERT(varchar(255),NEWID()) as 'report_ID'
   FROM         APP_SETTING
   for xml path('detail') )
 

--OLAH DATA +++++++++++++++++++++
SET @SQLString = 
N' set @raw=( SELECT rn,rID,r1,r2,r3, r4, r5, r6, r7, r8,r9,r10,r11,r12,r13,r14,r15, r16,r17 FROM( SELECT ' + 
case when @mode =2 then 
--'ROW_NUMBER() OVER(ORDER BY recieve_date,bc_type_name,doc_date,doc_no) as rn, '
'ROW_NUMBER() OVER(ORDER BY data_source) as rn, '
else 
'ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy + ') as rn, '
end + 
' id AS rID, NOMOR_AJU AS r1, NOMOR_DAFTAR AS r2, TANGGAL_DAFTAR AS r3, URAIAN AS r4, JUMLAH_SATUAN AS r5, KODE_SATUAN AS r6, CIF_RUPIAH AS r7, KODE_VALUTA AS r8, NDPBM AS r9, CIF_RUPIAH AS r10, TANGGAL_REKAM AS r11, KETERANGAN AS r12, NOMOR_INVOICE AS r13, CIF AS r14, BRUTO AS r15, JUMLAH_KEMASAN AS r16, KODE_KEMASAN AS r17 ' 
+ @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'@raw XML OUTPUT';
EXECUTE sp_executesql  @SQLString, @ParmDefinition,
@raw = @raw OUTPUT 
 
print @SQLString 
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