I'm building a stored procedure within SSMS and I've run into a brick wall.
USE [VINTCMPA]
go
/****** Object: StoredProcedure [dbo].[OpenOrderReport] Script Date: 12/05/2021 12:20:35 ******/
SET ansi_nulls ON
go
SET quoted_identifier ON
go
-- =============================================
-- Author: Bancroft Wines
-- Create date: 12/05/2021
-- Description:
-- =============================================
ALTER PROCEDURE [dbo].[Openorderreport]
-- Add the parameters for the stored procedure here
@startdate DATETIME = NULL,
@enddate DATETIME = NULL
AS
BEGIN
SET @startdate = CONVERT(DATETIME, '2021-04-30 23:59:59', 102)
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET nocount ON;
-- Insert statements for procedure here
SELECT Customers.cust_acc AS CUSTCODE,
[Sales Order Details].vop_ordn AS ORDERNO,
'Invoiced SOP' AS TYPE,
[Sales Order Header].ordidate AS DATE,
Round([Sales Order Details].vol_qtty /
[Sales Order Details].volcsize
*
[Sales Order Details].volcprcn /
[Sales Order Header].ordexch1, 2)
AS VALUE,
Round(Round([Sales Order Details].vol_qtty /
[Sales Order Details].volcsize *
[Sales Order Details].volcprcn /
[Sales Order Header].ordexch1, 2) -
[Sales Order Details].casecost *
[Sales Order Details].vol_qtty
/
[Sales Order Details].volcsize, 2) AS MARGIN
FROM vopoline AS [Sales Order Details]
INNER JOIN voporder AS [Sales Order Header]
ON [Sales Order Details].vop_ordn =
[Sales Order Header].vop_ordn
INNER JOIN vslname1 AS Customers
ON [Sales Order Header].cust_acc = Customers.cust_acc
AND [Sales Order Header].cust_acc = Customers.custaccs
INNER JOIN vstmain1 AS Products
ON [Sales Order Details].prd_code = Products.prd_code
WHERE ( [Sales Order Header].ordidate >=
CONVERT(DATETIME, '2021-04-30 23:59:59', 102)
)
AND ( [Sales Order Header].ordidate <=
CONVERT(DATETIME, '2021-05-12 23:59:59',
102)
)
AND ( [Sales Order Header].ordacode <> 'S' )
AND ( [Sales Order Header].ord_stat = 5 )
AND ( Products.grp_code >= '001' )
AND ( Customers.custanl1 = 'NO' )
OR ( [Sales Order Header].ordidate >=
@startdate
)
AND ( [Sales Order Header].ordidate <=
@enddate
)
AND ( [Sales Order Header].ordacode = 'S' )
AND ( [Sales Order Header].ord_stat = 5 )
AND ( Products.grp_code >= '001' )
AND ( Customers.custanl1 = 'NO' )
AND ( [Sales Order Header].credstyl = 1 )
ORDER BY custcode,
orderno
END
go
Which throws the error:
Invalid column name 'VALUE'.
I've defined VALUE, so I'm not sure why it's not detecting it.
EDIT:
I've reformatted the code, and it now does not show the invalid column error, however it doesn't seem to be inputting anything to the table.