RFC in B2B

Hi,
i am kind of a newbie and i am trying to connect an external system to th XI.
Its an 4.6c System so i can't use Proxies instead i use RFC.
I am a little confused how to configure the R/3 System and the XI-System.
R/3:
so far i understand that u need...
- a RFC-Destination type 3
- a RFC-Destination (RFC_Adapter) of type T with a registered Sever Progamm identified via Programm ID. But whats this Programm ID, is it just an identifier i specify in the Integration Directory? Or is it a real Program?
- a RFC-Destination of type L as a Reference to the RFC_Adapter-Destination
...so far i read in the documentation!!
Everything mentioned i have to configure in the R/3-System because its the sender-system - RIGHT?
Some other questions in my mind:
What do i have to configure in the Integration Engine? Another RFC-Destination?
Do i need to put the external-system in the SLD - i think NO because its a B2B-Scenario and i don't know the external system-landscape!
What to configure in the Integration Directory because its a B2B-Szenario, do i need a Business-Service?! How to configure a Business-Service?
I would appreciate ur help, thx!!

For RFC Sender:
1. In Tx SM59 of R/3 (or any other ABAP based SAP system) which will execute the RFC, create a RFC Destination of Type T (TCP/IP), giving a program ID and gateway host and port of the RFC Server (usually sapgwxx, where xx is System Number).
Usually you may use RFC Server info = R/3 system info, but when you have load balance you must make sure to use the info of the central system (dispatcher) which will do the balance.
2. In XI, create the Sender RFC adapter on the proper Business System (or Business Service, in case of B2B). For RFC Server, enter the same info you provided in RFC Destination: gateway host, gateway port and Program ID. For RFC Metadata Repository, enter the info of the R/3 system as you would enter in SAP Logon.
After activating the adapter, the connection will be done and you can perform connection test of that RFC Destination on SM59.
Just remember that in your ABAP program, you will call RFC Destination through its name, not Program ID. The Program ID is just a reference ID between the two systems which are connected through RFC Server (R/3 and XI).
Regards,
Henrique.

Similar Messages

  • RFC-SOAP (B2B)

    Hi....All,
    1) I am doing RFC-SOAP Scenario (B2B), we r getting the response from target(soap) system to XI, from XI we want to send the response to sap system inbox.. how we will send the response from xi to sap inbox.
    pls suggest me..its very urgent?
    2) for RFC-SOAP Scenario WSDL File required or not, pls suggest me...
    if anybody is having the ex scenario pls send it to me that is very great help for me..
    ****for helpful answers i will assign the points*****
    regards,
    Pasi.

    >
    > 2) for RFC-SOAP Scenario WSDL File required or not, pls suggest me...
    To create the message/data structure in IR , which you want to send it  to target system, there are two ways
    1) Manually create it
    OR
    2) Import WSDL file through External Definitions, it will automatically created.
    For communicating( in ID) no WSDLis required only URL is required to communicate with Web Services which is mentioned in WSDL file or you can ask it from client directly.
    Regards,
    Piyush

  • Soap parameters at target side

    Hi...All,
    i am doing rfc-soap(B2B) scenario for eBanking interfaces.
    i am using the digital certificate at soap side. what are all the paramenters are required at soap target side for my requirement..in soap target side number of parameters are there i.e(Configure user authentication,Certificate Authentication,Configure proxy, Adapter specific msg attribute, security parameters, Conversion Parameters,etc...)..
    what are all the parameters are required pls suggest me..
    regards,
    Pasi.

    Hi,
    Check with this
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm
    REgards
    Seshagiri

  • RFC Error while trying to access function module from business connector

    Hi,
    I am getting the following RFc exceptions in BC server when we invoke the service pub.sap.client:invoke fail as a flow step in Idoc_Status_Add(this service is calling a function module in sap namely ZYBC_IDOC_STATUS_ADD_FROM_BC which Adds status to Idoc (from Business Connector).But no trace of failures are recorded in sap side
    except 1: rfc_failure in BC trace files under monitoring.I need to know the root cause of these errors as the same services have run finely later and IDOCs were also processed successfully without any problem.
    com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: See RFC trace file or SAP system log for more details
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
    at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1217)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3684)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3129)
    at com.wm.pkg.sap.rfc.SAPSession.invoke(SAPSession.java:437)
    at pub.sap.client.invoke(client.java:297)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:281)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:709)
    at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
    at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
    at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
    at com.wm.lang.flow.FlowState.step(FlowState.java:430)
    at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
    at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:709)
    at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:140)
    at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:292)
    at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:559)
    at com.wm.lang.flow.FlowState.step(FlowState.java:430)
    at com.wm.lang.flow.FlowState.invoke(FlowState.java:400)
    at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1786)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:709)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:496)
    at wm.server.net.EmailTransaction$RunService.write(EmailTransaction.java:1375)
    at wm.server.net.EmailTransaction$RunService.run(EmailTransaction.java:1218)
    at com.wm.util.pool.PooledThread.run(C:/NT/Perforce/basis/4.1.0-terra/module/core/source/com/wm/util/pool/PooledThread.java:103)
    at java.lang.Thread.run(Unknown Source)
    could anyone throw light on how this kind of error can be resolved and why it occured?
    Thanks.

    What does the RFC trace file and log say? Has there been any dump on the SAP server? Check the logs and transaction st22 in your SAP system to see if the RFC-module has dumped.
    My guess is the problem is in the RFC-module, I think you should start looking there.
    regards,
    Dionisios

  • Calling New Function Module from JAVA ISA b2b

    I need to call a new function module which accepts some parameters as input and
    returns some result parameters back as output.
    These returned value needs to be displayed on the JSP pages of ISA B2B applications.
    Can someone please guide me and provide code snippet on how to do this?
    Thanks in advance.
    Points will be awarded for all relevant and helpful answers.

    Stride,
    I did this on CRM ISA 4.0...  I used the dev and extension guide as a basis - I think the ISA 5.0 guide has the examples and tutorials in a separate document that can also be downloaded from service.sap.com.
    Here’s some info on how to do it although I can't guarantee this is the full solution or that it will work the same for ISA 5.0, and I will probably forget a lot of stuff as its been a few years since I did it!  I also can’t guarantee it is the correct way to do it – but it worked!  Basically, we built a link into the order overview page to display url’s to order tracking websites using an RFC on the backend CRM system.  Hope it helps anyway.
    1. Create RFC enabled function module in backend.
    2. Edit file backendobject-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification:-
    [code] <backendobject
         xmlns:isa="com.sapmarkets.isa.core.config"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xml="http://www.w3.org/XML/1998/namespace">
         <configs>
              <!-- customer changes in backendobject-config should be done here by extending/overwriting the base configuration-->
              <xi:include
                   href="$
    Template for backend object in customer projects
    Concrete implementation of a backend object
    This implemenation demonstrates how a backend object
    is used to communicate with the CRM system
    @see com.ao.isa.backend.boi.Z_AOFuncBackend#getOrderDeliveryTrackingData(java.lang.String)
    Interface used to communicate with a backend object
    The purpose of this interface is to hide backend implementation details
    from the business objects
    Returns a vector of Z_OrderDeliverTracking objects containing data to link
    to external delivery tracking websites
    @param orderNo The sales order document number
    @return A vector of order tracking objects
    @return
    @return
    @return
    @return
    @return
    @param string
    @param string
    @param string
    @param string
    @param string
    /modification/backendobject-config.xml#xpointer(backendobject/configs/*)"/>
              <!-- This is an example customer extension. A new Backend Object is registered in the framework using XCM extension mechanism. -->
              <!-- If you write customer extensions you should register your backend objects in the same way. -->
              <!-- Please make sure that you use the correct base configuration (e.g. crmdefault for CRM or r3default, r3pidefault for R/3) -->
              <config
                   isa:extends="../config[@id='crmdefault']">
                   <businessObject
                        type="Z_AO_Custom"
                        name="Z_AO_Custom"
                        className="com.ao.isa.backend.crm.Z_AOFuncCRM"
                        connectionFactoryName="JCO"
                        defaultConnectionName="ISAStateless"/>
              </config>
         </configs>
    </backendobject>
    [/code]
    File com.ao.isa.backend.crm.Z_AOFuncCRM.java looks like this :-
    [code] package com.ao.isa.backend.crm;
    //jco imports
    import java.util.Vector;
    import com.ao.isa.backend.boi.Z_AOFuncBackend;
    import com.ao.isa.businessobject.order.Z_OrderDeliveryTrackingItem;
    import com.sap.mw.jco.JCO;
    import com.sap.mw.jco.JCO.ParameterList;
    import com.sapmarkets.isa.core.eai.BackendException;
    import com.sapmarkets.isa.core.eai.sp.jco.BackendBusinessObjectBaseSAP;
    import com.sapmarkets.isa.core.logging.IsaLocation;
    public class Z_AOFuncCRM
         extends BackendBusinessObjectBaseSAP
         implements Z_AOFuncBackend
         // initialize logging
         private static IsaLocation log =
              IsaLocation.getInstance(Z_AOFuncCRM.class.getName());
         /* (non-Javadoc)
         public Vector getOrderDeliveryTrackingData(String orderNo)
              Vector urlData = new Vector();
              try
                   // get Java representation of function module
                   JCO.Function func =
                        getDefaultJCoConnection().getJCoFunction(
                             "Z_BAPI_CRM_ORDER_TRACKING_URLS");
                   // provide export parameters
                   ParameterList params = func.getImportParameterList();
                   params.setValue(orderNo, "ORDER_NO");
                   func.setExportParameterList(params);
                   // execute function
                   getDefaultJCoConnection().execute(func);
                   // get result table
                   JCO.Table table =
                        func.getTableParameterList().getTable("TRACKING_DATA");
                   int numRows = table.getNumRows();
                   for (int i = 0; i < numRows; i++)
                        // get row
                        table.setRow(i);
                        // create a new Z_orderdeliverytracking object
                        Z_OrderDeliveryTrackingItem trackItem =
                             new Z_OrderDeliveryTrackingItem(
                                  table.getString(0),
                                  table.getString(1),
                                  table.getString(2),
                                  table.getString(3),
                                  table.getString(4));
                        urlData.addElement(trackItem);
                        trackItem = new Z_OrderDeliveryTrackingItem();
                   return urlData;
              catch (BackendException bex)
                   // The following key has to be added to WEB-INF/classes/ISAResources.properties
                   // in order to see the exception correctly
                   log.config("ao.b2b.order.error.getOrderTrackingURLs", bex);
              return null;
    [/code]
    And file com.ao.isa.backend.boi.Z_AOFuncBackend.java looks like this:-
    [code] package com.ao.isa.backend.boi;
    //package java.ao.com.ao.isa.backend.boi;
    import java.util.Vector;
    import com.sapmarkets.isa.core.eai.sp.jco.JCoConnectionEventListener;
    public interface Z_AOFuncBackend
         public Vector getOrderDeliveryTrackingData(String orderNo);
    [/code]
    Whilst file com.ao.isa.businessobject.order.Z_OrderDeliveryTrackingItem.java looks like this:-
    [code]
    package com.ao.isa.businessobject.order;
    // Referenced classes of package com.sapmarkets.isa.businessobject.order:
    //            PaymentType
    public class Z_OrderDeliveryTrackingItem // extends SalesDocument implements OrderData
         private String deliveryDocNo;
         private String goodsIssuedDate;
         private String consignmentNo;
         private String status;
         private String url;
         public Z_OrderDeliveryTrackingItem()
         public Z_OrderDeliveryTrackingItem(
              String delDocNo,
              String GIDate,
              String consNo,
              String status,
              String url)
              this.setDeliveryDocNo(delDocNo);
              this.setGoodsIssuedDate(GIDate);
              this.setConsignmentNo(consNo);
              this.setStatus(status);
              this.setUrl(url);
         public String getConsignmentNo()
              return consignmentNo;
         public String getDeliveryDocNo()
              return deliveryDocNo;
         public String getGoodsIssuedDate()
              return goodsIssuedDate;
         public String getStatus()
              return status;
         public String getUrl()
              return url;
         public void setConsignmentNo(String string)
              consignmentNo = string;
         public void setDeliveryDocNo(String string)
              deliveryDocNo = string;
         public void setGoodsIssuedDate(String string)
              goodsIssuedDate = string;
         public void setStatus(String string)
              status = string;
         public void setUrl(String string)
              url = string;
    [/code]
    3. Edit file bom-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification :-
    [code] <BusinessObjectManagers
         xmlns:isa="com.sapmarkets.isa.core.config"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xml="http://www.w3.org/XML/1998/namespace">
         <!-- customer changes in bom-config should be done here by extending/overwriting the base configuration-->
         <xi:include
              href="$/modification/bom-config.xml#xpointer(BusinessObjectManagers/*)"/>
         <!-- This is an example Business Object Manager. It can act as template for customer written Business Object Managers -->
         <BusinessObjectManager
              name="Z_AO-BOM"
              className="com.ao.isa.businessobject.Z_AOBusinessObjectManager"
              />
    </BusinessObjectManagers>
    [/code]
    File com.ao.isa.businessobject.Z_AOBusinessObjectManager.java looks like this:-
    [code] package com.ao.isa.businessobject;
    // Internet Sales imports
    import com.sapmarkets.isa.core.businessobject.management.BOManager;
    import com.sapmarkets.isa.core.businessobject.management.DefaultBusinessObjectManager;
    import com.sapmarkets.isa.core.businessobject.BackendAware;
    Template for a custom BusinessObjectManager in customer projects
    public class Z_AOBusinessObjectManager
         extends DefaultBusinessObjectManager
         implements BOManager, BackendAware {
         // key used for the backend object in customer version of backendobject-config.xml
         public static final String CUSTOM_BOM = "Z_AO-BOM";
         // reference to backend object
         private Z_AOFunc mCustomBasket;
    constructor
         public Z_AOBusinessObjectManager() {
    Method is called by the framework before the session is invalidated.
    The implemenation of this method should free any allocated resources
         public void release() {
    Returns custom business object
         public Z_AOFunc getCustomBasket() {
              if (mCustomBasket == null) {
                   mCustomBasket = new Z_AOFunc();
                   assignBackendObjectManager(mCustomBasket);
              return mCustomBasket;
    [/code]
    And uses file com.ao.isa.businessobject.Z_AOFunc.java which looks like this:-
    [code]
    package com.ao.isa.businessobject;
    // Internet Sales imports
    import com.sapmarkets.isa.core.businessobject.BOBase;
    import com.sapmarkets.isa.core.businessobject.BackendAware;
    import com.sapmarkets.isa.core.eai.BackendObjectManager;
    import com.sapmarkets.isa.core.eai.BackendException;
    import com.sapmarkets.isa.core.logging.IsaLocation;
    // custom imports
    import com.ao.isa.backend.boi.Z_AOFuncBackend;
    import java.util.Vector;
    Template for business object in customer projects
    public class Z_AOFunc extends BOBase implements BackendAware
         // initialize logging
         private static IsaLocation log =
              IsaLocation.getInstance(Z_AOFunc.class.getName());
         private BackendObjectManager bem;
         private Z_AOFuncBackend backendAOBasket;
    Returns a reference to the backend object. The backend object
    is instantiated by the framework.
    @return a reference to the backend object
         private Z_AOFuncBackend getCustomBasketBackend()
              if (backendAOBasket == null)
                   //create new backend object
                   try
                        backendAOBasket =
                             (Z_AOFuncBackend) bem.createBackendBusinessObject(
                                  "Z_AO_Custom");
                        // the backend object is registered in customer version
                        // of backendobject-config.xml using the 'Z_AO_Custom' type
                   catch (BackendException bex)
                        // The following key has to be added to WEB-INF/classes/ISAResources.properties
                        // in order to see the exception correctly
                        log.config("ao.b2b.order.error.getOrderTrackingURLs", bex);
              return backendAOBasket;
    This method is needed when a business object has a corresponding
    backend object.
         public void setBackendObjectManager(BackendObjectManager bem)
              this.bem = bem;
    Returns a vector of url links for tracking
    @return vector of urls
         public Vector getOrderDeliveryTrackingData(String orderNo)
              // the call is delegated to the CRM aware backend object
              return getCustomBasketBackend().getOrderDeliveryTrackingData(orderNo);
    [/code]
    4. Edit file config.xml in folder project_root\b2b_z\WEB-INF to add custom actions (the section below is just the custom stuff added at the end of the file – the Z_orderTracking is the relevant one) :-
    [code] <!-- Begin of custom AO action definitions -->
         <action path="/b2b/Z_orderTracking" type="com.ao.isa.order.actions.Z_OrderTrackingAction">
              <forward name="success" path="/b2b/order/Z_orderTracking.jsp"/>
         </action>
         <action path="/catalog/Z_displaySVGPage" type="com.ao.isa.catalog.actions.Z_SVGPageAction">
              <forward name="success" path="/catalog/Z_SVG_fs.jsp"/>
         </action> [/code]
    Which points at Java file com.ao.isa.order.actions.Z_OrderTrackingAction.java which looks like this :-
    [code] package com.ao.isa.order.actions;
    // internet sales imports
    import com.sapmarkets.isa.core.BaseAction;
    import com.sapmarkets.isa.core.UserSessionData;
    // struts imports
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    // servlet imports
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletException;
    // Internet Sales imports
    import com.ao.isa.businessobject.Z_AOBusinessObjectManager;
    import java.util.Vector;
    This action acts as a template for customer extensions
    public class Z_OrderTrackingAction extends BaseAction
    This method is called by the ISA Framework when the
    action is executed
         public ActionForward doPerform(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
              throws ServletException
              // get user session data object
              UserSessionData userSessionData =
                   UserSessionData.getUserSessionData(request.getSession());
              // gettting custom BOM
              Z_AOBusinessObjectManager myBOM =
                   (Z_AOBusinessObjectManager) userSessionData.getBOM(
                        Z_AOBusinessObjectManager.CUSTOM_BOM);
              // get the order number being processed
              String orderDocNumber = request.getParameter("orderNo");
              // pass the order number back to the page
              request.setAttribute("orderNo", orderDocNumber);
              if (orderDocNumber != null)
                   // Get a vector of delivery tracking objects from lower layers (Business Object layer =>
                   // Business Logic Service Layer)
                   Vector trackingTable =
                        myBOM.getCustomBasket().getOrderDeliveryTrackingData(
                             orderDocNumber);
                   String error = "";
                   if (trackingTable != null)
                        if (trackingTable.size() == 0)
                             error = "true";
                        else
                             error = "false";
                   else
                        error = "true";
                   request.setAttribute("errorMessage", error);
                   request.setAttribute("trackingTable", trackingTable);
              return mapping.findForward("success");
    [/code]
    5. I added the call to the function module for page orderstatusdetail.jsp in folder project_root\b2b_z\b2b\order to display a custom page Z_orderTracking.jsp in the same folder.  To do this I added a link into the HTML to call a JavaScript function that passed the current order number to the /b2b/Z_orderTracking.do actionhandler mapped in the config.xml file.
    So, in summary!  Create an RFC; define business managers for it in the XML files; create a new Strut action and supporting Java class; create all the Java class’ for the managers.
    I hope this makes some sense!
    Gareth.

  • Implemanting Rosettanet PIP 3A4 using BAPI's / RFC's

    Has anyone implemented RosettaNet 3A4 scenario in a productive environment with XI using BAPI's / RFC's?
    We are looking to build B2B using Rosettanet 3A4 but having a hard time finding success stories. Any help would be greatly appreciated!
    Alon

    Hi Alon
    where do u work in israel?

  • A problem about Simple RFC Server

    I'm developing a Simple RFC Server by SAP dotNet Connnector. As a necessary step, I create a TCP/IP destination on R/3 system, however I meet some problem in this step as following: 
      There is a console exe file as Simple RFC server run on the windows side name "RFCConsole.exe", and I want to create a TCP/IP destination by SM59.
      In the process to create it, three data "Program ID", "Gateway Host", "Gateway Service" should be inputted. How to set them correctly? I guess I should set "RFCConsole.exe" to "Program ID", is it correct? And how about the others? Now, I set Computer Name of the windows side to the "Gateway Host" and "SAPGW00" to the "Gateway Service". It failed when test connection. 
      As a sever, the console program also want to register "Program ID", "Gateway Host", "Gateway Service" when it running, are these three data same to the three ones in destination on R/3?
      Thanks a lot to anyone who answer my question.

    First thanks to Guangwei.
    Now I'm success to call it. The Gateway Service Name can be find from R/3 by several ways, and if you do a search in SAP Library you can get them. I use the program 'RSPFPAR' and find it from the result report.
    To Yevgeniy Trukhin:
    I don't know what you mean. If you realy want to know what value the RFC server has, I only can tell you that I just do it as a technology test, no for any bussiness goal.
    However, I think maybe it will be useful as the following scenarios:
    1. There is a current R/3 system with many programs using RFC call. Formerly, it only be needed to exchange data with another R/3 system, but if now I want to connect it with a NO-SAP server, how I can do it? Yeah, there are a lot of ways can realize the connection like ALE, iDoc and so so. But though them, you want to change you code and solution, as the RFC is not useful in those ways. But if you can develop a RFC server run as a service on the target server, you can still stay your code on the R/3, nothing will change only to configure the TCP/IP destination set. So I think in this scenarios the RFC server is a good solution, save money and time.
    2. R/3 system is a high price product, not all the company can use it. So if in the B2B case, develop a RFC server give us a way to keep connection and exchanging data with the customer's R/3 system without buy one for our side. This is also helpful to keep the current solution on NO-SAP side and reduce cost.
    In the integration, SAP want to realize the loose couple so how to work with NO-SAP products is in consideration.

  • BC to PI to RFC / RFC to BC scenarios help

    Hi
    I have a scenarios to work on the Business Connector <> PI <> RFC (R/3) wise versa, I don't have any idea about the BC connectors. Please help on these with your experience and knowledge, like what I need to get from BC side for BC Receiver and BC sender Adapters(PI 7.0).
    Thanks
    Vasu

    Hi Vasu,
    SAP Business Connector:
    The SAP Business Connector is a middleware product based on webMethods’ B2B Integration Server. It allows you to integrate with R/3 using open and non proprietary technology. SAP BC uses the Internet as communication platform and XML/HTML as data format. Thus it seamlessly integrates different IT architectures with R/3.
    SAP BC allows for full bi-directional communication to and from R/3. On the one hand all SAP functionality accessible using BAPIs and IDocs can be made available to business partners over the Internet as secure XML-based services. On the other hand applications and information running on a remote web site can be instantly invoked by a simple SAP function call thus making the information of the Web available to an R/3 System.
    SAP BC provides an XML layer on top of R/3 functionality so that other applications do not need any understanding of R/3 internal data structures or protocols. You can deploy SAP BC to simply but effectively achieve business-to-business integration between trading partners, thereby extending the reach of your SAP infrastructure to customers, partners and suppliers. Examples for applications may include real-time integration between supplier inventories and your SAP System or multi-vendor product, price and availability information and your purchasing application.
    For further Information on the same see WHAT IS SAP BC ?
    SAP XI:
    SAP Exchange Infrastructure (XI) enables you to implement cross-system business processes. The aim of the Exchange Infrastructure is to integrate different versions of SAP and non-SAP systems implemented on different platforms (Java, ABAP, and so on). The Exchange Infrastructure is based on an open architecture, makes uses of open standards (in particular those from the XML and Java environments) and offers services that are essential in a heterogeneous and complex system landscape: Namely a runtime infrastructure for message exchange; configuration options for managing business processes and message flow; and options for transforming message contents between the sender and receiver systems.
    Check the following links:
    Also go through the following links:
    /people/bla.suranyi/blog/2006/07/10/xi--sap-business-connector-integration-using-the-http-adapter
    https://websmp106.sap-ag.de/~sapdownload/011000358700005272252005E/BC2XIMig-RZ.pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a8424011-0d01-0010-e19d-e5bd8ca52244
    /people/kamaljeet.kharbanda/blog/2005/09/16/xi-bi-integration
    Amaresh

  • For sending file in  B2B  scenario

    Hello Friends,
    I need to pass a file to my client's business partner...
    I think its a B2B scenario...
    So how to transfer a file my client to  his business parntner.
    Please suggest which adpter to use at receiver side and how to handle the configuration..
    It should be secure and reliable

    hi,
    you have to use FILE ADAPTER but you need to use PARTY when you are using BPM
    check this blogs for reference
    BPM means Business process management
    To deal with Multiple sender and receivers based on the conditions we could use BPM. Its one of the feature of BPM, but its not mandatory to go for BPM for each n every case. Its depends upon scnenario.
    BPM steps are divided into two types:
    1)message steps
    2)flow steps
    message steps are :
    a)send step
    b)receive step
    c)receiver determination step
    d)tranformation step
    flow steps are:
    a)control step
    b)container operation
    c)block step
    d)wait step
    e)fork step
    f)switch step
    g)undefined step
    h)loop step
    Check these
    BPM:
    Walkthrough with BPM - Walk through BPM BPM in XI https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/integrationProcess%28ccBPM%29inXI&
    BPM-1 Walkthrough with BPM
    BPM-2 Reconciliation of Messages in BPM
    BPM-3 RFC Scenario using BPM --Starter Kit
    BPM-4 The specified item was not found.
    Schedule BPM Schedule Your BPM
    Use of Synch - Asynch bridge in ccBPM Demonstrating Use of Synchronous-Asynchronous Bridge to Integrate Synchronous and Asynchronous systems using ccBPM in SAP Xi
    Use of Synch - Asynch bridge in ccBPM https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    without BPM Sync/Async scenarios without BPM
    without BPM1 Sync/Async communication in JMS adapter without BPM (SP19)
    IDOC BPM IDOCs (Multiple Types) Collection in BPM
    multimapping without BPM /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible---- Multi Map With out BPM
    Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI. Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI.
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure --- Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    IDOCs (Multiple Types) Collection in BPM (N:1 Mapping )
    reward points if helpfull
    regards
    kummari

  • RFC Adapter for multiple clients

    Hi All
    I have a situation where we have a Dev client (030) and a Test client (041) on our SAP Dev system. We are implementing an XI interface with a non-SAP system that also has a Dev and Test environment.  Up to now the interface has only needed to work between our client 041 and either the other Dev <b>or</b> Test system but not both at the same time (I have simply re-configured the target URL in the SOAP adapter).
    However, I have been asked to set up XI so it works with the other system's Dev and Test environements simultaneously.
    Ideally I would like to link our client 030 to their Dev system and our client 041 to their Test system but I don't believe I can have the RFC Sender adapter active for both client 030 and client 041 at the same time.
    If this is not possible then it would be OK for our client 041 to work with both the Dev and Test systems but how do I configure this?
    Our R/3 environment is 4.6C so I can't use Proxies. I have wondered whether using Parties would help but am not sure that they are an appropriate tool for internal communication.
    Any advice, pointers, links would be greatly appreciated.
    Thanks
    Andrew

    <b>Ideally I would like to link our client 030 to their Dev system and our client 041 to their Test system but I don't believe I can have the RFC Sender adapter active for both client 030 and client 041 at the same time.</b>
    u r having 3 option
    1)RFC
    2)Idoc  and
    3)proxy
    since u r having problem with RFC and Proxy..u can go for Idoc...
    parties are used in B2B communication.... i am not sure here u can use it or not....

  • How to get the EXCEL file from web site (b2b) into SAP system?

    Hi Guys,
    I have a requirement of saving the excel file that has been send to SAP system from a B2B site.
    Currently there is a call to the SAP system from the B2B site via an RFC function ,this RFC functions gets the excel file as an input to the SAP system,i need to store this Excel file in the SAP  (as an excel file itself).
    How can i acheive this?
    Please suggest.
    Thanks ,
    Swati

    You can extract a date portion and  assign to the variable and then compare with GETDATE()
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • B2B Addon - BPM Scenario Question

    We have SAP  PO 7.4 single stack working on B2B Scenarios. We will be using AS2 Adapter to send and receive ANSI X12 messages like POs inbound, Order acks Outbound, PO changes inbound etc. We installed B2B Add on ESR Content and has some sample scenarios in  B2B Mapping Kit.
    Scenario 1: When order received from Customer (850)  we need to send Functional Acks ( Both Positive and Negative ) based on the status of success / failure of IDOC Posting. How do we achive this scenario without BPM. What is SAP recommended solution ( RDS approach) for this scenario considering its ANSI X12 850 to IDOC Orders scenario. I'm thinking of using exit in IDOC Posting fucntional module to trigger Proxy to PI which wil lbe sent to Customer after Mapping.
    Along with Funtional ack ECC should send ORDRSP IDOC to PI to ANSI X12 855 as well.
    Scenario 2: in another scenario, If send Order 850 to Vendor wil lthey typically send 855 as a response ? Since Its Orders IDOC outbound, how to make this as synchronous to receive 855 and update ECC with ORDRSP IDOC  without BPM?
    I would like to develope these scenarios avoiding BPM if possible. Since we are not implementing RDS solution,  we will be developing mapping inhouse. what is the SAP standard recommended approach if you used RDS ?
    Thank you

    Hello,
    If I am not wrong you are talking about below scenarios
    These scenarios need not wait for each other( independent of each other)
    In case of outbound EDI interfaces, EDI 997 (if partner is capable of sending one) will be helpful in updating the status of the Outbound IDoc.
    In Inbound EDI scenarios, 997 is generated at adapter level as s0on as message reaches PI successfully, 997 is sent back to partners if requested.
    To understand more on acknowledgements please have a look at below blog
    Functional Acknowledgement (Inbound and Outbound FA 997)- for Beginners
    (P.S.-  ACK 855 is an interface on its own (needs mapping from EDI to SAP (Idoc, rfc, file..))
    Regards,
    Pooja

  • Mix B2B and A2A in integration scenario

    Hello XI experts,
    I'm trying to build an integration scenario in the repository that I want to import later on into the directory for automatic configuration.
    The scenario is HTTP -> XI -> RFC. On the sender side I would like to use a business service, so I selected 'External party with B2B communication' for the sending application component. On the receiver side I would like to use a SAP business system, so I didn't select that option there.
    Now, if I import into the directory, this doesn't work as expected. I can select my business service for the sender side, this works. However, for the receiver side I always have to specify a virtual receiver service and my receiver determination and interface determination are created with a virtual receiver service in it.
    Is there any way to avoid the virtual receiver? Any help is appreciated!
    Best regards,
    Matthias

    Hello Aamir,
    you are right, I don't need virtual receivers for my scenaro and I also don't want to use them.
    However, when modelling my scenario with an integration scenario in the design, I'm forced to do this and I would like to know whether there is any way to avoid this.
    In order to be able to use a business service on the sender side, it seems I have to select the checkbox 'External party with B2B communication' in my integration scenario. When importing & configuring the scenario in the directory, I am then able to select by business service for the sender side. However, for the receiver side I have to specify a virtual receiver, otherwise I cannot finish the config wizard.
    Any more ideas?
    Best regards,
    Matthias

  • WEC Contact (B2B) Site can not finish registration in Chinese language

    We have set up WEC with WEC3.0Patch6 / CRM701SP09 / MDM701SP09 / ERP605SP09.
    We have created a contact cenario (B2B) application.
    When we register user in English or German or Japanese, the registration finish without any error.
    When we register user in Chinese (Both zh_CN and zh_TW), an error appears as "处理期间出错;请联系我们获取支持" as attached pic, the error message means "an error occurred during processing ; please contact us for support" in English。
    I have implemented the note 1763450 - User can not finish registration in contact scenario, but it doesn't work.
    I traced using single session trace, got an log file , the size of log file is more than 100M, I can't upload it.
    I think the most important error message is as follows:
    141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              ENTER [objid]='[email protected]3' + execute(JCO.Function func)
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              begin executing JCO.Function "CRM_WEC_USER_REGISTER"
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              ENTER [objid]='[email protected]3' + getJCoDestination()
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              EXIT getJCoDestination(): serving existing destination
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              Execute with JCoDestination "destination WEC_DEFAULT with properties:{jco.destination.pool_capacity=50, jco.client.ashost=NS0093.Erp.SaaS.Noko.com, jco.destination.auth_type=CONFIGURED_USER, jco.client.cpic_trace=-1, jco.client.destination=WEC_DEFAULT, jco.client.user=WCBTU, propertiesProvider=com.sap.security.core.server.destinations.provider.DestinationsProviderFrame, jco.client.auth_type=CONFIGURED_USER, jco.client.sysnr=30, jco.destination.peak_limit=100, jco.destination.expiration_time=300000, jco.client.type=3, jco.destination.max_get_client_time=100000, jco.client.client=800, jco.client.codepage=4103}''
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoManagedConnectionFactory         BEGIN executeJCoFunction; [destination]='destination WEC_DEFAULT with properties:{jco.destination.pool_capacity=50, jco.client.ashost=NS0093.Erp.SaaS.Noko.com, jco.destination.auth_type=CONFIGURED_USER, jco.client.cpic_trace=-1, jco.client.destination=WEC_DEFAULT, jco.client.user=WCBTU, propertiesProvider=com.sap.security.core.server.destinations.provider.DestinationsProviderFrame, jco.client.auth_type=CONFIGURED_USER, jco.client.sysnr=30, jco.destination.peak_limit=100, jco.destination.expiration_time=300000, jco.client.type=3, jco.destination.max_get_client_time=100000, jco.client.client=800, jco.client.codepage=4103}' + [func]='CRM_WEC_USER_REGISTER'
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoManagedConnectionFactory         END executeJCoFunction
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              end executing JCo Function "CRM_WEC_USER_REGISTER" in "213" milliseconds
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.tc.core.backend.sp.jco.JCoConnectionStateless              EXIT execute(JCO.Function func)
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.app.common.module.user.backend.impl.crm.rfc.WrapperCRMWecRegister ::CRM_WEC_USER_REGISTER:: - OUT: OUTPUT * ET_BUSINESSPARTNER=TABLE[ ]ET_MESSAGES=TABLE[ REF_GUID='' REF_KIND='' TYPE='D' ID='TL' NUMBER='088' MESSAGE='Z1 与 ZH 不匹配' LOG_NO='' LOG_MSG_NO='000000' MESSAGE_V1='Z1' MESSAGE_V2='ZH' MESSAGE_V3='' MESSAGE_V4='' PARAMETER='' ROW='0' FIELD='' SYSTEM='CP1CLNT800' TARGET='' ]EV_RETURNCODE='99' EV_USERNAME=''
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.app.common.module.user.backend.impl.crm.rfc.WrapperCRMWecRegister ::CRM_WEC_USER_REGISTER:: - OUT: CRMT_ISALES_RETURN_TAB[0]   * REF_GUID='' REF_KIND='' TYPE='D' ID='TL' NUMBER='088' MESSAGE='Z1 与 ZH 不匹配' LOG_NO='' LOG_MSG_NO='000000' MESSAGE_V1='Z1' MESSAGE_V2='ZH' MESSAGE_V3='' MESSAGE_V4='' PARAMETER='' ROW='0' FIELD='' SYSTEM='CP1CLNT800' TARGET=''
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.app.common.module.user.backend.impl.crm.rfc.WrapperCRMWecRegister ::CRM_WEC_USER_REGISTER:: - OUT: CRMT_ISALES_RETURN_TAB[1]   * REF_GUID='' REF_KIND='' TYPE='D' ID='' NUMBER='000' MESSAGE='Error during user creation in class CL_IM_CRM_WEC_USER_REG_CO: Creation of Contact failed' LOG_NO='' LOG_MSG_NO='000000' MESSAGE_V1='' MESSAGE_V2='' MESSAGE_V3='' MESSAGE_V4='' PARAMETER='' ROW='0' FIELD='' SYSTEM='' TARGET=''
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Debug   com.sap.wec.app.common.module.user.backend.impl.crm.rfc.WrapperCRMWecRegister ::CRM_WEC_USER_REGISTER:: - OUT: CRMT_ISALES_RETURN_TAB[2]   * REF_GUID='' REF_KIND='' TYPE='E' ID='' NUMBER='030' MESSAGE='处理期间出错;请联系我们获取支持' LOG_NO='' LOG_MSG_NO='000000' MESSAGE_V1='' MESSAGE_V2='' MESSAGE_V3='' MESSAGE_V4='' PARAMETER='' ROW='0' FIELD='' SYSTEM='' TARGET=''
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Path    com.sap.wec.app.common.module.user.backend.impl.crm.rfc.WrapperCRMWecRegister Exiting method
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Error   com.sap.wec.app.common.module.user.backend.impl.UserMaintenanceBase    User is not registered
    Mar 24, 2014 12:17:46 PM Thread[HTTP Worker [@1141952172],5,Dedicated_Application_Thread] Path    com.sap.wec.app.common.module.user.backend.impl.UserMaintenanceBase    Exiting method
    the message 'Z1 与 ZH 不匹配' means "'Z1 and ZH not match" in English.
    Please help.

    Hi Nicola,
    Could you please help to solve another problem:
    WEC Contact (B2B) Site Error when add product to Java Cart
    Best regrads,
    Heart Tang

  • ISA B2B/B2C OCI Integration

    Hi All,
       My requirement is to use an External Catalog from ISA B2C using the OCI. I have got to the point where i can call the external catalog using the OCI. But when i try to get back to ISA Shopping basket from the external catalog, I get 'Session Expired/Invalid' exception. I tried with B2B, still the same exception. Could someone please let me know whats missing.
    Greatly appreciate all the help!!
    Thanks,
      Vishal.

    There are no packaged solutions available for this. SAP CRM E-Commerce is very closely integrated to CRM or R/3 backend system.
    Please refer to the following thread SAP CRM and Magento and check the replies by The specified item was not found.
    Since Magento is PHP based, you must know how to integrate the PHP based Magento to any SAP system using the RFC integration. Refer to this article in SDN - [Integrating SAP with PHP|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a5d5b6f6-0301-0010-4fae-f3b91bcfd642]
    The simplest scenario will be to capture the order in Magento and then create in the SAP system (say R/3 backend) for further processing of the order.
    But there are more complex things that you may need to bring to the table before taking this route.
    1. Product master is the source for product catalog item details - you don't have to maintain them separately. Catalog maintenance will easily become a nightmare if your product master is not directly related to the catalog. With Magento, you will end up developing many new interfaces to synchronize the SAP product / material master and the Magento catalog.
    2. Catalog product pricing - one pricing every where if you use SAP solution. With Magento, you have to find a solution of how to synchronize the price - as what is seen by the customer in the web and what is being processed in SAP.
    3. Customer specific pricing and catalog views
    4.Product availability
    Bottom line. If you / your customer already has SAP platform, why would one go through all the pain to loose the integrated solution?
    In my opinion, compared to the effort required for Magenta to SAP integration, fixing the SAP E-Commerce UI is a much simpler approach.
    But if you are trying to develop some packaged solution, then, spend your time and productize the solution.

Maybe you are looking for

  • I have two different iPods.  How do I connect the new one to iTunes?

    I now have two iPods - a 30GB iPod I purchased about a year and a half ago which plays music, Audible books, and has photos slide show capability plus color screen. Yesterday I collected enough credit card points to afford the new 5th Generation iPod

  • Mms streams won't play

    I ran the recent 10.6.4 update. A bit earlier in the day I ran a Flip4mac update. For whatever reason, I cannot stream an NPR station. The stream is mms://imedia.unr.edu/kunr. Quicktime replies that it does not recognize the mms prefix. Quicktime 7 r

  • HT1766 how to retrieve my back up password

    i've just purchased a new iphone and my old iphone was backed up on my pc - i don't remember my password. Can i reset it?

  • Has anyone ever got good results with an autorouter?

    Hi, I just read a recent mesaage about using the autorouter. For the last 20 years i have been in designing PCB's, and I never met anyone that uses an autorouter... So I wondered if any of you ever used any (ultiboard or other) with good results, and

  • Duplicate a composition layer in the timeline, at same time make new comp

    Hi, I know that in the project panel I can do Control D and make a new comp. I know that in the layer panel I can do control D and make a new layer for a different comp, which keeps all the animations I have applied to that comp. I also know that aft