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.MG_MONITORING_SUAI
@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) ,
@sa_id bigint,
@inv_file varchar(255) ,
@date_printed date ,
@mode int,
@format 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') ,
@sa_id=isnull(tempTable.xItem.value('sa_id[1]', 'bigint'),-1),
@date_printed= isnull(tempTable.xItem.value('date_printed[1]', 'varchar(255)'),'') ,
@mode=isnull(tempTable.xItem.value('mode[1]', 'int'),1) ,
@format=isnull(tempTable.xItem.value('format[1]', 'varchar(255)'),'') ,
@inv_file = isnull(tempTable.xItem.value('inv_file[1]', 'varchar(255)'),'')
FROM @PARAMETER.nodes('param/field') tempTable(xItem)
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 @XMLMAPING xml
DECLARE @TABELDATA varchar(max)
SET @XMLMAPING =
'
+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_id">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.order_no">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.kind">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.wsize">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.article_code">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.qty_actual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.outstanding">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.order_no_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.kind_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.wsize_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.cust_part_aktual">+ case when @mode =1 then '1' ELSE '0' end +
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.qty_aktual"> '
SET @TABELDATA=
' FROM [DB_PASI_NEW].dbo.vw_suai_mon '
DECLARE
@OutSortBy varchar(255),
@rumusWhere varchar(max) ,
@search xml,
@fixWhere varchar(2000)
SET @fixWhere='sa_id = '''+CAST(@sa_id AS VARCHAR(50) )+''' and'
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);
SET @SQLString =
'SELECT ROW_NUMBER() OVER(PARTITION BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding ORDER BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding) as rgroup , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date , [DB_PASI_NEW].dbo.vw_suai_mon.order_no , [DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date , [DB_PASI_NEW].dbo.vw_suai_mon.kind , [DB_PASI_NEW].dbo.vw_suai_mon.wsize , [DB_PASI_NEW].dbo.vw_suai_mon.article_code , [DB_PASI_NEW].dbo.vw_suai_mon.qty_aju , [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual , [DB_PASI_NEW].dbo.vw_suai_mon.outstanding , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.order_no_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.kind_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.wsize_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.cust_part_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.qty_aktual , COUNT([DB_PASI_NEW].dbo.vw_suai_mon.sa_id) OVER (PARTITION BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding) '+ @TABELDATA + @rumusWhere
+
' ORDER BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding '
DECLARE @tableData tableOutSUAI_BC25
INSERT into @tableData (
urutgroup
,sa_invoice_no
, sa_invoice_date
,order_no
, etd_port_date
, kind
, wsize
, article_code
, qty_aju
, qty_actual
, outstanding
, sa_invoice_no_aktual
, sa_invoice_date_aktual
, etd_port_date_aktual
, order_no_aktual
, kind_aktual
, wsize_aktual
, cust_part_aktual
, qty_aktual
,row_span
)
exec (@SQLString)
UPDATE @tableData
SET
sa_invoice_no =null
, sa_invoice_date =NULL
, order_no = null
, etd_port_date =null
, kind =null
, wsize =null
, article_code =null
, qty_aju =null
, qty_actual =null
, outstanding =null
, row_span =0
where not(urutgroup=1)
DECLARE @table_penomoran BCPDokPenomoranSuai
INSERT into @table_penomoran
select nomorurut from @tableData
where urutgroup=1
DECLARE @jmlrow bigint
SET @jmlrow=(select count(*) from @table_penomoran)
DECLARE @jmldetail bigint
SET @jmldetail=(select count(*) from @tableData)
DECLARE @detail xml
SET @detail=(
SELECT top 1
@sort as 'sort' ,
@desc as 'desc' ,
@rowspage as 'rowspage' ,
@jmlrow as 'rows' ,
1 as 'pages' ,
@max_dec_detail_unit as 'max_dec_detail_unit',
@max_dec_detail_total as 'max_dec_detail_total',
@max_dec_header_total as 'max_dec_header_total',
@max_dec_detail_netto as 'max_dec_detail_bruto',
@max_dec_detail_bruto as 'max_dec_detail_netto',
CONVERT(varchar(255),NEWID()) as 'report_ID' ,
@inv_file AS 'sa_file'
for xml path('detail') )
SET @SQLString =
N' SET @raw = (SELECT tableData.nomorurut as rID , table_penomoran.nomorurut as rno , tableData.urutgroup as rn , tableData.urutgroup as r19 , tableData.row_span as rspan ,tableData.sa_invoice_no as r1 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.sa_invoice_date)' ELSE 'tableData.sa_invoice_date' end +
' AS r2 ,tableData.order_no as r3 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.etd_port_date)' ELSE 'tableData.etd_port_date' end +
' AS r4 , tableData.kind as r5 , tableData.wsize as r6 , tableData.article_code as r7 , ' + case when @mode=1 then 'cast(tableData.qty_aju as decimal(18,'+ cast(@max_dec_detail_unit as varchar(255)) +'))' ELSE 'tableData.qty_aju' end +
' AS r8 , ' + case when @mode=1 then 'cast(tableData.qty_actual as decimal(18,'+ cast(@max_dec_detail_unit as varchar(255)) +'))' ELSE 'tableData.qty_actual' end +
' AS r9 , ' + case when @mode=1 then 'cast(tableData.outstanding as decimal(18,'+ cast(@max_dec_detail_netto as varchar(255)) +'))' ELSE 'tableData.outstanding' end +
' AS r10 , tableData.sa_invoice_no_aktual as r11 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.sa_invoice_date_aktual)' ELSE 'tableData.sa_invoice_date_aktual' end +
' AS r12 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.etd_port_date_aktual)' ELSE 'tableData.etd_port_date_aktual' end +
' AS r13 , tableData.order_no_aktual as r14 , tableData.kind_aktual as r15 , tableData.wsize_aktual as r16 , tableData.cust_part_aktual as r17 , ' + case when @mode=1 then 'cast(tableData.qty_aktual as decimal(18,'+ cast(@max_dec_detail_netto as varchar(255)) +'))' ELSE 'tableData.qty_aktual' end +
' AS r18 FROM @tableData AS tableData LEFT OUTER JOIN @table_penomoran AS table_penomoran ON tableData.nomorurut = table_penomoran.nomorurut_tableData for xml path(''xrow'') ) '
SET @ParmDefinition =
N'@tableData tableOutSUAI_BC25 READONLY, @table_penomoran BCPDokPenomoranSuai READONLY, @raw XML OUTPUT';
EXECUTE sp_executesql
@SQLString
, @ParmDefinition
, @tableData=@tableData
, @table_penomoran=@table_penomoran
, @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
GO
CREATE PROCEDURE dbo.MG_MONITORING_SUAI
@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) ,
@sa_id bigint,
@inv_file varchar(255) ,
@date_printed date ,
@mode int,
@format 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') ,
@sa_id=isnull(tempTable.xItem.value('sa_id[1]', 'bigint'),-1),
@date_printed= isnull(tempTable.xItem.value('date_printed[1]', 'varchar(255)'),'') ,
@mode=isnull(tempTable.xItem.value('mode[1]', 'int'),1) ,
@format=isnull(tempTable.xItem.value('format[1]', 'varchar(255)'),'') ,
@inv_file = isnull(tempTable.xItem.value('inv_file[1]', 'varchar(255)'),'')
FROM @PARAMETER.nodes('param/field') tempTable(xItem)
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 @XMLMAPING xml
DECLARE @TABELDATA varchar(max)
SET @XMLMAPING =
'
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_id">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no">
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.order_no">
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.kind">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.wsize">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.article_code">
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju">
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.qty_actual">
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.outstanding">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no_aktual">
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date_aktual">
'" iSearchtype="3" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date_aktual">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.order_no_aktual">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.kind_aktual">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.wsize_aktual">
'" iSearchtype="1" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.cust_part_aktual">
'" iSearchtype="2" iSearchByPassLike="0" iname="[DB_PASI_NEW].dbo.vw_suai_mon.qty_aktual"> '
SET @TABELDATA=
' FROM [DB_PASI_NEW].dbo.vw_suai_mon '
DECLARE
@OutSortBy varchar(255),
@rumusWhere varchar(max) ,
@search xml,
@fixWhere varchar(2000)
SET @fixWhere='sa_id = '''+CAST(@sa_id AS VARCHAR(50) )+''' and'
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);
SET @SQLString =
'SELECT ROW_NUMBER() OVER(PARTITION BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding ORDER BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding) as rgroup , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date , [DB_PASI_NEW].dbo.vw_suai_mon.order_no , [DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date , [DB_PASI_NEW].dbo.vw_suai_mon.kind , [DB_PASI_NEW].dbo.vw_suai_mon.wsize , [DB_PASI_NEW].dbo.vw_suai_mon.article_code , [DB_PASI_NEW].dbo.vw_suai_mon.qty_aju , [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual , [DB_PASI_NEW].dbo.vw_suai_mon.outstanding , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_no_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.sa_invoice_date_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.etd_port_date_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.order_no_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.kind_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.wsize_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.cust_part_aktual , [DB_PASI_NEW].dbo.vw_suai_mon.qty_aktual , COUNT([DB_PASI_NEW].dbo.vw_suai_mon.sa_id) OVER (PARTITION BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding) '+ @TABELDATA + @rumusWhere
+
' ORDER BY [DB_PASI_NEW].dbo.vw_suai_mon.article_code ,[DB_PASI_NEW].dbo.vw_suai_mon.qty_aju, [DB_PASI_NEW].dbo.vw_suai_mon.qty_actual, [DB_PASI_NEW].dbo.vw_suai_mon.outstanding '
DECLARE @tableData tableOutSUAI_BC25
INSERT into @tableData (
urutgroup
,sa_invoice_no
, sa_invoice_date
,order_no
, etd_port_date
, kind
, wsize
, article_code
, qty_aju
, qty_actual
, outstanding
, sa_invoice_no_aktual
, sa_invoice_date_aktual
, etd_port_date_aktual
, order_no_aktual
, kind_aktual
, wsize_aktual
, cust_part_aktual
, qty_aktual
,row_span
)
exec (@SQLString)
UPDATE @tableData
SET
sa_invoice_no =null
, sa_invoice_date =NULL
, order_no = null
, etd_port_date =null
, kind =null
, wsize =null
, article_code =null
, qty_aju =null
, qty_actual =null
, outstanding =null
, row_span =0
where not(urutgroup=1)
DECLARE @table_penomoran BCPDokPenomoranSuai
INSERT into @table_penomoran
select nomorurut from @tableData
where urutgroup=1
DECLARE @jmlrow bigint
SET @jmlrow=(select count(*) from @table_penomoran)
DECLARE @jmldetail bigint
SET @jmldetail=(select count(*) from @tableData)
DECLARE @detail xml
SET @detail=(
SELECT top 1
@sort as 'sort' ,
@desc as 'desc' ,
@rowspage as 'rowspage' ,
@jmlrow as 'rows' ,
1 as 'pages' ,
@max_dec_detail_unit as 'max_dec_detail_unit',
@max_dec_detail_total as 'max_dec_detail_total',
@max_dec_header_total as 'max_dec_header_total',
@max_dec_detail_netto as 'max_dec_detail_bruto',
@max_dec_detail_bruto as 'max_dec_detail_netto',
CONVERT(varchar(255),NEWID()) as 'report_ID' ,
@inv_file AS 'sa_file'
for xml path('detail') )
SET @SQLString =
N' SET @raw = (SELECT tableData.nomorurut as rID , table_penomoran.nomorurut as rno , tableData.urutgroup as rn , tableData.urutgroup as r19 , tableData.row_span as rspan ,tableData.sa_invoice_no as r1 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.sa_invoice_date)' ELSE 'tableData.sa_invoice_date' end +
' AS r2 ,tableData.order_no as r3 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.etd_port_date)' ELSE 'tableData.etd_port_date' end +
' AS r4 , tableData.kind as r5 , tableData.wsize as r6 , tableData.article_code as r7 , ' + case when @mode=1 then 'cast(tableData.qty_aju as decimal(18,'+ cast(@max_dec_detail_unit as varchar(255)) +'))' ELSE 'tableData.qty_aju' end +
' AS r8 , ' + case when @mode=1 then 'cast(tableData.qty_actual as decimal(18,'+ cast(@max_dec_detail_unit as varchar(255)) +'))' ELSE 'tableData.qty_actual' end +
' AS r9 , ' + case when @mode=1 then 'cast(tableData.outstanding as decimal(18,'+ cast(@max_dec_detail_netto as varchar(255)) +'))' ELSE 'tableData.outstanding' end +
' AS r10 , tableData.sa_invoice_no_aktual as r11 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.sa_invoice_date_aktual)' ELSE 'tableData.sa_invoice_date_aktual' end +
' AS r12 , ' + case when @mode=1 then 'dbo.date_to_str(tableData.etd_port_date_aktual)' ELSE 'tableData.etd_port_date_aktual' end +
' AS r13 , tableData.order_no_aktual as r14 , tableData.kind_aktual as r15 , tableData.wsize_aktual as r16 , tableData.cust_part_aktual as r17 , ' + case when @mode=1 then 'cast(tableData.qty_aktual as decimal(18,'+ cast(@max_dec_detail_netto as varchar(255)) +'))' ELSE 'tableData.qty_aktual' end +
' AS r18 FROM @tableData AS tableData LEFT OUTER JOIN @table_penomoran AS table_penomoran ON tableData.nomorurut = table_penomoran.nomorurut_tableData for xml path(''xrow'') ) '
SET @ParmDefinition =
N'@tableData tableOutSUAI_BC25 READONLY, @table_penomoran BCPDokPenomoranSuai READONLY, @raw XML OUTPUT';
EXECUTE sp_executesql
@SQLString
, @ParmDefinition
, @tableData=@tableData
, @table_penomoran=@table_penomoran
, @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
Depends On
1Used By
No items found