Bug #3163
Bug #2596: Implement missing browse quirks.
4GL quirk: browse becomes unusable when an incompatible query is assigned
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.