Parameter for portal language
Hi everybody,
I want to give the portal language from actual user to a application by URL.
Do you know the paramter that I need?
Best regards
Christian
Hi Christian,
please see my first answer in Set user Language in URL IView
Hope it helps
Detlev
Similar Messages
-
How to catch URL parameter from Portal URL in Web Dynpro iView
Hi All,
I have a web dynpro application running as a portal iView successfully. Now the client wants to make it internationalized with 7 languages. Currently they access the portal - and via role assignment they get to the portal tab with the wd iView. Now they want to send a parameter for the language key with the portal URL. So when they are typing in http://myportal.mydomain.com now they want to type in http://myportal.mydomain.com?sap-locale=de or so. My question is how can I catch this parameter in the WD application when it is running inside a portal iView? Is it at all possible?
I have written a very small application which is trying to catch a URL parameter named PARAM. The code I have written is the default one as below:
String paramValue = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("PARAM");
When I run the application standalone and add the PARAM=something in last of the URL I can catch it. But when I create an iView and while previewing it I add the same PARAM value it is coming as null all the time. Same when I add this iView to a role and show it via role assignment in protal. Please help to let me know how to achieve this. I think if I can read the parameter value from Portal URL in the WD iView - then I can set it as the default locale of the application and then show language specific file to achieve internationalization.
Your urgent help will be highly appreciated.
Warm Regards,
ShubhoHi Shubhadip
Even if you get the parameters, how do you internationalize your application? Are you not following the standard way as described in the following link. In this case you never need to capture any such parameter. This is done by the WD runtime automatically .
<a href="http://help.sap.com/saphelp_erp2005/helpdata/en/f4/d95664da179b4db731e21c2e470b72/frameset.htm">Internationalization of WD projects</a>
You can retrieve application parameters specified at the creation of iview by "adding parameters(with the same name as in iview application parameters) to the default plug of the Component Interface View of the WD application". "onDefaultPlug" method of the interface view controller you get these values as parameters, which you can save in the context node of component controller for later use.This is guaranteed to work.
But again this is not what you want exactly. You want the user to specify the value at runtime. If you have just 7 languages, you can create 7 set of iviews with different application parameter value indicating language key, and assign to 7 different set of roles, each representing one set of users with common language.
I hope you find a solution.
Regards
kk -
Installing language support for Portal
Hi,
I want to set up portal 3.0 for dutch language. In the config guide included on the cd's it says to install this with the langinst.cmd which should be in /wwv/src directory. But this file is in the plsql directory. When I run the langinst.cmd I get an error that it can't find the directory with the language settings.
Is there an update of this config file as it seems to be wrong.
tia.
kasperhi again,
solved the problem. The online Oracle9iAS Portal: Configuration Guide
is different then the that came on the cd. The instructions on the online guide worked. The instructions that came on the cd refer to directories and files that don't exist.
tia.
null -
Passing parameter spage id and portal language to a report portlet
Hi,
how can I pass the page id and portal language to a report portlet so I can filter my query according to that page id and language. See the report query below:
select <information required> from ana_statistics
where portal_page = :page_parameter
and language = :portal_language
ThanksYes, you can.
Here is an example.
Form: on scott.emp table.
Define the On successful submission of a form as
go('http://<server>:<port>/servlet/page?_pageid=<page id>&_dad=<dad>&_schema=<schema>&dept='||p_session.get_value_as_NUMBER(
p_block_name => p_block_name,
p_attribute_name => 'A_DEPTNO',
p_index => 1));
Report: alos on scott.emp table:
select * from SCOTT.EMP where DEPTNO = :dept
and define the "before displaying the page" as
<portal schema>.wwv_name_value.replace_value(
l_arg_names,
l_arg_values,
p_reference_path||'.dept',
<portal schema>.wwv_standard_util.string_to_table2(nvl(get_value('dept'),10)));
Put those two portlets on a page, after you submit the form (after Insert, Update, Delete),
the page will be refreshed and the deptno will be passed to the report.
Hope this helps.
This example was built on portal 309. -
Language support for Portal for NT EA
there's one for Portal in iAS 1.0.2
can i apply script from that Portal
for Portal EA for NT?
if yes where can i get this script
without downloading iASYou should not run any scripts from the production version of Portal within the EA version. The product version of Portal should be available in the next few weeks for NT.
-
Help, need to change IP address on host database for Portal
Hi folks,
Rather urgent assistance (as usual) needed. I have an installation working correctly on a pair of Win2k machines, one as the 9i database, one as the 9iAS/Portal. The app server has 2 NIC cards, one with public IP address (which is ok), one on the LAN. I need to reconfigure the LAN addresses on both the machines. Initial Portal install done without DNS, i.e. actual server/host addresses entered in the configuration.
I have tried changing all of the TNS/Listner settings and the NIC card IP addresses and restarting the machines. The likes of SQLPlus work ok, with the TNS connect name allowing over the LAN access into the database with the new LAN addresses. I cannot seem to get the 9iAS/Portal to find the repository with the new addresses.
Can someone help please? I can't find the answer in any documentation or other postings.
Thanks in advance
RobThere are other modes of operation for the plasst as well. I am listing them below but the formatting will make it difficult to read. If you like I can email it to you.
Bill G...
Configuring Portal when the HTTP server host name of the Infrastructure is changed
Run the following from the $ORACLE_HOME/assistants/opca dir
ptlasst.bat -mode SSOPARTNERCONFIG -i typical -sdad portal -host myApache.domain.com -port 7777 -silent -verbose
NOTE:
(1) This command would create a new Portal partner application in the SSO to reflect the changes of the Infrastructure. Before running this command please ensure to configure the SSO with the correct hostname by running the ssocfg.bat script located in the Infrastructure install (<infra_home>\sso\bin).
The value for -host parameter will be the IP address of the infrastructure server and -port will be the port where the infrastructure http server is running on.
Configuring Portal when the HTTP server host name of the Middle tier is changed
ptlasst.bat -mode MIDTIER -i typical -host myApache.domain.com -port 7777 -ldap_h myOID.domain.com -ldap_p 389 -ldap_w welcome -pwd secret123 -portal_only -oh /home/oracle -chost myHostname.domain.com -cport_i 8001 -cport_a 8000 -wc_i_pwd invalidator -mc false -mi true -silent -verbose
NOTE :
(1) The -host value should match the serverName value of the httpd.conf
(2) The -chost should be updated with the correct webcache hostname. In a default iAS midtier install the -host is same as the -chost.
The value for -host parameter will be the IP address of the midtier(portal) server and -port will be the port where the portal is running on.
Parameter Description Default Value Mandatory
-i install_type Installation Type
In the typical mode, the OPCA would get the Infrastructure information like the Portal schema name, Portal schema password, connect string to the Portal repository, SSO Partner application schema and password, SSO Password store schema and password and connect string to the SSO repository from the Repository Access API's.
In the custom mode, the OPCA would take whatever is passed as the command line arguments.
CUSTOM
-mode mode The different install modes are : PORTAL, SSO, SSOPARTNERCONFIG, LANGUAGE, MIDTIER, ALL, SYSOBJECTS , DEINSTALL
-s portal_schema Oracle Database schema for Portal database objects. In an iAS 9.0.2 install
the default Portal schema name is portal portal
-sp portal_password Password for Portal schema. In an iAS 9.0.2 install the portal schema password is randomized by default. Refer to the note "How to get the Portal schema password of the Infrastructure database ?" for details. <portal_schema>
-c portal_connect Connect string to connect to the Portal repository <hostname>:<port>:<sid>
-p sys_password The Oracle Database password for the Oracle SYS user MANDATORY
-sdad portal_dad DAD for the Portal schema. Create the DAD to the Portal repository through the OEM. Refer to the note "How to create and manage the Portal and SSO DAD ?" for details. <portal_schema>
-host portal_host Hostname of the HTTP server for Portal. This should match byte to byte with whatever is present in the ServerName attribute in the $OH/Apache/Apache/conf/httpd.conf file of the midtier. MANDATORY
-port portal_port Port of the HTTP server for Portal. The Port attribute in the $OH/Apache/Apache/conf/httpd.conf file of the midtier would provide the value. 7777
-ldap_h oid_host_name Host name of the OID server MANDATORY
-ldap_p oid_port_number Port number of the OID server 389
-ldap_d oid_admin_DN Admininstration DN cn=orcladmin
-ldap_w oid_admin_pw Password for DN welcome
-pwd initial_password Initial Password for seeded OID users. In iAS 9.0.2 install this is defaulted to the iAS instance password of the midtier installation. MANDATORY (for ALL or MIDTIER)
-das_public Add Portal Groups to DAS Public Groups. The values could be Y or N. The default is Y. The setting publishes the Portal groups that the user can add to when creating the new user in OID. Y
-u default_tablespace Install Portal objects in this tablespace. The default tablespace selected should have atleast 75 MB of free available space and should have autoextend on. Refer to the note "What are the recommended tablespace size required for Portal installation ?" for details. The default tablespace selected by default is users tablespace. users
-t temporary_tablespace Use this tablespace for temporary objects. The temporary tablespace selected should have atleast 20 MB of free available space and should have autoextend on. Refer to the note "What are the recommended tablespace size required for Portal installation ?" for details. The temporary tablespace selected by default is temp tablespace. temp
-d document_tablespace Install Portal document table in this tablespace. The document tablespace selected should have atleast 4 MB of free available space and should have autoextend on. Refer to the note
"What are the recommended tablespace size required for Portal installation ?" for details. The documented tablespace selected by default is users tablespace. <default_tablespace>
-l logging_tablespace Install Portal logging tables in this tablespace. The Logging tablespace selected should have atleast 4 MB of free available space and should have autoextend on. Refer to the note "What are the recommended tablespace size required for Portal installation ?" for details. The Logging tablespace selected by default is users tablespace. <default_tablespace>
-in index_tablespace Install Portal index in this tablespace. The Index tablespace selected should have atleast 20 MB of free available space and should have autoextend on. Refer to the note "What are the recommended tablespace size required for Portal installation ?" for details. The Index tablespace selected by default is users tablespace. <default_tablespace>
-lang language Abbreviation for the language to install us
-m language_mode Specifies the mode for language installation
if sso, translations only for Login server.
if portal, translations only for Portal.
if -m not specified, translations are installed for Both
-demo Install Portal webview demos
-silent Run mode for Portal Configuration Assistant. There is no UI provided by OPCA in the iAS 9.0.2 install. Use -silent option always
-verbose Log mode for Portal Configuration Assistant. If this parameter is not set, logging information would be in brief and the OPCA would abort the install if it encounters any errors of kind
ORA-, PLS- or SP2 errors.
-report Install reports integration with Portal
-owa Install OWA packages along with Portal This option behaves the same as the SYSOBJECTS mode.
-sso_only Configure only SSO in mid-tier mode
-portal_only Configure only Portal in mid-tier mode
-available Language will be available for user translation
-chost cache_host Cache host for Web Cache <hostname>
-cport_i cache_inv_port Cahe port for Web Cache Invalidation 1100
-cport_a cache_adm_port Cahe port for Web Cache Administration 1000
-wc_i_pwd wc_inv_passwd Web Cache invalidator password invalidator
-wc wc_on_off_flag Web Cache ON/OFF flag to enable or disable WC. The default is ON. If set to OFF Portal would not use Webcache though Web Cache may be up and running. on
-o sso_schema Oracle Database schema for Login Server objects. In an iAS 9.0.2 install the default SSO schema name is orasso orasso
-op sso_password Password for Login Server Schema. In an iAS 9.0.2 install the SSO schema password is randomized by default. Refer to the note "How to get the Portal schema password of the Infrastructure database ?" for more details. Use similar steps to get the password of the orasso. MANDATORY for the following modes:
-MIDTIER: except when '-portal_only' is specified
-LANGUAGE: except when '-m portal' is specified
-DEINSTALL: except when '-drop PORTAL' is specified
-odad sso_dad DAD for Login Server objects. Create the DAD to the SSO repository through the OEM. Refer to the note "How to create and manage the Portal and SSO DAD ?" for details. <sso_schema>
-sso_c sso_connect Connect string to connect to the SSO repository If the Portal and SSO use the same database this option need not be passed and would default to the -c argument. <hostname>:<port>:<sid>
-sso_h sso_host Hostname of the HTTP server for the SSO. If Portal and SSO use the same HTTP server this option need not be passed. It would default the HTTP server used for the Portal.
-sso_p sso_port Port of the HTTP server for the SSO. If Portal and SSO use the same HTTP server this option need not be passed. It would default the HTTP port used for the Portal.
-pa papp_schema SSO Partner Application Registration Schema. In an iAS 9.0.2 install the default Password store schema name is orasso_pa <sso_schema>_PA
-pap papp_password SSO PA Schema Password. In an iAS 9.0.2 install the SSO schema password is randomized by default. Refer to the note "How to get the Portal schema password of the Infrastructure database ?" for more details. Use similar steps to get the password of the orasso_pa <papp_schema>
-ps pstore_schema Password Store Schema. In an iAS 9.0.2 install the default Password store schema name is orasso_ps <sso_schema>_PS
-pp pstore_password Password Store Password. In an iAS 9.0.2 install the SSO schema password is randomized by default. Refer to the note "How to get the Portal schema password of the Infrastructure database ?" for more details. Use similar steps to get the password of the orasso_ps. <ptore_schema>
-pd pstore_dblink Database link from Portal schema to Password store. If the Portal and SSO use the same database this option need not be passed. <portal_schema>_DBLINK
-p_tns pstore_tns TNS connect string to Password Store. If the Portal and SSO use the same database this option need not be passed. The tnsalias should be created in the iAS 9.0.2 Portal middle tier.
-s_tns portal_tns TNS connect string to Portal
-ssotype ssotype SSO install type. Valid values are repository, midtier, all Repository
-ultrasearch Ultrasearch configuration
-drop drop_obj Drops either PORTAL or SSO or ALL (Both)
if PORTAL, drops Portal schema and OID entries.
if SSO,drops Portal schema and OID entries.
if ALL, drops Portal and SSO schema and OID entries
-oh oracle_home Oracle Home
-mi midtier_install Midtier Installation
-mc midtier_config Midtier Configuration
-ssl Use SSL protocol for configuration. Pass this parameter only if SSL configuration is required. If this parameter is passed the -port passed should also be the SSL port of the HTTP server. Bt default this is not passed.
-emhost em_host Enterprise Manager host for monitoring <hostname>
-emport em_port Enterprise Manager port for monitoring 1810
-iasname ias_name Name of the iAS instance that the install is installing on -
How to pass the portal language with the URL
Dear experts,
We are trying to call the SAP Enterprise Portal (Online Catalogue) from SAP ERP (ECC6) with an URL that looks somehting like this:
http://xxx.com/irj/portal?j_user=xx&j_password=xx
This works fine, however we would like to add the language as a parameter, something like &language=IT but this doesn't work. I've tried multiple paramaters but none of them brought any success.
The only half-valuable parameter we found is ume.logon.locale which is only considered on the logon screen, though.
Does anybody know which parameter I need to use? Does the SAP Enterprise Portal accept language settings comming from the URL?
Thanks a lot & regards,
Pascal ThalmannHi Abdul and Ayyapparaj,
Thanks a lot for your quick answers but unfortunatelly nothing helped.
@Abdul: I am aware of this risk, but thanks for the hint. The paramter sap-langage was already known but did not bring the desired results - it seems not be accepted.
@Ayyapparay: I had already visited the link you mentined in your reply. The list seems to be related to Web Dynpro Applications which does apply to my problem. Furthermore, the parameters I am using at the moment (j_user & j_password) are not documented.
Any other ideas?
Thanks a lot and regards,
Pascal Thalmann -
Portal language refresh / reload (user data source ABAP stack)
Hello,
I'm on SAP NetWeaver Portal 7.0 with user data source on ABAP stack.
I'm trying to create simple JavaScript links for changing the Portal language.
I was able to change the ABAP stack user's logon language by BAPI call.
But the newly set language shows up only after the user logs out and logs in again.
I know that in the WebDynpro for Java, which implements the UME user interface, there is a functionality, that allows that relogging of the user is not necessary. After setting the language you only refresh the browser page (F5) and the new language shows up.
Does anyone know what function I should call, for the language refresh (could be the same as in UME standard WDJ)?Hi Andres,
language doesn't change on the Portal. The content remains in the previous language.
I know that the switching of Logon language parameter in the user profile in ABAP stack and logoff and login on the portal leads to change of the language on the Portal. But I don't know, how to do it without the relogging of the user.
I change the Logon language in ABAP by AJAX call of BAPI.
Thank you for any idea.
Jiri -
Hi ALL,
I have a question. I am changing the portal language.
1)Do I need to change back end language.
2)If I need to change the back end language, tell me which of these back ends need to change the language setting.
ECC
SRM
CRM ISA
MDM
BI
Please guide me on this.
Regards
KeerthiHi Marcus,
We recently installed more Portal languages for an SSO project. This resulted in some IAC iViews no longer letting the user through to the backend over the ITS server if a language was used that was not available on the backend. The user would get a logon screen instead of the transaction with the language set to the portal language.
You can configure the iView to force a language that's available on the backend, but you can only select a single language here. If a user has a language selected in the Portal that would be available on the backend, then he will still be forced to work with that forced language...
So far I am unaware of a solution where you can pull the available languages on the backend directly. Our solution was to a enter the available languages in a parameter in the transaction iView, then read this parameter and see if the user has one of these languages selected. If not, then he's forced to use a fallback language (English for example).
You can read more about it here:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/de95e490-0201-0010-b390-f0f23a95e2b8
So yeah, in essence you don't get an error per say, but you will be forced to change you r language in the iView before you can logon.
Cheers,
Hermann -
How set and get parameter for a session of a portlet (Java)
I would like get parameter and set parameter for a portlet in portal 9.02. This parameter must be availbale during the session of the portal.
With Java Servlet
// I retrieve my session
HttpServletRequest httpreq = (HttpServletRequest)req;
HttpServletResponse httpresp = (HttpServletResponse)resp;
HttpSession session = httpreq.getSession();
//And after i can get or set some parameter for this servlet
//Example
session.setAttribute("MyEmployeeNumber","600000");
String id = (String)session.getAttribute("MyEmployeeNumber");
// But with Portlet in portal, i can't do it.
PortletRenderRequest pr= (PortletRenderRequest)httpreq.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
String sUser=pr.getUser().getName();
ProviderSession session=pr.getSession();
// But after if i want get or set a value in this session i have a internal error 500
session.setAttribute("MyEmployeeNumber","600000");
I would like my parameter is avalaible during a session for a user in each page of the portal, because my portlet is on each page.I have almost the same problem. I tried as you suggested, but it doesn't work yet.
provider.xml
<session>true</session>
<passAllUrlParams>true</passAllUrlParams>
My code in my jsp-portlet is
<%@page contentType="text/html; charset=windows-1252"
import="oracle.portal.provider.v2.render.PortletRenderRequest"
import="oracle.portal.provider.v2.render.PortletRendererUtil"
import="oracle.portal.provider.v2.http.HttpCommonConstants"
import="oracle.portal.provider.v2.ParameterDefinition"
import="oracle.portal.provider.v2.render.http.HttpPortletRendererUtil"
%>
<%@page session="true"%>
<%
PortletRenderRequest pReq = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
String valueSession = (String)pReq.getAttribute("sesion");
if (valueSession != null) {
pReq.setAttribute("session", "value1");
out.println("<br>(1)valueSession != null");
out.println("<br>(1)valueSession : " + pReq.getAttribute("session"));
} else {
pReq.setAttribute("session", "value2");
out.println("<br>(2)valueSession == null");
out.println("<br>(2)valueSession : " + pReq.getAttribute("session"));
%>
And i always get as result:
(2)valueSession == null
(2)valueSession : value2
Even when i send values (post) at the same page or browsing between tabs:
I check my provider registration and it has the value "once per session"
I have portal 9.0.2.2.14
Thanks -
Oracle 9i Support for multi language is not working.. Giving question mark
HI,
We have an application which uses oracle 9i as the database. Riight now we are supporting only english and there is a requirement to support multiple languages like korean, chineese and japaneese.
But we are planning to migrate one part of the application to support multi languages. Means it may affect around 10 tables but with huge data. Totally we have around 100 tables.
How to enable the database for supporting multiple langugages.?
Is there any way to enable only the few tables supporting multiple languages. Because if we change the database level parameters for supporting languages, we may need to migrate entire tables. this will be a huge task.
Even if want to set the parameters for supporting multiple languages.. how to set it. Is it possible set it in the existing database or do we need to re-create the table with these prameters.
I have read in some documentation, that we can create table columns with nVarchar2 for supporting multi languages. I have created it. but if i copy some other language characters into those columns, it is giving question mark.
Is it possible to do search using text in native langugage like chineese..
Could somebody guide me on the above clarificationa and what would be the best approach..
Thanks in advance
Jino
Regards,
Jino George
Ext: 6520You should not use any more Oracle 9.0.1 but at least Oracle 9.2.0.8 to get some extended support if you really cannot upgrade to 10g.
I don't have any Oracle 9.x database available but I've run successfully following test with Oracle 10.2.0.1 in character mode under Linux:
oracle@pbell:~$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
oracle@pbell:~$ sqlplus / @nls
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Aug 29 17:29:56 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> drop table t;
Table dropped.
SQL> select * from v$nls_parameters where parameter like '%SET%';
PARAMETER
VALUE
NLS_CHARACTERSET
WE8ISO8859P1
NLS_NCHAR_CHARACTERSET
AL16UTF16
SQL> create table t ( data nvarchar2(100));
Table created.
SQL> insert into t values(unistr('\76EE\7684\5730'));
1 row created.
SQL> select * from t;
DATA
目的地Try to make sure you have the right NLS_LANG setting on the client side (under Windows this is a registry setting). -
Auto_lexer (stemming) not working for other languages(other than english)
Hi All,
We are planning to use AUTO_LEXER instead of MULTI_LEXER and observed that stemming is not working for German where as it is working for English when I use AUTO_LEXER. I even used query templates but of no use.
But when i use MULTI_LEXER, creating sub lexers for German and Enlgish, Stemming is working for German also after changing the session language and setting stemmer of wod list to German (Which is expected).
Following is the code for AUTO_LEXER creation:
CREATE TABLE test_auto_lexer(pkey NUMBER(5,0),
lang_index VARCHAR2(3),
content_text CLOB,
CONSTRAINT test_auto_lexer_pk primary key (pkey))
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (1,'eng','I drive a bike')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (2,'eng','I drove a bike')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (3,'eng','I have driven a bike')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (4,'eng','Just check for other things')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (5,'eng','always drive a car')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (6,'eng','it is nothing')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (7,'ger','Ich fahre ein Fahrrad')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (8,'ger','Ich fuhr ein Fahrrad')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (9,'ger','Ich habe ein Fahrrad gefahren')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (10,'ger','Aktivieren Sie einfach für andere Dinge')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (11,'ger','immer Auto fahren')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (12,'ger','es ist nichts')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (13,'ger','sprechen')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (14,'ger','sprach')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (15,'ger','gesprochen')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (16,'ger','tale')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (17,'ger','Indlæg')
INSERT INTO test_auto_lexer(pkey,lang_index,content_text)
VALUES (18,'ger','tales')
BEGIN
ctx_ddl.create_preference('auto_lexer1', 'auto_lexer');
END;
BEGIN
ctx_ddl.set_attribute('auto_lexer1','index_stems','yes');
END;
BEGIN
ctx_ddl.set_attribute('auto_lexer1','language','danish english german');
END;
BEGIN
ctx_ddl.set_attribute('auto_lexer1','alternate_spelling','german');
END;
CREATE INDEX test_auto_lexer_ix1
ON test_auto_lexer(content_text)
INDEXTYPE IS ctxsys.context
PARAMETERS ('datastore ctxsys.direct_datastore filter ctxsys.null_filter lexer auto_lexer1')
select to_char(content_Text) from test_auto_lexer where contains(content_text,
'<query>
<textquery lang="ger" grammar="context">
$fahren
</textquery>
<score datatype="integer"/>
</query>') > 0
this doesnt work even after changing the session language. My default Sesson language is AMERICAN.
Could any one help me with this, in case I am missing something here. I would be really thankful.
Edited by: Nagendra Prasad on Jan 23, 2010 12:05 AMIn the future, please begin a new thread for a new question and provide a link to a related question.
According to the online documentation, Oracle only supports stemming for English, Dutch, French, German, Italian, Spanish, and Japanese. Oracle does not support Russian stemming, although you may have gotten some accidental results, due to identifying it as a different language and applying stemming rules for that language. The following manual sections show the languages available for the index_stems attribute of the basic_lexer and stemmer attribute of the basic_wordlist:
Basic_lexer attributes:
http://docs.oracle.com/cd/E11882_01/text.112/e24436/cdatadic.htm#CIHHBAAD
Basic_wordlist attributes:
http://docs.oracle.com/cd/E11882_01/text.112/e24436/cdatadic.htm#g1019326
Also, please see the following note:
Features not available in 11.2.0.3:
http://docs.oracle.com/cd/E11882_01/readmes.112/e22488/toc.htm#BABDGGDB
"Certain Oracle Text functionality based on third-party technologies, including AUTO_LEXER and CTX_ENTITY, have been disabled in this release (reference Bug 12618046). For BASIC_LEXER, the usage of the INDEX_STEMS attribute values that depend on third-party technologies, is also affected. If this impacts an existing application, contact Oracle Support Services for guidance."
Also, the auto_lexer has been replaced by the world_lexer, which only has one attribute:
http://docs.oracle.com/cd/E11882_01/text.112/e24436/cdatadic.htm#BHCJEGFJ
I don't work for Oracle, so I don't know why they do things the way they do.
So, you need to stick with the basic_wordlist for stemming, not the lexers. However, you may get better performance by combining the multi_lexer with the basic_wordlist, as the multi_lexer eliminates time spent on automatic language detection. But, you need to remember not to use the index_stems with your lexer, since it will conflict with the wordlist. I am not experiencing any time problems as you have. Please see the demo below. I have provided the whole script below that, so that you can reproduce it on your system. If you still have problems, then it may be due to differences in versions.
-- demo:
SCOTT@orcl_11gR2> select * from v$version
2 /
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
5 rows selected.
SCOTT@orcl_11gR2> select value from v$nls_parameters
2 where parameter = 'NLS_CHARACTERSET'
3 /
VALUE
AL32UTF8
1 row selected.
SCOTT@orcl_11gR2> DROP TABLE news
2 /
Table dropped.
SCOTT@orcl_11gR2> EXEC CTX_DDL.DROP_PREFERENCE ('my_wordlist')
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> EXEC CTX_DDL.DROP_PREFERENCE ('global_lexer')
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> EXEC CTX_DDL.DROP_PREFERENCE ('english_LEXER')
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> EXEC CTX_DDL.DROP_PREFERENCE ('german_LEXER')
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> CREATE TABLE news
2 (pkey NUMBER,
3 lang VARCHAR2 (2),
4 short_content CLOB)
5 /
Table created.
SCOTT@orcl_11gR2> INSERT ALL
2 INTO news (pkey, lang, short_content)
3 VALUES (1, 'en', 'I drive a bike.')
4 INTO news (pkey, lang, short_content)
5 VALUES (2, 'en', 'I drove a bike.')
6 INTO news (pkey, lang, short_content)
7 VALUES (3, 'en', 'I have driven a bike.')
8 INTO news (pkey, lang, short_content)
9 VALUES (4, 'en', 'I always drive a car')
10 INTO news (pkey, lang, short_content)
11 VALUES (5, 'en', 'This is nothing')
12 INTO news (pkey, lang, short_content)
13 VALUES (6, 'de', 'Ich fahre ein Fahrrad.')
14 INTO news (pkey, lang, short_content)
15 VALUES (7, 'de', 'Ich fuhr ein Fahrrad.')
16 INTO news (pkey, lang, short_content)
17 VALUES (8, 'de', 'Ich habe ein Fahrrad gefahren.')
18 INTO news (pkey, lang, short_content)
19 VALUES (9, 'de', 'Ich habe immer ein Auto fahren.')
20 INTO news (pkey, lang, short_content)
21 VALUES (10, 'de', 'Es ist nichts.')
22 SELECT * FROM DUAL
23 /
10 rows created.
SCOTT@orcl_11gR2> BEGIN
2 -- word list:
3 ctx_ddl.create_preference ('my_wordlist', 'basic_wordlist');
4 ctx_ddl.set_attribute ('my_wordlist', 'stemmer', 'auto');
5 -- english lexer:
6 ctx_ddl.create_preference ('english_lexer', 'basic_lexer');
7 -- german lexer:
8 ctx_ddl.create_preference ('german_lexer', 'basic_lexer');
9 ctx_ddl.set_attribute ('german_lexer', 'composite', 'german');
10 ctx_ddl.set_attribute ('german_lexer', 'alternate_spelling', 'german');
11 ctx_ddl.set_attribute ('german_lexer', 'mixed_case', 'no');
12 ctx_ddl.set_attribute ('german_lexer', 'base_letter', 'yes');
13 -- multi_lexer:
14 ctx_ddl.create_preference ('global_lexer', 'multi_lexer');
15 ctx_ddl.add_sub_lexer ('global_lexer', 'default', 'english_lexer');
16 ctx_ddl.add_sub_lexer ('global_lexer', 'german', 'german_lexer');
17 END;
18 /
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> create index search_news
2 on news (short_content)
3 indextype is ctxsys.context
4 parameters
5 ('lexer global_lexer
6 language column lang
7 wordlist my_wordlist')
8 /
Index created.
SCOTT@orcl_11gR2> EXEC DBMS_STATS.GATHER_TABLE_STATS (USER, 'NEWS')
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> COLUMN short_content FORMAT A30
SCOTT@orcl_11gR2> ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'
2 /
Session altered.
SCOTT@orcl_11gR2> set timing on
SCOTT@orcl_11gR2> select * from news
2 where contains (short_content, '$drive') > 0
3 /
PKEY LA SHORT_CONTENT
1 en I drive a bike.
2 en I drove a bike.
3 en I have driven a bike.
4 en I always drive a car
4 rows selected.
Elapsed: 00:00:00.05
SCOTT@orcl_11gR2> select * from news
2 where contains (short_content, '$drove') > 0
3 /
PKEY LA SHORT_CONTENT
1 en I drive a bike.
2 en I drove a bike.
3 en I have driven a bike.
4 en I always drive a car
4 rows selected.
Elapsed: 00:00:00.05
SCOTT@orcl_11gR2> ALTER SESSION SET NLS_LANGUAGE = 'GERMAN'
2 /
Session altered.
Elapsed: 00:00:00.01
SCOTT@orcl_11gR2> select * from news
2 where contains (short_content, '$fahr') > 0
3 /
PKEY LA SHORT_CONTENT
6 de Ich fahre ein Fahrrad.
7 de Ich fuhr ein Fahrrad.
8 de Ich habe ein Fahrrad gefahren.
9 de Ich habe immer ein Auto fahren
4 rows selected.
Elapsed: 00:00:00.07
SCOTT@orcl_11gR2> select * from news
2 where contains (short_content, '$fuhr') > 0
3 /
PKEY LA SHORT_CONTENT
6 de Ich fahre ein Fahrrad.
7 de Ich fuhr ein Fahrrad.
8 de Ich habe ein Fahrrad gefahren.
9 de Ich habe immer ein Auto fahren
4 rows selected.
Elapsed: 00:00:00.16-- script for you to reproduce the demo on your system:
select * from v$version
select value from v$nls_parameters
where parameter = 'NLS_CHARACTERSET'
DROP TABLE news
EXEC CTX_DDL.DROP_PREFERENCE ('my_wordlist')
EXEC CTX_DDL.DROP_PREFERENCE ('global_lexer')
EXEC CTX_DDL.DROP_PREFERENCE ('english_LEXER')
EXEC CTX_DDL.DROP_PREFERENCE ('german_LEXER')
CREATE TABLE news
(pkey NUMBER,
lang VARCHAR2 (2),
short_content CLOB)
INSERT ALL
INTO news (pkey, lang, short_content)
VALUES (1, 'en', 'I drive a bike.')
INTO news (pkey, lang, short_content)
VALUES (2, 'en', 'I drove a bike.')
INTO news (pkey, lang, short_content)
VALUES (3, 'en', 'I have driven a bike.')
INTO news (pkey, lang, short_content)
VALUES (4, 'en', 'I always drive a car')
INTO news (pkey, lang, short_content)
VALUES (5, 'en', 'This is nothing')
INTO news (pkey, lang, short_content)
VALUES (6, 'de', 'Ich fahre ein Fahrrad.')
INTO news (pkey, lang, short_content)
VALUES (7, 'de', 'Ich fuhr ein Fahrrad.')
INTO news (pkey, lang, short_content)
VALUES (8, 'de', 'Ich habe ein Fahrrad gefahren.')
INTO news (pkey, lang, short_content)
VALUES (9, 'de', 'Ich habe immer ein Auto fahren.')
INTO news (pkey, lang, short_content)
VALUES (10, 'de', 'Es ist nichts.')
SELECT * FROM DUAL
BEGIN
-- word list:
ctx_ddl.create_preference ('my_wordlist', 'basic_wordlist');
ctx_ddl.set_attribute ('my_wordlist', 'stemmer', 'auto');
-- english lexer:
ctx_ddl.create_preference ('english_lexer', 'basic_lexer');
-- german lexer:
ctx_ddl.create_preference ('german_lexer', 'basic_lexer');
ctx_ddl.set_attribute ('german_lexer', 'composite', 'german');
ctx_ddl.set_attribute ('german_lexer', 'alternate_spelling', 'german');
ctx_ddl.set_attribute ('german_lexer', 'mixed_case', 'no');
ctx_ddl.set_attribute ('german_lexer', 'base_letter', 'yes');
-- multi_lexer:
ctx_ddl.create_preference ('global_lexer', 'multi_lexer');
ctx_ddl.add_sub_lexer ('global_lexer', 'default', 'english_lexer');
ctx_ddl.add_sub_lexer ('global_lexer', 'german', 'german_lexer');
END;
create index search_news
on news (short_content)
indextype is ctxsys.context
parameters
('lexer global_lexer
language column lang
wordlist my_wordlist')
EXEC DBMS_STATS.GATHER_TABLE_STATS (USER, 'NEWS')
COLUMN short_content FORMAT A30
ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'
set timing on
select * from news
where contains (short_content, '$drive') > 0
select * from news
where contains (short_content, '$drove') > 0
ALTER SESSION SET NLS_LANGUAGE = 'GERMAN'
select * from news
where contains (short_content, '$fahr') > 0
select * from news
where contains (short_content, '$fuhr') > 0
/ -
Problem in sending the smartform as email for other language except english
Hi Experts,
I could not send the smartform as an attachment for other languages, but where as i could send it in english.
The program is working fine with print priview but not when sending the SF as an attachment
(in other languages except english).
Please do find the below code which i used to send the smartform as an attachment.
Please let me know if there is any mistake in the code.
wa_ctrlop-LANGU = nast-spras.
wa_ctrlop-getotf = 'X'.
wa_ctrlop-no_dialog = 'X'.
wa_compop-tdnoprev = 'X'.
CALL FUNCTION lf_fm_name "'/1BCDWB/SF00000197'
EXPORTING
control_parameters = wa_ctrlop
output_options = wa_compop
user_settings = 'X'
is_ekko = l_doc-xekko
is_pekko = l_doc-xpekko
is_nast = l_nast
iv_from_mem = l_from_memory
iv_druvo = iv_druvo
iv_xfz = iv_xfz
IMPORTING
job_output_info = wa_return
TABLES
it_ekpo = l_doc-xekpo[]
it_ekpa = l_doc-xekpa[]
it_pekpo = l_doc-xpekpo[]
it_eket = l_doc-xeket[]
it_tkomv = l_doc-xtkomv[]
it_ekkn = l_doc-xekkn[]
it_ekek = l_doc-xekek[]
it_komk = l_xkomk[]
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*Convert the data from OTF to PDF format
it_otf[] = wa_return-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = l_len_in
bin_file = lp_xcontent
TABLES
otf = it_otf
lines = it_tline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
TRY.
---------- create persistent send request ----------------------
send_request = cl_bcs=>create_persistent( ).
len = XSTRLEN( lp_xcontent ).
transform to solix tab
lt_solix =
cl_document_bcs=>xstring_to_solix(
ip_xstring = lp_xcontent ).
Create Body to the E-mail.
APPEND Text-005 TO l_text.
Attachment Name
l_ponumber = text-004.
CONCATENATE l_ponumber l_doc-xekko-ebeln INTO l_ponumber.
Subject for the E-Mail.
l_subject = text-001.
CONCATENATE l_subject l_doc-xekko-ebeln INTO l_subject.
*create document E-Mail.
*TRY.
CALL METHOD cl_document_bcs=>create_document
EXPORTING
i_type = 'RAW'
i_subject = l_subject
i_length = '13'
i_language = nast-spras
i_importance =
i_sensitivity =
i_text = l_text
i_hex =
i_header =
i_sender =
receiving
RESULT = l_email_object
CATCH cx_document_bcs .
*ENDTRY.
CALL METHOD cl_document_bcs=>create_document
EXPORTING
i_type = 'RAW'
i_subject = l_subject
i_length = '13'
i_text = l_text
RECEIVING
result = l_email_object.
*Create PDF Document
bcs_doc = cl_document_bcs=>create_document(
i_type = 'PDF'
i_subject = l_ponumber
i_length = len
i_language = nast-spras
i_hex = lt_solix
*Type casting
obj_pdf_file ?= bcs_doc.
Add PDF document as an attachment
CALL METHOD l_email_object->add_document_as_attachment
EXPORTING
im_document = obj_pdf_file.hi,
i tried with ur problem.but i am able send mail in other languages also.actaullly i wrote a msg whether the mail has been sent or not.i got success message. i am placing my code here please go thorugh it,and do relavant modifications.
*& Report ZPPS_SMARTFORM_TO_PDF
REPORT ZPPS_SMARTFORM_TO_PDF.
PARAMETER: p_date LIKE sy-datum.
PARAMETER: p_rea TYPE char255.
DATA: t_otfdata TYPE ssfcrescl,
t_lines LIKE tline OCCURS 0 WITH HEADER LINE,
t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
t_RECORD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
Objects to send mail.
DATA:T_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
T_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
T_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
T_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.
DATA: w_filesize TYPE i,
w_bin_filesize TYPE i,
wa_ctrlop TYPE ssfctrlop,
wa_outopt TYPE ssfcompop,
WA_BUFFER TYPE STRING, "To convert from 132 to 255
WA_OBJHEAD TYPE SOLI_TAB,
WA_DOC_CHNG TYPE SODOCCHGI1,
W_DATA TYPE SODOCCHGI1.
DATA: form_name TYPE rs38l_fnam,
V_LINES_TXT TYPE I,
V_LINES_BIN TYPE I,
nast-spras type sy-langu value 'DE'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSR_DEMO1'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = form_name
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
wa_ctrlop-LANGU = nast-spras.
wa_ctrlop-getotf = 'X'.
wa_ctrlop-no_dialog = 'X'.
wa_outopt-tdnoprev = 'X'.
CALL FUNCTION form_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = wa_ctrlop
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = wa_outopt
USER_SETTINGS = 'X'
MYDATE = p_date
REASON = p_rea
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = t_otfdata
JOB_OUTPUT_OPTIONS =
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
t_otf[] = t_otfdata-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
IMPORTING
BIN_FILESIZE = w_bin_filesize
BIN_FILE =
TABLES
OTF = t_otf
LINES = t_lines
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at t_lines.
TRANSLATE t_lines USING '~'.
CONCATENATE WA_BUFFER T_LINES INTO WA_BUFFER.
ENDLOOP.
TRANSLATE WA_BUFFER USING '~'.
DO.
t_RECORD = WA_BUFFER.
APPEND t_RECORD.
SHIFT WA_BUFFER LEFT BY 255 PLACES.
IF WA_BUFFER IS INITIAL.
EXIT.
ENDIF.
ENDDO.
Attachment
REFRESH: T_RECLIST,
T_OBJTXT,
T_OBJBIN,
T_OBJPACK.
CLEAR WA_OBJHEAD.
T_OBJBIN[] = T_RECORD[].
Create Message Body Title and Description
T_OBJTXT = 'test with pdf-Attachment!'.
APPEND T_OBJTXT.
DESCRIBE TABLE T_OBJTXT LINES V_LINES_TXT.
READ TABLE T_OBJTXT INDEX V_LINES_TXT.
WA_DOC_CHNG-OBJ_NAME = 'smartform'.
WA_DOC_CHNG-EXPIRY_DAT = SY-DATUM + 10.
WA_DOC_CHNG-OBJ_DESCR = 'smartform'.
WA_DOC_CHNG-SENSITIVTY = 'F'.
WA_DOC_CHNG-DOC_SIZE = V_LINES_TXT * 255.
Main Text
CLEAR T_OBJPACK-TRANSF_BIN.
T_OBJPACK-HEAD_START = 1.
T_OBJPACK-HEAD_NUM = 0.
T_OBJPACK-BODY_START = 1.
T_OBJPACK-BODY_NUM = V_LINES_TXT.
T_OBJPACK-DOC_TYPE = 'RAW'.
APPEND T_OBJPACK.
Attachment (pdf-Attachment)
T_OBJPACK-TRANSF_BIN = 'X'.
T_OBJPACK-HEAD_START = 1.
T_OBJPACK-HEAD_NUM = 0.
T_OBJPACK-BODY_START = 1.
DESCRIBE TABLE T_OBJBIN LINES V_LINES_BIN.
READ TABLE T_OBJBIN INDEX V_LINES_BIN.
T_OBJPACK-DOC_SIZE = V_LINES_BIN * 255 .
T_OBJPACK-BODY_NUM = V_LINES_BIN.
T_OBJPACK-DOC_TYPE = 'PDF'.
T_OBJPACK-OBJ_NAME = 'smart'.
T_OBJPACK-OBJ_DESCR = 'test'.
APPEND T_OBJPACK.
CLEAR T_RECLIST.
T_RECLIST-RECEIVER = 'MAIL-ID'.
T_RECLIST-REC_TYPE = 'U'.
APPEND T_RECLIST.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = WA_DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = T_OBJPACK
OBJECT_HEADER = WA_OBJHEAD
CONTENTS_BIN = T_OBJBIN
CONTENTS_TXT = T_OBJTXT
RECEIVERS = T_RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
IF SY-SUBRC <> 0.
WRITE:/ 'Error When Sending the File', SY-SUBRC.
ELSE.
WRITE:/ 'Mail sent'.
ENDIF.
and i thought of one more soluyion u can write
wa_ctrlop-langu = T002-spras. i think it will also help for u.
revert back if any questions.
please reward me if helpful.
gupta.pullipudi -
Database design problem for multiple language application
Hi All,
We are working on a travelling portal and for a traveling portal its content and details are the heart.we are planning to have it in multiple locale so this means we need to handle the dynamic data for each locale.
currently we have following tables
Destination
Transport
Places of Interests
user comments etc.
each table contains a lot of fields like
Name
ShortDescription
LongDescription
and many other fields which can contains a lot of data and we need to handle data in locale specific way.
i am not sure how best we can design an application to handle this case,one thing came to my mind is like putting extra column for each locale in each table but that means for a new locale things needs to be changed from database to code level and that is not good at all.
Since each table contains a lot of columns which can contain data eligible for internationalization so my question is what might be the best way to handle this case
After doing some analysis and some goggling one approach that came to my mind is as below..
i am planning to create a translation table for each table,like for destination i have the following design
table languages
-- uuid (varchar)
-- language_id(varchar)
-- name (varchar)
table Destination
--uuid (varchar)
other fields which are not part of internationalization.
table Destination_translation
-- id (int)
-- destination_id (int)
-- language_id (int)
-- name (text)
-- description(text)
Any valuable suggestion for above mentioned approach are most welcome...This approach sounds reasonable - it is the same approach used by Oracle Applications (Oracle ERP software). It de-normalizes information into two tables for every key object - one contains information that is not language sensitive and the other contains information that is language sensitive. The two tables are joined by a common internal id. Views are then created for each language that join these tables based on the common id and the language id column in the second table.
HTH
Srini -
Error while trying to retrevie the Current Portal Language
Dear All,
In my present application,I need to pass the language as a parameter to the backend.As my application needs to support different languages.In this regard I need to capture the current user language and if the user language is not mentioned then it should take the Browser language and even if that is not present it should take the server language.
I am Using XLF Files in Webdynpro for the language change in Appilcation Screen and it is working properly.
The present code which I am using to get the language is:
CODE:
IWDClientUser user = WDClientUser.getLoggedInClientUser();
IUser iuser = user.getSAPUser();
String userid = iuser.getDisplayName();
wdComponentAPI.getMessageManager().reportSuccess("userid"+userid);
iuser.getLocale();
But when i am trying to print it.I am getting an Null value.Can anybody please let me know if i am going the right way and help me in getting the language of the user.
Thanks in Advance
Thanks and Regards,
Nishita SalverHi,
Try this code
try {
IUser user = WDClientUser.getCurrentUser().getSAPUser();
wdComponentAPI.getMessageManager().reportSuccess( user.getUniqueName() + " " + user.getLocale().getDisplayLanguage());
} catch (WDUMException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
Regards
Vinod V
Maybe you are looking for
-
MacBook Pro Retina to TV via HDMI
So, I have my MBP Retina and I would like to connect it to my television via HDMI. I have my Mac connected to my TV via HDMI, and it shows the picture, but there is no sound! How do I fix this?!?!?!?!?!?! I need help ASAP!!!! Thanks, Kynan
-
Adobe Creative Suite 5 & 6 will not open with OX X Yosemite 10.10.1
To Whom It May Concern: I have an iMac 2013 and OS X Yosemite 10.10.1, Adobe Creative Suite 5 & 6 will not open. Dreamweaver error message is "To open "Adobe Dreamweaver CS6.app" you need to install the legacy Java SE 6 runtime. Click more info. .
-
Save As Trusted Function: Part II
Continuing my previous thread: http://forums.adobe.com/thread/509314?tstart=0 I'm now working on another form requiring this same type of function, but there's a new wrinkle. How can I substitute fields if one of the fields to be used is blank or is
-
Elvis with X11 support - PKGBUILD
Building the other 2 elvis PKGBUILDs in the AUR is broken, and they are without X11 support. I'm wondering if I should submit this PKGBUILD, which compiles and works fine, and includes X11 and x86_64 support and the help documentation, to the AUR. #
-
Why does this formula break VLOOKUP?
I have the table below. The formula in B3 is causes the VLOOKUPS in C3 to be off. If I just use the value 0.20 in B3, I get "sixty" in C3. The B3 formula is: =ABS(A2-A4) and C3 is: =VLOOKUP(B3,D1:E5, 2) What needs to change for this to work correct