ORA-00932 and SQL Command Editor
As a co worker once said “Everyday’s a school day”, and I certainly learnt something new today. Hopefully, this will help you in the future. …
I was debugging the presence of a text entry for an issue with the APO SDP Note functionality. Using SE16, I was able to map out the following, based on the particular record my user was having a problem with in transaction /SAPAOP/SDP_NOTES.
Table: /SAPAPO/TSAREATE
field-name | value |
---|---|
MANDT | (none of your business) |
PAREAID | (none of your business) |
DOCTAB | /1APO/F410000021 |
SELTAB | /1APO/S410000022 |
EXPORT_STRU | /1APO/EXT_STRU410000023 |
EXTR_MAXLINES | 000000 |
COPYTAB | /1APO/C410000124 |
Table /1APO/F410000021
field-name | value |
---|---|
DOC9 ALOCNO | 1008 |
DOC9 AMATNR | 140635 |
PERM | 201608 |
DOCID | LtRK0c7c5B3X0800h102gG |
The next step, according to APO DP – Notes Upload is to search table STXL on field name TDNAME, using the DOCID value I’ve found. However, the field STXL TDNAME is defined using domain TDOBNAME and it is defined without the ‘Lower Case’ check box being ticked. This stops me from searching STXL using SE16 for TDNAME = ‘*LtDstui82O3X0800h102gG’, because SE16 translates the value to upper-case.
Now, I’m a smarty and thought I’d use transaction DBACOCKPIT and the ‘SQL Command Editor”, but ….
select * from STXL where TDNAME like ‘%LtDstui82O3X0800h102gG’;
gave me an ORA-00932: inconsistent datatypes: expected string got string message.
Google found me
http://www.dba-oracle.com/sf_ora_00932_inconsistent_datatypes_expected_string_got_string.htm
“As a workaround to ORA-00932 with the bug, the SELECT statement should have equal define variables and columns. You should also note that ORA-00932 will not occur with the specifics of this bug in 11.x versions.”
In my case the database is Oracle 11.2.0.2, so I thought I’d give it a try, and by making the WHERE clause include each field I selected …
select RELID, TDOBJECT, TDNAME, TDID, TDSPRAS, SRTF2 from STXL where
RELID like ‘%’ and
TDOBJECT like ‘%’ and
TDNAME like ‘%LtDstui82O3X0800h102gG’ and
TDID like ‘%’ and
TDSPRAS like ‘%’ and
SRTF2 like ‘%’;
… I got a result:
As I said every day is a school day, and I’d like to thank APO DP – Notes Upload for the original information that helped me track down my TEXT record.