Consultor Eletrônico



Kbase P89815: How to implement the Progress 4GL CAN-FIND function in QUERY/RESULTS?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   31/08/2009
Status: Verified

GOAL:

How to implement the Progress 4GL CAN-FIND function in QUERY/RESULTS?

GOAL:

How to list only the records of a table that do not have associated records in a related table using RESULTS?

GOAL:

How to list all the Customers that do not have any Orders using RESULTS?

FACT(s) (Environment):

Windows
Progress 8.x
Progress 9.x
OpenEdge 10.x

FIX:

The following example generates a report for all customers that do not have any orders using the Progress GUI and CHUI Query/Results products:

In GUI Query/Results

1. Select: Query -> New -> Report - access the Add/Remove Tables dialog box.

2. Select: Customer -> Add -> OK - finish selecting tables and access the Add/Remove Fields dialog box.

3. Select: CustNum -> Add -> OK - finish selecting fields and return to Results Main window.

4. Select: Data-> Selection - access the Data Selection dialog box.

5. Type: NOT CAN-FIND(FIRST Order WHERE Order.CustNum = Customer.CustNum) in the Selection Criteria box.

6. Uncheck the 'Check Syntax' Now toggle box.

7. Select: OK - to return to the Results Main window.

8. Select: Query -> Print Preview - to preview the report of all customers with no orders.


In character Query/Results:

1. Select: Reports - access the report design screen.

2. Select: Define - access the table / file selection screen.

3. Select: Customer -> F4 - access the field selection screen.

4. Select: CustNum -> F4 - return to the report design screen.

5. Select: Where -> GET (ESC-O) - access the Expert Mode screen.

5. Type: NOT CAN-FIND(FIRST Order WHERE Order.CustNum = Customer.CustNum).

6. Select F1 - save the selection criteria.

1. Select: Run -> Terminal - preview the report of all customers with no orders.