Openbravo Issue Tracking System - Openbravo ERP | ||||||||||||
View Issue Details | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||||
0004890 | Openbravo ERP | 00. Application dictionary | public | 2008-09-09 17:16 | 2008-12-11 13:40 | |||||||
Reporter | rafaroda | |||||||||||
Assigned To | rafaroda | |||||||||||
Priority | high | Severity | minor | Reproducibility | always | |||||||
Status | closed | Resolution | fixed | |||||||||
Platform | OS | 20 | OS Version | Ubuntu 7.10 | ||||||||
Product Version | pi | |||||||||||
Target Version | Fixed in Version | |||||||||||
Merge Request Status | ||||||||||||
Review Assigned To | ||||||||||||
OBNetwork customer | No | |||||||||||
Web browser | ||||||||||||
Modules | Core | |||||||||||
Support ticket | ||||||||||||
Regression level | ||||||||||||
Regression date | ||||||||||||
Regression introduced in release | ||||||||||||
Regression introduced by commit | ||||||||||||
Triggers an Emergency Pack | No | |||||||||||
Summary | 0004890: AD_COLUMN_IDENTIFIER does not work correctly for 'M_Product' table | |||||||||||
Description | In some files [1] [2] [3], AD_COLUMN_IDENTIFIER is used, for instance, as: AD_COLUMN_IDENTIFIER(TO_CHAR('M_Product'), TO_CHAR(T.M_PRODUCT_ID), TO_CHAR('es_ES')) in order to get the name of a product in Spanish, if this product has a translation to Spanish. [1] https://dev.openbravo.com/websvn/openbravo/trunk/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java [^] [2] https://dev.openbravo.com/websvn/openbravo/trunk/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceVendorDimensionalAnalysesJR.java [^] [3] https://dev.openbravo.com/websvn/openbravo/trunk/src/org/openbravo/erpCommon/ad_reports/ReportMaterialDimensionalAnalysesJR.java [^] | |||||||||||
Steps To Reproduce | 1) Set a Spanish translation for the product with M_Product_Id = 1000001 (Telephone) inside 'Master Data Management || Product || Product >> Translation' 2) Execute (being 1000001 the ID of the product - M_Product_Id): select AD_COLUMN_IDENTIFIER('M_Product', '1000001', 'es_ES') from dual; You still get the name 'Telephone' in 'en_US'. | |||||||||||
Proposed Solution | If you inspect AD_COLUMN_IDENTIFIER function, you find: SELECT REPLACE(REPLACE(SQL_RECORD_IDENTIFIER, ':c_language', '''' || p_Language || ''''), ':c_ID', p_Record_ID) INTO v_SQL FROM AD_TABLE WHERE UPPER(TABLENAME)=UPPER(p_TableName) ; If you execute: SELECT REPLACE(REPLACE(SQL_RECORD_IDENTIFIER, ':c_language', '''' || 'es_ES' || ''''), ':c_ID', '1000001') FROM AD_TABLE WHERE UPPER(TABLENAME)=UPPER('M_Product') ; You get the SQL: SELECT TO_CHAR(COALESCE(TO_CHAR(T.Name),'')) AS COLUMN_IDENTIFIER FROM (SELECT AD_LANGUAGE FROM AD_LANGUAGE WHERE AD_LANGUAGE='es_ES') L, M_Product T WHERE M_Product_ID='1000001' Then, inside AD_COLUMN_IDENTIFIER function, this SQL sentence is executed. You can notice that there is no reference to M_Product_Trl table so you will never get the Spanish translation of the product. | |||||||||||
Additional Information | ||||||||||||
Tags | No tags attached. | |||||||||||
Relationships |
| |||||||||||
Attached Files | ||||||||||||
Issue History | ||||||||||||
Date Modified | Username | Field | Change | |||||||||
2008-09-09 17:16 | rafaroda | New Issue | ||||||||||
2008-09-09 17:16 | rafaroda | Assigned To | => rafaroda | |||||||||
2008-09-09 17:16 | rafaroda | Status | new => scheduled | |||||||||
2008-09-09 17:36 | svnbot | Checkin | ||||||||||
2008-09-09 17:36 | svnbot | Note Added: 0008954 | ||||||||||
2008-09-09 17:36 | svnbot | Status | scheduled => resolved | |||||||||
2008-09-09 17:36 | svnbot | Resolution | open => fixed | |||||||||
2008-09-09 17:36 | svnbot | svn_revision | => 7109 | |||||||||
2008-12-11 13:40 | psarobe | Regression testing | => No | |||||||||
2008-12-11 13:40 | psarobe | Status | resolved => closed |
Notes | |||||
|
|||||
|
|