Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     "WHERE NOT EXISTS" Oracle to WebFocus

Read-Only Read-Only Topic
Go
Search
Notify
Tools
"WHERE NOT EXISTS" Oracle to WebFocus
 Login/Join
 
Silver Member
posted
Does anyone know of a way to simulate or rather translate the "WHERE NOT EXISTS" statement of Oracle into WebFocus?

Where not exists is used when you need to find missing links between two tables.
e.g. Department has a "Deptno" field (primary key) and Employee also has a "Deptno" field (foreign key)
You'd go like
SELECT count(*)
from employee e
where not exists (
select '1'
from department d
where d.deptno = e.deptno)
And get the amount of employees without a department.

I've tried using "MATCH" with AFTER MATCH OLD-NOR-NEW and NEW-NOT-OLD, but when I use COUNT equ_equnr it still gives me an incorrect result.

Code:
DEFINE FILE POPLAN
-* To exclude the possibility that WebFocus is missing joins with "null" fields.
EQUNR/A18 = IF MPOS_EQUNR = ' ' THEN '0'
ELSE MPOS_EQUNR;
END

-* Equipment
MATCH FILE EQUIPMNT
PRINT
EQU_EQART
EQU_TPLNR
EQU_EQTYP
BY EQU_EQUNR

RUN
-* Preventive Maintenance Plan
FILE POPLAN
PRINT
*
BY EQUNR
AFTER MATCH HOLD AS 'EQU' OLD-NOR-NEW
END

-* Equipments without POPlan

TABLE FILE EQU
COUNT EQU_EQUNR
END


As usual any help is greatly appreciated.
Greets, Tim.


WebFocus 5.2.4
iWay ETL Manager 5.2.4
Windows 2000
 
Posts: 44 | Location: Belgium | Registered: January 10, 2005Report This Post
Master
posted Hide Post
Hope this is what you are looking for,

TABLE FILE DEPARTMENT
PRINT DST.DEPTNO
ON TABLE HOLD AS DEPTDAT
END
-RUN

TABLE FILE EMPLOYEE
PRINT EMPNO
WHERE NOT DEPTNO IN FILE DEPTDAT
END
-RUN
-EXIT


WFConsultant

WF 8105M on Win7/Tomcat
 
Posts: 780 | Location: Florida | Registered: January 09, 2005Report This Post
Expert
posted Hide Post
quote:
DEFINE FILE POPLAN
-* To exclude the possibility that WebFocus is missing joins with "null" fields.
EQUNR/A18 = IF MPOS_EQUNR = ' ' THEN '0'
ELSE MPOS_EQUNR;
END

EQUNR/A18 MISSING ON = IF MPOS_EQUNR EQ ' ' THEN MISSING ELSE MPOS_EQUNR;




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Virtuoso
posted Hide Post
I use ON TABLE SET ALL ON and print the field, hold the data and then check for the field being blank or zeros. We are DB2.


Leah
 
Posts: 1317 | Location: Council Bluffs, IA | Registered: May 24, 2004Report This Post
Member
posted Hide Post
Check your BY field formats to see if they are the same. In order to use MATCH command correctly BY field formats should be equal.

Jeeva


Production WebFOCUS 7.6.2, Platform Win2003, Database Oracle 10g
 
Posts: 26 | Location: Michigan | Registered: July 13, 2005Report This Post
Silver Member
posted Hide Post
quote:
Originally posted by Leah:
I use ON TABLE SET ALL ON and print the field, hold the data and then check for the field being blank or zeros. We are DB2.


Thanks everyone for your replies!

Here's the final code I used:

JOIN EQU_EQUNR IN EQUIPMNT
TO ALL MPOS_EQUNR IN POPLAN
AS J1
END

DEFINE FILE EQUIPMNT
EQUNR/A18 MISSING ON = IF MPOS_EQUNR EQ ' ' THEN MISSING ELSE MPOS_EQUNR;
END

TABLE FILE EQUIPMNT
COUNT EQU_EQUNR
WHERE EQUNR IS MISSING;
ON TABLE SET ALL ON
END

It was the piece of code, Leah suggested that got it working, so thanks a bunch Leah!


WebFocus 5.2.4
iWay ETL Manager 5.2.4
Windows 2000
 
Posts: 44 | Location: Belgium | Registered: January 10, 2005Report This Post
Virtuoso
posted Hide Post
You're welcome Tim, I may try your solution sometime as well.

Have a great day all.


Leah
 
Posts: 1317 | Location: Council Bluffs, IA | Registered: May 24, 2004Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     "WHERE NOT EXISTS" Oracle to WebFocus

Copyright © 1996-2020 Information Builders