How To Modify Privileges For APEX Objects Granted To PUBLIC?

I have searched this forum but couldn't any threads relating to this...
We have APEX 3.0.1 installed in some 10g (10.2.0.2) databases that host GIS data. I was informed by a GIS administrator that when using ESRI tool to search for data, the objects that belongs to FLOWS_030000 schema and ones that were granted to PUBLIC are shown. He would like to know if there is a way to hide these objects so they don't show up on the list? There are about 176 objects granted to public from the flows_030000 schema.
Could we establish a different security scheme that could accomplish the same thing? Maybe we need to create a new account and a role. Grant all of the privileges for flows_030000 to public to the new role. Then grant the role to the new account and the flow_files schema?
Our goal here is to make the flows_030000 objects hidden from the ESRI tools and still have APEX working properly.

If you look at the grants, you'll see that there are over 170 objects from the FLOWS_030000 granted to PUBLIC:
SQL> select count(*) from dba_tab_privs where owner= 'FLOWS_030000' and grantee = 'PUBLIC';
173
If we were go grant these privileges to a role, called APEX_APP_RU, and grant this role to APEX_PUBLIC_USER and any schemas an application is linked to (Workspace to Schema), would that be a workable solution?
The only problem I see right off hand that this might not work is that PUBLIC has synonyms created for the FLOWS_030000 objects. If we revoke the underlying privileges, because of the synonyms, this might not work.
SQL> select COUNT(*) from dba_synonyms where table_owner = 'FLOWS_030000' and owner = 'PUBLIC';
176
Does anyone else have any ideas?

Similar Messages

  • How to use dbms_metadata to get object grants for an OBJECT?

    Hi guys. I've already searched around for DBMS_METADATA.GET_GRANTED_DDL but couldn't really find what i'm looking for.
    The regular use-case for the procedure is to find all grants given to a specific user. What if I wanted to find out what grants were related to a table? I only saw grant-related queries like the following:
    SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','SYS') FROM DUAL;
    SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','SYS') FROM DUAL;
    SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','SYS') FROM DUAL;
    SELECT DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA','SYS') FROM DUAL;I already have the SQL query to find this sort of stuff out:
    -- get rights granted to PUBLIC on a certain PL/SQL package (ie. DBMS_JAVA)
    set pagesize 9999 linesize 100
    col grantee format a20
    col owner format a8
    col table_name format a30
    col grantor format a8
    col privilege format a10
    col hierarchy format a3
    select unique grantee
         ,tp.owner
         ,table_name
         ,grantor
         ,privilege
         ,grantable
         ,hierarchy
    from dba_tab_privs tp
    left join dba_objects o on tp.owner=o.owner AND tp.table_name=o.object_name
    where table_name in ('ABC','DEF','GHI'); ... but I was hoping to recreate the metadata instead. Thanks!
    Edited by: lrp1 on Jul 19, 2011 10:55 AM

    lrp1 wrote:
    Hi guys. I've already searched around for DBMS_METADATA.GET_GRANTED_DDL but couldn't really find what i'm looking for.
    The regular use-case for the procedure is to find all grants given to a specific user. What if I wanted to find out what grants were related to a table? I only saw grant-related queries like the following:
    SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','SYS') FROM DUAL;
    SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','SYS') FROM DUAL;
    SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','SYS') FROM DUAL;
    SELECT DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA','SYS') FROM DUAL;
    http://www.petefinnigan.com/tools.htm
    who_can_access.sql

  • How to Modify Search for Leads using Date types in the Assgmnt Block Date

    Hello Experts,
    I have a requirement to modify the search for Leads using Dates in the Assignment Block Dates and using the Posting Date of the transaction.
    Any ideas?
    Thank you in advance,
    Justin

    If you look at the grants, you'll see that there are over 170 objects from the FLOWS_030000 granted to PUBLIC:
    SQL> select count(*) from dba_tab_privs where owner= 'FLOWS_030000' and grantee = 'PUBLIC';
    173
    If we were go grant these privileges to a role, called APEX_APP_RU, and grant this role to APEX_PUBLIC_USER and any schemas an application is linked to (Workspace to Schema), would that be a workable solution?
    The only problem I see right off hand that this might not work is that PUBLIC has synonyms created for the FLOWS_030000 objects. If we revoke the underlying privileges, because of the synonyms, this might not work.
    SQL> select COUNT(*) from dba_synonyms where table_owner = 'FLOWS_030000' and owner = 'PUBLIC';
    176
    Does anyone else have any ideas?

  • HOW TO: set anchoredObjectSettings for .palce() object?

    Hi, I'm currently working on interesting script for GREP placing, and I'm wondering how I can set anchoredObjectSettings for .palce() object?
    for(i=0; i < found.length; i++)
        foundElem = new File (myFolder + "/" + found[i].contents);
        found[i].place(foundElem); // Placing Ancored Object
        // HERE IS WHERE I NEED SOME HELP: how to set "anchoredObjectSettings" for just placed Ancored Object
        //anchoredObjectSettings.anchoredPosition = AnchorPosition.ABOVE_LINE;
        //anchoredObjectSettings.horizontalAlignment = HorizontalAlignment.TEXT_ALIGN;
    Here you can download example files - script, InDesign file and images, that should be placed into InDesign file with script
    Dropbox - GREP placing.zip
    PS: I believe this script will be very useful, so if anybody have any ideas/suggestions, and want to help me with further development - this would be great!

    Hi Kai, this script is still under development, here is updated version attached (now it can also place files/images by file name only, without extension):
    #target indesign;
    //#include  "! Basic functions.jsx"
        GREP place files.
        This script will ask to select source folder with files to place,
        and then, with dialog box (or prompt) [this is not implemented yet, so I use static GREP value while developing]
        will ask to type GREP find expresion to search for text placeholder, that need to be replaced with file from source folder we just selected.
        TODO: Check how it works with other than image formats
            Also, this might be usefull to make anchored frame with column widh, and fit image proportionally
    scriptName = decodeURI(File(app.activeScript).name.slice(0, -4)); // detect name of current script without expression
    function Alert(msg) // function for native-looking alerts
        w = new Window ("dialog", scriptName, undefined, {closeButton: true});
        w.preferredSize = [300,75]; // window width and height
        w.margins = 15; // window margins
        w.orientation = "column";
        w.alignChildren = ["left", "top"];
        w.add("statictext", undefined, msg);
        close = w.add ("button", [0,0,96,20], "OK", {name: "Ok"});
        close.alignment = ["right", "bottom"];
        close.onClick = function(){exit();}
        w.show();
    main();
    function main()
        app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
        if(app.documents.length == 0)
            Alert("No documents are open. Please open a document and try again."); exit();
        else
            //> START OF doUndoWraper
            if (parseFloat(app.version) < 6) // "app.version < 6" if it's running under an earlier version than CS4, as earlier versions don't support "Undo" in scripts
                doUndoWrapper();
            else
                app.doScript(doUndoWrapper, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, scriptName);
            //< END OF doUnoWraper
    function doUndoWrapper() // this is the wraper function UNDO everything script made  by single undo
    {// START OF doUndoWrapper
    defaultGREPexpression = "(?i)^[a-z0-9 _-]+\\.\\w{2,4}$"; // Paragraph that starts with upper or lower case latin character, digits, spaces, hyphen or underscore, and ends with .extension
    var myFilteredFiles;
    var myExtensions = []; // initialize array
    myExtensions.push(".jpg", ".jpeg", ".png", ".gif"); // raster images
    myExtensions.push(".psd", ".tif", ".tiff", ".pdf"); // raster images (layered)
    myExtensions.push(".ai", ".eps", ".svg", ".cdr"); // vector graphics
    myExtensions.push(".mp3"); // audio files
    myExtensions.push(".mp4"); // video files
    myExtensions.push(".swf"); // flash files
    myExtensions.push(".doc", ".docx", ".rtf", ".txt"); // text documents
    myExtensions.push(".xls", ".xlsx"); // table documents 
    //Display the folder browser.
    if(app.activeDocument.saved) // our document was saved before - we suggest to start search for source folder from were InDesign file saved
        var myFolder =  Folder(app.activeDocument.filePath).selectDlg("Select the source folder with files for placing", "");
    else // file was not saved before, so we don't know where to search > suggest to start from Desktop
        var myFolder = Folder.selectDialog("Select the source folder with files for placing", "");
    if(myFolder) // if folder was selected
        //Get the path to the folder containing the files you want to place.
        var files = new Object(); // This will assoc array with FILE_NAME => FILE_EXTENSION
        if(File.fs == "Macintosh")
            myFilteredFiles = myMacOSFileFilter(myFolder);
        else
            myFilteredFiles = myWinOSFileFilter(myFolder);
        if(myFilteredFiles.length != 0) // success: we have found supported files to place
            for(i = 0; i < myFilteredFiles.length; i++)
                var filename = myFilteredFiles[i].fsName.toString().replace(/^.*[\\\/]/, ""); // now we get only file names with extenstions
                var file = [];
                file = filename.split("."); // separate file name from file extension         
                files[file[0]] = file[1]; // write FILE_NAME => FILE_EXTENSION as assoc array
        else // error: There is no supported files for placing in specified folder
            Alert("ERROR: There is no supported files for placing in specified folder.");
            exit();
    else // ERROR: we have not choose source folder
        Alert("Folder with source files was not specified"); exit();
    //Windows version of the file filter.
    function myWinOSFileFilter(myFolder)
      var myFiles = new Array;
      var myFilteredFiles = new Array;
      for(myExtensionCounter = 0; myExtensionCounter < myExtensions.length; myExtensionCounter++)
            myExtension = myExtensions[myExtensionCounter];
            myFiles = myFolder.getFiles("*"+ myExtension);
      if(myFiles.length != 0)
                for(var myFileCounter = 0; myFileCounter < myFiles.length; myFileCounter++)
      myFilteredFiles.push(myFiles[myFileCounter]);
      return myFilteredFiles;
    function myMacOSFileFilter(myFolder)
      var myFilteredFiles = myFolder.getFiles(myFileFilter);
      return myFilteredFiles;
    //Mac OS version of file filter
    //Have to provide a separate version because not all Mac OS users use file extensions and/or file extensions are sometimes hidden by the Finder.
    function myFileFilter(myFile)
        var myFileType = myFile.type;
        switch (myFileType)
            case "JPEG":
            case "EPSF":
            case "PICT":
            case "TIFF":
            case "8BPS":
            case "GIFf":
            case "PDF ":
                return true;
                break;
            default:
            for(var myCounter = 0; myCounter<myExtensions.length; myCounter++)
                var myExtension = myExtensions[myCounter];
                if(myFile.name.indexOf(myExtension)>-1)
                    return true;
                    break;
      return false;
    //> START OF GREP expression dialog
    w = new Window ("dialog", scriptName+": specify expression", undefined, {closeButton: true});
    w.preferredSize = [300,75]; // window width and height
    w.margins = 15; // window margins
    w.orientation = "column";
    w.alignChildren = ["left", "top"];
    panel = w.add("panel", undefined, "Find what: (GREP expression)");
    if(app.findGrepPreferences.findWhat != "")
        grepExpression = app.findGrepPreferences.findWhat;
        clearFindWhat = false;
    else
        grepExpression = defaultGREPexpression; // use default GREP expression
        //fgrepExpression = "\\[.+\\]"; // \\< means "begining of the world", and \\> means end of the world;
        clearFindWhat = true;
    var grepExpression = panel.add ("edittext", [0,0,270,20], grepExpression);
    grepExpression.active = true;
    panel.add("statictext", undefined, "GREP expression no need for for double \\\\ escaping");
    ok = w.add ("button", [0,0,96,20], "Continue", {name: "Ok"});
    ok.alignment = ["right", "bottom"];
    ok.onClick = function()
        findWhat = grepExpression.text; 
        w.hide();
    w.show();
    //< END OF GREP expression dialog
    if(typeof findWhat !== "undefined") // check we have not left GREP expression field empy
        app.findGrepPreferences.findWhat = findWhat; // our GREP that search for image placeholder text;
        found = app.activeDocument.findGrep();
        for(i=0; i < found.length; i++)
            if(found[i].contents.indexOf(".") > -1) // we wroking with file name with extension
                foundElem = new File (myFolder + "/" + found[i].contents);
            else // we work with file name only, so we need to add file extension manually
                found[i].contents = found[i].contents.replace(/[^a-z0-9 _-]/gi, ""); // remove all unwanted characters from file name: only letters, numbers, spcaces, minus and underscores allowed     
                foundElem = new File (myFolder + "/" + found[i].contents + "." +  files[found[i].contents]);     
          try
                placedObj = found[i].place(foundElem)[0].parent; // THANKS TO: Jump_Over for help @ https://forums.adobe.com/message/6912489#6912489
                placedObj.anchoredObjectSettings.anchoredPosition = AnchorPosition.ABOVE_LINE;
                placedObj.anchoredObjectSettings.horizontalAlignment = HorizontalAlignment.TEXT_ALIGN;
                placedObj.frameFittingOptions.autoFit = true;
                placedObj.frameFittingOptions.fittingOnEmptyFrame = EmptyFrameFittingOptions.FILL_PROPORTIONALLY;
                placedObj.frameFittingOptions.fittingAlignment = AnchorPoint.CENTER_ANCHOR;         
            catch(e)
                Alert(e);         
        app.changeGrepPreferences.changeTo = "";
        app.activeDocument.changeGrep();
        if(clearFindWhat) // clearing only if typed GREP expression manually
            app.findGrepPreferences = app.changeGrepPreferences = null; // clear Find/Change preferences once we finished
    else
        Alert("Find what GREP expression was not specified"); exit();
    }// END OF doUndoWrapper
    Top part with Windows/Mac filtering was copy-pasted from default InDeign script "ImageCatalog.jsx" as example and modified - I'm not sure if all this stuff is needed, I haven't test if it works the same without those filtering on both OS - if that's not needed - then thanks for tip!
    PS: in your findWhat \l{3,4} will not catch .ai files
    and what means .source at the end? is that doing necessary escaping, so with it it's posible to write \l instead of \\l

  • How do I compensate for display objects jumping when screen scaling

    I am building an application that is to run at 2 difference stage sizes. 960x640 and 1024x768 (for those paying attention, you may note that those are the high res settings for the iPhone and iPad2)
    The app was designed and build to run on a stage of 960x640 and when running at this size, there are no problems.
    When the app loads in the 1024x768 window, it "strechs" the stage to fill the window, but keeps the aspect ratio. Everything looks good and the application runs without any problems expect for one thing.
    Sometimes, display objects on the stage "jitter" when moving or animating. I have discovered that this is because the stage is "scaling" the x and y values, and is not pixel snapping the objects on the screen, even though the x and y values of the display object are indeed whole numbers.
    A prime example of this is I have 2 bitmapData images. bmData_s and bmData_h.
    bmData_s is 192x388 in size.
    bmData_h is created from a copy of bmData_s with a glow filter stroke on it, resulting in a image that is 198x394 (6 pixels bigger due to a 3 pixel stroke)
    I place it on the screen using the following code:
    (Background is a bitmap object that is 960x480 and places at 0,0)
    (ObjOffset is a point in my app data to position the object, it's a point set to 53,195)
    MyObj.x = Background.x + ObjOffset.x + (bmData_s.width/2);
    MyObj.y = Background.y + ObjOffset.y + (bmData_s.height/2);
    now, when the mouse rolls over the object, I have an event listener to change MyObj.bitmapData to bmData_h
    MyObj.bitmapData = bmData_h;
    MyObj.x = Background.x + ObjOffset.x + Math.floor(bmData_h.width/2);
    MyObj.y = Background.y + ObjOffset.y + Math.floor(bmData_h.height/2);
    and back to the _s image on mouse out.
    Now, when the app runs on the iPhone which is a 960x640 screen size, or on the PC which is using a window of similiar size, the image doesn't appear to move at all... the "stroke" appears and disappears exactly as it is suppose to
    However, when I run it in a window that is 1024x768, the _h image appears to "jump" one pixel up.
    I have encountered many other similiar things that only occure when the stage is scaled. There is a spot in the app where I am animating a bitmap by manipulating it's scrollrect x and width (have it's do a wipe in from right to left like a peice of paper unrolling on a table) and due to the scaling, the right edge of the image jumps left and right 1 pixel... but on 960x640 screens, it looks perfect.
    Does anyone know how I can compensate for this effect so that this jumping doesn't occur when the stage is stretched to fit the window it's running in?

    Sounds like a x-browser rendering problem
    my guess would be to scale down the inner div's so they add up to less than 100%.
    If you floated div's and gave them a %, give one of the div's a smaller.
    ie: 2 divs floated in a Header, give one 50% and the other 49.5%

  • How to select data for nested object (Object based on another objects)

    Hi,
    I have written the following code, but I am not able to fetch data as I fetch from normal table, Plz help.
    Following is the sample code -
    CREATE TYPE A_OBJ IS OBJECT (
    A_NAME VARCHAR2 (100),
    A_DESC VARCHAR2 (100)
    CREATE TYPE A_TAB IS
    TABLE OF A_OBJ
    CREATE TYPE B_OBJ IS OBJECT (
    B_NAME VARCHAR2 (100),
    B_DESC VARCHAR2 (100)
    CREATE TYPE B_TAB IS
    TABLE OF B_OBJ
    CREATE TYPE H_OBJ IS OBJECT (
    A A_TAB,
    B B_TAB
    create type H_TAB is table of H_OBJ
    -- Created the function to fill the data into my objects.
    Create or Replace Function ABC RETURN H_TAB IS
         l_data H_TAB := H_TAB();
         v_loop_count BINARY_INTEGER := 1;
         obj1 A_TAB;
         obj2 B_TAB;
    begin
         for i in(SELECT AG_PROD_MOD_NR, COMM_NM FROM BV_PRODUCT WHERE AG_PROD_MOD_NR = 'E4440A') loop
              obj1 := A_TAB();
              obj1.extend;
              obj1(obj1.last) := A_OBJ(i.AG_PROD_MOD_NR, i.COMM_NM);
              obj2 := B_TAB();
              obj2.extend;
              obj2(obj2.last) := B_OBJ(i.AG_PROD_MOD_NR, i.COMM_NM);
              l_data.extend;
              l_data(l_data.last) := H_OBJ(obj1,obj2);
         end loop;
         Return l_data ;
    end;
    -- used this SQL for fetching the data using the function -
    select *
    FROM the ( SELECT cast(ABC ()
    as H_TAB) FROM dual )
    the above SQL not gives me the data in the as a normal table returns, plz suggest me how to write SQL for above case.
    Thanks in Advance,
    Deepak

    First try to move your obj1 and obj2 initialization outside of the for loop. Not sure if this is even the issue, but it can't be helping.
    obj1 := A_TAB();
    obj2 := B_TAB();
    for i in(SELECT AG_PROD_MOD_NR, COMM_NM FROM BV_PRODUCT WHERE AG_PROD_MOD_NR = 'E4440A')
    loop
      obj1.extend;
      obj1(obj1.last) := A_OBJ(i.AG_PROD_MOD_NR, i.COMM_NM);
      obj2.extend;
      obj2(obj2.last) := B_OBJ(i.AG_PROD_MOD_NR, i.COMM_NM);
      l_data.extend;
      l_data(l_data.last) := H_OBJ(obj1,obj2);
    end loop;

  • How to modify capabilities for the ethernet interfaces in a Solaris 10 x86

    Hello.
    Does anybody know how to configure the ethernet capabilities in a interface in a X86 server? I have read that NDD command is not supported for this kind of servers and I cannot find how to do that.
    My root problem is that the IPMP is not working and my first clue is the configuration for cap_pause parameter in the involved interfaces, that they are active for both IPMP interfaces.
    How can I modify cap_pause for the interfaces in this server: X4170 with Solaris 10.
    Thanks in advance
    Regards,
    Luis.

    Not familiar with the X4170 but you might want to look for a config file in /kernel/drv that matches your interface. There are some configuration parameters you can set there if the device driver supports the .conf file.

  • How to modify formula for the calculated measure in a cube.

    Hi,
    I need to modify formula for some measures within a cube, What would be the best way do that? In the obj view if I update the formula and compile, it does seem to reflect in the model view.
    I cannot delete and recreate the measures deletion and recreation would change the order of the measures which i do not need.
    Appreciate your inputs. thanks

    Yes thats true it desnt change in the AWM front end if you change the formula in object view but it would show you results according to the new formula.
    If you want AWM to show the correct expression in the front end then the way out is to change in the XML and reimport the xml.
    Thanks,
    Brijesh
    Edited by: Brijesh Gaur on Nov 18, 2009 5:51 PM

  • How to uncheck infoobjects for authorization objects

    how to uncheck infoobjects for a specific authorization objects

    That would be a list of InfoProviders from the system and those with a check makr indicate that this auth object is turned on for the checked cube. So yes, you would have to uncheck the InfoProvider here also before you can delete the auth object.
    Hope this helps...

  • Grant privileges for future object?

    Hi all. Need help.
    1) Bob grants object priveleges on cars to Anna
    2) Anna renames cars to cars_old
    3) Anna creates cars .
    4) Bob has no privelges to cars:(
    How to grant privelges on 'created in future' tables?

    Here Demo
    test - as Anna
    monitor - Bob
    Session : As Sys User
    SQL>
    SQL>
    SQL> create user test identified by test default tablespace users quota unlimited on
      2  users;
    User created.
    SQL> create user monitor identified by monitor default tablespace users quota
      2  unlimited on users;
    User created.
    SQL> grant create session, create table, create procedure to test;
    Grant succeeded.
    SQL> grant create session, create ANY table to monitor;
    Grant succeeded.
    SQL> create role test_access;
    Role created.
    SQL>
    SQL>
    Session : 2
    Test User
    SQL> create table job_parm_table( job number primary key, tname varchar2(30) )
      2  organization index;
    Table created.
    SQL> create or replace procedure do_grant( p_job in number )
      2    as
      3            l_rec job_parm_table%rowtype;
      4    begin
      5            select * into l_rec from job_parm_table where job = p_job;
      6            execute immediate 'grant select, insert, update, delete on ' || l_rec.tname || ' to
      7  test_access';
      8            delete from job_parm_table where job = p_job;
      9    end;
    10    /
    Procedure created.
    SQL> grant insert on job_parm_table to sys;
    Grant succeeded.
    SQL> grant execute on do_grant  to sys;
    Grant succeeded.
    SQL>
    Sys User -- SEssion 1
    SQL> create table msg ( txt varchar2(255) );
    Table created.
    SQL> create or replace trigger test_schema_trig
      2     before CREATE on database
      3     declare
      4       l_str varchar2(255);
      5       l_job number;
      6     begin
      7         if ( ora_dict_obj_type = 'TABLE' and ora_dict_obj_owner = 'TEST' )
      8           then
      9             dbms_job.submit( l_job, 'test.do_grant(JOB);' );
    10                     insert into test.job_parm_table( job, tname ) values ( l_job,
    11  ora_dict_obj_name );
    12         end if;
    13     end;
    14     /
    Trigger created.
    SQL>
    Test - USer
    SQL> create table t1( x int );
    Table created.
    monitor - User
    SQL> create table test.t2(name varchar2(30));
    Table created.
    Sys User
    SQL> select grantee, privilege from dba_tab_privs where owner = 'TEST';
    GRANTEE                        PRIVILEGE
    SYS                            EXECUTE
    SYS                            INSERT
    TEST_ACCESS                    DELETE
    TEST_ACCESS                    INSERT
    TEST_ACCESS                    SELECT
    TEST_ACCESS                    UPDATE
    TEST_ACCESS                    DELETE
    TEST_ACCESS                    INSERT
    TEST_ACCESS                    SELECT
    TEST_ACCESS                    UPDATE
    10 rows selected.
    SQL> select * from test.job_parm_table;
    no rows selected
    { Code }
    - Failed Atlast.. Checking the Code give osm time...
    I can access the table's created in "TEST" by monitor got the privlileges.... Successs but one thing is could not able to
    find the records in  job_parm_table...
    Is It Okay with you know...
    Problem.. Solved...  :-)
    - Pavan Kumar N
    Edited by: Pavan Kumar on Sep 20, 2008 12:58 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Can we check the Objects modifiable " option for standard objects

    Dear Friends
                 In IR , we have imported SRM SERVER->SRM SERVER5.5
    Then we  have checked the option<u><b> "Objects are modifiable"</b></u> then we imported the IDOC from R/3 system under SRM SERVER 5.5 swcv.
    Then created the mapping.It is working fime.
    how ever i am not sure whether it is right process.Can we check the "Objects are modifiable" for standard compoents delivered by SAP????
    Regards
    chandra

    Hi Jai,
      <i> >>>Can we check the "Objects are modifiable" for standard compoents delivered by SAP????
    No. As best practise you are not supposed to do so.</i>
    In order to implement any changes in the mapping we can do it rite.
    Because recently i have applied one SAP note to my SRM swcv and one of the MM object was changed according to the requirements.
    Thanks,
    Prasanthi.

  • How to load text for Z-objects?

    Hello Experts!!
    I am implementinh HR for BI reports.
    Now in some of the Zobjects created for details like bank details(for acoount number etc) i am getting only the key values from the attribute datasource.
    How to get the releated text values.
    do i need to create a text datasource? How to link the text and attributes , so that we can load text and see it in reporting as well
    Thanks
    Shilpa

    Generally, you dont always need to create a text datasource if it is not relevant. Just uncheck the checkbox "With text" in the InfoObject itself. Otherwise if you need a text datasource, you need to identify the text table in source system or identify the table where the key value (and maybe other attributs) is existing and you can read the text. Then create a generic text datasource (if no standard text datasource is available).
    But your question seems to be, how to get more attribute and text in the same ZObject? Just adding attribut objects you need and match them with the attribut datasource. You can also use a charateristic field here for the text field. The text field will be a attribut of that ZOBJECT and you dont need to create an extra text datasource.

  • How to setup SSL for Business Objects

    Dear colleagues,
    can you help with the following issue: we want to setup SSL for BO and have dedicted information for the implementation of certificates and know that sapcryptolib needs to be used. But there is no information provided how to inform BO about the location of the sapcryptolib. Can anybody provide a hint for this? Many thanks in advance.
    Best regards,
          Detlef Kreiss (HP Outsourcing services)

    Detlef,
    The SAP Crypto library is not required if you are simply trying to secure the webserver using SSL.
    Securing IIS (.NET infoview, or IIS fronting a Java application server) is pretty simple as you would follow the same steps to SSL secure it as you would any IIS server (there is an add certificate button in the properties of IIS).
    If you are using a Java Application server solely and want to SSL secure that, there is an SAP note to describe the steps required to add an SSL certificate to the (Tomcat) Java keystore.
    Please see:
    1299147 - How to setup SSL on Tomcat in Business Objects Enterprise XI 3.1?
    https://bosap-support.wdf.sap.corp/sap/support/notes/print/1299147
    -Brian

  • How to detect duplicate for custom object 1

    Hi expert,
    are there any fields in custom object can detect duplicates If These Fields Match?
    we thought it should be "Name" but it's not.
    Thanks, sab.

    Sab, field validation is not going to check for uniqueness of the custom object name. However, you could use field validation to add a value to the custom object name which could make it unique (such as name + rowID or name + created timestamp).

  • How to design tables for Apex applications?

    Hi,
    I am learning Apex . I have one question.
    Considering normal tables, I have primary key (some single column and some composite) for my tables.
    But I learnt that Apex works well when we have primary keys using sequences.
    So Should I do the following now.
    1) Add a new column to all my tables which gets populated from Apex directly and make that column as primary key
    2) Create a sequence to associate each such primary key
    3) Make the actual primary keys as Unique keys + Not null constraints
    Thank You

    Why are you designing your tables o suit the tool? What happenes when you change development products? You SHOULD develop based upon SOUND database design methods. Use of surrogate keys IS a prefered development method, since use of multi-key (Composite) keys is known to be a pain for multiple reasons..
    Take this small bit of knowledge.. Design you database properly for an interface and you will NOT have issues..
    Thank you,
    Tony Miller
    Raleigh, NC

Maybe you are looking for