SYSTEM_ACCESS parameter in ubbconfig

Hi,
I have SYSTEM_ACCESS parameter set to PROTECTED in RESOURCES section of UBBCONFIG file.
For some of the servers it is mentioned as FASTPATH explicitly.
Can I change the setting in RESOURCES section from PROTECTED to FASTPATH?
I also want to know if this change is going to have impact on shared memory & how it'll affect the shared memory?

Most well-debugged Tuxedo applications use FASTPATH for the SYSTEM_ACCESS
parameter, and if your application has not been dumping core in protected
mode, you should not have any problems switching SYSTEM_ACCESS to FASTPATH.
(If your application has been dumping core in protected mode, then there is
a possiblity that the application may be dereferencing stray pointers, and
it would be safest to keep PROTECTED mode until the core dumps are fixed or
understood.)
If it is possible to shut down the application, you can reexecute tmloadcf
with SYSTEM_ACCESS FASTPATH and reboot the application.
If it is not possible to shut down the application, you can make the change
dynamically using the MIB. However, in this case, the change will affect
only newly started clients and newly configured T_SERVER objects.
The system uses the same amount of shared memory in FASTPATH mode as in
PROTECTED mode. The difference is that in FASTPATH mode a client r stays
attached to the Tuxedo shared memory for the entire time between tpinit()
and tpterm(), and a server stays attached to the Tuxedo shared memory for
the entire time it is booted. There is a chance that buggy application code
executed between Tuxedo calls could corrupt the Tuxedo shared memory if it
writes to memory that does not belong to the application.
In PROTECTED mode, Tuxedo detaches from shared memory at the end of every
API call, and then reattaches at the start of the next API call. This is
slower, but it prevents accidental corruption of the Tuxedo shared memory.
(If application servers or clients are multithreaded, there is a chance that
Tuxedo shared memory could be corrupted by the application even in protected
mode, since one thread could be executing buggy application code while
another thread is in a Tuxedo call and attached to the shared memory.)
<Kaustubh Deoghare> wrote in message news:[email protected]...
Hi,
I have SYSTEM_ACCESS parameter set to PROTECTED in RESOURCES section of
UBBCONFIG file.
For some of the servers it is mentioned as FASTPATH explicitly.
Can I change the setting in RESOURCES section from PROTECTED to FASTPATH?
I also want to know if this change is going to have impact on shared
memory & how it'll affect the shared memory?

Similar Messages

  • Tux 9.1: TMS_ORA giving "Assume Started" error while booting.

    Hi,
    We are migrating our application running on Tuxedo 8.1(32-bit)(Corba C++ servers with Oracle 10g database) to Tuxedo 9.1(32-bit).
    OS: Suse Linux 9
    Installation of Tux 9.1 was done successfully.
    But while booting the servers, it is giving CMDTUX_CAT:819 "Assume Started(Pipe)" error.
    TMS server build was successful using this command:
    buildtms -v -r Oracle_XA -o TMS_ORA
    RM file in tuxedo has the following content:
    Oracle_XA:-L$(ORACLE_HOME/lib) -lclntsh
    ULOG trace:
    TMS_ORA.28529.1095670240.0: 12-04-2009: Tuxedo Version 9.1, 32-bit
    TMS_ORA.28529.1095670240.0: LIBTUX_CAT:262: INFO: Standard main starting
    restartsrv.28506.1079032704.-2: server ORA_GRP/30002: CMDTUX_CAT:1423: ERROR: Pipe error, assume failed.
    Core file is getting generated:
    Core file trace:
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i586-suse-linux"...
    Using host libthread_db library "/lib/tls/libthread_db.so.1".
    warning: Can't read pathname for load map: Input/output error.
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libtux.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libtux.so
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libbuft.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libbuft.so
    Reading symbols from /data1/oracle/product/10.2.0/db_2/lib/libclntsh.so.10.1...done.
    Loaded symbols for /data1/oracle/product/10.2.0/db_2/lib/libclntsh.so.10.1
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libfml.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libfml.so
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libfml32.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libfml32.so
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libengine.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libengine.so
    Reading symbols from /lib/libdl.so.2...done.
    Loaded symbols for /lib/libdl.so.2
    Reading symbols from /lib/tls/libpthread.so.0...done.
    Loaded symbols for /lib/tls/libpthread.so.0
    Reading symbols from /lib/tls/libc.so.6...done.
    Loaded symbols for /lib/tls/libc.so.6
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libutrace.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libutrace.so
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libgiconv.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libgiconv.so
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libusort.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/libusort.so
    Reading symbols from /data1/oracle/product/10.2.0/db_2/lib/libnnz10.so...done.
    Loaded symbols for /data1/oracle/product/10.2.0/db_2/lib/libnnz10.so
    Reading symbols from /lib/tls/libm.so.6...done.
    Loaded symbols for /lib/tls/libm.so.6
    Reading symbols from /lib/libnsl.so.1...done.
    Loaded symbols for /lib/libnsl.so.1
    Reading symbols from /lib/ld-linux.so.2...done.
    Loaded symbols for /lib/ld-linux.so.2
    Reading symbols from /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/registry.so...done.
    Loaded symbols for /data1/tuxedo/tuxedo91/bea/tuxedo9.1/lib/registry.so
    Core was generated by `TMS_ORA -C dom=SWADOM2 -g 4 -i 30002 -u ORION -U /home/swadom2/server/log/ULOG'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x41094fc4 in pthread_mutex_lock () from /lib/tls/libpthread.so.0
    OpenInfo parameter in UbbConfig is mentioned below.
    OPENINFO="ORACLE_XA:Oracle_XA+SqlNet=ORION_BE_DB+Acc=P/test/test+SesTm=100+LogDir=.+MaxCur=5"
    ldd from TMS_ORA didn't help. All required libraries are there.
    As per the Tux 9.1 release notes we dont need any rolling patches for this OS version.
    As this is a very urgent delivery, could you please help us?
    Thanks in advance,
    Santosh

    Hi Santosh,
    Just a guess, but try changing your RM entry to:
    Oracle_XA:xaosw:-L$(ORACLE_HOME/lib) -lclntsh
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Temporary files and buffersize limit question

    Hello,
    I have two questions :
    1. Buffer limit
    Is there a limit for the buffer to return to a client. I have
    a conversational service routine. If I want to return 50 record ( i.e. view structures
    ) my service routine hangs. If I do 10 records than it is ok. Is there a limit
    size to return. Is there a parameter in UBBconfig to fix this.
    2. Temporary files on conversational client / services
    My service routine creates temporary files in the /tmp directory. Unfortunately
    the mode for /tmp has 't'bit on so users can not delete files from other users.
    The problem is I have a lot of temporary files in /tmp. Does anyone know how to
    fix this or where can you specify not to use temp files or where can you specify
    the directory to create tempfile. de name of files are /tmp/TUXxxxxxx where xxxxxx
    is a random serie of characters.
    Thanks a lot
    Johan den Boer
    email : [email protected]
    [email protected]

    Buffers that are larger than 3/4 of MSGMNB are sent through a file. The name is
    generated with tmpnam(), so you should be able to specify a different directory by
    setting TMPDIR in the environment.
    The preferred solution is to not use file transfer, by setting your IPC parameters
    high enough to pass all of your application messages.
    If your service routine hangs, you should look at a possible application problem.
    How are you packing the VIEWs into a buffer? Are you using embedded FML with
    FLD_VIEW32 fields? That would be the best way.
    Remember that VIEWs are binary structures that are unique to a particular machine
    type. If you pack Views together into your own buffer format, and try to use them
    on a different machine type, then they won't work properly.
         Scott Orshan
    Johan den Boer wrote:
    Hello,
    I have two questions :
    1. Buffer limit
    Is there a limit for the buffer to return to a client. I have
    a conversational service routine. If I want to return 50 record ( i.e. view structures
    ) my service routine hangs. If I do 10 records than it is ok. Is there a limit
    size to return. Is there a parameter in UBBconfig to fix this.
    2. Temporary files on conversational client / services
    My service routine creates temporary files in the /tmp directory. Unfortunately
    the mode for /tmp has 't'bit on so users can not delete files from other users.
    The problem is I have a lot of temporary files in /tmp. Does anyone know how to
    fix this or where can you specify not to use temp files or where can you specify
    the directory to create tempfile. de name of files are /tmp/TUXxxxxxx where xxxxxx
    is a random serie of characters.
    Thanks a lot
    Johan den Boer
    email : [email protected]
    [email protected]

  • LIBTUX_CAT:1286: ERROR: tpreturn could not send reply TPEOS

    Hi,
    Our application uses tuxedo for loadbalancing. we are using this from last 4 years, but today i'm getting one error with one scenario. As per my understading tpreturn call is failing. ULOG file shows below given message
    032615.ocpdev1!BBL.14797.1.0: LIBTUX_CAT:216: WARN: Process 18711 died; removing from BB
    032813.ocpdev1!issueHolders.18634.1.0: ERROR: msgsnd err:(LIBTUX_CAT:669: ERROR: Message operation failed because of the invalid message queue identifier) er
    rno=22,qid=188425,buf=-9223372026643562600,bytes=293,flag=2048
    032813.ocpdev1!issueHolders.18634.1.0: LIBTUX_CAT:1286: ERROR: tpreturn could not send reply TPEOS - operating system error
    I have searched google pages and couldn't get any clue. I have tried modifying UBB Config file with SYSTEM_ACCESS parameter to PROTECTED and other parameters but no use.
    Please let me know what can be done.

    Hi,
    I think you are referring to the documentation for error LIBTUX_CAT:1286, which suggests tuning the kernel parameters as a more general solution. The explanation for LIBTUX_CAT:669 is more specific (earlier messages in the ULOG usually give a more specific reason for the problem):
    +669 ERROR: Message operation failed because of the invalid message queue identifier+
    Description
    msgsnd to a queue failed because of invalid message queue identifier. This can also occur if a request is made by a client who exits before the request is satisfied. The cleanup after the client exits removes the message queue.
    Action
    Check the message queue identifier in msgsnd(). The message may be corrupted. Contact your ORACLE TUXEDO system Technical Support.
    Increasing the kernel parameters will not help in this case, as the problem is due to the queue having been removed, which happens when the client program terminates, and it is quite likely that there will be no messages in the ULOG indicating what happened. You will need to follow the suggestions made earlier in this forum thread and find out what happened to the client.
    Regards,
    Malcolm.

  • Service Authentication How to

    Hi,
    I deployed samples apps and tested them successfully. We have Clarify CRM app
    which uses Tuxedo. Clarify has few services exposed which we can call to access
    the Business logic written and compiled in Clarify.
    I commented the SECURITY USER_AUTH parameter in ubbconfig file for testing. I
    was able to test the services OK.
    In production we run tuxedo with SECURITY set to USER_AUTH.
    So If I have to test a service using ud32, I do the following
    tuxedo@voou30> ud32 -U lname
    Enter Application Password :
    Enter Application Specific Authentication Data:
    SRVCNM CB_EXESUB
    CLFY_SUB ExternalMsg
    To accompish the same in WTC what should I do?
    All our users are in Clarify.
    (1) If I want to do authentication as part of the initial connection made by WTC,
    how do I do that?
    (2) Is it possible to do authentication for every call? If so how do I do it?
    Thank You
    --Raju

    Thank you so much for taking the time to answer.
    I just finished testing and with SECURITY set to none in both domain config and
    wtc config, I was able to access the services though the ubbconfig is set to USER_AUTH.
    Now it is clear to me how domain level security works.
    Again thank you for the details provided.
    off to testing again...................:-)
    --Raju
    "A. Honghsi Lo" <[email protected]> wrote:
    Hi Raju,
    My answers are interspersed within your question.
    Raju Vatsavayi wrote:
    Thank You Honghsi,You are welcome.
    I just want to followup with few more questions. Sorry am not toofamiliar with
    tuxedo.
    In the Clarify system, we have two servers "clearad", and "cleard".Clearad is
    used for user authentication and Cleard for business logic. I founda sample Client
    code written in c to access services in Clarify via tuxedo and i amattching it
    to this posting. In the code they are setting username, applicationpassword and
    user password in a structure TPINIT.
    // create and init a TPINIT structure
    tpinfo = (TPINIT *)tpalloc( "TPINIT", NULL,
    sizeof(TPINIT));
    if (!tpinfo) {
    (void)userlog("--ERROR--out of mem\n", "memory error");
    printf("--ERROR--out of mem\n", "memory error");
    return 0;
    strcpy(tpinfo->usrname, (char *) "sa");// clarifyusername
    strcpy(tpinfo->cltname, "clarify");// always clarify
    strcpy(tpinfo->passwd, "clarify");//always clarify
    strcpy(tpinfo->grpname, "");
    tpinfo->flags = TPU_DIP|TPSA_FASTPATH;//defaults
    tpinfo->datalen = strlen("freshen")+1;
    strcpy((char *) &tpinfo->data, (char *) "freshen");
    // tpinit authenticates by calling AUTHSVC from clearad
    ******This fragment of code is for log-in into Tuxedo application. Tuxedo
    will authenticate the password and give permission for the client to
    access
    Tuxedo. Then the Tuxedo AUTHSVR will authenticate the client and create
    user credential. These are done independent of Tuxedo TDOMAIN gateway.
    If I set security to NONE in both domain gateway and WTC config file,can i still
    access the exposed services? I dont really need any security becausethe
    two systems
    YES. You still can access from TUXEDO to WTC and vice versa.
    The only thing missing is that the session may not be safe. In this
    case the application better be deployed behind a firewall.
    that are talking (tuxedo and wls) in this case belong to same app andthey mostly
    do backend operations and not used by users.
    Do I have to have some thing similar to TPINIT in my java code to accessthe services?
    NO. In JAVA if you don't set up property for SECURITY_PRINCIPAL and
    SECURITY_CREDENTIAL then the user is treated as anonymous user. In this
    case as long as TUXEDO is not configured with ACL or MANDATORY_ACL then
    there is no problem for anonymous user to access TUXEDO service.
    There are many factors that are used in deciding who you are and what
    kind of previleges you have. Both Tuxedo UBBCONFIG and DMCONFIG have
    attributes that you can customize them according to your need.
    For accessing from Tuxedo to WLS is a little different. By default WLS
    does have access control on. There are several things you can do.
    1. the Tuxedo user to access WLS as anonymous user
    2. the Tuxedo user to access WLS as a specific user
    3. the Tuxedo user to access WLS as themselves
    The WTC configuration and WLS user will be different depends on which
    way you want to go. (refers the WCT administration manual)
    Because from what you said in the reply, I need to have a matchingpassword (DMCONFIG
    and WTC config file). If I have SECURITY set to USER_AUTH in ubbconfig,You only need matching Domain (connection/session principal) password
    if
    you want to authenticate the session. If you don't need this kind of
    session security then you don't need these passwords.
    do I have
    to somehow pass security credentials in order to access services onTUXEDO? Because
    The USER_AUTH for SECURITY attribute in the UBBCONFIG is for TUXEDO
    application not for DOMAIN. So setting USER_AUTH has no direct
    consequence of DOMAIN session authentication.
    with ud32 utility, I have to provide user name and passwords (listedin my original
    posting) when security is set to USER_AUTH and however I do not haveto provide
    any credentials if SECURITY is commented out in ubbconfig.You only need to do this for Tuxedo user. However, if your SECURITY(in
    UBBCONFIG) level is set to ACL and above and you have ACL_POLICY(in
    DMCONFIG) set to LOCAL then you also have to add the remote domain id
    (also call remote access point id) as a Tuxedo principal/user using
    tpusradd. In this case all the remote user from WLS will have the same
    credential as the remote domain id. If your ACL_POLICY is set to GLOBAL
    and your WTC CREDENTIAL_POLICY is set to GLOBAL then WTC will propagate
    user credential (by translating WLS credential to Tuxedo credential
    format) to TDOMAIN gateway, and that particular user credential will
    be
    used to access Tuxedo service. In this case the WLS user better be a
    valid Tuxedo user. (you can add them through tpusradd) THIS FEATURE
    IS
    CALLED SINGLE SIGN-ON.
    Hope the above information will be helpful for understanding how the
    security works in Tuxedo/WLS environment.
    Regards,
    Honghsi :-)
    Thank You
    Raju
    "A. Honghsi Lo" <[email protected]> wrote:
    Hi Raju,
    It all depends on what you want to do. A Tuxedo security change,
    as
    you
    mentioned in your original email, does not change what is going on
    through the Gateway. There are two types of security you can configure
    for a TDOMAIN session (connection) between WTC and GWTDOMAIN.
    1. The session (connection) authentication - done once
    This is for making sure only allowed remote party can connect to
    local
    Gateway. To do it you need to configure both WTC and GWTDOMAIN.
    In Tuxedo DMCONFIG file you have to add "SECURITY" attribute foryour
    LOCAL TDOMAIN. Please refer to dmconfig(5) for the descriptionof
    the
    legal values for this attribute, and choose one that is appropriate
    to
    your purpose. If you choose DM_PW then you can use "dmadmin" toadd
    the passwords for the session.(refers to dmadmin(1))
    (most of the following information based on 6.x WLS. For 7.0 and
    above you can do it from WLS console)
    If the SECURITY is not NONE then you also need to configure yourWTC
    with same security level for T_DM_LOCAL_TDOMAIN. (this also
    depends on the release the tag name may be different) Use
    weblogic.wtc.gwt.genpasswd to generate encrypted password withXML
    tags. Cut and paste it to the T_DM_PASSWORD in BDMCONFIG if
    the security is DM_PW, cut and paste it to T_DM_RESOURCE if the
    security is APP_PW.
    This should answer your first question.
    2. For authentication of every actual request I assume you mean checking
    the Access Permission. (because the USER already authenticatedin
    Tuxedo, or the connection principal already authenticated when
    session
    started)
    TUXEDO: you need to add ACL_POLICY(both Tux 7.1 and Tux 8.0) and
    CREDENTIAL_POLICY(Tux 8.0) to the DM_REMOTE section. (refer toto
    dmconfig(5) in Reference manual)
    You set both attributes to GLOBAL.
    WTC: you need to do the same as Tux 8.0 by adding AclPolicy="GLOBAL"
    and CredentialPolicy="GLOBAL". You also have to copy Tuxedo'sTPUSR
    file to WTC environment if WLS and Tuxedo runs in 2 different
    machine or have different effective user id.
    Add TpUsrFile="yourTpUsrFileFullPathName" to the BDMCONFIG.
    If the access from Tuxedo user to WLS EJB is allowed then you need
    you add users to the weblogic-ejb-jar.xml "security-role-assignment"
    (refer to WLS document). In your ejb-jar.xml you add "security-role"
    to the "assembly-descriptor". (for more detail refer to WLS doc)
    I believe WTC document contains sample weblogic-ejb-jar.xml and
    ejb-jar.xml that are for ACL.
    this should answer your 2nd question.
    Regards,
    Honghsi :-)
    Raju vatsavayi wrote:
    Hi,
    I deployed samples apps and tested them successfully. We have ClarifyCRM app
    which uses Tuxedo. Clarify has few services exposed which we can
    call
    to access
    the Business logic written and compiled in Clarify.
    I commented the SECURITY USER_AUTH parameter in ubbconfig file fortesting. I
    was able to test the services OK.
    In production we run tuxedo with SECURITY set to USER_AUTH.
    So If I have to test a service using ud32, I do the following
    tuxedo@voou30> ud32 -U lname
    Enter Application Password :
    Enter Application Specific Authentication Data:
    SRVCNM CB_EXESUB
    CLFY_SUB ExternalMsg
    To accompish the same in WTC what should I do?
    All our users are in Clarify.
    (1) If I want to do authentication as part of the initial connectionmade by WTC,
    how do I do that?
    (2) Is it possible to do authentication for every call? If so how
    do
    I do it?
    Thank You
    --Raju
    Name: Echocli.c
    Echocli.c Type: Plain Text (text/plain)
    Encoding: base64

  • SECURITY USER_AUTH IN UBBCONFIG FILE

    My question regarding this is: if you set this option, what kind of security do we
    need? Do we need a process to be running? The problem I have is that I created a
    Tuxedo /WS client. The only way to get it running is to comment this out. I have
    added code to try to validate that is something like this:
    strcpy(tpinfo-->usrname, (char *) "sa");
    strcpy(tpinfo-->cltname, (char *) "clarify");
    strcpy(tpinfo-->passwd, (char *) "sa");
    strcpy(tpinfo-->grpinfo, "");
    This always fails. In our test region, I can logon as "sa"..can someone explain
    a little how security works?

    When you use USER_AUTH security you also need to specify a value
    for the AUTHSVC parameter in the ubbconfig.
    Every time a client calls tpinit() this service will be called
    with the TPINIT data you supply to tpinit().
    If the service returns with TPSUCCESS the client will be granted
    access to the system, else it will be denied.
    You can write this service yourself. If you do, you must put it
    in a TUXEDO server (like any other TUXEDO service) and make sure
    that the server is running (it should have an entry in the
    *SERVERS section in ubbconfig).
    If you don't want to implement this service BEA supplies a
    "standard" version called .AUTHSVC in a server named AUTHSVR.
    In this case you should make sure that AUTHSVR is in the
    *SERVERS section of the ubbconfig. If you use this server you
    also need to maintain the "database" for that server, using
    tpusradd and similar commands.
    Please note that you will still need to supply an application
    password that is common to all clients, similar to APP_PW
    security.
    Hope this helps,
    /Per
    "Joe" <[email protected]> wrote:
    >
    My question regarding this is: if you set this option, what kind of security
    do we
    need? Do we need a process to be running? The problem I have is that I
    created a
    Tuxedo /WS client. The only way to get it running is to comment this out.
    I have
    added code to try to validate that is something like this:
    strcpy(tpinfo-->usrname, (char *) "sa");
    strcpy(tpinfo-->cltname, (char *) "clarify");
    strcpy(tpinfo-->passwd, (char *) "sa");
    strcpy(tpinfo-->grpinfo, "");
    This always fails. In our test region, I can logon as "sa"..can someone
    explain
    a little how security works?

  • Logical AND in MDX Reporting Services Parameter

    Hi, I would like to implement logical AND on a cube parameter. I have seen examples of hard-coded logical AND in MDX.
    (http://salvoz.com/blog/2013/12/24/mdx-implementing-logical-and-on-members-of-the-same-hierarchy/)
    But I'm not sure how to apply this to a parameter's MDX dataset.
    Here is an example of the automatically generated MDX which uses logical OR:
    This is the drop down parameter:
    WITH MEMBER [Measures].[ParameterCaption] AS [Department].[Department].CURRENTMEMBER.MEMBER_CAPTION MEMBER
    [Measures].[ParameterValue] AS
    [Department].[Department].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] AS
    [Department].[Department].CURRENTMEMBER.LEVEL.ORDINAL
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue],
    [Measures].[ParameterLevel]} ON COLUMNS
    , [Department].[Department].ALLMEMBERS ON ROWS
    FROM [MyCube]
    And the demo report dataset is:
    SELECT NON EMPTY { [Measures].[CompanyTbl Count] } ON COLUMNS,
    NON EMPTY { ([Product Level No].[Product Level No].[Product Level No].ALLMEMBERS ) }
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM
    ( SELECT ( STRTOSET(@DepartmentDepartment, CONSTRAINED) )
    ON COLUMNS FROM [MyCube]) WHERE
    ( IIF( STRTOSET(@DepartmentDepartment, CONSTRAINED).Count = 1,
    STRTOSET(@DepartmentDepartment, CONSTRAINED), [Department].[Department].currentmember ) )
    CELL PROPERTIES VALUE,
    BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING,
    FONT_NAME, FONT_SIZE, FONT_FLAGS

    Hi,
    I can see there just one parameter @Department@Department in your script. But if you had two parameters that should return resultset affected by two parameters. You can do it as either select from subselect from subselect.
    Example 1
    SELECT
    {x} ON COLUMNS,
    {ROWS_SET} ON ROWS
    FROM
    (SELECT StrToSet(@Param1) ON COLUMNS FROM
    (SELECT StrToSet(@Param2) ON COLUMNS FROM
    [CUBE_NAME]
    Or crossjoin between 2 parameters
    SELECT
    {x} ON COLUMNS,
    {ROWS_SET} ON ROWS
    FROM
    (SELECT StrToSet(@Param1)*StrToSet(@Param2) ON COLUMNS FROM
    [CUBE_NAME]
    Jiri
    Jiri Neoral

  • Report RFKLBU10: Missing Parameter for Logical filename in Release ERP 2005

    Hello Experts,
    Report RFKLBU10 in Sap Release 4.6c hat a parameter "Old dataset logical name".
    The new version of this report in SAP Release ERP 2005 there is no such parameter.
    Is this a SAP-Bug ?
    Best regards,
    Mike

    There are no Export or Print events accessible for the viewer
    Since it sounds like you are creating the reportdocument object in your click event, the settings on this object become out of scope on successive postbacks executed by other events.
    to get around this without major changes, you can place your "report" object in session in this event and retrieve it from session on successive postbacks.  This should solve your problems around navigation, printing and exporting.  What you will need to do is check if the session object exists (usually in page_load or page_initialze) and if so, retrieve it from session and bind it to the viewer's reportsource.  If the session object does not exist, then do nothing (ie you have not clicked your button yet that retrieves the parameter values from session and loads the report).  Also, in your click event you can check if the report session object exists and if so, remove it so that it can be re-created with your new parameter values (ie i'm assuming the only time you want to set parameter values is in this event).
    Dan

  • Unable to capture the parameter values from a PL/SQL procedure

    hi.
    i'm trying to capture the parameter values of a PL/SQL procedure by calling inside a anonymous block but i'm getting a "reference to uninitialized collection error" ORA-06531.
    Please help me regarding.
    i'm using following block for calling the procedure.
    declare
    err_cd varchar2(1000);
    err_txt VARCHAR2(5000);
    no_of_recs number;
    out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
    cntr_var number:=0;
    begin
         rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
         dbms_output.put_line('The error is ' ||err_cd);
         dbms_output.put_line('The error is ' ||err_txt);
         dbms_output.put_line('The cntr is ' ||cntr_var);
         for incr in 1 .. OUT_SIGN_TAB.count
         loop
         cntr_var := cntr_var + 1 ;
    Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN_TAB(incr).txn_type||','||OUT_SIGN_TAB(incr).objid);
    end loop;
    end;
    Error is thrown on "for incr in 1 .. OUT_SIGN_TAB.count" this line
    Following is some related information.
    the 3rd parameter of the procedure is a out parameter. it is a type of a PL/SQL table (SEARCH_SIGN_TAB_TYPE) which is available in database as follows.
    TYPE "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
    TYPE "SEARCH_SIGN_TYPE" AS OBJECT
    (ref_no VARCHAR2(22),
    ciref_no VARCHAR2(352),
    ac_no VARCHAR2(22),
    txn_type VARCHAR2(301),
    objid VARCHAR2(1024))............

    We don't have your rt843pq procedure, but when commenting that line out, everything works:
    SQL> create TYPE "SEARCH_SIGN_TYPE" AS OBJECT
      2  (ref_no VARCHAR2(22),
      3  ciref_no VARCHAR2(352),
      4  ac_no VARCHAR2(22),
      5  txn_type VARCHAR2(301),
      6  objid VARCHAR2(1024))
      7  /
    Type is aangemaakt.
    SQL> create type "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
      2  /
    Type is aangemaakt.
    SQL> declare
      2    err_cd varchar2(1000);
      3    err_txt VARCHAR2(5000);
      4    no_of_recs number;
      5    out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
      6    cntr_var number:=0;
      7  begin
      8    -- rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
      9    dbms_output.put_line('The error is ' ||err_cd);
    10    dbms_output.put_line('The error is ' ||err_txt);
    11    dbms_output.put_line('The cntr is ' ||cntr_var);
    12    for incr in 1 .. OUT_SIGN_TAB.count
    13    loop
    14      cntr_var := cntr_var + 1 ;
    15      Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN
    TAB(incr).txntype||','||OUT_SIGN_TAB(incr).objid);
    16    end loop;
    17  end;
    18  /
    The error is
    The error is
    The cntr is 0
    PL/SQL-procedure is geslaagd.Regards,
    Rob.

  • Unable to capture value inside parameter T_LFBK of FK03 in display mode

    Hi Experts,
    I have to trigger a mail whenever there is a change in fields that are captured in parameter t_ffbk.
    However i am unable to capture the the screen values for this parameter as FK03 is in display mode.Please tell me how can i capture the screen field values in parameter T_LFBK.
    <Point offer removed by moderator>
    Thanks in advance.
    Edited by: Vinod Kumar on Jul 28, 2011 5:48 PM

    Hi Experts,
    I have to trigger a mail whenever there is a change in fields that are captured in parameter t_ffbk.
    However i am unable to capture the the screen values for this parameter as FK03 is in display mode.Please tell me how can i capture the screen field values in parameter T_LFBK.
    <Point offer removed by moderator>
    Thanks in advance.
    Edited by: Vinod Kumar on Jul 28, 2011 5:48 PM

  • Cannot assign an empty string to a parameter with JDBC type VARCHAR

    Hi,
    I am seeing the aforementioned error in the logs. I am guessing its happening whenever I am starting an agent instance in PCo. Can somebody explain whats going on?
    Regards,
    Chanti.
    Heres the complete detail from logs -
    Log Record Details   
    Message: Unable to retreive path for , com.sap.sql.log.OpenSQLException: Failed to set the parameter 1 of the statement >>SELECT ID, PARENTID, FULLPATH, CREATED, CREATEDBY, MODIFIED, MODIFIEDBY, REMOTEPATH, CHECKEDOUTBY FROM XMII_PATHS WHERE FULLPATH =  ?  <<: Cannot assign an empty string to a parameter with JDBC type >>VARCHAR<<.
    Date: 2010-03-12
    Time: 11:32:37:435
    Category: com.sap.xmii.system.FileManager
    Location: com.sap.xmii.system.FileManager
    Application: sap.com/xappsxmiiear

    Sounds like a UI browsing bug (when no path is selected from a catalog tree folder browser) - I would suggest logging a support ticket so that it can be addressed.

  • Replacing NULL and EmptyString('') with "Unknown" in SSRS parameter dropdown

    All,
    What I want to do is, in the SSRS parameter drop down, instead of showing NULL and Blank values(), i want to categorize them as "Unknown", so, if the user selects "Unknown" from the SSRS drop down parameter, he should be able to see all
    the records that have NULL values or empty strings in that particular column in the result set.
    Can you tell me, how should I handle it in my main stored proc as well as in the dataset?
    Right now, i have something like this:
    Where
    (t1.name in (select value from dbo.Split(@TName,',')) OR @TName IN ('All'))
    -- Where t1.Name has empty strings and NULL values. Both of these values should be categorized under "Unknown"
    -- How would the dataset query look like? Right now I have this query for populating the drop down for that parameter:
    Select All
    UNION
    Select Distinct Name
    Order BY 1

    Hello,
    Please refer to the following stored procedure:
    SELECT
    CASE WHEN TName IS NULL OR TName = ''
    THEN 'Unknown' ELSE TName END AS TName
    From DemoTable
    Then, use following query code to get the parameter values:
    SELECT Distinct
    CASE WHEN TName IS NULL OR TName = '' THEN 'Unknown'
    ELSE TName END AS TName
    FROM DemoTable
    Regards,
    Alisa Tang
    Alisa Tang
    TechNet Community Support

  • Host parameter null and convert SOAP to HTTPUrl

    Hi,
    We are trying to fire a SOAP request and print the response but its throwing this error
    Exception in thread "main" java.lang.IllegalArgumentException: host parameter is null
    The piece of code is:
    HttpClient hc = new HttpClient();
    System.out.println("Came here");
    int iResultCode = hc.executeMethod(post);
    executeMethod(post) is failing but when I print the value of post, its �org.apache.commons.httpclient.methods.PostMethod@fd54d6�
    Can anybody throw some light on this error and how to solve it??
    Also, there�s another issue.
    We are upgrading from Weblogic 7.2 to 9.1
    Earlier we were able to pass the request and get the response in HTTPUrl form but now after upgrading, its getting passed in SOAP format. Is there any way to bypass the SOAP and get it in HTTPUrl format or what are the configurations to be made to adapt to the SOAP format?
    connection =(HttpURLConnection) url.openConnection();
         This line was returning HTTPUrl format, now its coming in SOAP format

    your PostMethod takes the Url as the parameter. Check you are using the proper URl i.e like http://host:port/name?params like that

  • SOURCE_PACKAGE is INCOMPATIBLE with the FORMAL PARAMETER DATA_PACKAGE

    Hello Experts,
    Infocube A is getting updated from shopping carts DSO. I have added 3 new fields in SC DSO then cube transformations got inactive.  I do not want 3 new fields in cube. we have report on DSO. Below is syntax error when  checking transformations.
    Error: In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter "SOURCE_PACKAGE" is incompatible with the formal parameter "DATA_PACKAGE".
    3 New fields are available in tys_SC_1 but not available in tys_SC_1_full. I tried to insert 3 fields in tys_SC_1_full but still it is showing same syntax error.  And more TYPE is availalbe tys_TG_1_full.  This type does not have 3 fields.
    Please  advice.
    Thanks in advance.
    Regards
    Venkata.

    Hello Rathy,
    I have resolved issue by addinng fields to data package. Issue is becasue of 4 fields in source and I have added only 3 fields in data package. Added one more field to data package and no syntax errors when checked.
    Thanks for the input and points assigned.
    Regards
    Venkata Agraharam.

  • SSRS 2012: How to get a "Select All" that returns NULL instead of an actual list of all values from a multi-select parameter?

    I have a multi-select parameter that can have a list of thousands of entries. In general, the user will pick a few entries from the list or "Select All". If they check "Select All", I would much prefer that I get a NULL or an empty string
    instead of a list of all values. Is there any way to do that?
    In experimenting with a work-around, I tried putting an "All" label with a null value in the list, but it is ignored (does not display in the drop-down). If I use an empty string for the value, my "All" entry does get displayed, but so
    does "Select All", which is confusing. Is there a way to suppress "Select All"?
    - Mark

    I adapted the following from a workaround posted by JNeo on 4/16/2010 at 11:14 AM at
    http://connect.microsoft.com/SQLServer/feedback/details/249227/multi-value-select-all-parameter-in-reporting-services
    To get a null value instead of the full list of all values when "Select All" is chosen:
    1) Add a multi-value parameter "MyParam" that lists the values to choose.
    2) Add a DataSet "ParamCount" identical to the one used by "MyParam", except that it returns a single column named [Count] that is a COUNT(*) of the same data
    3) Add a parameter "MyParamCount", set it to hidden and internal, then set the default value to 'Get values from a query', choosing "ParamCount" for the Dataset and the one [Count] column for the Value field.
    4) Change the parameter for the main report DataSet so that instead of using [@MyParam], it uses this expression:
    =IIF(Parameters!MyParam.Count =
    Parameters!ParamCount.Value, Nothing, Join(Parameters!MyParam.Value, ","))

Maybe you are looking for