Sergey Vishniakov
2006-08-07
Hi all,
I have created new table TM_Cntr, this is register for Countries
CREATE TABLE TM_Cntr
(
TM_Cntr_ID NUMBER(10,0),
AD_Client_ID NUMBER(10,0) NOT NULL,
AD_Org_ID INTEGER NOT NULL,
IsActive CHAR(1) DEFAULT 'Y' NOT NULL,
Created DATE DEFAULT SYSDATE NOT NULL,
CreatedBy NUMBER(10,0) NOT NULL,
Updated DATE DEFAULT SYSDATE NOT NULL,
UpdatedBy NUMBER(10,0) NOT NULL,
Value NVARCHAR2(40) UNIQUE NOT NULL,
Name NVARCHAR2(60) NOT NULL,
Description NVARCHAR2(255),
Help NVARCHAR2(2000),
primary key(TM_Cntr_ID),
foreign key(AD_Client_ID) references AD_Client(AD_Client_ID),
foreign key(AD_Org_ID) references AD_Org(AD_Org_ID),
CHECK(IsActive IN ('Y', 'N'))
);
after that, this table was described in AD.
Problem is arise when i try to use TM_Cntr_ID_To as Reference Type - Table, and created reference with this table(TM_Cntr) name in the existing tables, C_BPartner for example... and when i use NOT en_US interface language.
I have error message:
===========> MLookup.getDirect: TM_Cntr.TM_Cntr_ID: SQL=SELECT TM_Cntr.TM_Cntr_ID,NULL,TM_Cntr_Trl.Name,TM_Cntr.IsActive FROM TM_Cntr INNER JOIN TM_Cn
tr_TRL ON (TM_Cntr.TM_Cntr_ID=TM_Cntr_Trl.TM_Cntr_ID AND TM_Cntr_Trl.AD_Language='ru_RU') WHERE TM_Cntr.TM_Cntr_ID=?; Key=1000001 [13]
java.sql.SQLException: ORA-00942: table or view does not exist
; State=42000; ErrorCode=942
How I can use new tables with NON en_US interface, without creation of *_Trl tables? And without using Table Direct as Reference Type?
S.
Carlos Ruiz
2006-08-07
Hi Sergey.
1 - Why don't you use the C_Country table?
2 - You have marked the TM_Cntr.Name column as Translated in "Table and Column" window, this is why Compiere is trying to find the translation.
Regards,
Carlos Ruiz - globalqss
http://globalqss.com
Sergey Vishniakov
2006-08-07
Hi Carlos
1. We don't use all this countries, and i want to add new records into City Tab, without logginh in as System Administrator.
2. TM_Cntr.Name column is NOT Translated, and NOT Marked as Translated. The same situation we have in Window, Tab & Column
albert
2006-08-10
* org.compiere.model. MLookupFactory.java
// Translation
if (isTranslated && !Env.isBaseLanguage(language, TableName))
{
realSQL.append(" FROM ").append(TableName)
.append(" INNER JOIN ").append(TableName).append("_TRL ON (")
.append(TableName).append(".").append(KeyColumn)
.append("=").append(TableName).append("_Trl.").append(KeyColumn)
.append(" AND ").append(TableName).append("_Trl.AD_Language='")
.append(language.getAD_Language()).append("')");
}
Dear all:
For You reference...
From Compiere beyond Compiere
You need a Coach.
Ph.D.Albert Chen 886-958-222-948
Skype DrAlbertEinstein
Sergey Vishniakov
2006-08-11
Hi!
Thank you ALbert, i found the problem.
We need to use column name another than "Name". Because column AD_Column.isTranslated = true for column "NAME" with ID=102.
S.
albert
2006-08-11
Which language is your BaseLanguage
.......isBaseLanguage
Please set it...
It will work
albert
2006-08-11
for those who want to be rich like Mecury shareholders
join us as revoulutionary ERP developers and finicial founders. the team of ERP...
Sergey Vishniakov
2006-08-12
Thank you Albert.
I'll try... but it possible only under SQL Plus, Tora? We have Base Language field is ReadOnly... or... we can try to remove read-only for IsBaseLanguage field? :-)