Issue 31183  —   Since BUG fix 30704 components with entities below break frame do not compile

Status:   Solved in 10.2.01

Solution available in patch(es):      G104

Description:

 Summary:
 The solution for BUG 30704 (Compiler does not throw error when
 entity frame below page break frame) can cause compatibility problems.
 Prior to the bug fix there was a loophole in the compiler that
 allowed to place entity frames directly below or within a break
 frame (page break).

 Environment:
  +Uniface: Version 9.6.07 - X705 (and higher)
  +Operating System: OS independent
  +Database: DBMS independent

 Symptoms:
 The solution for BUG 30704 (Compiler does not throw error when
 entity frame below page break frame) can cause compatibility problems.
 Prior to the bug fix there was a loophole in the compiler that
 allowed to place entity frames directly below or within a break
 frame (page break).

 In older versions of Uniface it was possible to place entity
 frames after or within a break frame. Some existing reports
 have multiple 1x1 entity frames painted at the bottom of a
 component (after break frame) for referential integrity control.

 With bug fix 30704 the compiler will throw error:

   '1054 - Entity frames not allowed below a trailer/break frame'

 and the component will not compile

 The fix for BUG 31116 - 'X705: The solution for BUG 30704
 is causing compatibility problems' partially restored
 compatibility but not in all cases.

 Components with entity frames painted below or within a
 break frame still throw error:

   '1054 - Entity frames not allowed below a trailer/break frame'

 when compiling in 9.701 + G102.

Workaround:

 Move any entity frame that is painted below the break frame
 to a position above it.

Notes:

 After the fix, you'll get a compiler warning instead of a compiler error when
 an entity is painted below a page break frame.
 When an entity is painted below a trailer frame, nothing will be changed so
 that Uniface raises a compiler error.