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

CREATE PROCEDURE dbo.PostFullCrd_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)

if @loginind = 9 SELECT @depotno = 'C' + CONVERT(varchar(4),@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.PostFullCrd  TO AllGlobalUsers
GO
