cancel
Showing results for 
Search instead for 
Did you mean: 

Restoring damaged tables

Former Member
0 Kudos

Hi All.

Refer SN831678

I have a damaged table on my quality system - I followed the above note to point 6.

In my system table "/BI59807" has an alternative name of /BI0/F0SD_C03 I followed the instructions via point 6 and created this table via SE14. The problem is that the original table is a PF while the new table that SE14 created was a LF - the alternative name was also slightly different from the original.

I decided to recreate it and therefore deleted "/BI59807" however SE14 sees /BI0/F0SD_C03 as existing (create table is greyed out)

What I also do not understand is that this table on my development system is also a LF although the alternate name is "/BIC/DZMP_C101+020"

I need assistance with understanding how the alternative names work please. Fortunately the file I am working with is a file that we do not use but I have 2 damaged files on my production system that I also need to fix and I do not want these delays or problems when I do them.

Thank-you

Anette

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Gerhard,

Great explanation - that clears up things quite a bit - thank-you.

Yes I did copy the records as in point 7 and 8 (after I found my new table name) and that all worked fine.

As for the restoring / creating of the indexes - that is where I am stuck a bit. I cannot restore the LF I saved since the PF name has changed amd that LF is looking for the PF which no longer exists. There was only one LF when I did a DSPDBR - according to SE14 there are 14 including the Primary index and the Non-Unique index. Since I am unable to establish what index I did save (as that index is now in a save file and I am unable to restore) should I just go ahead and create all 14?

Anette

Former Member
0 Kudos

Hi Anette,

Yes, just go ahead and display the indexes via SE14, select one with a double-click and push button "Create database index". Please do this for all missing indexes. Good luck.

Kind regards,

Gerhard Hoffmann

SAP Development Support on IBM i Systems

Answers (1)

Answers (1)

Former Member
0 Kudos

I have managed to establish that SE14 has created this with a different name at operating system level. My problem now is restoring the LF that I have saved as per point 2 of the note.

Thank-you

Anette

Former Member
0 Kudos

Hi Anette,

first a few words to the alternate names and system names for a better understanding of the situation. The database can only work with tablenames up to ten characters. Therefore the OS system creates automatically a "system name" when the original table name is longer than 10 characters. This system name is build from the the first 3 characters of the original table name appended by a contigous number. Therefore you can't compare the "system name" of a table in two different systems, i.e. the development system and the quality system as in your case. Most likely you'll have different "alternate table names".

When you've created now the table "/BI0/F0SD_C03" via SE14 the OS system assigned a new "system name" which is in your case different to the previous one, but that's normal behaviour. When a table is deleted the corresponding "system name" is free to reuse for a new table, view or secondary index. This is the reason that when you now look again at the system table "/BI59807" you'll find another table or index under "alternative table name".

So up to now all seems to be O.K. I assume that you also copied the records from the saved table as described in point 7 and 8 of the note.

What's now missing are the indexes. As described in point 9 you can either restore the indexes if you saved them at point 2 or you can create them via SE11 or SE14.

Kind regards,

Gerhard Hoffmann

SAP Development Support on IBM i Systems