Create view error 7579 - OpenEdge

Just in case anybody else is making views in Progress and sees the same error (7579)...

Appears to pop up where one of the columns is the result of a calculation.


This article gave me the final clue http://knowledgebase.progress.com/articles/Article/000032229

After I added parens behind the view name & listed each column name, view created


Example...

CREATE VIEW ODBC_SO_OpenQty (PartNum,RelPrice,company,plant,warehousecode,OrderNum,RelQty)
AS
SELECT

......

PUB.OrderRel.ourreqqty * PUB.OrderDtl.docUnitPrice as RelPrice,

......
FROM PUB.OrderRel
WHERE.... PUB.OrderRel.Company = 'xxx'



---In vantage@yahoogroups.com, <bruce.d.ordway@...> wrote:

Looks like it is getting confused by these two...


od.docUnitPrice AS docUnitPrice, 

ol.ourreqqty * od.docUnitPrice as RelPrice


(ol = PUB.OrderRel and od = PUB.OrderDtl)


l think I can grub it out now but...

Please let me know anything jumps out at you.


And Thanks again




---In vantage@yahoogroups.com, <bruce.d.ordway@...> wrote:

>>Try labeling each..

>>I ran into this with writing View for TranGLC.

Thanks for the idea.


I'm still looking.

I gave some labeling a try and removed the "order by".



I guess I'll keep removing lines & try to spot the culprit that way












---In vantage@yahoogroups.com, <calvind@...> wrote:

Bruce –

You’re assigning a name to some of the fields in your query. Try labeling each field:

SELECT
ol.company as Company,
od.partnum as PartNum,
pa.partdescription as Description,
ol.plant as Plant,
ol.warehousecode as WarehouseCode,
ol.ordernum as OrderNum,
ol.orderline as OrderLine,
ol.orderrelnum as OrderReleaseNum,
pw.minabc as ABCCode, ……

I ran into this with writing View for TranGLC.

HTH,
Calvin Dekker
Office: 630-672-7688 Ext. 1484
Email: calvin@...<mailto:calvin@...>
http://www.codabears.com<http://www.codabears.com/>
[cid:image001.jpg@01CEC284.2EA35210]<http://www.codabears.com/>

Solutions for Epiday living.

"No trees were harmed during the sending of this message, however a large number of electrons were terribly inconvenienced."

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of bruce.d.ordway@...
Sent: Saturday, October 5, 2013 5:44 PM
To: vantage@yahoogroups.com
Subject: [Vantage] create view error 7579 - OpenEdge



Hi,

I an getting an error when adding a view in OpenEdge.
"...View column list must be specified as expressions are given (7579)"
Anyone familiar with this? I've never seen it before but most of my previous views have been simpler.

The select statement is working, and I added a simpler view as a test.

Here is the SQL Statement I've been working with.
Thanks in advance..

---CREATE VIEW SRN_SO_OpenQty
---AS
SELECT
ol.company,
od.partnum,
pa.partdescription,
ol.plant,
ol.warehousecode,
ol.ordernum,
ol.orderline,
ol.orderrelnum,
pw.minabc as ABCCode,
month(ol.ReqDate) as DueMonth,
Year(ol.ReqDate) as DueYear,
ol.ReqDate as DueDate,
ol.ourreqqty as RelQty,
ol.ium,
od.docUnitPrice,
ol.ourreqqty * od.docUnitPrice as RelPrice,
oh.ShortChar01 as OrderType,
pg.prodcode as PlanFamilyCode,
pg.description as PlanFamilyDesc,
pc.ClassID,
pc.description as ClassDesc,
Convert('VARCHAR', ol.ordernum) + '/' + Convert('VARCHAR',ol.orderline) + '/' + Convert('VARCHAR',ol.orderrelnum) as SOSource

FROM PUB.OrderRel ol

LEFT JOIN PUB.orderdtl od ON od.company = ol.company AND od.ordernum = ol.ordernum AND od.orderline = ol.orderline

LEFT JOIN PUB.orderhed oh ON oh.company = ol.company AND oh.ordernum = ol.ordernum

LEFT JOIN PUB.Part pa ON pa.company = od.company AND pa.PartNum = od.partnum

LEFT JOIN PUB.ProdGrup pg ON pg.company = pa.company AND pg.prodcode = pa.prodcode

LEFT JOIN PUB.PartClass pc ON pc.company = pa.company AND pc.classid = pa.classid

LEFT JOIN PUB.PartWhse pw on pw.company = ol.company AND ol.warehousecode = pw.warehousecode AND od.partnum = pw.partnum

WHERE ol.company = 'xxx' AND ol.openrelease = 1 AND od.openline = 1

Order By ol.company, od.partnum, pa.partdescription, ol.plant, ol.warehousecode, ol.ReqDate;



[Non-text portions of this message have been removed]
Hi,

I an getting an error when adding a view in OpenEdge.
"...View column list must be specified as expressions are given (7579)"
Anyone familiar with this? I've never seen it before but most of my previous views have been simpler.

The select statement is working, and I added a simpler view as a test.

Here is the SQL Statement I've been working with.
Thanks in advance..

---CREATE VIEW SRN_SO_OpenQty
---AS
SELECT
ol.company,
od.partnum,
pa.partdescription,
ol.plant,
ol.warehousecode,  
ol.ordernum,
ol.orderline,
ol.orderrelnum, 
pw.minabc as ABCCode, 
month(ol.ReqDate) as DueMonth,
Year(ol.ReqDate) as DueYear,
ol.ReqDate as DueDate, 
ol.ourreqqty as RelQty,
ol.ium, 
od.docUnitPrice, 
ol.ourreqqty * od.docUnitPrice as RelPrice, 
oh.ShortChar01 as OrderType,  
pg.prodcode as PlanFamilyCode, 
pg.description as PlanFamilyDesc, 
pc.ClassID, 
pc.description as ClassDesc, 
Convert('VARCHAR', ol.ordernum) + '/' + Convert('VARCHAR',ol.orderline) + '/' + Convert('VARCHAR',ol.orderrelnum) as SOSource 
 
FROM PUB.OrderRel ol 
 
LEFT JOIN PUB.orderdtl od ON od.company = ol.company  AND od.ordernum = ol.ordernum AND od.orderline = ol.orderline 

LEFT JOIN PUB.orderhed oh ON oh.company = ol.company   AND oh.ordernum = ol.ordernum 
 
LEFT JOIN PUB.Part pa ON pa.company = od.company AND pa.PartNum = od.partnum 

LEFT JOIN PUB.ProdGrup pg ON pg.company = pa.company  AND pg.prodcode = pa.prodcode 
 
LEFT JOIN PUB.PartClass pc ON pc.company = pa.company  AND pc.classid = pa.classid 

LEFT JOIN PUB.PartWhse pw on pw.company = ol.company  AND ol.warehousecode = pw.warehousecode AND od.partnum = pw.partnum 

WHERE ol.company = 'xxx' AND ol.openrelease = 1 AND od.openline = 1 

Order By ol.company, od.partnum, pa.partdescription, ol.plant, ol.warehousecode, ol.ReqDate;
Bruce –

You’re assigning a name to some of the fields in your query. Try labeling each field:

SELECT
ol.company as Company,
od.partnum as PartNum,
pa.partdescription as Description,
ol.plant as Plant,
ol.warehousecode as WarehouseCode,
ol.ordernum as OrderNum,
ol.orderline as OrderLine,
ol.orderrelnum as OrderReleaseNum,
pw.minabc as ABCCode, ……

I ran into this with writing View for TranGLC.

HTH,
Calvin Dekker
Office: 630-672-7688 Ext. 1484
Email: calvin@...<mailto:calvin@...>
http://www.codabears.com<http://www.codabears.com/>
[cid:image001.jpg@01CEC284.2EA35210]<http://www.codabears.com/>

Solutions for Epiday living.

"No trees were harmed during the sending of this message, however a large number of electrons were terribly inconvenienced."

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of bruce.d.ordway@...
Sent: Saturday, October 5, 2013 5:44 PM
To: vantage@yahoogroups.com
Subject: [Vantage] create view error 7579 - OpenEdge



Hi,

I an getting an error when adding a view in OpenEdge.
"...View column list must be specified as expressions are given (7579)"
Anyone familiar with this? I've never seen it before but most of my previous views have been simpler.

The select statement is working, and I added a simpler view as a test.

Here is the SQL Statement I've been working with.
Thanks in advance..

---CREATE VIEW SRN_SO_OpenQty
---AS
SELECT
ol.company,
od.partnum,
pa.partdescription,
ol.plant,
ol.warehousecode,
ol.ordernum,
ol.orderline,
ol.orderrelnum,
pw.minabc as ABCCode,
month(ol.ReqDate) as DueMonth,
Year(ol.ReqDate) as DueYear,
ol.ReqDate as DueDate,
ol.ourreqqty as RelQty,
ol.ium,
od.docUnitPrice,
ol.ourreqqty * od.docUnitPrice as RelPrice,
oh.ShortChar01 as OrderType,
pg.prodcode as PlanFamilyCode,
pg.description as PlanFamilyDesc,
pc.ClassID,
pc.description as ClassDesc,
Convert('VARCHAR', ol.ordernum) + '/' + Convert('VARCHAR',ol.orderline) + '/' + Convert('VARCHAR',ol.orderrelnum) as SOSource

FROM PUB.OrderRel ol

LEFT JOIN PUB.orderdtl od ON od.company = ol.company AND od.ordernum = ol.ordernum AND od.orderline = ol.orderline

LEFT JOIN PUB.orderhed oh ON oh.company = ol.company AND oh.ordernum = ol.ordernum

LEFT JOIN PUB.Part pa ON pa.company = od.company AND pa.PartNum = od.partnum

LEFT JOIN PUB.ProdGrup pg ON pg.company = pa.company AND pg.prodcode = pa.prodcode

LEFT JOIN PUB.PartClass pc ON pc.company = pa.company AND pc.classid = pa.classid

LEFT JOIN PUB.PartWhse pw on pw.company = ol.company AND ol.warehousecode = pw.warehousecode AND od.partnum = pw.partnum

WHERE ol.company = 'xxx' AND ol.openrelease = 1 AND od.openline = 1

Order By ol.company, od.partnum, pa.partdescription, ol.plant, ol.warehousecode, ol.ReqDate;



[Non-text portions of this message have been removed]

>>Try labeling each..

>>I ran into this with writing View for TranGLC.

Thanks for the idea.


I'm still looking.

I gave some labeling a try and removed the "order by".



I guess I'll keep removing lines & try to spot the culprit that way












---In vantage@yahoogroups.com, <calvind@...> wrote:

Bruce –

You’re assigning a name to some of the fields in your query. Try labeling each field:

SELECT
ol.company as Company,
od.partnum as PartNum,
pa.partdescription as Description,
ol.plant as Plant,
ol.warehousecode as WarehouseCode,
ol.ordernum as OrderNum,
ol.orderline as OrderLine,
ol.orderrelnum as OrderReleaseNum,
pw.minabc as ABCCode, ……

I ran into this with writing View for TranGLC.

HTH,
Calvin Dekker
Office: 630-672-7688 Ext. 1484
Email: calvin@...<mailto:calvin@...>
http://www.codabears.com<http://www.codabears.com/>
[cid:image001.jpg@01CEC284.2EA35210]<http://www.codabears.com/>

Solutions for Epiday living.

"No trees were harmed during the sending of this message, however a large number of electrons were terribly inconvenienced."

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of bruce.d.ordway@...
Sent: Saturday, October 5, 2013 5:44 PM
To: vantage@yahoogroups.com
Subject: [Vantage] create view error 7579 - OpenEdge



Hi,

I an getting an error when adding a view in OpenEdge.
"...View column list must be specified as expressions are given (7579)"
Anyone familiar with this? I've never seen it before but most of my previous views have been simpler.

The select statement is working, and I added a simpler view as a test.

Here is the SQL Statement I've been working with.
Thanks in advance..

---CREATE VIEW SRN_SO_OpenQty
---AS
SELECT
ol.company,
od.partnum,
pa.partdescription,
ol.plant,
ol.warehousecode,
ol.ordernum,
ol.orderline,
ol.orderrelnum,
pw.minabc as ABCCode,
month(ol.ReqDate) as DueMonth,
Year(ol.ReqDate) as DueYear,
ol.ReqDate as DueDate,
ol.ourreqqty as RelQty,
ol.ium,
od.docUnitPrice,
ol.ourreqqty * od.docUnitPrice as RelPrice,
oh.ShortChar01 as OrderType,
pg.prodcode as PlanFamilyCode,
pg.description as PlanFamilyDesc,
pc.ClassID,
pc.description as ClassDesc,
Convert('VARCHAR', ol.ordernum) + '/' + Convert('VARCHAR',ol.orderline) + '/' + Convert('VARCHAR',ol.orderrelnum) as SOSource

FROM PUB.OrderRel ol

LEFT JOIN PUB.orderdtl od ON od.company = ol.company AND od.ordernum = ol.ordernum AND od.orderline = ol.orderline

LEFT JOIN PUB.orderhed oh ON oh.company = ol.company AND oh.ordernum = ol.ordernum

LEFT JOIN PUB.Part pa ON pa.company = od.company AND pa.PartNum = od.partnum

LEFT JOIN PUB.ProdGrup pg ON pg.company = pa.company AND pg.prodcode = pa.prodcode

LEFT JOIN PUB.PartClass pc ON pc.company = pa.company AND pc.classid = pa.classid

LEFT JOIN PUB.PartWhse pw on pw.company = ol.company AND ol.warehousecode = pw.warehousecode AND od.partnum = pw.partnum

WHERE ol.company = 'xxx' AND ol.openrelease = 1 AND od.openline = 1

Order By ol.company, od.partnum, pa.partdescription, ol.plant, ol.warehousecode, ol.ReqDate;



[Non-text portions of this message have been removed]

Looks like it is getting confused by these two...


od.docUnitPrice AS docUnitPrice, 

ol.ourreqqty * od.docUnitPrice as RelPrice


(ol = PUB.OrderRel and od = PUB.OrderDtl)


l think I can grub it out now but...

Please let me know anything jumps out at you.


And Thanks again




---In vantage@yahoogroups.com, <bruce.d.ordway@...> wrote:

>>Try labeling each..

>>I ran into this with writing View for TranGLC.

Thanks for the idea.


I'm still looking.

I gave some labeling a try and removed the "order by".



I guess I'll keep removing lines & try to spot the culprit that way












---In vantage@yahoogroups.com, <calvind@...> wrote:

Bruce –

You’re assigning a name to some of the fields in your query. Try labeling each field:

SELECT
ol.company as Company,
od.partnum as PartNum,
pa.partdescription as Description,
ol.plant as Plant,
ol.warehousecode as WarehouseCode,
ol.ordernum as OrderNum,
ol.orderline as OrderLine,
ol.orderrelnum as OrderReleaseNum,
pw.minabc as ABCCode, ……

I ran into this with writing View for TranGLC.

HTH,
Calvin Dekker
Office: 630-672-7688 Ext. 1484
Email: calvin@...<mailto:calvin@...>
http://www.codabears.com<http://www.codabears.com/>
[cid:image001.jpg@01CEC284.2EA35210]<http://www.codabears.com/>

Solutions for Epiday living.

"No trees were harmed during the sending of this message, however a large number of electrons were terribly inconvenienced."

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On Behalf Of bruce.d.ordway@...
Sent: Saturday, October 5, 2013 5:44 PM
To: vantage@yahoogroups.com
Subject: [Vantage] create view error 7579 - OpenEdge



Hi,

I an getting an error when adding a view in OpenEdge.
"...View column list must be specified as expressions are given (7579)"
Anyone familiar with this? I've never seen it before but most of my previous views have been simpler.

The select statement is working, and I added a simpler view as a test.

Here is the SQL Statement I've been working with.
Thanks in advance..

---CREATE VIEW SRN_SO_OpenQty
---AS
SELECT
ol.company,
od.partnum,
pa.partdescription,
ol.plant,
ol.warehousecode,
ol.ordernum,
ol.orderline,
ol.orderrelnum,
pw.minabc as ABCCode,
month(ol.ReqDate) as DueMonth,
Year(ol.ReqDate) as DueYear,
ol.ReqDate as DueDate,
ol.ourreqqty as RelQty,
ol.ium,
od.docUnitPrice,
ol.ourreqqty * od.docUnitPrice as RelPrice,
oh.ShortChar01 as OrderType,
pg.prodcode as PlanFamilyCode,
pg.description as PlanFamilyDesc,
pc.ClassID,
pc.description as ClassDesc,
Convert('VARCHAR', ol.ordernum) + '/' + Convert('VARCHAR',ol.orderline) + '/' + Convert('VARCHAR',ol.orderrelnum) as SOSource

FROM PUB.OrderRel ol

LEFT JOIN PUB.orderdtl od ON od.company = ol.company AND od.ordernum = ol.ordernum AND od.orderline = ol.orderline

LEFT JOIN PUB.orderhed oh ON oh.company = ol.company AND oh.ordernum = ol.ordernum

LEFT JOIN PUB.Part pa ON pa.company = od.company AND pa.PartNum = od.partnum

LEFT JOIN PUB.ProdGrup pg ON pg.company = pa.company AND pg.prodcode = pa.prodcode

LEFT JOIN PUB.PartClass pc ON pc.company = pa.company AND pc.classid = pa.classid

LEFT JOIN PUB.PartWhse pw on pw.company = ol.company AND ol.warehousecode = pw.warehousecode AND od.partnum = pw.partnum

WHERE ol.company = 'xxx' AND ol.openrelease = 1 AND od.openline = 1

Order By ol.company, od.partnum, pa.partdescription, ol.plant, ol.warehousecode, ol.ReqDate;



[Non-text portions of this message have been removed]