Integration_PurchaseOrderSurcharge Stored Procedure

<< Click to Display Table of Contents >>

Navigation:  iVend Database Database > Stored Procedures >

Integration_PurchaseOrderSurcharge Stored Procedure

Navigation: iVend Database Database > Stored Procedures >

hm_btn_navigate_prevhm_btn_navigate_tophm_btn_navigate_next

iVend 6.6 Database Help

Integration_PurchaseOrderSurcharge Stored Procedure

Collapse All Expand All

iVend Database Database : Integration_PurchaseOrderSurcharge Stored Procedure

Properties

Creation Date

4/13/2015 12:00 PM

Encrypted

dbimages_boolean-false

Ansi Nulls

dbimages_boolean-true

Parameters

Parameter

Direction

Description

Data Type

Size

@PurchaseOrderKey

In

(Primary Key of PurPurchaseOrder)for which the Purchase Order Information that needs to be pulled from iVend

VarWChar

50

@RETURN_VALUE

Return Value

 

Integer

4

Procedure Source Code

CREATE PROCEDURE [dbo].[Integration_PurchaseOrderSurcharge]

@PurchaseOrderKey NVARCHAR(50)

AS

BEGIN

CREATE TABLE #out(

[SourceType] [int] NOT NULL,

[PurchaseOrderDetailKey] NVARCHAR(50) NOT NULL,

[SurchargeKey] NVARCHAR(50) NOT NULL,

[TaxCode] [nvarchar](50) NOT NULL,

[LineTotal] [decimal](20, 5) NOT NULL

)

SET NOCOUNT ON;

--Header Surcharge

/*

Insert Into #Out

Select Isnull(Sur.SourceType,1) as SourceType, 0 As PurchaseOrderDetailKey, Prc.SurchargeKey, isNull(Tax.AccountingID, ''0'') As TaxCode, Isnull(Sur.Amount,0) As LineTotal

From PurPurchaseOrder Hed, InvTransactionSurcharge Sur, TaxTaxCode As Tax, PrcSurcharge As Prc

Where Hed.PurchaseOrderKey = Sur.SourceKey

And  Hed.TaxCodeKey *= Tax.TaxCodeKey

And  Sur.SurchargeKey =* Prc.SurchargeKey

And  Sur.SourceType = 1  --Indicates Header Surcharge

And  Hed.PurchaseOrderKey = @PurchaseOrderKey

*/

Insert Into #Out

Select Isnull(Sur.SourceType,1) as SourceType, 0 As PurchaseOrderDetailKey, Prc.SurchargeKey, isNull(Tax.AccountingID, '0') As TaxCode, (Isnull(Sur.Amount,0.00) - Isnull(Sur.DiscountAmount,0.00)) As LineTotal

From PurPurchaseOrder Hed Inner Join InvTransactionSurcharge Sur On Hed.PurchaseOrderKey = Sur.SourceKey

        Left Outer Join TaxTaxCode As Tax On Sur.TaxCodeKey = Tax.TaxCodeKey

        Right Outer Join PrcSurcharge As Prc On Sur.SurchargeKey = Prc.SurchargeKey

Where Sur.SourceType = 1 --Indicates Header Surcharge

And  Hed.PurchaseOrderKey = @PurchaseOrderKey

--Line Surcharge (Maximum 3 surcharges)

/*

Insert Into #Out

Select Sur.SourceType, Det.PurchaseOrderDetailKey, Sur.SurchargeKey, isNull(Tax.AccountingID, ''0'') As TaxCode, Sur.Amount As LineTotal

From PurPurchaseOrder Hed, PurPurchaseOrderDetail Det, InvTransactionSurcharge Sur, TaxTaxCode As Tax

Where Hed.PurchaseOrderKey = Det.PurchaseOrderKey

And  Det.PurchaseOrderDetailKey = Sur.SourceKey

And  Sur.TaxCodeKey *= Tax.TaxCodeKey

And  Sur.SourceType = 2  --Indicates Header Surcharge

And  Hed.PurchaseOrderKey = @PurchaseOrderKey

*/

Insert Into #Out

Select Sur.SourceType, Det.PurchaseOrderDetailKey, Sur.SurchargeKey, isNull(Tax.AccountingID, '0') As TaxCode, (isNull(Sur.Amount, 0.00) - isNull(Sur.DiscountAmount, 0.00)) As LineTotal

From PurPurchaseOrder Hed Inner Join PurPurchaseOrderDetail Det On Hed.PurchaseOrderKey = Det.PurchaseOrderKey

        Inner join InvTransactionSurcharge Sur On Det.PurchaseOrderDetailKey = Sur.SourceKey

        Left Outer Join TaxTaxCode Tax on Sur.TaxCodeKey = Tax.TaxCodeKey

Where Sur.SourceType = 2 --Indicates Header Surcharge

And  Hed.PurchaseOrderKey = @PurchaseOrderKey

-- SELECT PurchaseOrderDetailKey, 3-count(*) as ExtraRows

-- FROM #out

-- WHERE sourcetype=2

-- GROUP BY PurchaseOrderDetailKey

Declare Out_Cursor Cursor FOR

SELECT PurchaseOrderDetailKey, 3-count(*) as ExtraRows

FROM #out

WHERE sourcetype=2

GROUP BY PurchaseOrderDetailKey

Declare @PurchaseOrderDetailKey NVARCHAR(50), @ExtraRows int, @Counter int

OPEN Out_Cursor

Fetch Next From Out_Cursor Into @PurchaseOrderDetailKey, @ExtraRows

WHILE @@FETCH_STATUS = 0

BEGIN

Select @Counter = 0

While @Counter < @ExtraRows

Begin

  -- Add Extra Rows to #out

  Insert Into #Out ( [SourceType], [PurchaseOrderDetailKey], [SurchargeKey], [TaxCode], [LineTotal])

  Values (2, @PurchaseOrderDetailKey, '0', 0, 0)

  Select @Counter = @Counter + 1

End

FETCH NEXT FROM Out_cursor

INTO @PurchaseOrderDetailKey, @ExtraRows

END

CLOSE Out_cursor

DEALLOCATE Out_cursor

Select * from #Out order by SourceType, PurchaseOrderDetailKey, SurchargeKey Desc

SET NOCOUNT OFF;

END

See Also

Related Objects

iVend Database Database

 

 


© 2019 All Rights Reserved.

Send comments on this topic.