cancel
Showing results for 
Search instead for 
Did you mean: 

Java Dictionary issues (deployment, update errors)

Former Member
0 Kudos

I'm using Netweaver Developer Studio 2.0.9 on Web AS 6.40 SP11.

After having attempted to use Java Dictionary with a JDO persistence layer on a real-life project, I'm having serious doubts about the advantages.

First of all, the inability to remove a dictionary project deployed on a server:

What if I want to make some tests on a development server? Starting up a project sometimes means trying out different schemas/names etc on the database, but after having deployed a dictionary project it is just stuck on the server. I can delete the tables, of course, but the dictionary project is just stuck there.

Second, what about migration:

Schemas changes, and sometimes so do the column types. The deployment process obviously cannot handle this, exiting with a "Table needs conversion" error. So the migration of table data lies externally to the dictionary projects, which seem to be in contradiction with its meaning.

But worst of all is that I've experienced several times where my dictionary just won't deploy. The errors always the same (I've tried deploying through both the SDM desktop and Netweaver):

[code]

Sep 7, 2005 10:52:09 AM Info: -


Starting deployment -


Sep 7, 2005 10:52:09 AM Info: Loading selected archives...

Sep 7, 2005 10:52:09 AM Info: Loading archive 'C:\usr\sap\KSP\JC00\SDM\program\temp\temp56150dk.thd.adresser dictionary.sda'

Sep 7, 2005 10:52:10 AM Info: Selected archives successfully loaded.

Sep 7, 2005 10:52:10 AM Info: Actions per selected component:

Sep 7, 2005 10:52:10 AM Info: Update: Selected development component 'dk.thd.adresser

dictionary'/'sap.com'/'localhost'/'2005.09.07.10.52.07' updates currently deployed development component 'dk.thd.adresser

dictionary'/'sap.com'/'localhost'/'2005.07.18.10.18.58'.

Sep 7, 2005 10:52:10 AM Info: Error handling strategy: OnErrorStop

Sep 7, 2005 10:52:10 AM Info: Update strategy: UpdateAllVersions

Sep 7, 2005 10:52:10 AM Info: Starting: Update: Selected development component 'dk.thd.adresser

dictionary'/'sap.com'/'localhost'/'2005.09.07.10.52.07' updates currently deployed development component 'dk.thd.adresser

dictionary'/'sap.com'/'localhost'/'2005.07.18.10.18.58'.

Sep 7, 2005 10:52:10 AM Info: <!LOGHEADER[START]/>

Sep 7, 2005 10:52:10 AM Info: <!HELP[Manual modification of the header may cause parsing problem!]/>

Sep 7, 2005 10:52:10 AM Info: <!LOGGINGVERSION[1.5.3.7181 - 630_SP]/>

Sep 7, 2005 10:52:10 AM Info: <!NAME[C:\usr\sap\KSP\JC00\SDM\program\log\jddilog20050907105210.log]/>

Sep 7, 2005 10:52:10 AM Info: <!PATTERN[jddilog20050907105210.log]/>

Sep 7, 2005 10:52:10 AM Info: <!FORMATTER[com.sap.dictionary.database.dbs.DbTraceFormatter(%s %m %-30l %24d)]/>

Sep 7, 2005 10:52:10 AM Info: <!ENCODING[Cp1252]/>

Sep 7, 2005 10:52:10 AM Info: <!LOGHEADER[END]/>

Sep 7, 2005 10:52:10 AM Info: 10:52:10 2005-09-07 dbs-Info: $Id:

//tc/DictionaryDatabase/630_VAL_REL/src/_dictionary_database_dbs/java/com/sap/dictionary/database/dbs/DbModificationManager.java#1 $

Sep 7, 2005 10:52:10 AM Info: 10:52:10 2005-09-07 dbs-Info: <<<<<<<<<<<<<< Table Deployment >>>>>>>>>>>>>

Sep 7, 2005 10:52:10 AM Info: 10:52:10 2005-09-07 dbs-Info:

Sep 7, 2005 10:52:10 AM Info: 10:52:10 2005-09-07 dbs-Info: <<< Analyze table BC_DDDBRTH >>>

Sep 7, 2005 10:52:10 AM Info:

Sep 7, 2005 10:52:10 AM Info: E R R O R ******* (DbMssTable)

Sep 7, 2005 10:52:10 AM Info: 10:52:10 2005-09-07 mss-Error: setColumnsViaDb failed: <null>

Sep 7, 2005 10:52:10 AM Info:

Sep 7, 2005 10:52:10 AM Info: E R R O R ******* (DbModificationManager)

Sep 7, 2005 10:52:10 AM Info: 10:52:10 2005-09-07 dbs-Error:

Sep 7, 2005 10:52:10 AM Error: Aborted: development component 'dk.thd.adresser dictionary'/'sap.com'/'localhost'/'2005.09.07.10.52.07':

No further description found.

Sep 7, 2005 10:52:10 AM Error: -


At least one of the Deployments failed -


[/code]

This seems to be a problem when there's some sort of inconsistency between the deployed dictionary and the edited dictionary. But what the inconsistency is, no one knows. I have not been able to find anything which should lead to inconsistency. I haven't changed anything on the database tables on the server. So what are my options? To make a manual copy of the tables to temporary storage, delete the tables from the old Dictionary project, make a new Dictionary project, recreate the tables and make a manual copy of the data? Then I'm left with my old Java Dictionary project on the server, forever cluttering up the production server.

Why can't I simply remove the project from the server and start all over again?

Please, what am I missing here? Java Dictionay seems next to useless. Right now I'm tempted to stop using the dictionary and go back to manually creating the tables in the database.

Thanks,

Thomas

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi

I had a similar problem when importing into the test system with the CMS:

<i>Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: $Id: //tc/DictionaryDatabase/645_VAL_REL/src/_dictionary_database_dbs/java/com/sap/dictionary/database/dbs/DbModificationManager.java#4 $

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: <<<<<<<<<<<<<< Table Deployment >>>>>>>>>>>>>

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: <<<<<<<<<<<<<< Table Deployment >>>>>>>>>>>>>

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info:

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info:

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: <<< Analyze table BC_DDDBRTH >>>

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: <<< Analyze table BC_DDDBRTH >>>

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: predefined action is: >>>null<<<

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Info: predefined action is: >>>null<<<

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbDb2Environment)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Error: setColsViaDb: SELECT NAME, COLNO, COLTYPE, LENGTH, SCALE, NULLS, DEFAULT, DEFAULTVALUE, FOREIGNKEY FROM SYSIBM.SYSCOLUMNS WHERE TBNAME = ? AND TBCREATOR = ? ORDER BY COLNO FOR FETCH ONLY WITH UR ==> SQL-error=-99999, SQL-state=null, SQL-message=invalid operation: connection closed

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Info: setColsViaDb encountered exception com.sap.dictionary.database.dbs.JddException: Table could not be analysed.

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Info: DatabaseMetaData encountered exception com.ibm.db2.jcc.a.SqlException: invalid operation: connection closed.

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbDb2Table)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Error: dbGetPrimaryKeyName (BC_DDDBRTH): SELECT NAME FROM SYSIBM.SYSINDEXES WHERE UNIQUERULE = 'P' AND TBNAME = ? AND CREATOR = ? AND TBCREATOR = ? FETCH FIRST ROW ONLY OPTIMIZE FOR 1 ROW FOR FETCH ONLY WITH UR ==> SQL-error=-99999, SQL-state=null, SQL-message=invalid operation: connection closed

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbDb2Table)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Error: dbGetIndexNames: SELECT NAME, UNIQUERULE FROM SYSIBM.SYSINDEXES WHERE TBNAME = ? AND TBCREATOR = ? AND CREATOR = ? FOR FETCH ONLY WITH UR ==> SQL-error=-99999, SQL-state=null, SQL-message=invalid operation: connection closed

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbDb2Table)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Error: setIndexesViaDb: invalid operation: connection closed

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbDb2Table)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 db2-Error: setCommonContentViaDb (BC_DDDBRTH) failed: invalid operation: connection closed

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbModificationManager)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Error:

Info:Oct 30, 2006 3:19:47 AM Info:

Info:Oct 30, 2006 3:19:47 AM Info: E R R O R ******* (DbModificationManager)

Info:Oct 30, 2006 3:19:47 AM Info: 3:19:47 2006-10-30 dbs-Error:</i>

I perfomed a lot of SQL & JDBC analysis but could not find a DB error - so I resorted to identifying the SCA file from the SDM error log, and then manually deploying with the SDM.

This worked fine, and then I clicked the "import" button in the CMS and the status changed from Error to "Import Finished". All subsequent imports into production did not have any errors.

Probably not the nicest way to resolve the issue, but with a tight project deadline it was someting we had to do!

Regards

Ratna

katarzyna_fecht
Explorer
0 Kudos

Hi Thomas,

sorry for a late answer,

the scenario you describe is possiby not a perfect one. Usually you test your system on a test server (and db) instance. Try to avoid changing tables in the productive database.

Dictionary supports some table modifications, and those requiring table conversion not. There are ways to execute changes consistently, for example, some modifications work for empty tables only.

About removing Dictionary projects: I suppose you mean removing them from the SAP NWDI storage, like the DTR server? (What you deploy to the target NW AS instance is an archive containing table descriptions, and not the project.)

In the context of NWDI, in fact, project names and also names for database objects have to be unique and cannot be resused anymore after you have created them. This restriction is necessary to support consistent application development and handling over years. For test purposes, use general available, lightwight names (TMP_* for tables for example)

Finally, deployment (or other) errors: Enter a CSS message and our support will contact you quick.

Anyway, hope you think about using Dictionary again,

Regards, Katarzyna