kb:kb_articles:kb0175

Fixing GFEs in SYSREPOS (Performance)

When fixing GFEs in SYSREPOS follow these steps:

 

STEP 1:     Log into the SYSPROG application as SYSPROG

 

STEP 2:     From the System Editor command line:

                        run attach_table 'REVBOOT','REVMEDIA'

 

STEP 3:     Create a new Record named with the first field being REVREPOS.  

                         Save this under the table REVMEDIA and row QREPOS*GLOBAL. 

 

STEP 4:     From the System Editor command line:

                         run detach_table 'REVMEDIA'

 

STEP 5:     From the System Editor command line:

                         run attach_table'REVBOOT','QREPOS'.

 

STEP 6:     Go to the Database Manager.

 

STEP 7:     Choose the Utilities menu choice.

                         Under Open Insight Tables, choose LHVerify to check for GFEs and subsequently                      choose Fix Group Format Errors to fix the GFEs.

 

STEP 8:     After choosing either LHVerify or Fix Group Format Errors, then choose                      SYSREPOS (by double clicking) as the table.   Then hit the Verify or Fix GFEs                 button respectively.

 

STEP 9:     From the System Editor command line:

                         run detach_table 'QREPOS'

 

STEP 10:    From the System Editor command line:

                        run attach_table 'REVBOOT','REVMEDIA'

 

STEP 11:    From the System Editor command line: 

                        run delete_row 'REVMEDIA', 'QREPOS*GLOBAL'

 

STEP 12:    From the System Editor command line: 

                        run detach_table 'REVMEDIA'

 

If you do not follow this process when fixing GFEs, the entity information could be written back to the repository decrypted.  As a result, when they are brought out of the repository they are encrypted (by the decryption process).  An example of this problem is the error message "You do not have access or update privileges".  If this occurs, records in the SYSREPOS table will appear to be garbage when viewed in the System Editor.

 

Here are the steps to reverse this problem if it occurs:

 

STEP 1:    Log into the SYSPROG application as SYSPROG

 

STEP 2:    From the System Editor command line:

                        run attach_table 'REVBOOT','REVMEDIA'

 

STEP 3:    Create a new Record named with the first field being REVREPOS.  

                         Save this under the table REVMEDIA and row QREPOS*GLOBAL. 

 

STEP 4:    From the System Editor command line:  

                        run attach_table' REVBOOT','QREPOS'.

 

STEP 5:    From the System Editor command line:  

                        run detach_table 'REVMEDIA'

 

STEP 6:  Then create a Stored Procedure called FIX_REPOS (System Editor, File, New,                         Stored Procedure) as follows:

 

function fix_repos(void)

 

declare subroutine Set_FSError, Send_Info

 

$insert Logical

$insert FSErrors_100

 

open "SYSREPOS" to fRepos else return "error open SYSREPOS"

open "QREPOS"   to fRaw   else return "error open QREPOS"

 

select fRaw

eof = FALSE$

Cnt = 0

loop

  readnext Key else

    eof = TRUE$

    if @file.error<1,1,1> # FS_READNEXT_DONE$ then

      Set_FSError()

      return "error readnext"

    end

  end

until eof

  read Rec from fRaw, Key else

    Set_FSError()

    return "error read ": quote(Key)

  end

 

  if index(Rec, "$PUBLIC", 1) then

   * it must be un-encrypted

    Send_Info(Key)

    Cnt += 1

 

   * writing it to the repository will re-encrypt it

    write Rec to fRepos, Key else

      Set_FSError()

      return "error write ": quote(Key)

    end

  end

repeat

 

return "success, ": Cnt: " records fixed"

 

STEP 7:   From the System Editor command line: 

                        run FIX_REPOS

                        (or run it from the System Monitor command line to see more information)

 

STEP 8:    From the System Editor command line: 

                        run detach_table 'QREPOS'

 

STEP 9:    From the System Editor command line:

                        run attach_table 'REVBOOT','REVMEDIA'

 

STEP 10:    From the System Editor command line: 

                        run delete_row 'REVMEDIA', 'QREPOS*GLOBAL'

 

STEP 11:    From the System Editor command line: 

                        run detach_table 'REVMEDIA'

  • kb/kb_articles/kb0175.txt
  • Last modified: 2024/01/30 13:36
  • by 127.0.0.1