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,
    Shubho

    Hi 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.
    kasper

    hi 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
    Thanks

    Yes, 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 iAS

    You 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
    Rob

    There 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 Thalmann

    Hi 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

  • Portal Language Questions

    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
    Keerthi

    Hi 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: 6520

    You 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 AM

    In 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 Salver

    Hi,
    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