NJC__Documentation::DB

dbo.MG_MS_SUPPLIER_CUSTOMER_INVOICE_READY

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_SUPPLIER_CUSTOMER_INVOICE_READY
@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);
set @xStsnoheader='01';
set @xStsno='00';
set @xStsdes='Success';
declare @ms_supplier_customer_id bigint
,@ms_manual_invoice_type_id int
,@mode_source int
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')
 ,@ms_supplier_customer_id=isnull(tempTable.xItem.value('ms_supplier_customer_id[1]', 'int'),-1)
 ,@ms_manual_invoice_type_id=isnull(tempTable.xItem.value('ms_manual_invoice_type_id[1]', 'int'),-1)
  ,@mode_source=isnull(tempTable.xItem.value('mode_source[1]', 'int'),-1)
FROM @PARAMETER.nodes('param/field')  tempTable(xItem)

----#####START SOURCE#####
----SELECT ms_molts_invoice_id, invoice_no, invoice_date, etd, eta
----FROM vw_ms_molts_invoce WHERE (used = 0) AND (r_s = 0);
----#####END SOURCE#####

if @mode_source=1
begin 
 set @XMLMAPING =
' ';
 end
 else
 begin
  set @XMLMAPING =
' ';
 end

set @TABELDATA=
' FROM vw_ms_molts_invoce '; 
set @fixWhere ='((used = 0) AND (r_s = 0) AND (mapping_supplier_customer_id=' + cast(@ms_supplier_customer_id as varchar(255)) + ') ) AND ';

if @mode_source=1
begin 
 set @TABELDATA=
' FROM vw_ms_manual_invoce '; 
 set @fixWhere ='((ms_manual_invoice_type_id=' + cast(@ms_manual_invoice_type_id as varchar(255))+') AND (used = 0) AND (r_s = 0) AND (mapping_supplier_customer_id=' + cast(@ms_supplier_customer_id as varchar(255)) + ') ) AND ';
end

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 , r1 , r2 , r3 , r4 FROM( SELECT ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy + 
') as rn ' + case when  @mode_source=1 then 
  
', ms_molts_invoice_id AS rID , invoice_no AS r1 , dbo.date_to_str(invoice_date ) AS r2 , dbo.date_to_str(rec_date ) AS r3 , dbo.date_to_str(req_eta_date ) AS r4 '  
 else 
 
', ms_molts_invoice_id AS rID , invoice_no AS r1 , dbo.date_to_str(invoice_date ) AS r2 , dbo.date_to_str(etd ) AS r3 , dbo.date_to_str(eta ) AS r4 '
 end +
 
' '
+ @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) + ''","r1":"'' + dbo.JSONEscaped(r1) + ''","r2":"'' + dbo.JSONEscaped(r2) + ''","r3":"'' + dbo.JSONEscaped(r3) + ''","r4":"'' + dbo.JSONEscaped(r4) + ''"}'' FROM( SELECT ROW_NUMBER() OVER(ORDER BY ' + @OutSortBy + 
') as rn ' + case when  @mode_source=1 then 
  
', ms_manual_invoice_id AS rID , invoice_no AS r1 , dbo.date_to_str(invoice_date ) AS r2 , dbo.date_to_str(rec_date ) AS r3 , dbo.date_to_str(req_eta_date ) AS r4 '  
 else 
 
', ms_molts_invoice_id AS rID , invoice_no AS r1 , dbo.date_to_str(invoice_date ) AS r2 , dbo.date_to_str(etd ) AS r3 , dbo.date_to_str(eta ) AS r4 '
 end 
 + @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

Used By

No items found