Problem in importing idoc

Hi Friends,
Im using XI 7.0 , While importing an idoc into a SWCV  from connected R3 system i get the following error :
" Problem to reach R3 system "
Detailed error message  says " Attempt to import the application component hierarchy failed " CAN_NOT_BUILD_AKH.
I checked that IDX1, rfc destinations etc . are all ok
Message server details were also correct.
Can you help.
regards
Prasenjit

Hi,
Make sure your user id has the proper authorizations as described in the following article on the XI/R3 boxes (if they are separate)
http://help.sap.com/saphelp_nw04/helpdata/en/2b/a48f3c685bc358e10000000a11405a/frameset.htm
Thanks.

Similar Messages

  • Problem in importing idoc? help needed

    Hi all,
             I am trying the file-xi- idoc scenario.I have created logical system,port,pprofile, rfc destination( using XIAPPLUSER id and password) in respective
    sap system.
    In sap xi side, using transaction idx1, created rfc destination to sap system and created a port.
    In i.repository, when i tried to import the idoc type, i am getting the error like 'unable to establish connection to R/3 system'. I have defined the receiver sap system in SLD asboth technical and as well as business sytem.
    Any help???
    Rgds,
    SR.

    Hello SR,
    There could be various reasons ... one of them could be your definition in the Integration Repository. Check if you have given correct server address & Group name etc on the screen where you create NameSpace. Also check that the user has sufficient authorization in the SAP system from where you are importing the IDoc schema.
    Let me know how it goes.
    Regards,
    Homiar.

  • Problem in importing idoc metadata

    Hi all,
    i have problem in loading metadata in idx2. idoc details are AFS/ORDERS05/ZADIORDCONF port: SAPAGS client 003 . i could see an idoc metadata with name ORDERS05 under the corresponding sap system (SAPAGS with client 003) but with out any extension.
    now i tried to create another with idoc type : ORDERS05
                                                    Extension: ZADIORDCONF
                                           and    Source port:SAPAGS
    it is giving error msg Extension ZADIORDCONF is not assigned to basic type OREDERS05.
    wat could be the reason , please help to solve it
    Thanks and Regards
    Jhansi

    Hi,
    There is no need to add anything to idx2. You could delete the existing metadata from idx2 and reimport it.
    In some cases even this would not work. In that case, you could refresh the entire metadata by running report IDX_RESET_METADATA. However, use this report only if the above option does not work, since this report will reset your entire metadata.
    Thanks,
    Bhavish
    Reward points if comments helpful

  • Problem in importing idoc structure into repository

    Hi experts,
    I am trying to import an IDOC structure (ORDRSP.ORDERS03) from an R/3 system into the repository. But I am getting the following error:
    "             **Ready for import**
    Import started...
    ORDRSP.ORDERS03:
      + com.sap.aii.ibrep.sbeans.upload.RemoteUploadException: IDoc Type ORDERS03 | urn:sap-com:document:sap:idoc:messages is already locked in another change list by user rajash
    Import failed with 1 error
    If i still continue, i see the idoc imported in the left hand pane, but when i double click it, i don't see the structure of the IDOC in the right hand pane.
    Also, when i press the XSD/WSDL tabs, i get this message:
    "Object IDoc Type ORDERS03 | urn:sap-com:document:sap:idoc:messages not found".
    Can somebody guide me how to get around this issue?
    Thanks and regards,
    Ravi Kanth Talagana

    Hi Ravi,
    Go to user rajash 's change list and activate it. Also ask him to release the IDOC.
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • Error when importing IDOC structure from SAP - Control record missing

    Hi!
    We are hitting problems when importing IDOCs from SAP into the Integration Builder. The import ends successfully but when we drill into the IDOC structure we get a message: <b>Schema for type EDI_DC40.ASN_OUT.DELVRY01.Z1DELVRY (category Data Type) not found</b>. This is only happening for one specific IDOC type only. We have checked all we can think of but cannot get this to work. Any help would be very much appreciated. Of course, points awarded for any good ideas. Thx, Duncan

    Hi Duncan,
    Taka a look at these threads which address similar issues:
    Error during import of FIPARQ01 Idoc
    Error during IDoc Import
    Importing idocs:
    http://help.sap.com/saphelp_nw04/helpdata/en/2b/a48f3c685bc358e10000000a11405a/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/78/21753251ce11d189570000e829fbbd/content.htm
    Hope these help!.
    Cheers,
    Chandra
    Message was edited by: chandravadhana gopalakrishnan

  • Problem with import of IDOC fromSAP 3.1i to PI 7.0

    Hi ,
    I have an IDOC as ZXYZ.ORDERS01 in SAP R/3 3.1i System, I am unable to import the IDOC in PI7.0
    Let me know the process to import that idoc.
    ( I am Doing IDOC to File and file to IDOC Scenario )
    Regards,
    Edited by: TomShey on Sep 22, 2010 6:27 PM

    Hi,
    We also had same problem of unable to import IDOC structures automatically from SAP 3.1I to XI/PI, as the support of this feature as mentioned by SAP starts from version >= 4.0.
    Please find the prerequisite as mentioned in help.sap.com
    Prerequisites
    The SAP system from which you want to import the RFCs or IDocs must contain function modules for calling metadata. You can import RFCs and IDocs from SAP Release 4.0 and higher. The table below gives an overview of the required support packages:
    (http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm)
    So as per my experience, I could identify three options after indepth investigation.
    1. Recreate the IDOC structures in another SAP system which is of latest version >= 4.0 may be IDES, and then import the structure in IR for further developments. This is the option we are using for our developments now.
    2. Get WSDL of the IDOC structure by creating manually the structure using XML Enterprise edition using the complete syntax or xpath and import as external definitions and use it in mapping.
    3. Re-create the IDOC structure in XI system itself and try to use it.
    Let me know if this helped you.
    Regards,
    Bindu

  • Problem importing idoc to XI integration repository

    I have deleoped a custom IDOC and released in SAP/R3. Next I have imported it to XI using transaction IDX2 without problems.
    However, when I try to import the metadata to the integration repository, I can't find it in the list of available IDOcs. I have tried to refresh the catches, and even restartet the XI server, but i doesn't help.
    Any suggestions ?

    Hi Henrik,
                    See if these threads help :
    importing IDOC in XI for interface mapping
    IDOC in IDX2 is not visible in while importing into XI Design Component.
    Settings in XI side to receive IDOC  from  application server
    Check this link to know minimum authorizations required for a user to import RFC/Idocs.
    http://help.sap.com/saphelp_nw04/helpdata/en/2b/a48f3c685bc358e10000000a11405a/content.htm

  • Problem in Import of RFC and IDoc interfaces

    hi,
    i am a beginner in XI. now am following the link given below.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e07dcaa0-a92b-2a10-3a96-b3d942bd1539
    Topic: A Step-by-Step Guide on IDoc-to-File Using Business Service in the XI Integration Directory
    i don't know how to Import S/W Component and IDoc structure.
    my doubt is what should i select from the populated list.
    plz help me.
    thanks in advance

    hi,
    Please follow below steps assuming that the Software component is properly created in SLD.
    1. open Integration Repository (IR)
    2. Goto ---> Tools -
    > Trasfer SWCV from SLD
    3. Select the Software Component from the pop-up list
    4. Press Import
    5. It will import the software component in IR
    6. Save it and activate.
    7. If its for SAP system then give RFC details in SWC
    8. Create Namespace in it and save and activate
    http://help.sap.com/saphelp_nw04/helpdata/en/9c/7a973ca83a4601e10000000a114084/content.htm
    Now it will be ready for further Development.
    For importing an idoc structure...
    go to imported objects and right click there and select import  iDOCs and there give your application system details.This is the way to import your IDOc structure.
    Thanks,
    Vijaya.

  • Importing IDOC in XI for interface mapping

    Dear All ,
    In IDOC-XI-XML file scenarion , I am doing the interface mapping where I am giving the source(IDOC) and target(Data type ) . The problem I am facing is that I am not able to see any IDOC in the source . Can anybody plz explain <b>how to import IDOC from the SAP sytem</b> .
    Plz need your help asap .
    Thanks in advance .
    Prabhat

    Hi Moorthy,
    I checked connection in SM59 all r working fine using test connection.
    In XI I have created 2 different RFC's for R/3.
    1) "D11" with my personal login ID of R/3
    2) "D11-060" with some special login ID "XIRFCUSER" of R/3
    In IDX1 if i am using D11 and when i am trying to import Idoc in IDX2 i am getting error "Communication error: 'User ROHILLAU has no RFC authorization for functio'"
    But when i use D11-060 in IDX1 i am able to import Idoc in IDX2.
    But in IR-> Import SAP Object, I am using my ID for import and getting error "JCO.Client not connected in repository call"
    Is in IR i also need to use "XIRFCUSER".
    Thanks & Regards

  • Problem in receving IDOCS

    I have a problem receving an IDOC. I checked the SM58 Xn and it says " Error when opening RFC connection "
    So I reprocessed the IDOC by transaction WE19 and then BD87 where SAP says it has sent the IDOC and staus is set to 03.
    However I again checked SM58 this time it says " RfcAbort : Cannot lock transaction " ........
    any idea or pointers as what the problem is or might be?
    Below is the RFC Server code which i am using......it is the sample code that comes along with the  sapjco.jar
    Thanks a lot
    package milestone.ups;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.Hashtable;
    import java.util.Map;
    import java.util.Properties;
    import com.sap.conn.jco.JCoException;
    import com.sap.conn.jco.JCoFunction;
    import com.sap.conn.jco.ext.DestinationDataProvider;
    import com.sap.conn.jco.ext.ServerDataProvider;
    import com.sap.conn.jco.server.DefaultServerHandlerFactory;
    import com.sap.conn.jco.server.JCoServer;
    import com.sap.conn.jco.server.JCoServerContext;
    import com.sap.conn.jco.server.JCoServerContextInfo;
    import com.sap.conn.jco.server.JCoServerErrorListener;
    import com.sap.conn.jco.server.JCoServerExceptionListener;
    import com.sap.conn.jco.server.JCoServerFactory;
    import com.sap.conn.jco.server.JCoServerFunctionHandler;
    import com.sap.conn.jco.server.JCoServerState;
    import com.sap.conn.jco.server.JCoServerStateChangedListener;
    import com.sap.conn.jco.server.JCoServerTIDHandler;
    public class StepByStepServer
        static String SERVER_NAME1 = "SERVER";
        static String DESTINATION_NAME1 = "ABAP_AS_WITHOUT_POOL";
        static String DESTINATION_NAME2 = "ABAP_AS_WITH_POOL";
        static MyTIDHandler myTIDHandler = null;
        static
            Properties connectProperties = new Properties();
            connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, " PRIVATE_IP ");
            connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "01");
            connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "001");
            connectProperties.setProperty(DestinationDataProvider.JCO_USER, " usr");
            connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "pwd ");
            connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");
            createDataFile(DESTINATION_NAME1, "jcoDestination", connectProperties);
            connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3");
            connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10");
            createDataFile(DESTINATION_NAME2, "jcoDestination", connectProperties);
            Properties servertProperties = new Properties();
            servertProperties.setProperty(ServerDataProvider.JCO_GWHOST, " PRIVATE_IP ");
            servertProperties.setProperty(ServerDataProvider.JCO_GWSERV, "sapgw01");
            servertProperties.setProperty(ServerDataProvider.JCO_PROGID, "JCO_SERVER");
            servertProperties.setProperty(ServerDataProvider.JCO_REP_DEST, "ABAP_AS_WITH_POOL");
            servertProperties.setProperty(ServerDataProvider.JCO_CONNECTION_COUNT, "2");
            createDataFile(SERVER_NAME1, "jcoServer", servertProperties);
        static void createDataFile(String name, String suffix, Properties properties)
            File cfg = new File(name + "." + suffix);
            if(!cfg.exists())
                try
                    FileOutputStream fos = new FileOutputStream(cfg, false);
                    properties.store(fos, "for tests only !");
                    fos.close();
                catch(Exception e)
                    throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e);
        static class StfcConnectionHandler implements JCoServerFunctionHandler
            public void handleRequest(JCoServerContext serverCtx, JCoFunction function)
                System.out.println("----
                System.out.println("call              : " + function.getName());
                System.out.println("ConnectionId      : " + serverCtx.getConnectionID());
                System.out.println("SessionId         : " + serverCtx.getSessionID());
                System.out.println("TID               : " + serverCtx.getTID());
                System.out.println("repository name   : " + serverCtx.getRepository().getName());
                System.out.println("is in transaction : " + serverCtx.isInTransaction());
                System.out.println("is stateful       : " + serverCtx.isStatefulSession());
                System.out.println("----
                System.out.println("gwhost: " + serverCtx.getServer().getGatewayHost());
                System.out.println("gwserv: " + serverCtx.getServer().getGatewayService());
                System.out.println("progid: " + serverCtx.getServer().getProgramID());
                System.out.println("----
                System.out.println("attributes  : ");
                System.out.println(serverCtx.getConnectionAttributes().toString());
                System.out.println("----
                System.out.println("CPIC conversation ID: " + serverCtx.getConnectionAttributes().getCPICConversationID());
                System.out.println("----
                System.out.println("req text: " + function.getImportParameterList().getString("REQUTEXT"));
                function.getExportParameterList().setValue("ECHOTEXT", function.getImportParameterList().getString("REQUTEXT"));
                function.getExportParameterList().setValue("RESPTEXT", "Hello World");
                // In sample 3 (tRFC Server) we also set the status to executed:
                if(myTIDHandler != null)
                    myTIDHandler.execute(serverCtx);
        static class MyThrowableListener implements JCoServerErrorListener, JCoServerExceptionListener
            public void serverErrorOccurred(JCoServer jcoServer, String connectionId, JCoServerContextInfo serverCtx, Error error)
                System.out.println(">>> Error occured on " + jcoServer.getProgramID() + " connection " + connectionId);
                error.printStackTrace();
            public void serverExceptionOccurred(JCoServer jcoServer, String connectionId, JCoServerContextInfo serverCtx, Exception error)
                System.out.println(">>> Error occured on " + jcoServer.getProgramID() + " connection " + connectionId);
                error.printStackTrace();
        static class MyStateChangedListener implements JCoServerStateChangedListener
            public void serverStateChangeOccurred(JCoServer server, JCoServerState oldState, JCoServerState newState)
                // Defined states are: STARTED, DEAD, ALIVE, STOPPED;
                // see JCoServerState class for details.
                // Details for connections managed by a server instance
                // are available via JCoServerMonitor
                System.out.println("Server state changed from " + oldState.toString() + " to " + newState.toString() + " on server with program id "
                        + server.getProgramID());
        static void step2SimpleServer()
            JCoServer server;
            try
                server = JCoServerFactory.getServer(SERVER_NAME1);
            catch(JCoException ex)
                throw new RuntimeException("Unable to create the server " + SERVER_NAME1 + ", because of " + ex.getMessage(), ex);
            JCoServerFunctionHandler stfcConnectionHandler = new StfcConnectionHandler();
            DefaultServerHandlerFactory.FunctionHandlerFactory factory = new DefaultServerHandlerFactory.FunctionHandlerFactory();
            factory.registerHandler("STFC_CONNECTION", stfcConnectionHandler);
            server.setCallHandlerFactory(factory);
            // additionally to step 1
            MyThrowableListener eListener = new MyThrowableListener();
            server.addServerErrorListener(eListener);
            server.addServerExceptionListener(eListener);
            MyStateChangedListener slistener = new MyStateChangedListener();
            server.addServerStateChangedListener(slistener);
            server.start();
            System.out.println("The program can be stoped using <ctrl>+<c>");
        static class MyTIDHandler implements JCoServerTIDHandler
            Map<String, TIDState> availableTIDs = new Hashtable<String, TIDState>();
            public boolean checkTID(JCoServerContext serverCtx, String tid)
                // This example uses a Hashtable to store status information. But usually
                // you would use a database. If the DB is down, throw a RuntimeException at
                // this point. JCo will then abort the tRFC and the R/3 backend will try
                // again later.
                System.out.println("TID Handler: checkTID for " + tid);
                TIDState state = availableTIDs.get(tid);
                if(state == null)
                    availableTIDs.put(tid, TIDState.CREATED);
                    return true;
                if(state == TIDState.CREATED || state == TIDState.ROLLED_BACK)
                    return true;
                return false;
                // "true" means that JCo will now execute the transaction, "false" means
                // that we have already executed this transaction previously, so JCo will
                // skip the handleRequest() step and will immediately return an OK code to R/3.
            public void commit(JCoServerContext serverCtx, String tid)
                System.out.println("TID Handler: commit for " + tid);
                // react on commit e.g. commit on the database
                // if necessary throw a RuntimeException, if the commit was not
                // possible
                availableTIDs.put(tid, TIDState.COMMITTED);
            public void rollback(JCoServerContext serverCtx, String tid)
                System.out.println("TID Handler: rollback for " + tid);
                availableTIDs.put(tid, TIDState.ROLLED_BACK);
                // react on rollback e.g. rollback on the database
            public void confirmTID(JCoServerContext serverCtx, String tid)
                System.out.println("TID Handler: confirmTID for " + tid);
                try
                    // clean up the resources
                // catch(Throwable t) {} //partner wont react on an exception at
                // this point
                finally
                    availableTIDs.remove(tid);
            public void execute(JCoServerContext serverCtx)
                String tid = serverCtx.getTID();
                if(tid != null)
                    System.out.println("TID Handler: execute for " + tid);
                    availableTIDs.put(tid, TIDState.EXECUTED);
            private enum TIDState
                CREATED, EXECUTED, COMMITTED, ROLLED_BACK, CONFIRMED;
        public static void main(String[] a)
            // step1SimpleServer();
            step2SimpleServer();
            // step3SimpleTRfcServer();

    thx sameer.
    I am sending IDOCs when delivery is created i.e through transaction VL01N /VL02N.
    I dont know for some reason i dont have mw ppackage in my sapjco.jar. I got from the sap market place.
    I modified the code to handle IDOC request as u sugguested. I have put system.out in the code to check whether handler is being invovked? But it didnt when I run the code.
    I tried to reprocess the IDOC through we19....but they failed(as shown in sm58).
    Here is the modified code....
    package milestone.ups;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.util.Hashtable;
    import java.util.Map;
    import java.util.Properties;
    import com.sap.conn.idoc.IDocDocumentList;
    import com.sap.conn.idoc.IDocXMLProcessor;
    import com.sap.conn.idoc.jco.JCoIDoc;
    import com.sap.conn.idoc.jco.JCoIDocHandler;
    import com.sap.conn.idoc.jco.JCoIDocHandlerFactory;
    import com.sap.conn.idoc.jco.JCoIDocServerContext;
    import com.sap.conn.jco.JCoException;
    import com.sap.conn.jco.ext.DestinationDataProvider;
    import com.sap.conn.jco.ext.ServerDataProvider;
    import com.sap.conn.jco.server.JCoServer;
    import com.sap.conn.jco.server.JCoServerContext;
    import com.sap.conn.jco.server.JCoServerContextInfo;
    import com.sap.conn.jco.server.JCoServerErrorListener;
    import com.sap.conn.jco.server.JCoServerExceptionListener;
    import com.sap.conn.jco.server.JCoServerState;
    import com.sap.conn.jco.server.JCoServerStateChangedListener;
    import com.sap.conn.jco.server.JCoServerTIDHandler;
    import com.sap.conn.idoc.jco.*;
    public class StepByStepServer
        static String SERVER_NAME1 = "SERVER";
        static String DESTINATION_NAME1 = "ABAP_AS_WITHOUT_POOL";
        static String DESTINATION_NAME2 = "ABAP_AS_WITH_POOL";
        static MyTIDHandler myTIDHandler = null;
        static
            Properties connectProperties = new Properties();
            connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "172.31.64.74");
            connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "01");
            connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "001");
            connectProperties.setProperty(DestinationDataProvider.JCO_USER, "US9904");
            connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "us9904");
            connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");
            createDataFile(DESTINATION_NAME1, "jcoDestination", connectProperties);
            connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3");
            connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10");
            createDataFile(DESTINATION_NAME2, "jcoDestination", connectProperties);
            Properties servertProperties = new Properties();
            servertProperties.setProperty(ServerDataProvider.JCO_GWHOST, "172.31.64.74");
            servertProperties.setProperty(ServerDataProvider.JCO_GWSERV, "sapgw01");
            servertProperties.setProperty(ServerDataProvider.JCO_PROGID, "JCO_SERVER");
            servertProperties.setProperty(ServerDataProvider.JCO_REP_DEST, "ABAP_AS_WITH_POOL");
            servertProperties.setProperty(ServerDataProvider.JCO_CONNECTION_COUNT, "2");
            createDataFile(SERVER_NAME1, "jcoServer", servertProperties);
        static void createDataFile(String name, String suffix, Properties properties)
            File cfg = new File(name + "." + suffix);
            if(!cfg.exists())
                try
                    FileOutputStream fos = new FileOutputStream(cfg, false);
                    properties.store(fos, "for tests only !");
                    fos.close();
                catch(Exception e)
                    throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e);
        static class MyIDocHandler implements JCoIDocHandler
            public void handleRequest(JCoServerContext serverCtx, IDocDocumentList idocList)
                 System.out.println("IN Handler");   - THIS DIDNT PRINT on the CONSOLE             FileOutputStream fos=null;
                OutputStreamWriter osw=null;
                  try
                       IDocXMLProcessor xmlProcessor =
                            JCoIDoc.getIDocFactory().getIDocXMLProcessor();
                    fos=new FileOutputStream(serverCtx.getTID()+"_idoc.xml");
                    osw=new OutputStreamWriter(fos, "UTF8");
                       xmlProcessor.render(idocList, osw,
                                 IDocXMLProcessor.RENDER_WITH_TABS_AND_CRLF);               
                       osw.flush();
                  catch (Throwable thr)
                       thr.printStackTrace();
                finally
                    try
                        if (osw!=null)
                            osw.close();
                        if (fos!=null)
                            fos.close();
                    catch (IOException e)
                        e.printStackTrace();
        static class MyIDocHandlerFactory implements JCoIDocHandlerFactory
             private JCoIDocHandler handler = new MyIDocHandler();
             public JCoIDocHandler getIDocHandler(JCoIDocServerContext serverCtx)
                  System.out.println("Handler Object created and invoked");
                  return handler;
        static class MyThrowableListener implements JCoServerErrorListener, JCoServerExceptionListener
            public void serverErrorOccurred(JCoServer jcoServer, String connectionId, JCoServerContextInfo serverCtx, Error error)
                System.out.println(">>> Error occured on " + jcoServer.getProgramID() + " connection " + connectionId);
                error.printStackTrace();
            public void serverExceptionOccurred(JCoServer jcoServer, String connectionId, JCoServerContextInfo serverCtx, Exception error)
                System.out.println(">>> Error occured on " + jcoServer.getProgramID() + " connection " + connectionId);
                error.printStackTrace();
        static class MyStateChangedListener implements JCoServerStateChangedListener
            public void serverStateChangeOccurred(JCoServer server, JCoServerState oldState, JCoServerState newState)
                // Defined states are: STARTED, DEAD, ALIVE, STOPPED;
                // see JCoServerState class for details.
                // Details for connections managed by a server instance
                // are available via JCoServerMonitor
                System.out.println("Server state changed from " + oldState.toString() + " to " + newState.toString() + " on server with program id "
                        + server.getProgramID());
        static void step2SimpleServer()
             JCoIDocServer server;
            try
                server = JCoIDoc.getServer(SERVER_NAME1);
            catch(JCoException ex)
                throw new RuntimeException("Unable to create the server " + SERVER_NAME1 + ", because of " + ex.getMessage(), ex);
            //JCoServerFunctionHandler stfcConnectionHandler = new StfcConnectionHandler();
            server.setIDocHandlerFactory(new MyIDocHandlerFactory());
            //factory.registerHandler("STFC_CONNECTION", stfcConnectionHandler);
            // additionally to step 1
            MyThrowableListener eListener = new MyThrowableListener();
            server.addServerErrorListener(eListener);
            server.addServerExceptionListener(eListener);
            MyStateChangedListener slistener = new MyStateChangedListener();
            server.addServerStateChangedListener(slistener);
            server.start();
            System.out.println("Server Started");
            System.out.println("The program can be stoped using <ctrl>+<c>");
        static class MyTIDHandler implements JCoServerTIDHandler
            Map<String, TIDState> availableTIDs = new Hashtable<String, TIDState>();
            public boolean checkTID(JCoServerContext serverCtx, String tid)
                // This example uses a Hashtable to store status information. But usually
                // you would use a database. If the DB is down, throw a RuntimeException at
                // this point. JCo will then abort the tRFC and the R/3 backend will try
                // again later.
                System.out.println("TID Handler: checkTID for " + tid);
                TIDState state = availableTIDs.get(tid);
                if(state == null)
                    availableTIDs.put(tid, TIDState.CREATED);
                    return true;
                if(state == TIDState.CREATED || state == TIDState.ROLLED_BACK)
                    return true;
                return false;
                // "true" means that JCo will now execute the transaction, "false" means
                // that we have already executed this transaction previously, so JCo will
                // skip the handleRequest() step and will immediately return an OK code to R/3.
            public void commit(JCoServerContext serverCtx, String tid)
                System.out.println("TID Handler: commit for " + tid);
                // react on commit e.g. commit on the database
                // if necessary throw a RuntimeException, if the commit was not
                // possible
                availableTIDs.put(tid, TIDState.COMMITTED);
            public void rollback(JCoServerContext serverCtx, String tid)
                System.out.println("TID Handler: rollback for " + tid);
                availableTIDs.put(tid, TIDState.ROLLED_BACK);
                // react on rollback e.g. rollback on the database
            public void confirmTID(JCoServerContext serverCtx, String tid)
                System.out.println("TID Handler: confirmTID for " + tid);
                try
                    // clean up the resources
                // catch(Throwable t) {} //partner wont react on an exception at
                // this point
                finally
                    availableTIDs.remove(tid);
            public void execute(JCoServerContext serverCtx)
                String tid = serverCtx.getTID();
                if(tid != null)
                    System.out.println("TID Handler: execute for " + tid);
                    availableTIDs.put(tid, TIDState.EXECUTED);
            private enum TIDState
                CREATED, EXECUTED, COMMITTED, ROLLED_BACK, CONFIRMED;
        public static void main(String[] a)
            // step1SimpleServer();
            step2SimpleServer();
            // step3SimpleTRfcServer();

  • Can We Add Some More Fileds To the Imported IDOC ??

    Hi All,
    Can We Add Some More Fileds To the Imported IDOC ??
    If I Imported IDOC to IR. But I Want to Add Some More Fields To IDOC.
    Then Can I Go For this Process ??? Is This is Correct ???
    Please Correct Me If Iam Going Wrong
    1) Open the Imported IDOC in IR
    2) Export it as XSD File in to your Local Machine
    3) Add Necessary Fields & Save it
    4) Come to IR And Import it into external definition
    Is this is the Correct way of Doing ???
    If Not What is the Problem in Doing This ??
    Regards
    Vamsi

    Hello Vamsi,
    That is NOT the correct way to play around with IDOCs.
    the correct way is to create an enhancement to an exiting IDOC (this is done on the SAP R/3 side) after you craeted an enhancment you reimport the IDOC in XI from the R/3 and then you have a new structure with the new fields you need.
    worst case scenario you can define a new IDOC type just with the fields you need.
    you can check out the SAP library at http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    on how to do that.
    Have a good one,
    Uri Lifshitz.

  • Problem occuring when IDOC imporing

    Hi Experts,
    I am developing File to IDoc scenario , I am using PI 7.3 ,at the time of importing the IDoc if i right click on imported objects tab...it is asking like
    this  below
    Connection data for R/3 import is incomplete Open the software component version SC_xxxxxxxxxxxx and enter the system and the client.
    once if I provide the details of system and clent detals it is not accepting those client details.
    Please help me what should I do for this problem.
    Thanks in advance,
    Sudeepth.
    Edited by: sudeepth on Feb 22, 2012 10:34 AM

    Connection data for R/3 import is incomplete Open the software component version SC_xxxxxxxxxxxx and enter the system and the client.
    Double click on teh software component  version in ESR for which you want to import idoc. Then select the raido button import of idoc interface from sap systems permitted. Then give the R3 system information like the system name, client and then try once again. It is nothing related with technical and business system.
    step by step:
    double click on SWCV->
    Interface Import ->you have to provide  system name , client message server ,Group

  • Problems with importing text messages from PC Suit...

    Problems with importing text messages from PC Suit 7.1.18.0 to my Nokia 5800
     I am trying to import a csv file that contains text messages (Note that this file was created using PC Suit 7.1.18.0) to a subfolder that I have created to My Folders but PC Suits only imports the text messages to the Draft folder. Note that initially it shows that the messages are import in the correct folder but after a refresh it shows them in the Draft Folder. Is their any setting that I should change in the PC Suit or the phone? My computer runs on Windows XP Service Pack 3 and the Nokia 5800 was upgraded to the latest firmware v20.0.012
     Thanks for your help

    Most phones only allows importing of draft and archived box for SMS.
    To do a restoring, you need to backup the SMS as a .nbu file using PC Suite and restore later.
    If you got an SD card, you can also do a backup on the SD Card (backup.arc) then restore later (reset and restore: backup.arc and mmc).
    What's the law of the jungle?

  • Tempo problems with imported wav files

    Hey everyone, sorry if there's a quick fix for this in the forums that I couldn't find, but I've been having some tempo problems with imported .wav files.
    Long story short, my system couldn't handle playing all the tracks for a song while recording drums, so I bounced out an mp3 of the song and put it in a new Logic file so my drummer could just play along to that as I recorded him. Unfortunately, the original song is at 167 bpm, but I forgot to change the bpm in the new Logic file with the .mp3 file of the song to 167 bpm, so it was left at the default 120 bpm.
    So, the drums were recorded at the correct 167 bpm, but Logic thinks that those new drum .wav files should be played at 120 bpm, so when I import my drum tracks back into the original file, they do not play correctly at all.
    I could get record it all again, but I wanted to check if there was a way I could salvage what I already have, since my drummer lives about an hour away right now and can't just come over whenever he wants.
    Thanks for the help! I really appreciate it.

    Hi,
    First, do not use MP3 in Logic, the sound quality is less than AIFF, WAV or CAF, and Logic has to decode it for playback, making it a heavier burden on the CPU than an uncoded audiofile, such as AIFF, WAV or CAF.
    Secondly, audio files are independent of Logic's tempo. If you bounce down an audio file in any format (other than Apple Loop), it will play back at the same speed, +regardless of Logics' tempo setting+, either at recording or playback. Logic doesn't 'think' anything. The BPM is only important to MIDI tracks, or to the spacing between audio files. The audio files themselves *are not affected* by the tempo setting. If you import an audio file of tempo 167 into a 120 BPM project, the file will still play at 167, only Logic will indicate the wrong bar positions.
    regards, Erik.

  • Problem while importing a Crystal Report in SAP Business One

    Hi Experts,
                        I am facing a problem while importing a Crystal Report in SAP Business One, it displaying an error  "No matching records found  'Queries' (OUQR) (ODBC -2028)  [Message 131-183]" , and there is no use of this table OUQR  in the Query.
    Kindly let  me know the solution.
    Regards
    Rahul Singh

    Hi Rhaul,
    i don't exactly know why this is a problem, but if your not on latest (881 p10) then upgrade and try again.
    Or as a workaround,
    try saveing from CR to SAP with the CR add-on. That usualy works better then the import.
    Regards,
    D

Maybe you are looking for

  • Cannot open document when emailed to someone.

    I was using LibreOffice and it was working fine as far as opening files on my computer, but when I sent an email with a document using LibreOffice, the person on the other end can't open it.  So, I downloaded OpenOffice and tried using that and still

  • SSH to non standard port

    Hi, We have some routers that we SSH to on a port other than 22. Is there a way in Ciscoworks to configure it to use a different port for some devices? Is CiscoWorks using the perl SSH module as I see a file ssh.pm which could possibly be used to con

  • New to GB guitar recording - Need some noise tips

    Hello everyone, I've finally got my 20" iMac, and now of course, I wanna record some guitar. I have a Traynor YCV80 tube amp, and i've come out of its line out into the imac's line in. I've done all the preference settings in GB and in system prefs i

  • Not able to sign in to CC this morning

    Maybe I missed a maintenance notification; but this morning I am not able to log in to Adobe CC. I am normally logged in. However this morning when I started my laptop I received the pop up box to log in. Each time I attempt the dialogue pops up and

  • The AQ Service Bus showme a bad wsdl ( soap:address location )from internet

    Hi, first of all, excuse my bad english :-) I've a problem when I tray to get a wsdl file from Internet. In Aqualogic I've configured a wsdl file with the next content: <wsdl:service name="EmailValidation"> <wsdl:port binding="tns:EmailValidationSoap