First, I am pretty new to IBI products and we had a professional services consultant helping us out. Unfortunately, he is no longer on the project. So, hopefully, this will make sense...
There is a synonym created for a SQL Server table. Besides the columns, there are also 3 indexes in the synonym. Index1 is a unique index and it only had one column (the primary key column). Index2 is non-unique and it has 3 columns in it. Index3 is also non-unique and it has 1 column in it.
If I right-click on the synonym and select Data Management and then Recreate DBMS table, all three indexes are created. Index2 and Index3 are named that, but Index1 is actually named differently. Something like PK__ then part of the table name and then __ and some other characters.
However, the process that was written by the professional services consultant actually uses CREATE FILE synonym_name DROP. When this runs, the table is created and so is Index1 (again, with the PK__ name). However, the other indexes are not created.
Any idea why the other indexes are not created?
Windows, All Outputs
While your signature shows WebFOCUS 7.6 it appears you are using a later release.
While the primary key column(s) have always been identified as having indexes. However identification of additional columns was a new feature added in Release 7.7.04. That's why the names are different.
In WebFOCUS New Features 7.7.04
Support Indexed Columns in Create Synonym
A synonym for an RDBMS table now indicates column(s) with a Primary Key or INDEX. This information is added by CREATE SYNONYM. When CREATE FILE is used for the synonym,the table is created with the INDEX(ES) or with Primary Key.
While that's true when the command is issued from the Data Management Console or the Web Console, when run from a procedure you need:
CREATE FILE application/synonym WITHINDEXES DROP
Sorry about having the wrong version in the profile. I think my account was created last May before our products were installed. When they eventually were installed, we were on 7.7.04.
I added the WITHINDEXES to the process and it worked like a charm.
Thanks for the quick response. I really appreciated it.
Windows, All Outputs
I'm on 7.7.04 and I tried the following:
01/31/2013 13:43:30 LOOPBACK CREATE FILE TMNT_CEPM_JOB_CD_QLFR_CMPNT_ID_RQMNT WITHINDEXES DROP
01/31/2013 13:43:30 LOOPBACK END
01/31/2013 13:43:30 LOOPBACK -RUN
That did NOT work. In the process we have with Data Management it uses the .mas file as input. If the PK field does NOT have a MISSING=ON, the i PK is generated as discrible in the case which I call a goofy index. If the .mas file has the ,MISSING=ON, then it is created correctly as we would like to see it.
The issue is how do I generate the .MAS file with that MISSING=ON in it?
|Powered by Social Strata|