Scope of GRC for Functional Guy...

Helo ,
I am SAP SD guy ..I have 2.5cyrs. of experience in SAP SD  but right this moment i am into SAP GRC implementation project. Is there any bright scope for SAP GRC or else after this impelmentation project i have to go back to SAP SD to for my bread...
David...

Hello David,
Below are some general scope for SAP GRC Access Control.
RAR
1) GRC Configuration
2) Ruleset Design
3) Ruleset Configuration
4) Mitigation Process Design
5) Ruleset Changes Process Design
6) User Training
CUP
1) Workflow Design
2) Workflow Configuration
3) Approver List Process Design
4) Testing Workflow
5) Mitigation Approval
There's more things that I cannot think of at the moment. If you wish to know more, I suggest you read some articles on the phases involved in GRC components. Basically anything requires GRC, and you can be doing audit on CRM solutions with SD knowledge or designing process control, or even designing the ruleset that is used in SAP GRC Access Control. I hope this helps a little.

Similar Messages

  • What is ESOA? What is the Scope/Role for Functional Consultants in eSOA.

    Hi Experts,
    1)     Does eSOA is a tool, application or module?
    2)     What is the relation between eSOA and ECC6.0?
    3)     What is the Scope/Role for Functional Consultants in eSOA?
    4)     What I have to learn in eSOA?
    5)     How it is useful for Functional Consultant?
    6)     How it is useful for Customers?
    7)     How much time it will take to learn eSOA?
    8)     Where can get the Material?
    9)     What all technologies I have to learn before I learn  to eSOA?
    I am working as a SAP HR Consultant. If I want to learn eSOA what are the pre-requisites.
    I donu2019t know anything eSOA.
    Please give me the answers.
    Regards,
    Ram

    Hi Ram,
    See the answers below
    > 1)     Does eSOA is a tool, application or module?
    ESOA is not any tool,application or module. Its a methodology/Architecture
    > 2)     What is the relation between eSOA and ECC6.0?
    ECC 6.0 provides some Enterprises Services through enhancement packages.
    > 3)     What is the Scope/Role for Functional Consultants in eSOA?
    FUnctional consultant should know which ENterprise Serrvices are available and which should be developed to carry out a business process.
    > 4)     What I have to learn in eSOA?
    .         Being a technical guy, there are things to be learnt like ESR, implementing designed serivces through ABAP or Java and consuming it. But being a functional guy, only awareness of what enterprise services are available and what they do and their input/output params and how they can fit into a business process is sufficient.
    > 5)     How it is useful for Functional Consultant?
    see above
    > 6)     How it is useful for Customers?
    Customers can move towards Service Oriented Architecture, get flexibility in changing a business process easily, maintaince cost is less
    > 7)     How much time it will take to learn eSOA?
    depends on your skills
    > 8)     Where can get the Material?
    lot of material in SDN
    > 9)     What all technologies I have to learn before I learn  to eSOA?
    ABAP or JAVA,ESR ( being a technical consultant) , Web Services
    > I am working as a SAP HR Consultant. If I want to learn eSOA what are the pre-requisites.
    you should aware of basics of service oriented architecture
    If you further want to clear doubts, do write up.
    Regards,
    Piyush

  • What are  the input parameters for Function Module

    Dear Experts,
    I want to generate a Sales Tax returns report,those fields are not available in my existing Datasources.
    For that i want to write a Generic Datasource with Function Module.
    audat
    bukrs
    vkorg
    vtweg
    spart
    aurat
    auart
    netwr
    mwsbp
    kschl zedp(consition type)
    kschl zvat(condition type)
    ksch   zcst(condition type)
    matkl     material group
    Here what are the Input parameters for Function Module.
    Thanks in Advance.
    Srinivasan.

    Srinivasan-
    For creating a Generic extractor based on a FM, you first of all need to know what is going to be your structure.. i.e. what all fields you need to pull from what all tables. A functional consultant may help you identify the exact DB tables.
    Once you know them, hand over the requirement and the pdf mentioned by Krishna to the ABAP guy, he would be able to take this up further.
    Also decide 1st whether you would be using a full load or delta. There is a slight difference in the way they are built.
    Let me know how it goes.
    -Bhushan.

  • "who am I" for functions?

    With custom tags, there's a 'ThisTag' variable. Is there an
    equivalant for functions? How does a function know who it is? The
    'this' scope seems to call the parent, and the function's name is
    present in the local 'variables' scope, but there's nothing to
    indicate who is is. Any suggestions?

    Hi,
    1. Which positions i have to look for? EP Portal consultant / HR consultant / ABAPer .
    You'll find it difficult to find a job as HR consultant as you have primarily worked in development roles and not in configuration ones. Since your focus so far has been ABAP/BSPs, you will find it easier to find an ABAP developer role. As far as EP Development Consultant is concerned, usually some JAVA knowledge will be demanded if you intend to apply for these roles. Occassionally, your BSP knowledge will do. So if you have the relevant knowledge, it shouldnt be a problem as well.
    2. is BSP hot in the market ?
    Its a nice to have and may be searching for jobs in your area will confirm if there is good demand for this.
    Hope this helps.
    Regards

  • HI i am user for InDesincc TrialVersion now. i have serious question for all guys in here. at first i installed Indesigncc as korean language but now i need to indesigncc english language installation. and then now i cant translate and changing korean lan

    Daniel SterchiHI i am user for InDesincc TrialVersion now. i have serious question for all guys in here. at first i installed Indesigncc as korean language but now i need to indesigncc english language installation. and then now i cant translate and changing korean language interface to english language interface at indesigncc download. so i wonder How i can do that?...i am very seriuos for now....i want indesigncc version for Eng.Language interface. but now i cant do that .i dont konw how i can presented kor. interfacing transite to eng. interface..
    forumnotifierHI i am user for InDesincc TrialVersion now. i have serious question for all guys in here. at first i installed Indesigncc as korean language but now i need to indesigncc english language installation. and then now i cant translate and changing korean language interface to english language interface at indesigncc download. so i wonder How i can do that?...i am very seriuos for now....i want indesigncc version for Eng.Language interface. but now i cant do that .i dont konw how i can presented kor. interfacing transite to eng. interface..

    First of all, uninstall it with the uninstaller.
    Then:
    Install the ENGLISH version.
    Change the language in the CC app to Korean.
    Install the Korean version. (DON't uninstall the English version)
    Change back the langauge in the CC app to English.
    When your OS is running in English, InDesign will run in English with Korean functionality added, if your OS is running in Korean it will take the Korean User Interface, so let your OS run in English.
    Every installer language will add needed plugins for the work with that language. E.g. If I install Hebrew, I get RTL functionality in German version, only if I would change the OS language it would change the language of InDesign, InDesign takes always as UI language the language of the OS if available, if not (in your case you have uninstalled English before), it takes any version which is available in the order of languages specified in the OS.
    If you need to run your program in a different language than the OS but you have installed it in the language of the OS it becomes more difficult. You would have to use some system tools which are able to force a program to open with a different language. Most of those tools are freeware.

  • Future for Java guys

    I seen some of the articles, sap customer are pressuring to release ABAP version of portal instead of java so that, they no need to worry of multiple skilled persons and also they can avoid communication between java and ABAP. If that at is  the case what would be the future of java guys who migrated to sap. What do you suggest for Java guys who is going to migrate to sap NetWeaver?

    Hi Sreenivasulu,
       You don't have anything to worry about.  You will not see an ABAP version of the portal.  ABAP is great for the business transaction functionality but was not designed to work with the web.  That is why a couple of years ago the SAP CEO at Sapphire said that JAVA was going to be an important development tool for developing SAP application.
    John

  • Segmentation-How much is role of a functional guy

    Hi
    Once a functional person has created the attribute lists for segmentation, with attributes and filters in it.
    Now when a business user goes to segment builder to create target group, and finds this list insufficient to create the different types of target groups, then does a CRM Functional guy creates more Attribute lists or the business user can also do that?
    Please suggest.
    Regards,
    Monica

    Hi Paul,
    Thanks for your reply.
    I am an external consultant. I understand that all attributes need to be created by me.
    There is an attribute list in Segmentation, which i sused in segment builder to create profiles and target groups. The think is there are lots and lots of attributes. And thousands of permutations and combinations are possible for creation of attribute lists. Like I could create on lise only with Sales volume from BW cube, one with only Marketing attributes, one with infosets (of 1 kind) plus some marketing attributes. I could create filter in one list on say 3 attributes, and in othe rin some other attributes. This is a non-ending process.
    So,  I am wondering should I create a few attribute lists and then when it goes live, are users able to create more attribute lists at that time and use it in segment builder?
    Please suggest.
    Best regards,
    Monica

  • GRC RAR function ids

    Hi,
    I have a question for GRC RAR functions ids.After uploading objects,do i have to create function ids and add tcodes and update permissions with the help of controllers/finance admin.I am not sure how it works.
    Thanks
    Mushu.

    Dear Mushu,
    You will get businessprocess, rule set, funciton, risks  etc., text files for different systems like R/3, CRM & SRM along with the installation files. You can upload these files and generate your SOD rules. This is standard rule set available from SAP. You can customize this rule set later as per your business requirements by changing functions, risks etc.,
    If you want to have totally customized rule set then you need to follow the procedure of creating functions, addition of t-codes, authorization obejcts (permissions) enablement and then generating rules. If the customized rule set is huge the better to use the text files - tweak them and upload into RAR tool
    Thanks and Best Regards,
    Srihari.K

  • Searching for "Functionality"

    Hi All Experts,
    I am working in BW, with technical knowledge... ( like creation of various info-providers, loading data from different sources.. etc. etc )
    Now I am coming across terms like FUNDS CENTER, COST CENTER.. etc. etc...
    Can anybody guide me / give me the useful links, wherein i can explore the functionality of these things.
    Warm Regards
    Vinay

    As rightly pointed out by our friend, these are all business terms used across varied SAP modules. The basiz terminology you can get it from help.sap.com site. Follow the link below.
    http://help.sap.com/saphelp_nw70/helpdata/en/3d/5fb13cd0500255e10000000a114084/frameset.htm
    Whenever need to understand the complete flow for different modules, better to take help from functional guy to speed up teh process.
    Regards
    Pankaj

  • Can't find FILTER CONDITION for filters or Function_Name for Functions

    In the Data Warehouse 11gr1 views all_iv_xform...
    I can't seem to find the Filter Conditions for filters and function name for functions that are called.
    I have looked at the other views in the documentation for the API's but can't seem to find this information.
    Any body have any ideas where this information is?
    thanks
    greG

    select map_component_id, position, source_parameter_name
    from ALL_IV_XFORM_MAP_PARAMETERS
    where map_component_id in (
    SELECT map_component_id
    FROM ALL_IV_XFORM_MAP_COMPONENTS
    WHERE MAP_ID IN (
    select MAP_ID
    from ALL_IV_XFORM_MAPS
    where MAP_NAME = :p_map_name
    AND OPERATOR_TYPE = 'Filter'
    Using map_component_id and position from above query you can see your filter condition defined in property_value:
    select map_component_name, property_name, property_value
    from ALL_IV_XFORM_MAP_PROPERTIES
    where map_component_id = :p_comp_id;

  • How to log input parameters for Function Modules?

    Hi,
    I need to create a Logging system to trace input parameters for function modules.
    The log functionality could be done by developing a class method or a function module (For example 'write_log'), and calling it within each function module that I want to log. The 'write_log' code should be independent from the interface of the Function Module that I want to log.
    For example, I'd like to write a function/class method that can log both these functions modules:
    Function DummyA
       Input parameters: A1 type char10, A2 type char10.
    Function DummyB
       Input parameters: B1 type char20, B2 type char20, B3 type char20, B4 type Z_MYSTRUCTURE
    Now the questions...
    - Is there a "standard SAP" function that provide this functionality?
    - If not, is there a system variable in which I can access runtime all parameters name, type and value for a particular function module?
    - If not, how can I loop at Input parameters in a way that is independent from the function module interface?
    Thank you in advance for helping!

    check this sample code. here i am capturing only parameters (import) values. you can extend this to capture tables, changin, etc.
    FUNCTION y_test_fm.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(PARAM1) TYPE  CHAR10
    *"     REFERENCE(PARAM2) TYPE  CHAR10
    *"     REFERENCE(PARAM3) TYPE  CHAR10
      DATA: ep TYPE STANDARD TABLE OF rsexp ,
            ip TYPE STANDARD TABLE OF rsimp ,
            tp TYPE STANDARD TABLE OF rstbl ,
            el TYPE STANDARD TABLE OF rsexc ,
            vals TYPE tihttpnvp ,
            wa_vals TYPE ihttpnvp ,
            wa_ip TYPE rsimp .
      FIELD-SYMBOLS: <temp> TYPE ANY .
      CALL FUNCTION 'FUNCTION_IMPORT_INTERFACE'
        EXPORTING
          funcname                 = 'Y_TEST_FM'
    *   INACTIVE_VERSION         = ' '
    *   WITH_ENHANCEMENTS        = 'X'
    *   IGNORE_SWITCHES          = ' '
    * IMPORTING
    *   GLOBAL_FLAG              =
    *   REMOTE_CALL              =
    *   UPDATE_TASK              =
    *   EXCEPTION_CLASSES        =
        TABLES
          exception_list           = el
          export_parameter         = ep
          import_parameter         = ip
    *   CHANGING_PARAMETER       =
          tables_parameter         = tp
    *   P_DOCU                   =
    *   ENHA_EXP_PARAMETER       =
    *   ENHA_IMP_PARAMETER       =
    *   ENHA_CHA_PARAMETER       =
    *   ENHA_TBL_PARAMETER       =
    *   ENHA_DOCU                =
       EXCEPTIONS
         error_message            = 1
         function_not_found       = 2
         invalid_name             = 3
         OTHERS                   = 4
      IF sy-subrc = 0.
        LOOP AT ip INTO wa_ip .
          MOVE: wa_ip-parameter TO wa_vals-name .
          ASSIGN (wa_vals-name) TO <temp> .
          IF <temp> IS ASSIGNED .
            wa_vals-value = <temp> .
          ENDIF .
          APPEND wa_vals TO vals .
        ENDLOOP .
      ENDIF.
    ENDFUNCTION.

  • Scope of Planning for Total Planning

    Hi SAP Gurus,
    My Client Scenario is as follows
    They import Spare Part materials from abroad to a Main Warehouse (defined as Plant in SAP) and then do stock transfer to around 60+ warehouse in different states (each defined as Plant in SAP).
    At any time Stock exists in any of 60+ Plant and Main ware house Plant. However Purchase requirement and Purchase Order is created and placed from Only Main Warehouse Plant.
    Now I am implementing Consumption based Planning with MRP.  I am Planning to define a Scope of Planning for Total Planning.
    Clarification I request :
    1. Whether I need to define Only all 60+ Plants in Scope of Planning or can I include Main warehouse Plant also ?
    2. In which case if there is requirement in one individual Plant and there exists stock in another one Plant - whether system will automatically create stock transfer Planned order. What Special procurement type I need to define for this (If it is 40 , whether I need to define any Issuing Plant, since I have 60 + Plants)
    3. If I have to run Forecast and Planning run daily for 60+ Plants and weekly for Main warehouse Plant, Whether I need to create a Separate Scope of Planning for 60+ Plants and a Separate Variant for Main ware house Plant with different Schedules - Am I correct
    Thanks and Regards,
    R.Velmurugan.

    Hi Kumar,
    Thanks for your immediate response.
    If we define Special procurement type 40 for 60+ warehouse Plants materials with Supplying plant as Main Warehouse Plant, then if there exists stock in one of 60+ Plants and there is requirement in one of another 60+ plants how system will consider and create stock transfer between them.
    Whether stock transfer between 60+ as well as Main plant is Possible ? If possible how to define Special Procurement type ?
    Secondly what ever issued from 60+ Plants is the real Consumption of Material (as Material issued from Main ware house plant to 60+ Plants is only stock transfers and not real consumption).
    In which case how to go about for forecast and MRP run for 60+ Plants and Main plant ?
    Thanks,
    R.Velmurugan

  • Java.lang.VerifyError - Incompatible object argument for function call

    Hi all,
    I'm developing a JSP application (powered by Tomcat 4.0.1 in JDK 1.3, in Eclipse 3.3). Among other stuff I have 3 classes interacting with an Oracle database, covering 3 use cases - renaming, adding and deleting an database object. The renaming class simply updates the database with a String variable it receives from the request object, whereas the other two classes perform some calculations with the request data and update the database accordingly.
    When the adding or deleting classes are executed, by performing the appropriate actions through the web application, Tomcat throws the following:
    java.lang.VerifyError: (class: action/GliederungNewAction, method: insertNewNode signature: (Loracle/jdbc/driver/OracleConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V) Incompatible object argument for function call
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:120)
         at action.ActionMapping.perform(ActionMapping.java:53)
         at ControllerServlet.doResponse(ControllerServlet.java:92)
         at ControllerServlet.doPost(ControllerServlet.java:50)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    ...The renaming works fine though. I have checked mailing lists and forums as well as contacted the company's java support but everything I have tried out so far, from exchanging the xerces.jar files found in JDOM and Tomcat to rebuidling the project didn't help.
    I just can't explain to myself why this error occurs and I don't see how some additional Java code in the other 2 classes could cause it?
    I realize that the Tomcat and JDK versions I'm using are totally out of date, but that's company's current standard and I can't really change that.
    Here's the source code. I moved parts of the business logic from Java to Oracle recently but I left the SQL statements that the Oracle stored procedures are executing if it helps someone.
    package action;
    import java.sql.CallableStatement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.StringTokenizer;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import oracle.jdbc.driver.OracleConnection;
    * This class enables the creation and insertion of a new catalogue node. A new node
    * is always inserted as the last child of the selected parent node.
    public class GliederungNewAction implements Action {
         public String perform(ActionMapping mapping, HttpServletRequest request,
                   HttpServletResponse response) {
              // fetch the necessary parameters from the JSP site
              // the parent attribute is the selected attribute!
              String parent_attribute = request.getParameter("attr");
              String catalogue = request.getParameter("catalogue");
              int parent_sequenceNr = Integer.parseInt(request.getParameter("sort_sequence"));
              // connect to database    
              HttpSession session = request.getSession();   
              db.SessionConnection sessConn = (db.SessionConnection) session.getAttribute("connection");
              if (sessConn != null) {
                   try {
                        sessConn.setAutoCommit(false);
                        OracleConnection connection = (OracleConnection)sessConn.getConnection();
                        int lastPosition = getLastNodePosition( getLastChildAttribute(connection, catalogue, parent_attribute) );
                        String newNodeAttribute = createNewNodeAttribute(parent_attribute, lastPosition);
                        // calculate the sequence number
                        int precedingSequenceNumber = getPrecedingSequenceNumber(connection, catalogue, parent_attribute);
                        if ( precedingSequenceNumber == -1 ) {
                             precedingSequenceNumber = parent_sequenceNr;
                        int sortSequence = precedingSequenceNumber + 1;
                        setSequenceNumbers(connection, catalogue, sortSequence);
                        // insert the new node into DB
                        insertNewNode(connection, catalogue, newNodeAttribute, parent_attribute, "Neuer Punkt", sortSequence);
                        connection.commit();
                   } catch(SQLException ex) {
                        ex.printStackTrace();
              return mapping.getForward();
          * Creates, fills and executes a prepared statement to insert a new entry into the specified table, representing
          * a new node in the catalogue.
         private void insertNewNode(OracleConnection connection, String catalogue, String attribute, String parent_attribute, String description, int sortSequence) {
              try {
                   String callAddNode = "{ call fasi_lob.pack_gliederung.addNode(:1, :2, :3, :4, :5) }";
                   CallableStatement cst;
                   cst = connection.prepareCall(callAddNode);
                   cst.setString(1, catalogue);
                   cst.setString(2, attribute);
                   cst.setString(3, parent_attribute);
                   cst.setString(4, description);
                   cst.setInt(5, sortSequence);
                   cst.execute();
                   cst.close();
              } catch (SQLException e1) {
                   // TODO Auto-generated catch block
                   e1.printStackTrace();
    //          String insertNewNode = "INSERT INTO vstd_media_cat_attributes " +
    //                    "(catalogue, attribute, parent_attr, description, sort_sequence) VALUES(:1, :2, :3, :4, :5)";
    //          PreparedStatement insertStmt;
    //          try {
    //               insertStmt = connection.prepareStatement(insertNewNode);
    //               insertStmt.setString(1, catalogue);
    //               insertStmt.setString(2, attribute);
    //               insertStmt.setString(3, parent_attribute);
    //               insertStmt.setString(4, description);
    //               insertStmt.setInt(5, sortSequence);
    //               insertStmt.execute();
    //               insertStmt.close();
    //          } catch (SQLException e) {
    //               e.printStackTrace();
          * This method returns the attribute value of the last child of the parent under which
          * we want to insert a new node. The result set is sorted in descending order and only the
          * first result (that is, the last child under this parent) is fetched.
          * If the parent node has no children, "parent_attr.0" is returned. 
          * @param connection
          * @param catalogue
          * @param parent_attribute
          * @return attribute of the last child under this parent, or "parent_attr.0" if parent has no children
         private String getLastChildAttribute(OracleConnection connection, String catalogue, String parent_attribute) {
              String queryLastChild = "SELECT attribute FROM vstd_media_cat_attributes " +
                                            "WHERE catalogue=:1 AND parent_attr=:2 ORDER BY sort_sequence DESC";
              String lastChildAttribute;
              PreparedStatement ps;
              try {
                   ps = connection.prepareStatement(queryLastChild);
                   ps.setString(1, catalogue);
                   ps.setString(2, parent_attribute);
                   ResultSet rs = ps.executeQuery();
                   /* If a result is returned, the selected parent already has children.
                    * If not set the lastChildAttribute to parent_attr.0
                   if (rs.next()) {
                        lastChildAttribute = rs.getString("attribute");
                   } else {
                        lastChildAttribute = parent_attribute.concat(".0");
                   rs.close();
                   return lastChildAttribute;
              } catch (SQLException e) {
                   e.printStackTrace();
                   return null;
          * This helper method determines the position of the last node in the attribute.
          * i.e for 3.5.2 it returns 2, for 2.1 it returns 1 etc.
          * @param attribute
          * @return position of last node in this attribute
         private int getLastNodePosition(String attribute) {
              StringTokenizer tokenizer = new StringTokenizer(attribute, ".");
              String lastNodePosition = "0";
              while( tokenizer.hasMoreTokens() ) {
                   lastNodePosition = tokenizer.nextToken();
              return Integer.parseInt(lastNodePosition);
          * This method calculates the attribute of a node being inserted
          * by incrementing the last child position by 1 and attaching the
          * incremented position to the parent.
          * @param parent_attr
          * @param lastPosition
          * @return attribute of the new node
         private String createNewNodeAttribute(String parent_attr, int lastPosition) {
              String newPosition = new Integer(lastPosition + 1).toString();
              return parent_attr.concat("." + newPosition);
          * This method checks if the required sequence number for a new node is already in use and
          * handles the sequence numbers accordingly.
          * If the sequence number for a new node is NOT IN USE, the method doesn't do anything.
          * If the sequence number for a new node is IN USE, the method searches for the next free
          * sequence number by incrementing the number by one and repeating the query until no result
          * is found. Then all the sequence numbers between the required number (including, >= relation)
          * and the nearest found free number (not including, < relation) are incremented by 1, as to
          * make space for the new node.
          * @param connection
          * @param catalogue
          * @param newNodeSequenceNumber required sequence number for the new node
         private void setSequenceNumbers(OracleConnection connection, String catalogue, int newNodeSequenceNumber) {
              // 1. check if the new sequence number exists - if no do nothing
              // if yes - increment by one and see if exists
              //           repeat until free sequence number exists
              // when found increment all sequence numbers freeSeqNr > seqNr >= newSeqNr
              String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
                        "WHERE catalogue=:1 AND sort_sequence=:2";
              PreparedStatement ps;
              try {
                   ps = connection.prepareStatement(query);
                   ps.setString(1, catalogue);
                   ps.setInt(2, newNodeSequenceNumber);               
                   ResultSet rs = ps.executeQuery();
                   // if no result, the required sequence number is free - nothing to do
                   if( rs.next() ) {
                        int freeSequenceNumber = newNodeSequenceNumber;
                        do {
                             ps.setString(1, catalogue);
                             ps.setInt(2, freeSequenceNumber++);
                             rs = ps.executeQuery();
                        } while( rs.next() );
                        // increment sequence numbers - call stored procedure
                        String callUpdateSeqeunceNrs = "{ call fasi_lob.pack_gliederung.updateSeqNumbers(:1, :2, :3) }";
                        CallableStatement cst = connection.prepareCall(callUpdateSeqeunceNrs);
                        cst.setString(1, catalogue);
                        cst.setInt(2, newNodeSequenceNumber);
                        cst.setInt(3, freeSequenceNumber);
                        cst.execute();
                        cst.close();
    //                    String query2 = "UPDATE vstd_media_cat_attributes " +
    //                                      "SET sort_sequence = (sort_sequence + 1 ) " +
    //                                      "WHERE catalogue=:1 sort_sequnce >=:2 AND sort_sequence <:3";
    //                    PreparedStatement ps2;
    //                    ps2 = connection.prepareStatement(query2);
    //                    ps2.setString(1, catalogue);
    //                    ps2.setInt(2, newNodeSequenceNumber);
    //                    ps2.setInt(3, freeSequenceNumber);
    //                    ps.executeUpdate();
    //                    ps.close();
                   } // end of if block
                   rs.close();
              } catch (SQLException e) {
                   e.printStackTrace();
          * This method finds the last sequence number preceding the sequence number of a node
          * that is going to be inserted. The preceding sequence number is required to calculate
          * the sequence number of the new node.
          * We perform a hierarchical query starting from the parent node: if a result is returned,
          * we assign the parent's farthest descendant's node sequence number; if no result
          * is returned, we assign the parent's sequence number.
          * @param connection
          * @param catalogue
          * @param parent_attr parent attribute of the new node
          * @return
         private int getPrecedingSequenceNumber(OracleConnection connection, String catalogue, String parent_attr) {
              int sequenceNumber = 0;
              String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
                                "WHERE catalogue=:1 " +
                                "CONNECT BY PRIOR attribute = parent_attr START WITH parent_attr=:2 " +
                                "ORDER BY sort_sequence DESC";
              try {
                   PreparedStatement ps = connection.prepareStatement(query);
                   ps.setString(1, catalogue);
                   ps.setString(2, parent_attr);
                   ResultSet rs = ps.executeQuery();
                   if ( rs.next() ) {
                        sequenceNumber = rs.getInt("sort_sequence");
                   } else {
                        // TODO: ggf fetch from request!
                        sequenceNumber = -1;
                   rs.close();
                   ps.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              return sequenceNumber;
    }

    After further googling I figured out what was causing the problem: in eclipse I was referring to external libraries located in eclipse/plugins directory, whereas Tomcat was referring to the same libraries (possibly older versions) in it's common/lib directory.

  • Can't get around this error after adding second dataset...A scope is required for all aggregates used outside of a data region unless the report contains exactly one dataset

    I added a dataset to an existing report and broke an aggregation.  In the old (i.e. single dataset) report, this expression below worked fine.  I wanted to get a distinct count of the vst_ext_id field when my educated field was like "VTE1*"
    = CountDistinct(IIF(Fields!educated.Value like "VTE1*", Fields!vst_ext_id.Value, Nothing))
    After adding a new dataset, this no longer works and I get the error " A scope is required for all aggregates used outside of a data region unless the report contains exactly one dataset".  Having done some research online, I found that I
    needed to specify my dataset explicitly and I thought this new expression might work, but still no success...
    = CountDistinct(IIF(Fields!educated.Value,"DataSet1" like "VTE12*", Fields!vst_ext_id.Value,"DataSet1", Nothing))
    Am I missing something?  Based on online responses, this explicit dataset naming convention seems to help most people, but it isn't working for me. 
    Thanks in advance!
    Brian

    I found the answer.  Apparently, my expression syntax was off.  This expression does the trick...
    = CountDistinct(IIF(Fields!educated.Value like "VTE12*", Fields!vst_ext_id.Value,Nothing),"DataSet1")
    I just happened upon this particular syntax searching online.  I was trying to specify the dataset name after each .value, but I never got that to work.   This is the only time I have found this particular syntax online. 

  • What is the best method to parse a java file for function names

    st="class";
    while (StreamTokenizer.TT_EOF != tokenizer.nextToken ())
       if (StreamTokenizer.TT_WORD == tokenizer.ttype)
        if (tokenizer.sval.toLowerCase().equals(st.toLowerCase())){
        System.out.print (tokenizer.nextToken() + " "); //prints the class name on the console
        fileOut.print (tokenizer.sval + " "); //prints the class name to a file
    }The above program searches a .java file for classes. I want to modify it so that it searches for function names as well. After several hours of figuring out various ways to do it with StreamTokenizer, I still havnt found a way. There seems to be no way to go back, i.e. no previousToken method, in StreamTokenizer.
    Is it possible to do search for using StreamTokenizer, and are there easier ways of doing it?

    Simple string tokenizing isn't an effective way to do this. You probably want something like ANTLR.

Maybe you are looking for

  • "copy and paste text within symbol" bug

    I am sure this has been discussed, but have not found it using search. Follow these steps to demonstrate a "Symbol Text" bug (CS5 through CC 2014): Create Symbol containing editable text. Edit symbol by selecting and copying a portion of text at "Cha

  • Ipad just updated. Now App store is in Korean. How do I change?

    My Ipad just auto updated. I live in Korea but do not speak Korean. Now my App Store and other things are in Korean. How do I chage it to English?

  • Backup and Restore from Photoshop Elements 8 to Photoshop Elements 12 Not Working

    I have a dual boot Windows XP SP3 32 bit/ Windows 7 SP 64 bit system with Photoshop Elements (PSE) 8 installed on the Win XP system and PSE 12 installed on the Win 7 system.  Both systems can see a shared drive.  I can create a catalog backup on the

  • What happen to my path settting???????

    I try to type in this line using the JCE java -classpath ".:/usr/java1.2/jre/lib/ext/jce1_2_2.jar:/usr/java1.2 /e/lib/ext/sunjce_provider.jar" Blowfishkey i got the error Exception in thread "main" java.security.NoSuchAlgorithmException: Algorithm Bl

  • Another Router Issue

    Welcome I am sure, once again to the never-ending saga of trying to access a mac with apple remote desktop through a router. Yes, i have searched these boards already, and it seems that no matter what i click it's a different issue or not the same ro