Project

General

Profile

Bug #3163

Bug #2596: Implement missing browse quirks.

4GL quirk: browse becomes unusable when an incompatible query is assigned

Added by Stanislav Lomany over 7 years ago. Updated over 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
08/09/2016
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

History

#2 Updated by Stanislav Lomany over 7 years ago

In 4GL you can re-assign a query which has different kind of DMO classes or even different number of buffers. In most cases that will make the browse widget unusable. But if the new buffer has the same number of fields, 4GL substitutes and displays columns according to their order.
For now P2J displays an error and closes the browse.
Testcase:

DEF TEMP-TABLE tt FIELD f1 AS INTEGER
                  FIELD f2 AS CHARACTER
                  INDEX idx f1.

DEF TEMP-TABLE tt2 FIELD f21 AS INTEGER
                   FIELD f22 AS CHARACTER
                   INDEX idx2 f21.

DEF TEMP-TABLE tt3 FIELD f31 AS INTEGER
                   FIELD f32 AS CHARACTER
                   FIELD f33 AS CHARACTER
                   INDEX idx3 f31.

def var i as INTEGER.

CREATE tt. tt.f1 = 1. tt.f2 = "a". 
CREATE tt. tt.f1 = 2. tt.f2 = "b". 
CREATE tt. tt.f1 = 3. tt.f2 = "c". 
CREATE tt. tt.f1 = 4. tt.f2 = "d".

CREATE tt2. tt2.f21 = 5. tt2.f22 = "e".

CREATE tt3. tt3.f31 = 6. tt3.f32 = "f".

DEFINE QUERY q1 FOR tt SCROLLING.
OPEN QUERY q1 FOR EACH tt.

DEFINE QUERY q2 FOR tt2 SCROLLING.
OPEN QUERY q2 FOR EACH tt2.

DEFINE QUERY q3 FOR tt3 SCROLLING.
OPEN QUERY q3 FOR EACH tt3.

DEF BROWSE br QUERY q1 
DISPLAY 
   tt.f1 tt.f2
   WITH 8 DOWN TITLE "Static browse".

DEF FRAME fr br 
WITH TITLE "Frame" SIZE 70 BY 15.

ENABLE ALL WITH FRAME fr.

PAUSE MESSAGE "Press SPACE to assign similar query".
browse br:query = query q2:handle.
PAUSE MESSAGE "Press SPACE to assign incompatible query".
browse br:query = query q3:handle.

WAIT-FOR WINDOW-CLOSE OF DEFAULT-WINDOW.

#3 Updated by Stanislav Lomany over 7 years ago

In 4GL functionality that allows to assign another browsed query with other buffers doesn't work for dynamic browses - browse becomes unusable. In P2J it will work.

Also available in: Atom PDF