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_BC_IN_IMPORT_LOAD_CEISA
@PARAMETER xml
---XencX---with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET NOCOUNT ON
declare @xStsnoheader varchar(2)
,@xStsno varchar(2)
,@xStsdes varchar(max)
,@XmlSts xml
,@raw xml
,@rowspage int
,@page int
,@desc int
,@sort varchar(255)
,@rowformat varchar(255)
,@XMLMAPING xml
,@TABELDATA varchar(max)
,@OutSortBy varchar(255)
,@rumusWhere varchar(max)
,@search xml
,@SQLString nvarchar(MAX)
,@fixWhere nvarchar(2000)
,@ParmDefinition nvarchar(MAX)
,@detail xml
,@totalpages bigint
,@rowJSON varchar(max),@bc_prefix varchar(255) ,@category int
;
set @xStsnoheader='01';
set @xStsno='00';
set @xStsdes='Success';
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')
,@rowformat=isnull(tempTable.xItem.value('@rowformat', 'varchar(255)'),'xml')
,@bc_prefix=left(ltrim(rtrim(isnull(tempTable.xItem.value('bc_prefix[1]', 'varchar(305)'),''))),255)
,@category=isnull(tempTable.xItem.value('category[1]', 'int'),1)
FROM @PARAMETER.nodes('param/field') tempTable(xItem)
----#####START SOURCE#####
----SELECT ID, NOMOR_AJU, NOMOR_DAFTAR, TANGGAL_DAFTAR, ID_PENERIMA_BARANG, KODE_ID_PENERIMA_BARANG, NOMOR_IJIN_TPB_PENERIMA, NAMA_PENERIMA_BARANG, ALAMAT_PENERIMA_BARANG, KODE_VALUTA, NDPBM
----FROM vw_ms_ceisa_header;
----#####END SOURCE#####
set @XMLMAPING =
'
';
set @TABELDATA=
' FROM vw_ms_ceisa_header ';
if @category=14
set @TABELDATA=
' FROM vw_ms_ceisa_header_14 ';
else if @category=13
set @TABELDATA=
' FROM vw_ms_ceisa_header_13 ';
else if @category=12
set @TABELDATA=
' FROM vw_ms_ceisa_header_12 ';
set @fixWhere =
'(NOT EXISTS ( select ID_HEADER_ORI from (SELECT dt_ms_tpb_in_header.ID_HEADER_ORI FROM dt_ms_tpb_in_header INNER JOIN dt_ms_tpb_in_header_h_status ON dt_ms_tpb_in_header.dt_ms_tpb_in_header_h_status_id = dt_ms_tpb_in_header_h_status.dt_ms_tpb_in_header_h_status_id WHERE (NOT (dt_ms_tpb_in_header_h_status.status_tpb_in_id = - 1)) ) filterid where vw_ms_ceisa_header'+ case when @category =-1 then '' else '_' + cast(@category as varchar(255)) end +
'.id =filterid.ID_HEADER_ORI ) AND (KODE_DOKUMEN_PABEAN=''' + @bc_prefix +
''') AND (nullif(NOMOR_DAFTAR,'''') is not null) ) AND ';
EXEC [dbo].[MyRUMUSWhereAndSortView10]
@PARAMETER =@PARAMETER
,@XMLMAPING = @XMLMAPING
,@fixWhere =@fixWhere
,@Sort =@sort
,@desc = @desc
,@OutSortBy = @OutSortBy OUTPUT
,@rumusWhere = @rumusWhere OUTPUT
,@search = @search OUTPUT;
--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 @SISAROWS bigint
set @SISAROWS =@jmlrow % @rowspage
if @SISAROWS=0
set @totalpages= @jmlrow/@rowspage
Else
set @totalpages= ((@jmlrow-@SISAROWS)/@rowspage) + 1;
set @detail=(
select
@sort as 'sort'
,@desc as 'desc'
,@rowspage as 'rowspage'
,@jmlrow as 'rows'
,@totalpages as 'pages'
,@search as 'search'
for xml path('detail') )
if Upper(@rowformat)='XML'
begin
SET @SQLString =
N' set @raw=( SELECT rn , rID , rsc , rs , r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9 , r10 , ri FROM( SELECT ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy +
') as rn , ID AS rID , NOMOR_AJU AS r1 , KODE_STATUS AS rsc , URAIAN_STATUS AS rs , NOMOR_DAFTAR AS r2 , dbo.date_to_str(TANGGAL_DAFTAR as date) AS r3 , (case when KODE_DOKUMEN_PABEAN =''23'' then ID_PEMASOK else ID_PENGIRIM end) AS r4 , (case when KODE_DOKUMEN_PABEAN =''23'' then KODE_ID_PEMASOK else KODE_ID_PENGIRIM end) AS r5 , '''' AS r6 , (case when KODE_DOKUMEN_PABEAN =''23'' then NAMA_PEMASOK else NAMA_PENGIRIM end) AS r7 , (case when KODE_DOKUMEN_PABEAN =''23'' then ALAMAT_PEMASOK else ALAMAT_PENGIRIM end) r8 , KODE_VALUTA AS r9 , cast(NDPBM AS decimal(18,4)) AS r10 , invoice_no as ri '
+ @TABELDATA + @rumusWhere + ' ) XDATA '
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'')) '
SET @ParmDefinition = N'@raw XML OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@raw = @raw OUTPUT
end
else if Upper(@rowformat)='JSON'
begin
SET @SQLString =
N' set @rowJSON=(''['' + STUFF(( SELECT '',{"rn":"'' + dbo.JSONEscaped(rn) + ''","rID":"'' + dbo.JSONEscaped(rID) + ''","rsc":"'' + dbo.JSONEscaped(rsc) + ''","rs":"'' + dbo.JSONEscaped(rs) + ''","r1":"'' + dbo.JSONEscaped(r1) + ''","r2":"'' + dbo.JSONEscaped(r2) + ''","r3":"'' + dbo.JSONEscaped(r3) + ''","r4":"'' + dbo.JSONEscaped(r4) + ''","r5":"'' + dbo.JSONEscaped(r5) + ''","r6":"'' + dbo.JSONEscaped(r6) + ''","r7":"'' + dbo.JSONEscaped(r7) + ''","r8":"'' + dbo.JSONEscaped(r8) + ''","r9":"'' + dbo.JSONEscaped(r9) + ''","r10":"'' + dbo.JSONEscaped(r10) + ''","ri":"'' + dbo.JSONEscaped(ri) + ''"}'' FROM( SELECT ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy +
') as rn , ID AS rID , KODE_STATUS AS rsc , URAIAN_STATUS AS rs , NOMOR_AJU AS r1 , NOMOR_DAFTAR AS r2 , dbo.date_to_str(TANGGAL_DAFTAR ) AS r3 , (case when KODE_DOKUMEN_PABEAN =''23'' then ID_PEMASOK else ID_PENGIRIM end) AS r4 , (case when KODE_DOKUMEN_PABEAN =''23'' then KODE_ID_PEMASOK else KODE_ID_PENGIRIM end) AS r5 , '''' AS r6 , (case when KODE_DOKUMEN_PABEAN =''23'' then NAMA_PEMASOK else NAMA_PENGIRIM end) AS r7 , (case when KODE_DOKUMEN_PABEAN =''23'' then ALAMAT_PEMASOK else ALAMAT_PENGIRIM end) r8 , KODE_VALUTA AS r9 , cast(NDPBM AS decimal(18,4)) AS r10 , invoice_no as ri '
+ @TABELDATA + @rumusWhere + ' ) XDATA '
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(''''), type ).value(''.'', ''varchar(max)''), 1, 1, '''') + '']'')';
SET @ParmDefinition = N'@rowJSON varchar(max) OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@rowJSON = @rowJSON OUTPUT
set @rowJSON ='{"page":"'+ cast(@page as varchar(255)) + '","total":"' + cast(@totalpages as varchar(255)) + '","records":"' + cast(@jmlrow as varchar(255)) +'","rows":' + isnull(@rowJSON,'{}') + '}'
end
f:
set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
SET NOCOUNT OFF
select CAST( (select @XmlSts,@detail,@raw , @rowJSON as jsondata for xml path ('result')) as XML) as dt
GO
GO
CREATE PROCEDURE dbo.MG_MS_BC_IN_IMPORT_LOAD_CEISA
@PARAMETER xml
---XencX---with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET NOCOUNT ON
declare @xStsnoheader varchar(2)
,@xStsno varchar(2)
,@xStsdes varchar(max)
,@XmlSts xml
,@raw xml
,@rowspage int
,@page int
,@desc int
,@sort varchar(255)
,@rowformat varchar(255)
,@XMLMAPING xml
,@TABELDATA varchar(max)
,@OutSortBy varchar(255)
,@rumusWhere varchar(max)
,@search xml
,@SQLString nvarchar(MAX)
,@fixWhere nvarchar(2000)
,@ParmDefinition nvarchar(MAX)
,@detail xml
,@totalpages bigint
,@rowJSON varchar(max),@bc_prefix varchar(255) ,@category int
;
set @xStsnoheader='01';
set @xStsno='00';
set @xStsdes='Success';
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')
,@rowformat=isnull(tempTable.xItem.value('@rowformat', 'varchar(255)'),'xml')
,@bc_prefix=left(ltrim(rtrim(isnull(tempTable.xItem.value('bc_prefix[1]', 'varchar(305)'),''))),255)
,@category=isnull(tempTable.xItem.value('category[1]', 'int'),1)
FROM @PARAMETER.nodes('param/field') tempTable(xItem)
----#####START SOURCE#####
----SELECT ID, NOMOR_AJU, NOMOR_DAFTAR, TANGGAL_DAFTAR, ID_PENERIMA_BARANG, KODE_ID_PENERIMA_BARANG, NOMOR_IJIN_TPB_PENERIMA, NAMA_PENERIMA_BARANG, ALAMAT_PENERIMA_BARANG, KODE_VALUTA, NDPBM
----FROM vw_ms_ceisa_header;
----#####END SOURCE#####
set @XMLMAPING =
'
set @TABELDATA=
' FROM vw_ms_ceisa_header ';
if @category=14
set @TABELDATA=
' FROM vw_ms_ceisa_header_14 ';
else if @category=13
set @TABELDATA=
' FROM vw_ms_ceisa_header_13 ';
else if @category=12
set @TABELDATA=
' FROM vw_ms_ceisa_header_12 ';
set @fixWhere =
'(NOT EXISTS ( select ID_HEADER_ORI from (SELECT dt_ms_tpb_in_header.ID_HEADER_ORI FROM dt_ms_tpb_in_header INNER JOIN dt_ms_tpb_in_header_h_status ON dt_ms_tpb_in_header.dt_ms_tpb_in_header_h_status_id = dt_ms_tpb_in_header_h_status.dt_ms_tpb_in_header_h_status_id WHERE (NOT (dt_ms_tpb_in_header_h_status.status_tpb_in_id = - 1)) ) filterid where vw_ms_ceisa_header'+ case when @category =-1 then '' else '_' + cast(@category as varchar(255)) end +
'.id =filterid.ID_HEADER_ORI ) AND (KODE_DOKUMEN_PABEAN=''' + @bc_prefix +
''') AND (nullif(NOMOR_DAFTAR,'''') is not null) ) AND ';
EXEC [dbo].[MyRUMUSWhereAndSortView10]
@PARAMETER =@PARAMETER
,@XMLMAPING = @XMLMAPING
,@fixWhere =@fixWhere
,@Sort =@sort
,@desc = @desc
,@OutSortBy = @OutSortBy OUTPUT
,@rumusWhere = @rumusWhere OUTPUT
,@search = @search OUTPUT;
--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 @SISAROWS bigint
set @SISAROWS =@jmlrow % @rowspage
if @SISAROWS=0
set @totalpages= @jmlrow/@rowspage
Else
set @totalpages= ((@jmlrow-@SISAROWS)/@rowspage) + 1;
set @detail=(
select
@sort as 'sort'
,@desc as 'desc'
,@rowspage as 'rowspage'
,@jmlrow as 'rows'
,@totalpages as 'pages'
,@search as 'search'
for xml path('detail') )
if Upper(@rowformat)='XML'
begin
SET @SQLString =
N' set @raw=( SELECT rn , rID , rsc , rs , r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9 , r10 , ri FROM( SELECT ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy +
') as rn , ID AS rID , NOMOR_AJU AS r1 , KODE_STATUS AS rsc , URAIAN_STATUS AS rs , NOMOR_DAFTAR AS r2 , dbo.date_to_str(TANGGAL_DAFTAR as date) AS r3 , (case when KODE_DOKUMEN_PABEAN =''23'' then ID_PEMASOK else ID_PENGIRIM end) AS r4 , (case when KODE_DOKUMEN_PABEAN =''23'' then KODE_ID_PEMASOK else KODE_ID_PENGIRIM end) AS r5 , '''' AS r6 , (case when KODE_DOKUMEN_PABEAN =''23'' then NAMA_PEMASOK else NAMA_PENGIRIM end) AS r7 , (case when KODE_DOKUMEN_PABEAN =''23'' then ALAMAT_PEMASOK else ALAMAT_PENGIRIM end) r8 , KODE_VALUTA AS r9 , cast(NDPBM AS decimal(18,4)) AS r10 , invoice_no as ri '
+ @TABELDATA + @rumusWhere + ' ) XDATA '
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'')) '
SET @ParmDefinition = N'@raw XML OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@raw = @raw OUTPUT
end
else if Upper(@rowformat)='JSON'
begin
SET @SQLString =
N' set @rowJSON=(''['' + STUFF(( SELECT '',{"rn":"'' + dbo.JSONEscaped(rn) + ''","rID":"'' + dbo.JSONEscaped(rID) + ''","rsc":"'' + dbo.JSONEscaped(rsc) + ''","rs":"'' + dbo.JSONEscaped(rs) + ''","r1":"'' + dbo.JSONEscaped(r1) + ''","r2":"'' + dbo.JSONEscaped(r2) + ''","r3":"'' + dbo.JSONEscaped(r3) + ''","r4":"'' + dbo.JSONEscaped(r4) + ''","r5":"'' + dbo.JSONEscaped(r5) + ''","r6":"'' + dbo.JSONEscaped(r6) + ''","r7":"'' + dbo.JSONEscaped(r7) + ''","r8":"'' + dbo.JSONEscaped(r8) + ''","r9":"'' + dbo.JSONEscaped(r9) + ''","r10":"'' + dbo.JSONEscaped(r10) + ''","ri":"'' + dbo.JSONEscaped(ri) + ''"}'' FROM( SELECT ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy +
') as rn , ID AS rID , KODE_STATUS AS rsc , URAIAN_STATUS AS rs , NOMOR_AJU AS r1 , NOMOR_DAFTAR AS r2 , dbo.date_to_str(TANGGAL_DAFTAR ) AS r3 , (case when KODE_DOKUMEN_PABEAN =''23'' then ID_PEMASOK else ID_PENGIRIM end) AS r4 , (case when KODE_DOKUMEN_PABEAN =''23'' then KODE_ID_PEMASOK else KODE_ID_PENGIRIM end) AS r5 , '''' AS r6 , (case when KODE_DOKUMEN_PABEAN =''23'' then NAMA_PEMASOK else NAMA_PENGIRIM end) AS r7 , (case when KODE_DOKUMEN_PABEAN =''23'' then ALAMAT_PEMASOK else ALAMAT_PENGIRIM end) r8 , KODE_VALUTA AS r9 , cast(NDPBM AS decimal(18,4)) AS r10 , invoice_no as ri '
+ @TABELDATA + @rumusWhere + ' ) XDATA '
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(''''), type ).value(''.'', ''varchar(max)''), 1, 1, '''') + '']'')';
SET @ParmDefinition = N'@rowJSON varchar(max) OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@rowJSON = @rowJSON OUTPUT
set @rowJSON ='{"page":"'+ cast(@page as varchar(255)) + '","total":"' + cast(@totalpages as varchar(255)) + '","records":"' + cast(@jmlrow as varchar(255)) +'","rows":' + isnull(@rowJSON,'{}') + '}'
end
f:
set @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
SET NOCOUNT OFF
select CAST( (select @XmlSts,@detail,@raw , @rowJSON as jsondata for xml path ('result')) as XML) as dt
GO
Depends On
1Used By
No items found