How to get current tab name or tab id or related info?

Hi ,
I would like to hide/show tabs according to users' page privileges list. So I need get current tab ID or tab Name in runtime environment to know if show/hide it for current user. :APP_USER
Could you please provide any info about this requirement? Or do you have alternative method to control tabs' hide/show?
thanks
Ruiping

最爱用中文 wrote:
Hi Jari,
Thanks for your info. Even if set authorize schema to tabs, I still need to get the relationship between "current tab" and "privilege&users". So I think evrm's hard-code method above is avaliable.I agree with Jari: APEX provides Authorization schemes specifically for this purpose. You need to reverse your thinking on how to implement this.
For more information consult the documentation on APEX security, specifically using authorization schemes to restrict access to pages and control rendering of components.
Tutorial: Adding Security to your Database Application (APEX 4.0)
Use Authorization Schemes to control access/rendering for security ("only managers see/access this page and it's associated tab"); and Conditions to control rendering for functional reasons ("region only displayed if account is in arrears").
Authorization Schemes have the benefits of being reusable, performing better, and allowing central maintenance of security-related code. This makes it easier to change the implementation—say moving from role information held in database tables to groups defined in LDAP.
I worked for a number of years with an application where authorization schemes are not properly used (decisions made before my involvement) and all security and business logic relating to rendering and processing is wrapped up in spaghetti code in conditions. It's impossible to maintain.
It is of course advisable to make both authorization scheme and business logic condition code more reusable and maintainable by locating it in API packages.

Similar Messages

  • How to get current view name on clicking device back button?

    Hi,
    iam wriing a function for handling device back button(in android) press in my app.controller.js .How to get current viewname when clicking device back button.
    code samples will be helpful.
    my app.controller.js looks like below
    sap.ui.controller("com.opensap.App", {
      onInit : function() {
      document.addEventListener("deviceready", onDeviceReady, false);
      onBeforeShow : function(evt) {
      navButtonTap : function(evt) { 
    function onBackKeyDown(){
      //alert("hai");
      //sap.ui.getCore().byId("SalesDetail").app.backToPage("ProductList");
      //sap.ui.getCore().byId("ProductList").app.backToPage("Dashboard");
      //sap.ui.getCore().byId("SupplierDetail").app.backToPage("Dashboard");
    function onDeviceReady(){
       document.addEventListener("backbutton", onBackKeyDown, false);

    I somehow managed to find the solution
    function onBackKeyDown(){
      var app = sap.ui.getCore().byId("LoginDetail").app;
      app.back();

  • How to get current function name?

    Hello, everyone!
    I want to get the current function name for debug purpose. I simply want to dump out current class name, function name (and better line number) of current executing statement. For example, I can embed my debugger inside my source codes if I can get the current function name as the following,
    <code>
    class foo
    void function goo()
    //operations
    myDebugger (getCurrentFunctionName(), informationString)
    </code>
    Then my debugger will have richer information which indicates in which function information is dumped. Have I made myself understood? If Java does not have such apporach to get current function name automatically, I have to define a function local variable which contains function name manually in each function I want to debug. And pass the variable to my debugger which seems rather silly.
    Can anyone help?
    Thanks in advance,
    George

    To elaborate a little: be sure to read the API on getStackTrace: because of JVM optimization
    there may be missing stack trace info, so look before you leap:
    public class Client {
        public static void main(String[] args) {
            f();
        static void f() {
            Debugger.log("testing");
    class Debugger {
        public static void log(String msg) {
            StackTraceElement[] trace = new Throwable().getStackTrace();
            if (trace.length >= 1) {
                StackTraceElement elt = trace[1];
                System.out.println(elt.getFileName() + ": " + elt.getClassName() + "." +
                    elt.getMethodName() + "(line " + elt.getLineNumber() + "): " + msg);
            } else
                System.out.println("[UNKNOWN CALLER]: " + msg);
    }

  • How to get Current Log in BO user name in data access driver

    In universe, to get the current log in user is via @Variable('BOUSER').
    Right now, I need to be able to get the user name in the data access driver. I am writing a customized data access driver because we need to patch some where clause on the the query generated by the universe based on the logged-in user info. I only think of using end_sql parameter or adding an universe level filter to patch the @Variable('BOUSER') to the query, which would not work if user want to use customized query.
    Can anyone tell me how to get currentBO user name from connection server ? or how @Variable('BOUSER') is translated into the logged-in user name in the universe?

    Shweta,
    The link you provided was the Auditor guide for BO 6.x, I'm not sure it that is going to help Karen or not.
    Karen,
    There is function called connection
    (usage:  =connection([Query Name]), where [Query Name]
    denotes the name of the tab for the query under Edit Query)
    Here is some of the output from connection:
    4;ODBC18;MS SQL Server 2000166; VERSION=7; USER=xxxxx;
    PASSWORD=; DBTYPE=Relational; DATABASE=xxx_xxxx;
    ODBC_USER=xxxxxx; ODBC_PASSWORD=; BO_DSN=xxxx_xxxx;
    BO_DRV_CONNECT_MODE=0; 224; VERSION=6; Name=xxxxx; Shared=4;
    LoginTimeout=600; Timeout=600; Pool Time=60; Array Fetch Size=10;
    Array Bind Size=5; RecommendedLenTransfert=1000; Password_Encryption=x;
    AliasTable=; MeasureDimension=; Hint=; ConnectInit=; ArrayFetch=1;
    I'm not sure if this info helps out either, being that connection provides info on a post-processing basis and it sounds like you need to get out ahead of the SQL generation.  The @variable('bouser') would seem like the place to be, however, in allowing custom SQL to take place you loose the bouser due to an individual could customize the SQL to the point that it gets unwantingly yanked out.  The end_sql might be your answer...
    Thanks,
    John

  • How to get current logged-in user name in data access driver or in universe

    In universe, to get the current log in user is via @Variable('BOUSER').
    Right now, I need to be able to get the user name in the data access driver. I am writing a customized data access driver because we need to patch some where clause on the the query generated by the universe based on the logged-in user info. I only think of using end_sql parameter or adding an universe level filter to patch the @Variable('BOUSER') to the query, which would not work if user want to use customized query.
    Can anyone tell me how to get currentBO user name from connection server ? or how @Variable('BOUSER') is translated into the logged-in user name in the universe?

    I do not know your EJB Service. But you should pass the credentials of the current logged on portal user to your service. That's not by default I think.
    I had a similar problem with CAF developed webservices. I had to turn on permission checks in my web service and passed the credentials via logon ticket.
    Regards, Bernd

  • How to get the specific name of the workset which is currently selected by the user in sap portal 7.0

    Dear Expert,
    I have one requirement like to read the selected workset name in portal by the current user.I have read two documents regarding how to retrieve the PCD contents (iViews, Pages, Worksets and Roles) and its properties like Created by, Changed by, Last changed by and others using PCD API.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/6112ecb7-0a01-0010-ef90-941c70c9e401?overridelayout=true
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/508baf88-9335-2d10-efa6-c6ad61e5fc4b?quicklink=index&overridelayout=true
    But I am not able to understand how to get the specific name of the workset which is currently selected by the user.Can you please help me.
    I am using portal 7.0.
    Thanks & Regards,
    Patralekha

    Hi Expert,
    I found that we can use Interface INavigationHelperService to read Portal Role selected by user at runtime from http://scn.sap.com/thread/52194
    But this class is available in SAP NetWeaver 7.30 Enterprise Portal .
    But in SAP NetWeaver 7.0 Enterprise Portal that interface is not available.
    INavigationService is available there.
    But didn't get any proper discussion on this interface for the same requirement.
    Can you please help me.
    Thanks & Regards,
    Patralekha

  • Flex 3 TabNavigator getting tab name when tab clicked

    Hi All, I am using Flex 3.
    I have <mx:TabNavigator  id="dbtabs" width="100%" height="100%" click="changeTabs()"  />
    I am also adding tabs dynamically. 
    In the grand scheme of things, I want to let a user add tabs as needed and chose what content is on the tab.  This is saved data, so when they come back I need to reload their saved settings.
    What I am trying to do is find out how to get the index of the tab when it is clicked. Right now I have to click the tab then click in the vbox to get the selectedIndex.  Is there a way to get the selectedIndex as soon as the tab is clicked?
    Thanks.

    private function handleTabClick(evt:IndexChangedEvent):void
           var i:int = evt.newIndex;
    <mx:TabNavigator change="handleTabClick(event)">
            <mx:Canvas width="200" height="200" label="Tab 1"/>
            <mx:Canvas width="200" height="200" label="Tab 2"/>
    </mx:TabNavigator>
    Dany

  • How to get the function name/ID  of the current page

    HI,
    I searched the forum and google, but it is not clear on how to get the function name of the current page.
    I have 4 functions in my self service A ,B,C,D (seeded page links ) they all have to go to a page called hhhPG. Based on which function user is clicks I have to show the data in hhhPG.
    so my question is how to get the function name ? I mean I need to know if user click on link A , B, C or D link and came to this page.
    I found below in one forum and also there is getfunctionID in pageContext , but I do not know what to pass to getfunctionid("???") to get value.
    FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
    Or is there a better way of know where user is coming from ? like geturl....
    Please help, I need this ASAP.
    Thank you.

    Use below to find out how the user came into the page
    FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
    boolean isFunc1 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME1"));
    boolean isFunc2 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME2"));
    boolean isFunc3 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME3"));
    boolean isFunc4 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME4"));
    So one of them will be true based on the function the user came in.
    Write your logic based on these flags.
    Regards,
    Peddi.

  • Getting Tab Name or Tab Id

    Hello,
    In my page I have 4 tabs. I would like to get the tab name or tab id to pass to my pl/sql procedure. When user clicks the tab, I am passing certain parameters to the plsql procedure. So is there any way i can uniquely get the tab name or tab id?
    Thanks in advance
    Regards

    well,
    it is still vague for me to understand what do you mean by getting tab name from URL.
    perhaps what you intend to have is a programmatic way of finding tab name from URL.
    for that in 10.1.4 as the query strings do not work that way, so you may use the following API function call and use it to write some custom function. (note that it will work when you will call it from some page on your portal).
    portal30.wwctx_api.get_path_infothis gives typically a result like this depending upon the page address/location (and provided that you are on a tab of a multi-tab page):
    /!PORTAL30.wwpob_page.show/SHARED/U/PAGE_GRP/PAGE_NAME/TABNAMEhope that helps!
    AMN

  • How to get the role name in which query is published ?

    Hi Experts,
       Is there any table where i can get the name of the role in which a particular query is published. I know that if i have a role , i can check in pfcg giving that role name and in menu tab i can see all the queries published under that role. But if i know query but not role how to get the role name . Is there any table or functon modules or programs to get the information.
    Thanks & Regards
    Vamsi Kiran

    Check this table
    AGR_HIER

  • How to get current layer type (text, art, group layer, etc.)r discussion here

    Hi,
    I am traversing over all layers using layerIndex.
    I can get current later name in following way.
    char* layerName = new char[100];
    int32 len = 100;
    PIUGetInfoByIndex(layerIndex,classLayer, keyName, layerName , &len) ;
    I tried  using the keys keyType and keyGroup in the same way but I am not able to directly get type of the layer. Why?
    Also, I found similar discussion, which is check the layer is SectionStart, SectionEnd or SectionContent.
    Get Layer Groups from C++ plugin
    If the layer is a "SectionContent", how to I further check its type (artlayer, textlater, adjustmentlayer, ect) ?

    apologize !
    I post the question in relevant forum. But I would like to ask extra explanation here.
    var ref = new ActionReference();                                                                                                               // create action reference
    ref.putProperty(stringIDToTypeID ("property"), stringIDToTypeID("layerKind"));                                            // add "layerKind" property to the reference
    ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );                   // what putEnumerated actually do ?
    var layerDesc = executeActionGet(ref);                                                                                                      // get the corresponding layer descriptor
    alert (layerDesc.getInteger(stringIDToTypeID("layerKind")));                                                                        / get its layerKind
    1. what putEnumerated actually do ?
    2. I am traversing each layer so that I have the layer object in JavaScript.
        How current layer object is refereed to above code segment ?

  • IDM : How to get the Resource name in Exclude Rule during Reconciliation?

    Hi
    Problem Statement => How to get the Resource name in Exclude Rule during Reconciliation.
    Problem Description => Apparently, we use exclude rule for not consider some account during reconciliation.
    I need the resource name in exculde rule during reconciliation. I tried with getResources() method which is an inbuilt method.But it gives all the resources are aviablable in the repository (IDM). I need only the current reconcilied resource name instead of fetching all the resouce.
    Can any one please help how to get the resource name in exclude rule during reconciliation?
    Thanks in advance for you help.
    Thanks,
    Chellappan

    Hi,
    Thanks for your reply.
    I have 50 resouces and these resouces using the same kind of exclude rules. In the exclude rule, i am using resource name to do some work. If i get the resouce name in exclude rule, then i can use the same exculde rule for 50 resources. This will minimise the rule count from 50 to 1. For that, i need resouce name.
    Thanks,
    Chellappan Sampath.

  • How to get current assigned participant id?

    Hi mates,
    This might be a basic questions, but useful for me :)
    How to get current assigned participant id from screenflow? Or How to pass it as an argument from interactive activity?
    Below is what I tried.
    Participant.id or Instance.participant.id - returns login user id
    Thanks

    Hi,
    Please correct me if I understood wrong.
    You want to know whether an instance is assigned or not and if assigned then you want to fetch the assigned participant id.
    If this is your requirement then please find the code below and make the necessary changes into it.
    Write the following code in screen flow automatic activity but before that you need to pass the instanceid as argument to the screen flow.
    In the process as well as screen flow layer make an instance variable instanceid as Int.
    Then make an argument variable instanceidArg as Int in both the screenflow and process layer and map accordingly so that it will take the instanceid from process layer to the screen flow layer.
    Assign instanceid = id.number; in process layer automatic activity but before the global interactive activity where you have maped the screen flow.
    Write the following code in screen flow automatic activity.
    logMessage("============= instanceid ==============" + instanceid); //instanceid is the id of the instance that you have passed from process layer.
    ProcessService ps;
    InstanceFilter instF = InstanceFilter();
    ps.connectTo(url : Fuego.Server.directoryURL, user : "<userid>", password : "<password>"); //In studio the userid and password will be same
    logMessage("Connected");
    instF.create(processService : ps);
    instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS);
    //<ProessId Name> is the id of the process where you want to know the assighed participant id
    instF.addAttributeTo(variable : VarDefinition.processid, comparator : Comparison.CONTAINS, value : "/" + "<ProessId>");
    instF.addAttributeTo(variable : VarDefinition.INSTANCE_NUMBER, comparator : Comparison.IS, value : Int(instanceid));
    Fuego.Papi.Instance[] instances = getInstancesByFilter(ps, filter : instF);
    foreach (instance in instances) {
    logMessage("Assigned ?: " + instance.participantId.empty);
    logMessage("instance.participantId: " + instance.participantId);
    ps.disconnectFrom();
    Bibhu

  • How to get current row data in table control

    Hi , expert ,
       I am professional in oracle ,  but  now I am a new guy in SAP ABAP .
    I  have a question in UI
    How to get current row data and click pushbutton  in table control  to open next screen ?
    I want to get the current data and open next screen to carry out detail detail .
    Thansk for all your suggestion .

    GET CURSOR LINE SY-CUROW .
      READ TABLE internal_table index SY-CUROW.

  • How to get current layer type (text, art, group layer, etc.)

    Hi,
    I am traversing over all layers using layerIndex.
    I can get current later name in following way.
    char* layerName = new char[100];
    int32 len = 100;
    PIUGetInfoByIndex(layerIndex,classLayer, keyName, layerName , &len) ;
    I need to get layer type using the someway. There exists a key called keyType.
    But I am not able access layer type that way. Why?
    If there is a better way, I wold like to know that too.

    Photoshop Scripting

  • How to get a computer name in teststand step ?

    how to get a computer name in teststand step ?

    Hi,
    Use an ActiveX Automation Adapter with the following settings,
    ActiveX Reference : RunState.Engine
    Automation Server: TestStand API (depends on your version)
    Object Class: Engine (IEngine)
    Action: Get Property
    Property: ComputerName
    Then set your Parameters: to pickup the String ComputerName.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

Maybe you are looking for

  • My computer does not recognize my printer

    Dear Sir/Madam please can you help me my computer does not recognize my printer either by wireless or usb cable although I used to use it and it was good  thanks ayman 

  • Ipod repaired, HD crash - How can I get my music back

    My Ipod touch was sent in for repair a couple weeks ago - it just stopped turning on. They sent me a new one but it doesn't have any of my apps or music on it. While it was out for repair, my hard drive crashed. Father in law is still working on reco

  • Mail doesn't open/download immediately

    Is it normal to have incoming mail take awhile to open up?  The "loading" message comes on and runs for 10 seconds or more and the email does not appear immediately. 

  • Running abap programs using the macros

    In our DP implementation we have faced several issues in the extraction of the data from the demand planning to one of the legacy system. We have written the ABAP program and would be using the read planning book bapi. I wanted to run the ABAP progra

  • Cannot open calendar in Mavericks

    I updated to Mavericks and now I cannot open calendar. I cannot revert back to snow leopard. How can I fix it so it will open?