Help with XI calling an RFC

Hello Experts,
I have inherited the following situation that is currently not working - and I need to resolve it.  We have a 3rd party program that stores data in a MySQL 5.0 database.  A java proxy server is set up to send jobs from that database to XI.  Then XI is supposed to call an RFC on our SAP 6.40 system.  Somewhere along the way there is a problem.  I can debug the ABAP RFC code myself, but the problem is before any job gets to the RFC.  How can I tell if the RFC is being called at all?  How can I tell if jobs are being stored in a queue on XI?
Any help as to where to begin would be greatly appreciated.  I am very new to XI, so even things you might think are obvious would help.
Reward points for helpful answers
Thanks

Hi,
see the below links
Queue stopped - and queue register - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/20bb9649-e86e-2910-7aa9-88ed4972a5f6
Introduction to queues in message mapping - /people/venkat.donela/blog/2005/06/09/introduction-to-queues-in-message-mapping
Eo/EOIO?BE - Queue - ? - /people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i
Please go through these links
/people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i
For queues in message mapping
/people/venkat.donela/blog/2005/06/09/introduction-to-queues-in-message-mapping
Here are the Queues for Asynchronous Message Processing
http://help.sap.com/saphelp_nw2004s/helpdata/en/7b/94553b4d53273de10000000a114084/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694
There are some cases when re-executing the message makes it pass successfully.
For such errors, just schedule the program RSXMB_RESTART_MESSAGES, so that such messages can be re-started and don't block a queue.
you've to set the parameter MONITOR/QRFC_RESTART_ALLOWED to 1.
Now Coming back to Queues getting Blocked I dont hink Queue Prioritization is a ggod Idea, We have to manually Deal with Queues and the Data in Ind, remember if are force to delete any data from the Queues Delete the Complete LUW rather then individual message.
Have a Look at this Blog as well::
/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework
Regards
Piyush
Please reward some points if found usefull

Similar Messages

  • Help with htmldb_Get calling an on_demand application proccess

    Hi,
    I wonder if anyone can help with a problem I have. I have a button (coded in Javascript) that uses htmldb_Get to call an on_demand application process that should be updating the database. Unfortunately it does not, and I cannot see what I've done wrong! Perhaps some fresh eyes can help?
    Call to htmldb_get / application process
    var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=applicationProcessSaveToDB',0);
    get.add('STO_ID',myStoId)
    get.add('DTE_ID',myDteId)
    get.add('ADJ',myAdj)
    var gReturn = get.get();
    alert( 'gReturn <'+gReturn+'>' ) ;
    On_demand process code
    DECLARE
    l_msg VARCHAR2 (2000);
    BEGIN
    SELECT :ADJ || CHR(10) || :STO_ID || CHR(10) || :DTE_ID
    INTO l_msg
    FROM dual;
    UPDATE fid_live.tffd_cash_sls
    SET local_est_manl_adj = :ADJ
    , est_manl_adj = pk$_sa_exchange.f$_get_ukp_value
    TO_NUMBER( pk$_sa_sel.f$_sel_sto_no( :STO_ID ) ),
    :ADJ,
    pk$_sa_sel.f$_sel_calendar_dte( :DTE_ID )
    WHERE sto_id = :STO_ID
    AND dte_id = :DTE_ID;
    -- COMMIT;
    HTP.prn (l_msg);
    EXCEPTION WHEN OTHERS THEN
    l_msg:='Exception has occurred '||SQLERRM||', '||SQLCODE;
    HTP.prn (l_msg);
    END;
    I was expecting to see (a) the database updated (it is not) and (b) the text string l_msg echoed back via the alert(gReturn) - it does not (but does if I comment out the UPDATE statement, which makes me wonder if the SQL is being rejected, but then I'd hope that the exception block would return an error message).
    Can anyone help?
    Many thanks,
    MarkB...

    Hi Mark,
    for the future in case you have again a problem with an on-demand process. The following posting which I have written some time ago should help you to test it.
    http://inside-apex.blogspot.com/2006/12/how-to-test-on-demand-process.html
    Testing without the javascript call and seeing the actual result values is much easier then the through javascript.
    Greetings
    Patrick
    My APEX Blog: http://inside-apex.blogspot.com
    The ApexLib Framework: http://apexlib.sourceforge.net
    The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/

  • Need help with method calling

    I have a problem with method calling as it does the method but doesn't send the values to the main program. The Need section in the main should take in the Max and Allocation arrays from the setMax and setAllocation but it doesn't. I figure I'm missing a return call or something. Could you help me out.
        public class Project4
           public static void main (String[] args)
             int[] Available=new int[4];
             int[][]Max=new int[5][4];
             int[][]Allocation=new int[5][4];
             int[][] Need=new int[5][4];
             setMax();
             setAllocated();
             setAvailable();
           //Creates the need.
             int numMax, numAlloc, numNeed;
             for(int row=0; row<5; row++)
                for (int col=0; col<4; col++)
                   numMax=Max[row][col];
                   numAlloc=Allocation[row][col];
                   numNeed=numMax-numAlloc;
                   Need[row][col]=numNeed;
             for(int row=0; row<Need.length; row++)
                for (int col=0; col<Need[row].length; col++)
                   System.out.print (Need[row][col]);
                System.out.println();
             System.out.println();
            //From here on checks to see if available.     
             int[] processLeft=new int[5];
             int numChecker, numAvail, counter, check, num, stop, processCounter;
             int i=0; 
             num=0;
             stop=3;
             processCounter=0;
             for(int row=num; row<Need.length; row++)
                int col=0;
                counter=Need[row].length; 
                numChecker=Need[row][col];
                numAvail=Available[col];
                do
                   check=0;
                   numChecker= Need[row][col];
                   numAvail=Available[col];
                   col++;
                   if (numChecker<=numAvail)
                      check=1;
                   while(numChecker<=numAvail && col<counter);
                if(col==counter && check==1)
                   System.out.println("Process P"+row+" executes");
                   for(col=0; col<Allocation.length-1; col++)
                      numChecker=Allocation[row][col];
                      numAvail=Available[col];
                      numAvail=numChecker+numAvail;
                      Available[col]=numAvail;
                   num++; 
                   processCounter=processCounter+1;
                else
                   processLeft=row;
    i++;
    // Checks the processes left over
    int j=0;
    int row=0;
    int col=0;
    counter=Need[row].length;
    while(processLeft[j]!=5 && processCounter!=5)
    row=processLeft[j];
    do
    check=0;
    numChecker= Need[row][col];
    numAvail=Available[col];
    col++;
    if (numChecker<=numAvail)
    check=1;
    while(numChecker<=numAvail && col<counter);
    if(col==counter && check==1)
    System.out.println("Process P"+row+" executes");
    for(col=0; col<Allocation.length-1; col++)
    numChecker=Allocation[row][col];
    numAvail=Available[col];
    numAvail=numChecker+numAvail;
    Available[col]=numAvail;
    processCounter=processCounter+1;
    j++;
    safe(processCounter);
    public static void setAllocated()
         // Creates the Allocation
    int[][] Allocation= {{3,0,0,2},{1,0,0,0},{1,3,5,4},{0,6,3,2},{0,0,1,4}};
    for(int row=0; row<Allocation.length; row++)
    for (int col=0; col<Allocation[row].length; col++)
    System.out.print (Allocation[row][col]);
    System.out.println();
    System.out.println();
    public static void setMax()
         // Creates the max
    int[][] Max= {{3,0,1,2},{1,5,5,0},{2,3,5,6},{0,6,5,2},{0,6,5,6}};
    for(int row=0; row<Max.length; row++)
    for (int col=0; col<Max[row].length; col++)
    System.out.print (Max[row][col]);
    System.out.println();
    System.out.println();
    public static void setAvailable()
    // Creates the Available.
    int[] Available={3,5,2,0};
    public static void safe(int processCounter)
         // Prints if it is safe or not     
    if(processCounter!=5)
    System.out.println("\n The system is not safe");     
    else
    System.out.println("\n The system is safe");

    those methods declare and initialize variables that exist only within that specific method, so no other method can see them
    move the 4 arrays you declare in main() out of the method into the class body, then in the other methods, don't declare new arrays, simply initialize the ones you just moved into the class body
    or alternatively, you could make the methods return the arrays they create, and instead of your main method creating arrays, it simply works with whatever those methods return
    btw 20 minutes is a bit early to be getting impatient

  • Need help with project (calling methods) please!!

    Hi there i have a project for uni requiring me to create a java program that creates a random No. and lets the user have three guesses to find the No. When the users guesses correct he gets a message telling him hes won and if he doesnt get it correct he gets a message telling him the correct No then terminates.
    The code has to call an outside method called[b] Public Static Boolean CheckGuess
    I have tried to create this and got it to compile with no errors (eventually) but i keep getting a message saying i have whenever i type any number in. I think the problem is the way i am calling the method i havnt got much experience this is all pretty new to me any help would be really appreciated. Thanks.
    import javax.swing.*;
    import java.util.*;
    public class Coursework1{
         public static void main(String args[]){
              int randomnumber,usersguessint,checkguess,guessvalid,attempts;
              String usersguess,output;
              boolean match;
              //create random number generator
              Random numGenerator = new Random();
              //generate a random number between 1 & 10 inclusive
              randomnumber = Math.abs(numGenerator.nextInt(9))+1;
              //initialize variable attempts
              for ( attempts = 0; attempts < 3; attempts++ ) {
                   //ask user for his first guess
                   usersguess=JOptionPane.showInputDialog("Please enter your guess between 1 & 10");
                   //convert users guess to integer
                   usersguessint = Integer.parseInt(usersguess);
                        //validate input
                        while (usersguessint<1||usersguessint>10){
                        usersguess=JOptionPane.showInputDialog("You entered an incorrect number \nPlease enter a numberbetween 1 & 10");
                         //convert users guess to integer
                        usersguessint = Integer.parseInt(usersguess);
                        } //end while loop
                             //call boolean method
                             if (match=true){
                             //display text area in JoptionPane
                             output="You won";
                             JOptionPane.showMessageDialog(null,output,"You Won",JOptionPane.INFORMATION_MESSAGE);
                             break;}
                             else{
                             output="Try again";     
                             JOptionPane.showInputDialog("Try again");
                                  }     //end if
                   } //end for
              }//end main
                             //user defined method
                             public static boolean checkGuess(int usersguessint,int randomnumber){
                             boolean match = false;
                             if (usersguessint == randomnumber){
                             match = true;
                             return match;
                             }//end method
         }//endclass

    Thank you very much that worked a treat the program is working better now. I have just realised that my for loopcontaining my counter may be in the wrong place as the program is running though both messages 3 times e.g
    "Please enter your guess between 1 & 10"
    "Try again"
    "Please enter your guess between 1 & 10"
    "Try again"
    "Please enter your guess between 1 & 10"
    "Try again"
    "Please enter your guess between 1 & 10"
    "Try again"
    I want my program to run like
    "Please enter your guess between 1 & 10"
    "Try again"
    "Try again"
    "Try again"
    Do u think if i placed my for stament (counter) in between the two messages it would eliminate this problem.

  • Tried 3x to get help with my Call Waiting.

    The 800-Verizon number is a call center in Mexico! I need to speak to someone who actually knows what I'm talking about. I was on hold for over 30 minutes! Please provide a number for someone here in the United States who is familiar with Verizon services (REALLY familiar; not through some training class).
    Thank you

    These forums are primarily peer to peer support where users try to help each other. Occasionally you might get a Verizon rep to respond but not always.
    You could try using the chat support
    http://www22.verizon.com/content/contactus/
    Click on the options in the menus. You will see a link to start a chat at some point.

  • Need help with scenario BPM Http-RFC Sync/async bridge

    hi all!
    i've got the following scenario: HTTP-BPM(XI)-RFC synchronous both of them. for that, i'm using S/A bridge in the BPM, but i'm getting the error 'Timeout condition of pipeline reached'. i think the problem is that the process gets lost in the sync/async communication, because in the trace level shows CL_XMS_PLSRV_CALL_BPE-ENTER_PLSRV" and after that every message are 'wait time starting'.
    don't know the reason of the error. Maybe I missed something to configure?
    the BPM is like this:
    Receiver(Open Sync/Async bridge) -> Transformation (mapping from http request to RFC request) -> SyncSend (RFC request and response) -> Transformation (mapping from rfc response to http response) -> Send (Close S/A Bridge)
    the IR is configured like this:
    Message Types u2013 External Definitions u2013 Imported Objects
    mt_cxml_request -> contains xsd of xcml request template.
    mt_cxml_response -> contains xsd of xcml response template.
    zintegracion_pedidos -> imported RFC from R/3
    zintegracion_pedidos.response -> imported RFC from R/3
    Message Interfaces
    mi_cxml_request_async_abs
    mi_cxml_request_sync_abs
    mi_cxml_request_sync_out
    mi_xcml_response_async
    mi_rfc_request_asyn_abs
    mi_rfc_request_sync_abs
    mi_rfc_request_sync_in
    mi_rfc_response_async_abs
    Message Mappings
    mm_cxml_request_to_rfc_request -> mapping from http request (cxml) to rfc request.
    mm_rfc_response_to_cxml_response -> mapping from rfc response to http response (cxml).
    Interface Mappings
    im_cxml_request_async_abs_to_rfc_request_async_abs
    im_rfc_response_async_abs_to_cxml_response_async_abs
    and the ID is configured like this:
    Business system DES -> created business system for RFC adapter with interface mi_rfc_request_sync_in as receiver. Comunication channel u2018RFC Receiveru2019
    Businnes service VW -> created businnes service for HTTP adapter with interface mi_cxml_request_sync_out as sender. Comunication channel u2018HTTP Senderu2019
    Receiver Determination
    two receiver determinations. One for BPM and the other one for RFC(R/3):
    |VW| mi_cxml_request_sync_out:
    |BPM_PO| mi_rfc_request_sync_abs:
    Interface Determination
    two interface determinations:
    |VW| mi_cxml_request_sync_out | | BPM_PO:
    |BPM_PO| mi_rfc_request_sync_abs | * | * :
    Sender Agreement
    VW
    mi_cxml_request_sync_out
    Receiver Agreement
    |BPM_PO| |DES| mi_rfc_request_sync_in

    hi all,
    i've removed the transformations from the BPM, and i've created:
    in IR:
    - interface mapping: im_xcml_request_to_rfc_request_sync_abs
                                    source interface: mi_cxml_request-sync_abs
                                    target interface: mi_rfc_request_sync_abs
    in ID:
    - receiver determination: |VW| mi_cxml_request_sync_abs
                                      sender service: VW
                                      interface: mi_cxml_request_sync_abs
                                      receiver: DES
                                      interface mapping:im_xcml_request_to_rfc_request_sync_abs
    - interface determination: |VW| mi_cxml_erquest_sync_abs ||
                                         sender service: VW
                                         interface: mi_cxml_request_sync_abs
                                         inbound interface: mi_rfc_request_sync_abs
                                         interface mapping: im_xcml_request_to_rfc_request_sync_abs
    - receiver agreement: |VW| |DES| mi_rfc_request_sync_abs
                                   sender service: VW
                                   receiver service: DES
                                   receiver interface: mi_rfc_request_sync_abs
    not sure these are the steps i had to do for mapping xml to rfc. but the result is the same error as before, the timeout.
    i couldn't test with RTW because i'm getting an error 401 unauthorized.
    i'd do it without BPM but the issue is that i wanted to add another step that would be to send the response from rfc to mail too once i got this BPM running. i mean, the response from RFC would be sent to http response and mail both.
    the only way i can imagine to do it is with BPM but i'm really fed up with it.
    thank u very much folks

  • Help with my caller display through my broadband t...

    hello
    I currently have number's including landlines showing up as 004401209xxxxxx when people try to call even tho i have them set up in the phone book.  Is this a common fault and if so how can I fix it please help really bugging me now!!!  I have caller display

    My Broadband Talk gives the correct number when called from a landline, and the callers name if it in my Hub Phone contacts - just checked and still does and has always done. Do you have a 056 Talk number? Mine is a geographic number on my home exchange - there may be a difference for 056 numbers.
    Ectophile - the international format for the number quoted would be 00441209xxxxxx as the leading zero for the std code is omitted.
    Peter

  • 6280 Can anyone help with Loudspeaker Call Waiting...

    Hi, When I am talking on the phone and somebody calls me, the call waitng function puts the person I was talking to on loudspeaker, is there a way of changing that so that you just get a beep in your ear?

    It's probably a dodgy firmware!
    Give your mobile operator a call (if it's Three, no supprise!! - it should be 5.92 or similar, then call 333 from your handset) and ask them what the most up to date firmware is. You can find out what version you are on by pressing *#0000# on your handset. Make a note of it when you call as they may say you should send it in (should be free) for flashing. Don't forget EVERYTHING will be wiped so make a backup and keep the SIM & memory card!
    Hope this helps.
    Aubs

  • Help with GUI (calling one class from other class)

    Hi everybody,
    I am new at GUI and I need your help..
    I have a JPanel, named "holdAll", layout of which is set to BorderLayout. I have implemented all other JPanels in different class files. For example, I have TopPanel, LeftPanel, etc. as shown below
    LeftPanel myLeft = new LeftPanel();
    holdAll.add(myLeft, BorderLayout.WEST);
    RightPanel myRight = new RightPanel();
    holdAll.add(myRight, BorderLayout.EAST);
    TopPanel myTop = new TopPanel();
    holdAll.add(myTop, BorderLayout.NORTH);
    MiddlePanel myMiddle = new MiddlePanel();
    holdAll.add(myMiddle, BorderLayout.CENTER);
    BottomPanel myBottom = new BottomPanel();
    holdAll.add(myBottom, BorderLayout.SOUTH);
    That works well but I have difficulties in ActionListeners.. For example, in my TopPanel class I have the code below:
    public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btnInsert) {
    int returnVal = fc.showOpenDialog(fc);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    File file = fc.getSelectedFile();
    myImage newImage = new myImage(file);
    System.out.println(newImage.myHashCode());
    Here, if I have upload new image, then I have to update the listImage in the LeftPanel class.. But, I could not access the lstImage object in the LeftPanel class from the actionListener event in the TopPanel class.
    What should I do? Is my design poor?

    public class TopPanel extends JPanel implements ActionListener { //it doesn't allow "extends JPanel, Observable"
    JFileChooser fc;
    JButton btnInsert;
    JButton btnDelete;
    public TopPanel() {
    setLayout(new FlowLayout());
    setBorder(BorderFactory.createBevelBorder(1, Color.WHITE, Color.GRAY));
    btnInsert = new JButton("Insert");
    btnDelete = new JButton("Delete");
    JLabel myLabel = new JLabel(" Search : ");
    JTextField txtSearch = new JTextField();
    txtSearch.setColumns(20);
    JToolBar searchToolBar = new JToolBar();
    fc = new JFileChooser();
    btnInsert.addActionListener(this);
    searchToolBar.add(btnInsert);
    searchToolBar.add(btnDelete);
    searchToolBar.add(myLabel);
    searchToolBar.add(txtSearch);
    add(searchToolBar);
    public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btnInsert) {
    int returnVal = fc.showOpenDialog(fc);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    File file = fc.getSelectedFile();
    *//Here I want to send fc.GetName() to the JList in the LeftPanel*
    my LeftPanel class is below:
    public class LeftPanel extends JPanel{
    public LeftPanel(){
    this.setLayout(new BorderLayout());
    setBorder(BorderFactory.createBevelBorder(1, Color.WHITE, Color.GRAY));
    JPanel pnlButtons = new JPanel();
    JButton btnName = new JButton("Name");
    JButton btnSize = new JButton("Size");
    JButton btnDate = new JButton("Date");
    pnlButtons.add(btnName);
    pnlButtons.add(btnSize);
    pnlButtons.add(btnDate);
    pnlButtons.setBorder(BorderFactory.createLineBorder(Color.BLACK));
    JPanel pnlImage = new JPanel();
    JList lstImage = new JList();
    lstImage.setVisible(true);
    pnlImage.add(new JScrollPane(lstImage));
    add(pnlButtons, BorderLayout.NORTH);
    add(pnlImage, BorderLayout.CENTER);
    Is there any simple way?

  • Help with exception calling cmp entity bean from session bean

    Hi,
    I know someone else posted a very similar problem recently but I think the root of my problem may be different.
    This is the exception that I receive:
    javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 9998 Maybe; nested exception is:
    org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806 completed: Maybe
    at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDelegate.java:114)
    at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
    at itsthes.security._SecurityManager_Stub.findUserRoles(Unknown Source)
    at itsthes.security._SecurityManager_Stub.findUserRoles(Unknown Source)
    at itsthes.security.servlets.SecurityUserListView.processRequest(SecurityUserListView.java:80)
    at itsthes.security.servlets.SecurityUserListView.doGet(SecurityUserListView.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
    at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
    at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
    at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
    Caused by: org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806 completed: Maybe
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at java.lang.Class.newInstance0(Class.java:306)
    at java.lang.Class.newInstance(Class.java:259)
    at com.sun.corba.ee.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:94)
    at com.sun.corba.ee.internal.iiop.LocalClientResponseImpl.getSystemException(LocalClientResponseImpl.java:120)
    at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOAClientSC.java:133)
    at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
    at itsthes.security._SecurityManager_Stub.findUserRoles(Unknown Source)
    ... 17 more
    This is my primary key implementation:
    public final class SecurityUserKey implements java.io.Serializable {
    public java.lang.Integer userId;
    public java.lang.Integer roleId;
    public java.lang.String emailAddress;
         * Creates an empty key for Entity Bean: SecurityUser
         public SecurityUserKey() {
    * @see java.lang.Object#equals(java.lang.Object)
    public boolean equals(java.lang.Object otherOb) {
    if (this == otherOb) {
    return true;
    if (!(otherOb instanceof itsthes.security.entitybeans.SecurityUserKey)) {
    return false;
    itsthes.security.entitybeans.SecurityUserKey other = (itsthes.security.entitybeans.SecurityUserKey) otherOb;
    return (
    (userId==null?other.userId==null:userId.equals(other.userId))
    (roleId==null?other.roleId==null:roleId.equals(other.roleId))
    (emailAddress==null?other.emailAddress==null:emailAddress.equals(other.emailAddress))
    * @see java.lang.Object#hashCode()
    public int hashCode() {
    return (
    (userId==null?0:userId.hashCode())
    ^
    (roleId==null?0:roleId.hashCode())
    ^
    (emailAddress==null?0:emailAddress.hashCode())
    My entity method invocation is this:
    public Collection findUserRoles() {
    Vector userCollection=new Vector();
    try {
    Context jndiContext = new InitialContext();
    LocalSecurityUserHome home = (LocalSecurityUserHome) jndiContext.lookup(this.securityUserBean);
    Iterator i = home.findAll().iterator();
    while ( i.hasNext() ) {
    LocalSecurityUser securityUser = (LocalSecurityUser)i.next();
    SecurityUser sessionBean=mapLocalSecurityUser(securityUser);
    userCollection.add(sessionBean);
    } catch (javax.naming.NamingException e) {
    System.err.println(e);
    } catch (javax.ejb.FinderException e) {
    System.err.println(e);
    return userCollection;
    If anyone could point me in the right direction that would be great.
    thanks,
    William

    Hi,
    The Transaction Rollback exception may be due to the SystemException thrown in your findUserRoles() code which force the container to rollback the transaction. catch the generic exception in your findUserRoles() code and veriy what went wrong.
    i hope this helps.
    -ram

  • Please help with correcting calling class and method errors

    Hi All,
    I have created a game (like battleship) for 2 tanks. I can't seem to connect the classes and methods to get the values for the last die face rolled; last direction rolled on a 4 headed dice; the x and y position for each tank; the armour value and the firePower (or hit value) to print.
    Each row of these values is supposed to print 50 times using a while loop.
    (N.B. The code is appended below my name.)
    Could anyone please help me? I would be most grateful. Thank you.
    Steve
    import java.util.*;
    class Client
    static Die die;
    static Direction dir;
    static Tank tk1;
    static Tank tk2;
    public static final
    void main( String[] argv)
    die = new Die();
    dir = new Direction();
    tk1 = new Tank();
    tk2 = new Tank();
    int lastFace;
    int setfaceLast;
    int x;
    int y;
    int armourVal;
    int firePower;
    int battleNum=0;
    int battles;
    int moves = 0;
    System.out.println("Tank");
    System.out.println("'\t' Number");
    System.out.println("'\t' Dir");
    System.out.println("'\t' xValue");
    System.out.println("'\t' yValue");
    System.out.println("'\t' Armour");
    System.out.println("Firepower"+'\n');
    int i=0;
    //int getLastFace();
    //int LastDirName();
    while (i <= 50);
    int XPos;
    int YPos;
    Pos p = new Pos();
    p.setXPos(x);
    p.setYPos(y);
    System.out.println ("'\t' Tank 1-");
    //System.out.println ( die.getLastFace());
    //System.out.println( dir.getLastDirName());
    System.out.println(Pos(x));
    System.out.println(Pos(y));
    System.out.println(armourVal);
    System.out.println(firePower+'\n');
    System.out.println ("Tank 2-");
    System.out.println ( lastFace);
    //System.out.println(LastDir);
    System.out.println(x);
    System.out.println(y);
    System.out.println(armourVal);
    System.out.println(firePower+'\n');
    moves++;
    System.out.println(" '\n' + BATTLE");
    class Tank
    public static final int MINGRID;
    public static final int MAXGRID;
    static Die die = new Die();
    static Direction dir = new Direction();
    private static int battleCount;
    private static int moveCount;
    private int x;
    private int y;
    private int armourVal;
    private int firePower;
    public Tank()
    int MINGRID=-10;
    int MAXGRID=10;
    battleCount=0;
    moveCount=0;
    x=0;
    y=0;
    armourVal=10;
    firePower=1;
    public
    int getmove()
    die.roll();
    dir.roll();
    dir.getLastDir();
    die.getLastFace();
    int x;
    int y;
    int Pos;
    switch( dir.getLastDir() )
    case Direction.UP:
    y += die.getLastFace();
    break;
    case Direction.DOWN:
    y -= die.getLastFace();
    break;
    case Direction.RIGHT:
    x += die.getLastFace();
    case Direction.LEFT:
    x-= die.getLastFace();
    break;
    if ( x > MAXGRID )
    x = (2 * MAXGRID) - x;
    else if ( x < MINGRID )
    x = (-2 * MINGRID) - x;
    if ( y > MAXGRID )
    y = (-2 * MAXGRID) - y;
    else if ( y < MINGRID )
    y = (-2 * MINGRID) - y;
    if ( x == -3 && y == -3 )
    firePower++;
    System.out.println("Yipee - more firepower.");
    if ( x == 3 && y == 3)
    this.armourVal += 10;
    System.out.println("Yipee - more armour.");
    return Pos;
    //printDetails();
    public boolean getcontinueBattle(Tank tk2)
    moveCount++;
    if ( x == tk2.x && y == tk2.y)
    battleCount++;
    System.out.println("Battle");
    tk2.armourVal -= firePower;
    armourVal -= tk2.firePower;
    if (tk2.armourVal < 0 )
    int moveCount, battleCount;
    return false;
    if ( armourVal < 0 )
    int moveCount, battleCount;
    return false;
    return true;
    public int getprintDetails()
    int ptDet;
    return ptDet;
    class Direction
    private int lastFaceDir;
    private Random rnd;
    public static final int UP = 1;
    public static final int DOWN = 2;
    public static final int LEFT = 3;
    public static final int RIGHT = 4;
    String direction;
    private
    int getRandomNum()
    int raw = rnd.nextInt();
    raw = Math.abs( raw );
    raw %= 4;
    raw++;
    return raw;
    public
    Direction()
    rnd = new Random();
    roll();
    public
    int roll()
    lastFaceDir = getRandomNum();
    if (lastFaceDir == UP)
    direction = "up";
    else if (lastFaceDir == DOWN)
    direction= "down";
    else if (lastFaceDir == LEFT)
    direction = "left";
    else if (lastFaceDir == RIGHT)
    direction= "right";
    return lastFaceDir;
    public
    int getLastFaceDir()
    return lastFaceDir;
    }// end class
    class Die
    private int lastFace;
    private Random rnd;
    private
    int getRandomNum()
    int raw = rnd.nextInt();
    raw = Math.abs( raw );
    raw %= 6;
    raw++;
    return raw;
    public
    Die()
    rnd = new Random();
    roll();
    public
    int roll()
    lastFace = getRandomNum();
    return lastFace;
    public
    int getLastFace()
    return lastFace;
    }// end class

    I got this sorted!
    I unzipped the JAR and loaded the classes individually - so now the "reference" issue went away. Instead I now have a new problem, but I will post that seperately.

  • RFC hangs with a call to function module SSFC_PARSE_CERTIFICATE

    Hello ,
    We are working on BI 7.0  SP9 .
    When we try to test the RFC connection from the WAS Abap to the portal ( WAS JAVA ) using  SM59  , the test is hanging but we can read in the bottom of the screen 'Connexion bcv51sf2... OK' !!!
    The test connection works sometimes .
    But when it’s not working  , with the debug mode , I can see that the program SAPLSSFG/LSSFGU19 is hanging in the function module  SSF_GET_PARAMETER with a call to the function SSFC_PARSE_CERTIFICATE
          CALL FUNCTION 'SSFC_PARSE_CERTIFICATE'
            EXPORTING
              CERTIFICATE               = PABCERT
            IMPORTING
              SUBJECT                   = STR_PROFILEID
            EXCEPTIONS
              SSF_KRN_ERROR             = 1
              SSF_KRN_NOMEMORY          = 2
              SSF_KRN_NOSSFLIB          = 3
              SSF_KRN_INVALID_PAR       = 4
              OTHERS                    = 5.
             ENDIF.
           ENDIF.
         ENDFUNCTION.
    The variable STR_PROFILEID has the value of the field ID of the table SSF_PSE_H
    STR_PROFILEID =’CN=QWO, OU=XXXXX, O=YYYY, C=FR’
    Due to this error , we can’t transport BI Web templates  because at the end of the import in the method execution of the transport there is a call to the portal with the RFC. And the transport is hanging …
    Thanks in advance for you help .
    Happy new year.  Milan.

    Hi Frank ,
    See below the result of the test :
    Test for function group      SSFG
    Function module              SSF_GET_PARAMETER
    Export parameters
    Value
    APPFOUND
    <SYST>
    SSFTOOLKIT
    SAPSECULIB
    STR_FORMAT
    PKCS7
    STR_PAB
    /usr/sap/QWO/DVEBMGS01/sec/SAPSYS.pse
    STR_PAB_PASSWORD
    STR_PROFILEID
    CN=QWO, OU=XXXX, O=YYYY, C=FR
    STR_PROFILE
    /usr/sap/QWO/DVEBMGS01/sec/SAPSYS.pse
    STR_PROFILEPW
    STR_HASHALG
    SHA1
    STR_ENCRALG
    DES-CBC
    B_INCCERTS
    X
    B_DETACHED
    B_DISTRIB
    X
    But my problem now , it's that 1 of the 2 RFC is working fine and the other one after 1 good rfc test , is hanging now at the end of the function 'CONVERSION_EXIT_ISOLA_OUTPUT'  line 14 !!!
    See below the ABAP stack just before the hanging .
    1     FUNCTION CONVERSION_EXIT_ISOLA_OUTPUT.
    2     *"----
    3     ""Lokale Schnittstelle:
    4     *"       IMPORTING
    5     *"             VALUE(INPUT)
    6     *"       EXPORTING
    7     *"             VALUE(OUTPUT)
    8     *"----
    9       OUTPUT = SAVE_INPUT(1) = INPUT.
    10       CHECK SAVE_INPUT(1) NA ' *'.
    11       SELECT SINGLE * FROM T002 WHERE SPRAS = INPUT.
    12       CHECK SY-SUBRC = 0.
    13       OUTPUT = T002-LAISO.
    14     ENDFUNCTION.
    Stack Dep     Event type     Event     Program     Include     Line
    10     FUNCTION     CONVERSION_EXIT_ISOLA_OUTPUT     SAPLLANG     LLANGU04     14
    9     FORM     CONVERSION_EXIT     SAPCNVE     SAPCNVE     107
    8     EVENT     SYSTEM-EXIT     SAPLDSYA     <SYSINI>     20
    7     FUNCTION     DOKU_OBJECT_EXIST     SAPLDSYA     LDSYAU09     43
    6     FORM     FILL_EXCL_TAB     RSDBRUNT     RSDBRUNT     5.664
    5     FORM     %_INIT_PBO_LAST     RSDBRUNT     RSDBRUNT     4.061
    4     FORM     INIT_PBO     RSDBRUNT     RSDBRUNT     3.666
    3     FORM     %_INIT_PBO_NEW     RSRFCPIN     RSRFCPIN     496
    2     MODULE (PBO)     %_INIT_PBO     RSRFCPIN     RSRFCPIN     496
    1     EVENT     SYSTEM-EXIT     RSRFCPIN     <SYSINI>     20
    As i said in the first post , the RFC test is hanging sometimes but now it seems that it's not  hanging everytime at the same line of the abap code , if i can trust the debugger !
    ...and after another RFC test , now all the RFC to the portal are working ...
    It seems that when it's hanging , it's at the end of the functions ( SYSTEM_CALLSTACK
    or CONVERSION_EXIT_ISOLA_OUTPUT or SSF_GET_PARAMETER ) .
    A memory or OS problem ?
    Best Regards.  Milan.

  • Erratic behavior with multiple calls to the same RFC

    Hi,
    I am running into a strange problem invoking a custom RFC from a .NET application. I would appreciate it if someone has any insight into it.
    The steps to call the RFC are straightforward:
    1. Open the connection to SAP server
    2. Make the call
    3. Close the connection
    As you can imagine, the code is also quite simple. 
    In my simulation program, I have a button on a UI form that one can click and execute the above steps.
    The problem I am running into is that, on multiple calls, sometimes the parameter values that show up on the SAP side are not right. When the input parameter (a structure) is viewed in the ABAP debugger, the field values are all getting exchanged. For example, first name field contains values for the last name. Also, some fields that are supposed to have values do not have any.
    Just before the RFC call is made, when we look at the structures on the .NET side, the field values are the way they are supposed to be.
    I have not been able to establish a pattern. Sometimes, it takes two clicks to reproduce this problem. Sometimes it takes five.
    One of the team members thinks that this starts occurring right after one call fails for some valid reasons. However, I am not yet convinced.
    Having written many custom .NET applications using RFCs an BAPIs, I am fairly conversant with the technology. However, this one just baffles me. It appears something is getting messed up at the RFC layer itself. Does anyone have any idea on what could be happening?
    Thank you in advance for your help.
    Pradeep

    Indeed this is interesting .
    The problem is caused by an incompatible change from .NET Framework 1.1 to 2.0. Howerver, the documentation on the 1.1. API was not clear enough to decide if the incompatible change was adequate or not. Now in detail:
    NCo runtime uses the reflection API Type.GetProperties to read and cache all properties of a Proxy structure. NCo assumes that the order of the returned properties is the same on each call and especially that it is the order of the properties as they appear in source code. This was the behavior in .NET 1.1. It has changed in 2.0, see e.g. the internet forum discussion in http://www.thescripts.com/forum/thread455492.html .
    Calling Type.GetProperty(<PropertyName>) or Type.SetProperty(<PropertyName>)  in your code moves the mentioned properties up in the list returned by Type.GetProperties() later inside of NCo.
    We found the following work-arroud:
    When using late-binding, call a dummy Type.GetProperties()  before any GetProperty or SetProperty.

  • Search Help with Web Dynpro call on another system

    Hi all,
    I have to create a search help with web dynpro on a field but the database is on another system... How can I do?
    Many Thanks in advance...

    I would use a search help exit. Nothing WDA specific here, as this has been possible long before WDA came around.  With a search help exit you define the search help like normal, but instead of database table or view being the source of selection, you have a function module.  Within the coding of this function module you can call an RFC to read data from another system or call a web service if you need to bridge over to something that isn't ABAP based.
    You can read more about Search Help Exits here:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/cf/21ee52446011d189700000e8322d00/frameset.htm

  • Can anyone help with facetime? im getting missed calls but it doesnt actually tell me i have an incoming call....and the person im trying to contact gets exactly the same.....just missed calls?

    can anyone help with facetime? im getting missed calls but it doesnt actually come up with an incoming call.....the person im trying to contact just gets missed calls also?

    I've noticed that once you miss a call on FaceTime on a desktop Mac, it won't work properly again until you restart the machine.
    I sent in Feedback so we'll see how that goes.

Maybe you are looking for

  • WLC 5508 8.0.100 AP dropout anf fallback issue

    After WLC upgrade to 8.0.100 [ not in HA mode], the AP seem to be dropping out and reconnect using the fallback to IP-  inspite of the statically configured IP on the AP Running Outdoor mesh AIR-CAP1552E-N-K9 on WLC 5508 (Cisco Controller) >show boot

  • About Function module reltate to Enhancement

    Hi All, i need to know about the Usage and purpose of the function module FKK_BP_BADI_UPDATE. Kindly help me to know about this function module

  • PDF data encryption

    Hello I have a PDF form which will be available over a public website for users to download and fill their information. Upon filling and clicking the Submit, the PDF will invoke my servlet which is deployed on Websphere Server. Is the data transmissi

  • Screenshot pictures a violation of privacy?

    I don't know if I can get the answer here, but it's worth a shot. There is someone taking screen shots of a private group chat that my sister and I are part of. The individual suspected of sharing the conversations to outside people has since been re

  • Generating RSS Feeds using files with extension .xml

    Bonjour! Apologies if this is not the correct forum - please redirect me if necessary. I am trying to create an .xml file to upload to my server allowing me to generate rss feeds on my web site. If i understand correctly (I am a beginner webmaster) f