
Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[1]--------------------------------------------------------------------

PROBLEM:  The application crashes when you try to save records if you
specify Duplicates?-Y in the program generator.

COMMENT:  This problem was corrected in the Release B template.

FIX:  Insert the indicated line of code in the procedure InputRec in
GENMNT.GTL:

  if .not. aborted
    * check for duplicate key value
    do case
<< for all zoom-databases in program >>
      case table = "{[database alias]}"
  << if [database is-duplicate-allowed?] >>
        select {[database alias]}              <===
        duplicate = .N.

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[2]--------------------------------------------------------------------

PROBLEM:  In Inquiry, Report and Label programs, the application crashes
when you press the spacebar or a function key on a menu.

COMMENT:  The problem with the spacebar was corrected in the Release B
templates.  The problem with the function keys was not.

FIX:  In G_MENU.PRG change:

    * hold for a key stroke
    lastkey = 0
    do while lastkey = 0

to:

    * hold for a key stroke
    lastkey = 0
    do while lastkey <= 0 .or. lastkey = 32

NOTE:  The ".or. lastkey = 32" will already be present in the Release B
template set.  If you're using these templates, you only need to change
the "= 0" to "<= 0".

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[3]--------------------------------------------------------------------

PROBLEM:  After selecting new colors, the application crashes the next
time you run it.

COMMENT:  This problem was corrected in the Release B template.

FIX:  In the file G_COLORS.PRG, change:

        do g_Okay with "Save changes?", .Y.
        if save_them
          save to g_colors.mem all like *_clr

to:

        do g_Okay with "Save changes?", save_them
        if save_them
          save to g_colors.mem all like clr_*

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[4]--------------------------------------------------------------------

PROBLEM:  If you attempt to Copy a record of primary database which has
two or more zoom database, the application crashes.

COMMENT:  This problem was corrected in the Release B template.

FIX:  In the procedure Z_Copy, in GENMNT.GTL, change:

    if table = "{[database lnk-alias]}"
      do Zoom_In with "{[database alias]}"
      do while {[database lnk-expression]} = link_value .and..not. eof()
        do Z_Copy
        do Onload
        record_no = recno()
        append blank
        do Offload
        do Postings with "Copy"
        go record_no
        skip
      enddo
      do Zoom_Out
    endif

to:

    if table = "{[database lnk-alias]}"
      select 10
      new_link = {[database lnk-expression]}
      do Zoom_In with "{[database alias]}"
      if new_link <> link_value
        do while {[database lnk-expression]} = link_value .and..not. eof()
          do Onload
      << if [database is-parent?] >>
          do Z_Copy
      << endif >>
          record_no = recno()
          append blank
          do Offload
          do Postings with "Copy"
          go record_no
          skip
        enddo
      endif
      do Zoom_Out
    endif

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[5]--------------------------------------------------------------------

PROBLEM:  The Tally option in report/label programs does not respect
your Scope.

COMMENT:  This problem was corrected in the Release B template.

FIX:  In the procedure Tally, in GENREP.GTL and GENLABEL.GTL, change:

  go top
  do g_Info with "Counting"
  count to no_records while .not. eof()
  do g_Alert with ltrim(str(no_records)) + " records"

to:

  go first_rec
  do g_Info with "Counting"
  count to no_records while recno() <> last_rec
  do g_Alert with ltrim(str(no_records + 1)) + " records"

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[6]--------------------------------------------------------------------

PROBLEM:  The application crashes when you try to customize the colors
when running under dBXL.

COMMENT:  This is only a problem with dBXL.  It is caused by the way
that particular product handles parameters.  This problem was corrected
in the Release B template.

FIX:  In the procedure PickColr, in G_COLORS.PRG, change:

    do sample with windowtype, clr1 + "/" + clr2, clr3 + "/" + clr4

to:

    do sample with windowtype, trim(clr1)+"/"+clr2, trim(clr3)+"/"+clr4

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[7]--------------------------------------------------------------------

PROBLEM:  When adding or modifying a record in a maintenance program, if
you have a field which is validated against another file, and that field
is left blank, the application crashes with the message "Record out of
range".

The application will also crash if you try to validate a numeric field.

COMMENT:  This problem was corrected in the Release D template.

FIX:  In the procedure InputRec, in GENMNT.GTL change:

        << case [field val-type] = 'F' >>
        select {[field val-alias]}
        set exact on
        seek m->{[field name]}
        set exact off
        if .not. found() .and..not. aborted
          * give the user a pick list
          do G_INFO with "{[field error-message]}"
          char_count = len(trim(m->{[field name]}))
          do while char_count > 0
            * keep searching on smaller substrings until a match is found
            seek left(m->{[field val-field]}, char_count)

to:

        << case [field val-type] = 'F' >>
          << store [field val-database] to _val_table >>
          << for all databases in program >>
            << if [database name] == _val_table >>
        search_val = {[database ndx-expression]}
            << endif >>
          << endfor >>
        select {[field val-alias]}
        set exact on
        seek search_val
        set exact off
        if .not. found() .and..not. aborted
          * give the user a pick list
          do G_INFO with "{[field error-message]}"
          char_count = len(trim(search_val))
          go top
          do while char_count > 0
            * keep searching on smaller substrings until a match is found
            seek left(search_val, char_count)

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[8]--------------------------------------------------------------------

PROBLEM:  When you Zoom in a maintenance or inquiry program, List the
records, and then press either <Home> or <End>, a record is highlighted
which doesn't belong to that primary record.

COMMENT:  This problem was corrected in the Release D template.

FIX:  Insert the indicated code in the file G_BROWSE.PRG:

        case lastkey = K_Home
          go top
          do Limits with table       <===
          if at_bof                  <===
            do Go_Begin              <===
          endif                      <===
          hilite_row = first_row
          scroll_it = .T.
        case lastkey = K_End
          go bottom
          do Limits with table       <===
          if at_eof                  <===
            do Go_Begin              <===
            do Go_End                <===
          endif                      <===
          hilite_row = first_row
          scroll_it = .T.

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[9]--------------------------------------------------------------------

PROBLEM:  If you press the up or down arrow too many times while in a
pick window (for File Validation), the application crashes.

FIX: In the procedures Go_Begin and Go_End, in the file GENMNT.GTL,
change:

<< for all zoom-databases in program >>

to:

<< for all databases in program >>

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[10]-------------------------------------------------------------------

PROBLEM:  If you generate a Label program with no associated Data Screen,
the program crashes as soon as you try to run it.

FIX:  In the procedure PaintWin, in GENLABEL.GTL, change:

  @ 12,23 say "Select "Go" to run this report."

to:

  @ 12,23 say 'Select "Go" to run this report.'

--------------------------------------------------------------------------


Anomaly Report:  Genifer 3.0 Generic dBASE Templates

---[11]-------------------------------------------------------------------

PROBLEM:  If you update a key field while Modifying a record, the
application always gives you the message "Duplicate record".

FIX:  In the procedure InputRec, in GENMNT.GTL, change:

        if input_mode = "Modify"
          duplicate = (recno() <> record_no)
        else
          duplicate = found()
        endif

to:

        if input_mode = "Modify"
          duplicate = found() .and. (recno() <> record_no)
        else
          duplicate = found()
        endif

--------------------------------------------------------------------------

