if exists (select * from sysobjects where id = object_id('dbo.PostDepInv_newtmp') and sysstat & 0xf = 4)
	drop procedure dbo.PostDepInv_newtmp
GO

CREATE PROCEDURE dbo.PostDepInv_newtmp @InvId int AS
declare @InvNumber     int
declare @logarea        int
declare @InvCount       int
declare @depotno        varchar(5)
declare @loginind    int
BEGIN TRAN PostDepInv
/*   Get the next system invoice number  */
SELECT @logarea = (SELECT Login FROM tblInvoice_wrk WHERE InvNo = @InvId) 
SELECT @InvNumber = (SELECT MAX(InvNo) FROM tblInvoice WHERE Login = @logarea)
IF @InvNumber = NULL SELECT @InvNumber = 0 
select @InvNumber = @InvNumber + 1
SELECT @InvCount = (SELECT MAX(InvCounter) FROM tblInvoice)
IF @InvCount = NULL SELECT @InvCount = 0 
select @InvCount = @InvCount + 1
/* Update INVOICE NUMBER */
UPDATE tblInvoice_wrk SET InvNo = @InvNumber  WHERE InvNo  = @InvId  
UPDATE tblInvoice_wrk SET InvCounter = @InvCount  WHERE InvNo  = @InvNumber  
SELECT @loginind = (SELECT Login FROM tblInvoice_wrk WHERE InvNo = @InvNumber)
SELECT @depotno = 'J' + CONVERT(varchar(4),@InvNumber)
if @loginind = 4 SELECT @depotno = 'G' + CONVERT(varchar(4),@InvNumber)
if @loginind = 5 SELECT @depotno = 'J' + CONVERT(varchar(4),@InvNumber)
if @loginind = 6 SELECT @depotno = 'D' + CONVERT(varchar(4),@InvNumber)
if @loginind = 7 SELECT @depotno = 'JD' + CONVERT(varchar(3),@InvNumber)
if @loginind = 9 SELECT @depotno = CONVERT(varchar(3),@InvNumber)
UPDATE tblInvoice_wrk SET DepotNo = @depotno  WHERE InvNo  = @InvNumber  
/* ----------- Post invoice header details from work table to invoice table ---------------- */
INSERT INTO tblInvoice SELECT * FROM tblInvoice_wrk WHERE InvNo = @InvNumber
/* ------------ Clear work table  ----------------- */
DELETE FROM tblInvoice_wrk WHERE InvNo = @InvNumber
COMMIT TRAN PostDepInv

GO

GRANT  EXECUTE  ON dbo.PostDepInv_newtmp  TO SQLUser
GO

GRANT  EXECUTE  ON dbo.PostDepInv_newtmp  TO AllGlobalUsers
GO

GRANT  EXECUTE  ON dbo.PostDepInv_newtmp  TO sa
GO

GRANT  EXECUTE  ON dbo.PostDepInv_newtmp  TO KOBUS
GO


