Syntax errors in the source statement - Intergraph Smart Reference Data - Version 10.2 - Training - Hexagon

Intergraph Smart Reference Data Training (10.2)

Language
English
Product
Intergraph Smart Reference Data
Search by Category
Training
Smart Materials/Smart Reference Data Version
10.2

These syntax errors raise a fatal error.

Progress Display

In the progress display, you find that the error raised at stage Fill Interface Tables:

34

Logfile

Looking at the end of the logfile, you find the same message "ORA-00936: missing expression" on a line saying that this error was "raised during parse of job source statement." This log entry can be used to identify this kind of error:

...

Error <ORA-00936: missing expression> raised during parse of job source statement:

Error filling data table <PipeStock> with stnd method

ORA-20000: Error fetching attribute values for data table PipeStock

ORA-06512: at "M_SYS.M_PCK_SP3D", line 266

ORA-06512: at "M_SYS.M_PCK_SP3D", line 1528

ORA-00936: missing expression

ORA-06512: at "M_SYS.M_PCK_SP3D_UTL", line 9047

End of the logfile.

Solution(s)

Open Integration->Smart 3D->Smart 3D Configurations->Data Table Configurations, and select the PipeStock data table as indicated in the logfile. Check all attributes that have the BASE_COLUMN retrieval method. All retrieval sources of those attributes are built into the complex SELECT statement.

36

In our case, the error cause is the wrong retrieval method for the Density attribute. The user wanted to map the density on Item Mappings, so he chose the Default retrieval source, but he forgot to change the retrieval method to ATTR_STND_METHOD. What happens now is that the string "Default" is simply copied to the SELECT statement, but Oracle does not know what to do with it. BASE_COLUMN sources must be references to valid columns used in the underlying tables, such as "cc.commodity_code" in the picture above. There may be even more complicated function calls that operate on those table columns. But, it is not possible to use retrieval sources from Retrieval Sources that can be selected via LOV. After changing the retrieval method for the Density attribute to ATTR_STND_METHOD, the error disappears.

Another possible reason might be a syntax error in a source definition. Imagine if the user typed:

NVL(cc.commodity_code,’EMPTY’and forgot the closing bracket at the end of the clause. This omission leads to an error in the same part of the process; only the error message is now "ORA-00907: missing right parenthesis."

If the customer wrote his own data table level retrieval sources, there might be also syntax errors. The following picture shows the data tables level retrieval source of the PipeStock data table:

37

The retrieval source is defined on Retrieval Sources. It can contain a list of tables and some additional filtering condition (where errors can be integrated):