As for function

if this is the script
my_button.addEventListener(MouseEvent.CLICK,clickHandler);
function clickHandler(event:MouseEvent):void{
navigateToURL(new URLRequest("web site"),"_self");
how can i give my function a different name?
is it right to do it somthing like that ?
my_button2.addEventListener(MouseEvent.CLICK,clickHandler2);
function clickHandler2(event:MouseEvent):void{
navigateToURL(new URLRequest("web site"),"_self");
}

yes. why don't you try it?

Similar Messages

  • 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.

  • 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.

  • 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.

  • 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.

  • Using type for function in sql

    CREATE OR REPLACE
    type InListType_number as table
    of number
    CREATE OR REPLACE function in_list( p_patseq in number ) return InListType_number
    as
    l_number number default p_patseq ;
    l_data InListType_number := InListType_number();
    begin
    loop
    exit when l_number is null;
    end loop;
    return l_data;
    end;
    SELECT p.pat_seq, p.diagnosis_type, ct.code_value || ' ' || p.alt_description as diagnosis_desc
    FROM patient_diagnosis p,
         (select * from code_set , code_set_type
         where code_set.code_set_type_seq =code_set_type.code_set_type_seq) ct
    WHERE p.enterprise_seq = (select enterprise_seq from org_lookup where organization_seq = 0 and rownum = 1)
    and p.diagnosis_code_seq = ct.code_set_seq(+)
    and (p.diagnosis_type LIKE 'A%' OR p.diagnosis_type LIKE 'W%')
    and p.PAT_SEQ IN (select /*+ CARDINALITY (t ) */* from table( cast( in_list (list of pat_seq here like 12345,12344,345666,etc over 1000 counts of pat_seqs)
    as InListType_number ) ) t)
    this gives me
    ORA-00939: too many arguments for function
    can someone advise? thanks

    Well IN_LIST takes a single parameter of type NUMBER and you are passing in
    12345,12344,345666which is patently multiple numbers. I think what you want to do is pass in a string ' 12345,12344,345666' and have a function TO_LIST() that parses the string and spits out numbers. Fortunately for you John Spencer has posted Re: Splitting the values in one column.
    Cheers, APC

  • IDOC Scenario - User  has no RFC authorization for function group EDIN

    Hi all,
    I'm trying to configure an IDOC scenario from ECC to XI.
    RFC's, ports and destinations already configured. On WE19 I'm creating an IDOC for testing the scenario. The IDOC is sent successfully, and it stops on TRFC Monitor with error "User PIRFCUSER has no RFC authorization for function group EDIN." .
    Some of you knows what authorization is needed? Basis team said the roles are the same at DEV environment, and there this scenario works fine.
    Thanks for your help.
    regards.
    Roberti

    Hi,
    Check with PIRFCUSER user , that is having the right authorization or not ..
    And make sure that this user is present in the system & it should  not locked.
    to check that user is present or not-----goto su01 of the system & check
    Regards
    Seshagiri

  • Formal error: Invalid calling sequence for function modules

    Hi All,
    I have developed a function module for FQEVENT 620 Payment: Transfer Line Items for Clearing.
    The clearing works fine.
    After clearing the open items i need to post an FI-CA Document(BAPI : BAPI_CTRACDOCUMENT_CREATE) for each open item(cleared item)
    I have used the bapi : BAPI_CTRACDOCUMENT_CREATE in the same function module that i have developed for FQEVENT 620 Payment: Transfer Line Items for Clearing.Here i am getting an error "Formal error: Invalid calling sequence for function modules".
    So please let me know where i can use this bapi to post fi-ca document.Is there a BAdi or Enhancement Spot where i can use this BAPI or tell me what should i do to overcome this error.
    Regards
    Venkat

    Venkat:
    While I am confused about your business process - creating an open item when clearing one seems strange.  Look into event 0020 which is called after documents are posted - it may present the opportunity to post process additional documents.
    regards,
    bill.

  • Report for Posting Rule details for Functions/items

    Hello
    Is there a standard program in SAP to take a report or listing of extract in MS Excel of the posting rule details configuration settings in SAP-JVA.  I am fairly certain there is a program to extract the details in Excel but I am not sure what is the name of that program and how to use it. I appreciate any ABAP programmer or expert can guide me how to go about this listing.
    Thanks

    Hi Raghavendra,
    In order to do postings in JVA, we create posting methods and under that Posting method we have to create and configure posting rules. Under the posting method, there are SAP JVA processes or functions and function items that are used to create the posting rules. The posting rules details are specified for each function and function item combination and involve the specification of Recovery indicator along with posting keys, SE indicator and billing indicator.
    I am not convinced that the standard codes in my system for posting keys, recovery indicators and billing indicators are exactly the same as the default settings and I need to check it along with the posting rule details.
    Please see the screenshots attached to give you an idea. I am looking for an ABAP program or report program to take out a listing of these posting rules details from the system.
    Spro - JVA - Posting rules fig 0
    Posting method / Posting rules screen - fig 1
    Posting rule item codes for function CCOP
    Posting rule details for function/item CCOP/AC

  • How to integrate c# library's function to use F# type expression for function of function?

    i succeed to implement the initial prototype for function structure in c#
    but i do not know how to integrate in F#
    i make c# library's function to accept template T, for F# to pass type expression into it.
    but how to write in c# to make template like type expression, 
    in Addvaluetoeachitem
    hope make function structure depend on left or right, i got twisted in my mind when integrating into F#
    if translate c# into F# , how to write for this class?
    func1(func1(param1, param2), param2) etc
    if i define funcvalue as
    type expr =
    | And of expr * expr
    | Or of expr * expr
    expr[] funcvalues = new expr[] {And, Or, And, Or, And, Or, And}
    int[] values = new int[] { 1, 2, 3, 4, 5, 6, 7 };
    got some error when translate member value and constructor into F#
    // Learn more about F# at http://fsharp.net
    // See the 'F# Tutorial' project for more help.
    open System.Collections.Generic
    type expr =
    | And of expr * expr
    | Or of expr * expr
    | Param1
    type BinaryTree =
    let mutable value = 0
    let left : BinaryTree = null
    let right : BinaryTree = null
    let mutable dict : Dictionary<int, BinaryTree> = new Dictionary<int, BinaryTree>();
    member this.Load(tree : BinaryTree, values : int[], index : int) =
    this.value = values.[index];
    if index * 2 + 1 < values.Length then
    this.left = new BinaryTree(values, index * 2 + 1)
    if index * 2 + 2 < values.Length then
    this.right = new BinaryTree(values, index * 2 + 2)
    new() = BinaryTree(values : int[]) : this(values, 0) { }
    //public BinaryTree(int[] values) : this(values, 0) { }
    new() = BinaryTree(values : int[], index : int)
    let dict = new Dictionary<int, BinaryTree>()
    Load(this, values, index)
    member this.Visit(tree : BinaryTree) =
    dict.Add(dict.Count, tree);
    member this.ChangeToString(m : List<int>) : String =
    let result = "";
    for i in m do
    result = result + i.ToString()
    result
    member this.CopyList(queue : Queue<List<int>>) : Queue<List<int>> =
    let mutable newqueue : Queue<List<int>> = new Queue<List<int>>();
    if queue != null then
    while (queue.Count > 0) do
    let source : List<int> = queue.Dequeue()
    let destination : List<int> = new List<int>();
    for a in source do
    destination.Add(a);
    newqueue.Enqueue(destination)
    for m in newqueue do
    queue.Enqueue(m);
    newqueue
    member this.IsAscending(m : List<int>) : bool =
    let mutable result = true
    let mutable prev : int = 0
    for i in m do
    if prev > i then
    result <- false
    prev <- i
    result
    member this.Addvaluetoeachitem(queue : Queue<List<int>>, value : int, maxlimit : int, ref Dictionary<String , List<int>> allpath, Boolean IsBackUp, T func1, T param1, T param2, Dictionary<T, T> allfunctionstructure, Queue<List<T>> funcqueue, Boolean LeftOrRight) : Queue<List<int>>=
    let newqueue : Queue<List<int>> = new Queue<List<int>>()
    if queue != null then
    while queue.Count > 0 do
    List<int> path = queue.Dequeue();
    //List<T> func = funcqueue.Dequeue();
    let mutable afteradd = false
    if path.Count < maxlimit then
    path.Add(value);
    afteradd <- true
    if path.Count = maxlimit && afteradd = true && IsBackUp = false then
    if IsAscending(path) = true then
    if allpath.ContainsKey(ChangeToString(path)) = false then
    allpath.Add(ChangeToString(path), path)
    newqueue.Enqueue(path);
    if queue = null then
    let mutable path : List<int> = new List<int>();
    let mutable afteradd = false
    if path.Count < maxlimit then
    path.Add(value)
    afteradd <- true
    if path.Count == maxlimit && afteradd == true && IsBackUp = false then
    if IsAscending(path) = true then
    if allpath.ContainsKey(ChangeToString(path)) = false then
    allpath.Add(ChangeToString(path), path)
    newqueue.Enqueue(path)
    else
    if queue.Count = 0 then
    let mutable path : List<int> = new List<int>();
    let mutable afteradd = false
    if path.Count < maxlimit then
    path.Add(value)
    afteradd <- true
    if path.Count = maxlimit && afteradd = true && IsBackUp = false then
    if IsAscending(path) == true then
    if allpath.ContainsKey(ChangeToString(path)) = false then
    allpath.Add(ChangeToString(path), path)
    newqueue.Enqueue(path)
    newqueue
    member this.Deepfirst(tree : BinaryTree, ref queuepath : Queue<List<int>>, backpath : Queue<List<int>>, maxlimit : int, ref allpath : Dictionary<String, List<int>>, func1 : expr, param1 : expr, param2 : expr, allfunctionstructure : Dictionary<expr, expr>, ref queuefunc : Queue<List<expr>>, LeftOrRight : bool) : Queue<List<int>>=
    queuepath = Addvaluetoeachitem(queuepath, tree.value, maxlimit, ref allpath, false, func1, param1, param2, allfunctionstructure, queuefunc, LeftOrRight);
    //path.Add(tree.value);
    Queue<List<int>> newpath = new Queue<List<int>>();
    newpath = CopyList(queuepath);
    Queue<List<int>> newpath2 = new Queue<List<int>>();
    newpath2 = CopyList(queuepath);
    backpath = Addvaluetoeachitem(backpath, tree.value, maxlimit, ref allpath, false, func1, param1, param2, allfunctionstructure, queuefunc, LeftOrRight);
    //Queue<List<int>> backpathx = new Queue<List<int>>();
    Queue<List<int>> backpathx = backpath;//Addvaluetoeachitem(backpathx, tree.value, maxlimit, ref allpath, false);
    Queue<List<int>> newpathx = new Queue<List<int>>();
    newpathx = CopyList(queuepath);
    Queue<List<int>> backpath1 = backpathx;
    if tree.left != null then
    newpathx = Deepfirst(tree.left, ref newpath, newpathx, maxlimit, ref allpath, func1, param1, param2, allfunctionstructure, ref queuefunc, false) // Left
    if tree.value = 1 then
    Console.WriteLine("")
    Visit(tree)
    for m in queuepath do
    newpath2.Enqueue(m)
    let mutable backpath2 : Queue<List<int>> = newpathx
    if tree.right != null then
    newpathx = Deepfirst(tree.right, ref newpath2, newpathx, maxlimit, ref allpath, func1, param1, param2, allfunctionstructure, ref queuefunc, true) // Right
    if tree.value = 1 then
    Console.WriteLine("")
    if newpathx != null then
    return newpathx
    if backpath2 != null then
    return backpath2
    if backpath1 != null then
    return backpath1
    if backpath != null then
    return backpath
    else
    return backpath
    [<EntryPoint>]
    let main argv =
    printfn "%A" argv
    0 // return an integer exit code
    BinaryTree<int> b = new BinaryTree<int>(values);
    Queue<List<int>> queuepath = new Queue<List<int>>();
    Queue<List<int>> backpath = null;
    Queue<List<int>> queuefunc = new Queue<List<int>>();
    Dictionary<String, List<int>> allpath = new Dictionary<String, List<int>>();
    Dictionary<int, int> allfunctionstructure = new Dictionary<int, int>();
    int a3 = 0;
    int b3 = 0;
    int c3 = 0;
    queuepath = b.Deepfirst(b, ref queuepath, backpath, 3, ref allpath, a3, b3, c3, allfunctionstructure, ref queuefunc, false);
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace testTable
    public class BinaryTree<T>
    public int value;
    BinaryTree<T> left;
    BinaryTree<T> right;
    public Dictionary<int, BinaryTree<T>> dict;
    public BinaryTree(int[] values) : this(values, 0) { }
    BinaryTree(int[] values, int index)
    dict = new Dictionary<int, BinaryTree<T>>();
    Load(this, values, index);
    public void Visit(BinaryTree<T> tree)
    dict.Add(dict.Count, tree);
    public String ChangeToString(List<int> m)
    String result = "";
    foreach (int i in m)
    result = result + i.ToString();
    return result;
    public Queue<List<int>> CopyList(Queue<List<int>> queue)
    Queue<List<int>> newqueue = new Queue<List<int>>();
    if (queue != null)
    while (queue.Count > 0)
    List<int> source = queue.Dequeue();
    List<int> destination = new List<int>();
    foreach (int a in source)
    destination.Add(a);
    newqueue.Enqueue(destination);
    foreach (List<int> m in newqueue)
    queue.Enqueue(m);
    return newqueue;
    public Boolean IsAscending(List<int> m)
    Boolean result = true;
    int prev = 0;
    foreach (int i in m)
    if (prev > i)
    result = false;
    prev = i;
    return result;
    public Queue<List<int>> Addvaluetoeachitem<T>(Queue<List<int>> queue, int value, int maxlimit, ref Dictionary<String , List<int>> allpath, Boolean IsBackUp, T func1, T param1, T param2, Dictionary<T, T> allfunctionstructure, Queue<List<T>> funcqueue, Boolean LeftOrRight)
    Queue<List<int>> newqueue = new Queue<List<int>>();
    if (queue != null)
    while (queue.Count > 0)
    List<int> path = queue.Dequeue();
    //List<T> func = funcqueue.Dequeue();
    Boolean afteradd = false;
    if (path.Count < maxlimit)
    path.Add(value);
    afteradd = true;
    if (path.Count == maxlimit && afteradd == true && IsBackUp == false)
    if( IsAscending(path) == true)
    if(allpath.ContainsKey(ChangeToString(path)) == false)
    allpath.Add(ChangeToString(path), path);
    newqueue.Enqueue(path);
    if (queue == null)
    List<int> path = new List<int>();
    Boolean afteradd = false;
    if (path.Count < maxlimit)
    path.Add(value);
    afteradd = true;
    if (path.Count == maxlimit && afteradd == true && IsBackUp == false)
    if (IsAscending(path) == true)
    if (allpath.ContainsKey(ChangeToString(path)) == false)
    allpath.Add(ChangeToString(path), path);
    newqueue.Enqueue(path);
    else
    if (queue.Count == 0)
    List<int> path = new List<int>();
    Boolean afteradd = false;
    if (path.Count < maxlimit)
    path.Add(value);
    afteradd = true;
    if (path.Count == maxlimit && afteradd == true && IsBackUp == false)
    if (IsAscending(path) == true)
    if (allpath.ContainsKey(ChangeToString(path)) == false)
    allpath.Add(ChangeToString(path), path);
    newqueue.Enqueue(path);
    return newqueue;
    public Queue<List<int>> Deepfirst(BinaryTree<T> tree, ref Queue<List<int>> queuepath, Queue<List<int>> backpath, int maxlimit, ref Dictionary<String, List<int>> allpath, T func1, T param1, T param2, Dictionary<T, T> allfunctionstructure, ref Queue<List<T>> queuefunc, Boolean LeftOrRight)
    //if (path.Count < maxlimit)
    queuepath = Addvaluetoeachitem(queuepath, tree.value, maxlimit, ref allpath, false, func1, param1, param2, allfunctionstructure, queuefunc, LeftOrRight);
    //path.Add(tree.value);
    Queue<List<int>> newpath = new Queue<List<int>>();
    newpath = CopyList(queuepath);
    Queue<List<int>> newpath2 = new Queue<List<int>>();
    newpath2 = CopyList(queuepath);
    backpath = Addvaluetoeachitem(backpath, tree.value, maxlimit, ref allpath, false, func1, param1, param2, allfunctionstructure, queuefunc, LeftOrRight);
    //Queue<List<int>> backpathx = new Queue<List<int>>();
    Queue<List<int>> backpathx = backpath;//Addvaluetoeachitem(backpathx, tree.value, maxlimit, ref allpath, false);
    Queue<List<int>> newpathx = new Queue<List<int>>();
    newpathx = CopyList(queuepath);
    Queue<List<int>> backpath1 = backpathx;
    if (tree.left != null)
    newpathx = Deepfirst(tree.left, ref newpath, newpathx, maxlimit, ref allpath, func1, param1, param2, allfunctionstructure, ref queuefunc, false); // Left
    if (tree.value == 1)
    Console.WriteLine("");
    Visit(tree);
    if (backpath1 != null)
    Boolean afteradd = false;
    if (backpath1.Count < maxlimit)
    backpath1.Add(tree.value);
    afteradd = true;
    if (backpath1.Count == maxlimit && afteradd == true)
    allpath.Add(backpath1);
    foreach (List<int> m in queuepath)
    newpath2.Enqueue(m);
    Queue<List<int>> backpath2 = newpathx;
    if (tree.right != null)
    newpathx = Deepfirst(tree.right, ref newpath2, newpathx, maxlimit, ref allpath, func1, param1, param2, allfunctionstructure, ref queuefunc, true); // Right
    if (tree.value == 1)
    Console.WriteLine("");
    //Queue<List<int>> newpath3 = new Queue<List<int>>();
    //newpath3 = CopyList(queuepath); // 2 -> 1 -> 3 1(2,3) difficult case
    //return newpath3;
    if (newpathx != null)
    return newpathx;
    if(backpath2 != null)
    return backpath2;
    if (backpath1 != null)
    return backpath1;
    if (backpath != null)
    return backpath;
    else
    return backpath;
    public void Load(BinaryTree<T> tree, int[] values, int index)
    this.value = values[index];
    if (index * 2 + 1 < values.Length)
    this.left = new BinaryTree<T>(values, index * 2 + 1);
    if (index * 2 + 2 < values.Length)
    this.right = new BinaryTree<T>(values, index * 2 + 2);
    computing nightmare

    This builds, and fixes the most egregious style issues
    open System
    open System.Collections.Generic
    type expr =
    | And of expr * expr
    | Or of expr * expr
    | Param1
    [<AllowNullLiteral>]
    type BinaryTree(values : int[], index : int) =
    let value = values.[index]
    let left = if index * 2 + 1 < values.Length then
    BinaryTree(values, index * 2 + 1)
    else null
    let right = if index * 2 + 2 < values.Length then
    BinaryTree(values, index * 2 + 2)
    else null
    let dict : Dictionary<int, BinaryTree> = new Dictionary<int, BinaryTree>();
    new(values : int[]) = BinaryTree(values, 0)
    member this.Value with get() = value
    member this.Left with get() = left
    member this.Right with get() = right
    member this.Visit(tree : BinaryTree) =
    dict.Add(dict.Count, tree);
    static member ChangeToString(m : List<int>) : String =
    String.Join(String.Empty, m)
    static member CopyList(queue : Queue<List<int>>) : Queue<List<int>> =
    let newqueue = Queue<List<int>>();
    if queue <> null then
    while (queue.Count > 0) do
    let source : List<int> = queue.Dequeue()
    let destination : List<int> = new List<int>();
    for a in source do
    destination.Add(a);
    newqueue.Enqueue(destination)
    for m in newqueue do
    queue.Enqueue(m);
    newqueue
    static member IsAscending(m : List<int>) : bool =
    m
    |> Seq.pairwise
    |> Seq.forall (fun (x,y) -> y > x)
    static member Addvaluetoeachitem(
    queue : Queue<List<int>>,
    value : int,
    maxlimit : int,
    allpath : Dictionary<String , List<int>> byref,
    isBackUp : Boolean,
    func1 : 'T,
    param1 : 'T,
    param2 : 'T,
    allfunctionstructure : Dictionary<'T, 'T>,
    funcqueue : Queue<List<'T>>,
    leftOrRight : Boolean) : Queue<List<int>>=
    let newqueue : Queue<List<int>> = new Queue<List<int>>()
    if queue <> null then
    while queue.Count > 0 do
    let path = queue.Dequeue();
    let afteradd = path.Count < maxlimit
    if afteradd then
    path.Add(value)
    if path.Count = maxlimit && afteradd && (not isBackUp) then
    if BinaryTree.IsAscending(path) then
    if allpath.ContainsKey(BinaryTree.ChangeToString(path)) = false then
    allpath.Add(BinaryTree.ChangeToString(path), path)
    newqueue.Enqueue(path);
    if (queue = null) || (queue.Count = 0) then
    let path = List<int>();
    let afteradd = path.Count < maxlimit
    if afteradd then
    path.Add(value)
    if path.Count = maxlimit && afteradd && (not isBackUp) then
    if BinaryTree.IsAscending(path) then
    if not <| allpath.ContainsKey(BinaryTree.ChangeToString(path)) then
    allpath.Add(BinaryTree.ChangeToString(path), path)
    newqueue.Enqueue(path)
    newqueue
    member this.Deepfirst(tree : BinaryTree,
    queuepath : Queue<List<int>> byref,
    backpath : Queue<List<int>> byref,
    maxlimit : int,
    allpath : Dictionary<String, List<int>> byref,
    func1 : expr, param1 : expr, param2 : expr,
    allfunctionstructure : Dictionary<expr, expr>,
    queuefunc : Queue<List<expr>> byref,
    leftOrRight : bool) : Queue<List<int>>=
    queuepath <- BinaryTree.Addvaluetoeachitem(queuepath, tree.Value, maxlimit, ref allpath, false, func1, param1, param2, allfunctionstructure, queuefunc, leftOrRight);
    let newpath = BinaryTree.CopyList(queuepath);
    let newpath2 = BinaryTree.CopyList(queuepath);
    backpath <- BinaryTree.Addvaluetoeachitem(backpath, tree.Value, maxlimit, ref allpath, false, func1, param1, param2, allfunctionstructure, queuefunc, leftOrRight);
    let backpathx = backpath;
    let mutable newpathx = BinaryTree.CopyList(queuepath);
    let backpath1 = backpathx;
    if tree.Left <> null then
    newpathx <- this.Deepfirst(tree.Left, ref newpath, ref newpathx, maxlimit, ref allpath, func1, param1, param2, allfunctionstructure, ref queuefunc, false) // Left
    if tree.Value = 1 then
    Console.WriteLine("")
    this.Visit(tree)
    for m in queuepath do
    newpath2.Enqueue(m)
    let backpath2 = newpathx
    if tree.Right <> null then
    newpathx <- this.Deepfirst(tree.Right, ref newpath2, ref newpathx, maxlimit, ref allpath, func1, param1, param2, allfunctionstructure, ref queuefunc, true) // Right
    if tree.Value = 1 then
    Console.WriteLine("")
    if newpathx <> null then
    newpathx
    else if backpath2 <> null then
    backpath2
    else if backpath1 <> null then
    backpath1
    else backpath

  • RFC Lookup error :No RFC authorization for function module

    Hi All,
    I have created RFC in the PI system and enabled it as remote. I am working on PI7.1
    I have imported RFC into Repository.But when i am trying to execute RFC lookup function in the graphical mapping I am getting No RFC authorization for function module error.
    Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception> com.sap.aii.mapping.api.StreamTransformationException: Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception> at com.sap.aii.mappingtool.flib7.RfcLookup.cacheMore(RfcLookup.java:95) at com.sap.aii.mappingtool.tf7.rt.AMultiResIterator$MultiOutIterator.gotoNextContext(AMultiResIterator.java:95) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:315) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:406) at com.sap.aii.mappingtool.tf7.AMappingProgram.start(AMappingProgram.java:496) at com.sap.aii.mappingtool.tf7.Transformer.start(Transformer.java:133) at com.sap.aii.mappingtool.tf7.AMappingProgram.transform(AMappingProgram.java:626) at com.sap.aii.ibrep.server.mapping.exec.ExecuteXiMappingCommand.transformInternal(ExecuteXiMappingCommand.java:197) at com.sap.aii.ibrep.server.mapping.exec.ExecuteXiMappingCommand.execute(ExecuteXiMappingCommand.java:94) at com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40) at com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy1005_10002.execute(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:234) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:351) at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:70) at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:62) at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:37) at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:872) at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:53) at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:58) at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108) at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:304) Runtime exception when processing target-field mapping /ns0:MT_FileDummy/File; root message: Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception>
    13:42:37 End of test
    Edited by: Rams on Apr 17, 2009 1:43 PM

    Hi! Rams,
    I think the issue is related to Authentification Issue..Even though u did correctly please check once the below
    1) Check any Typo Erros are there while configuring or giving names in Lookups.
    2) please check Authorizations like ID and PWD and Sufficient Roles
    3) Also please check did u given paramters correctly while doing RFC look up I mean paramers , Binding parameters and RFC channel name and adapter type or Simple type it must be an  adapter
    4) In ID part while configuring Interface determinaition you need to give your RFC look Up name there also..Hence check whether u given or not if yes correctly or not
    5) Also remember one thing if your scenario is correct mostly you can know the result in mapping itself it seems while testing Message mapping and Interface mappings give your RFC look up paramters in the parameters tab present in TEST tab and later in Document tab give Input...and execute it works if it doesn;t works and if there is an issue with RFC you can get there only..ok
    Also go through the below document::
    [https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20befc9a-aa72-2b10-ae9b-b0988791d457]
    I hope this will give u brief idea...
    Also check with basis while taking SAP_ALL authorization so that first u ill came to know whether issue is related to authentification or RFC module itself remote enabled and also do SXI_CACHE also ocne to refresh ESR and ID objects..
    Regards::
    Amar Srinivas Eli

  • Adding action for functioning Dropdown fields in visual composer iview

    Hi,
    I develop a application in Visual composer 7.0. I want to convert the input field in drop down for selecting the different values. I can change the same by selecting the particular input fields in design screen. But I not able to specify the values, Action for the drop down. Can someone explain how to add the Values/Action for functioning the drop down field in the visual composer iView?
    Thanks,
    Kundan.

    Hi,
    you need to configure the element to be a drop down list instead of an input field:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/47/78bdc557fc199ae10000000a42189d/frameset.htm
    Regards
    Anja

  • Alternative for  Function module 'F4_CHOOSE_MCID' in ECC 5.0?

    Hi,
    Can any one tell me the Alternative for  Function module <b>'F4_CHOOSE_MCID'</b> in ECC 5.0?
    Helpful answers will be rewarded.
    Thanks
    Kiran

    Hi,
    Please use this FM UMC_NOTIF_SEND_EMAIL to send an email in ECC 5.0.
    Regards,
    Ferry Lianto

  • Alternative for  Function module 'IDOC_CONFIGURE_0001'

    Hi,
    Can anyone tell me the alternative for  Function module <b>'IDOC_CONFIGURE_0001'</b>. This is obsolute in ECC 5.0
    Thanks
    Kiran

    Hi Kiran,
    Please try this FM.
    DDIF_FIELDINFO_GET
    Regards,
    Ferry Lianto

  • Customer for function SP may not have account group in sap

    Dear All,
    Not open the sales order and error show in SAP
    Customer for function SP may not have account group.

    In IMG > SD > Basic Function > Set up Partner Determination
    Check the assignment of Partner Function with the Account Group in Account Groups - Function Assignment.
    Best Regards,
    Ankur

Maybe you are looking for