cancel
Showing results for 
Search instead for 
Did you mean: 

SAP ME ODS Script Error - ODSProductionETL.bat

Former Member
0 Kudos

Hi All,

We are trying to transfer data to ODS database through SAP ME scripts but we've been getting issues with it. I will be using the logs from ODSProductionETL.bat as reference.

Here is the error from ODSLog.txt:

Thu Dec 01 10:10:25 CST 2016 ODSProductionLogExtract: Started
Thu Dec 01 10:10:28 CST 2016 ODSProductionLogExtract: [SQL][BaseDataSource].....The following fatal SQL exception has occurred:
SELECT SYSTEM_RULE.VALUE_OBJECT_TYPE, SYSTEM_RULE_SETTING.SYSTEM_RULE_SETTING FROM SYSTEM_RULE, SYSTEM_RULE_SETTING WHERE SYSTEM_RULE_SETTING.SITE='*' AND SYSTEM_RULE.SYS_RULE='ODS_LAG_TIME' AND SYSTEM_RULE.HANDLE=SYSTEM_RULE_SETTING.SYSTEM_RULE_BO
com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'SYSTEM_RULE'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
at com.sap.me.ods.database.ODSBaseDataSource$StatementWrapper.executeQuery(ODSBaseDataSource.java:1182)
at com.sap.me.frame.jdbc.DynamicQuery.executeQuery(DynamicQuery.java:842)
at com.sap.me.frame.AbstractSqlImplementation.executeQueryAsResultSet(AbstractSqlImplementation.java:189)
at com.sap.me.ods.database.ODSBaseDataSource.executeQuery(ODSBaseDataSource.java:121)
at com.sap.me.ods.olap.ODSBase.getSystemRule(ODSBase.java:2313)
at com.sap.me.ods.olap.ODSBase.getExtractDates(ODSBase.java:1559)
at com.sap.me.ods.olap.ODSProductionLogRollupProcess.ODSExtract(ODSProductionLogRollupProcess.java:77)
at com.sap.me.ods.ODSProductionLogExtract.main(ODSProductionLogExtract.java:41)


From that we thought we could be having an issue with the linked server from ODS to WIP but the database side looks ok. If I manually change the statement that is failing, adding the appropriate required syntax by MS-SQL to run a query on a linked server, we can see it working when manually running it on ODS:

... FROM WIP.WIP.dbo.SYSTEM_RULE,WIP.WIP.dbo.SYSTEM_RULE_SETTING ...

Any thoughts on that?

We are running SAP ME 15.0.3 and MS-SQL 2012.

Thanks,

Ricardo

Accepted Solutions (0)

Answers (1)

Answers (1)

sergiy_katerinich
Active Contributor
0 Kudos

Hi,

ODS processing executes the query to WIP database directly instead of via the linked server. It uses WIP-to-ODS linked server to execute queries to ODS database. So, it looks like an issue with collation of WIP. Please check SAP Note 1664248.

Regards,

Sergiy