Generic Sync: How to register 2 Outbound Methods

Hello,
i am developing a generic sync application.
I have registered a method for inbound+outbound.
It works well.Now i have a second method in the same application. I made the mapping in BWAFMAPP,but when i try to create a outbound container for the method,i get the exeption method is not registerd.
Coding:  outfactory.createOutboundContainer(VisibilityType.USER_SHARED,2_METHOD,outboundContainer.TYPE_REQUEST);
I think i have to do something in doInitialize() for the second container ,but i don't know exactly what.
Can anyone help me?
Regards

Hi,
go create a new class like this one:
import com.sap.ip.me.api.sync.InboundContainer;
import com.sap.ip.me.api.sync.InboundProcessor;
public class MyProc implements InboundProcessor {
     public String getMethodName() {
          return "R3_2_METHOD";
     public void process(InboundContainer inboundContainer) {
          System.out.println("Container for " + getMethodName() + " came in...");
then, register it at the Registry like this:
InboundProcessor i = new MyProc();
InboundProcessorRegistry.getInstance().register(i);
Cheers, Stefan

Similar Messages

  • How to see the data in data containers when working on Generic Sync ?

    Hi All,
    I am working on Mobile Sales For HandHeld Generic Sync based application. To check the data transafer from Mi Client > MI server> CRM backend, we are using Generic Sync Queue Monitor in NWA. But how to check the actual dara in data containers showed on the monitor? Any specific transaction ( e.g. merep_mon for smart sync) to chk the same?
    Thanks & regards,
    Rucha Atre

    Hi,
    This is a tedious process of viewing the data in the containers since there is no tool to monitor the same. The data sent from the client is stored MESYHEAD and MESYBODY. Once the entire processing is completed then the entries from this table is deleted. If the processing has failed or not taken place then the entries will in this table.
    Data Containers will name value pairs with field name and data in the data field. This table will also contain data from smart sync applications.
    Thanks..
    Preetham S

  • Generic Sync Application and Persistence DB2e

    Hi all,
    I have a generic sync application. I need persistence and so, I have created a xml file with many syncbo to manage the persistence with db2e. If I execute the statement before the synchronization:
    SmartSyncRuntime.getInstance().getSyncBoDescriptorFacade().getAllSyncBoDescriptors().size()
    the result is five (because I have five syncbo).
    But when I do a generic synchronization and I try to store data of this synchronization into syncbo, I get an exception because only there is one syncbo.
    In fact, the previous statement returns only one synbo. This syncbo is called MIAUTH and I don´t have defined it.
    How can I solve this issue? Thanks a lot.
    Regards,

    Hi all,
    I know it is better to use persistence API than syncbos in generic sync application but we have many problems with persistence API and SP versions. While SAP solve our problems we are searching any alternative.
    We use MVC and after doing generic synchronization, if the application generates a event and navigate to other jsp and in it, the application generates other event, I get all of my syncbos.
    How could I simulate it, after generic sync finishes, in the same method by code? Any ideas?
    Thanks and Regads.

  • Problem in Generic Sync example

    Hi
    I downloaded the generic sync templete from the MDK documentation and deployed it to my MI client but when i try to get the information from the WEBAS it is giving the following error
    Error: 500
    Location: /SAMPLE_GENERICSYNC/start
    Internal Servlet Error:
    java.lang.NullPointerException
         at com.sap.ip.me.sync.SyncHeader.(Unknown Source)
         at com.sap.ip.me.sync.SyncOutboundContainer.(Unknown Source)
         at com.sap.ip.me.sync.SyncOutboundContainer.(Unknown Source)
         at com.sap.ip.me.sync.ContainerFactory.createOutboundContainer(Unknown Source)
         at genericsyncexample1.GenericSyncExample.getUserInfo(Unknown Source)
         at genericsyncexample1.GenericSyncExample.doHandleEvent(Unknown Source)
         at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doPost(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
         at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
         at org.apache.tomcat.core.Handler.service(Handler.java:287)
         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
         at java.lang.Thread.run(Thread.java:479)
    The Trace error from the MI Client is
    E There is no MSD for current application (genericsync_simple)
    how do i set the MSD for the Application?
    do i have to make any changes to the template and then deploye or is there anything missing in the SAP WebAS installed?
    i also checked the BWAFMAPP table for the method name "MDK_USER_INFO_READ"
    Thanks and Regards
    Gopi

    Hi Gopi!
    You are getting the following error from the Trace error from the MI Client is
    "E There is no MSD for current application "(genericsync_simple)
    Is that right?
    (1) Log On to MI Web Console, Verify you have Uploaded the Mobile Component "genericsync_simple" correctly in the MI WebConsole.Since you have deployed the application in MI Client you should have your MCD Description here.Make sure the deployment info is correct.
    (2) Log on to SAP MI Server and go to transaction MCD and then display your MCD "genericsync_simple' and make sure the information provided under Deployment Tab matches correctly with your info in MI Web Console.It should be the same.
    (3) You have already checked table BWAFMAPP for method MDK_USER_INFO_READ and make sure you have the correct BAPI Wrapper assigned here.You are fine here i guess.
    (4)Verify that table MEMAPPDEST has the correct RFC Destination defined for the Method MDK_USER_INFO_READ.
    (5) Did you Re-Start your MI Client after the First Sync that deployed the application in your MI Client.
    Setting up MCD is part of Step 1 and 2.You should have completed it already.
    Let me know your results.
    Thanks
    Gisk
    Message was edited by: Sivakumar Ganesan(Gisk)

  • Problem with persistence in Generic Sync application

    Hi:
    We are developing an application which runson SAP Mi 2.5, SP 18,
    Windows Mobile 5.0 and Generic Sync for PDAs.
    We need persistence in our application. We tried with persistence API but
    we found a problem and we send a message to SAP. Until we can solve
    this issue we must implement persistence in other way to satisfy our customer requierements
    Since now,we have implemented persistence with files but the performance of this solution does not meet our customer requirements (the search of data in the PDA is very slow).
    We are thinking in another solution, which consists on using
    Syncbos.Using this alternative, before making a generic sync, and
    executing the code shown below:
    SmartSyncRuntime.getInstance().getSyncBoDescriptorFacade
    ().getAllSyncBoDescriptors()
    the returned syncBOS are those which I have defined in XML. On the
    contrary, after making a generic sync, executing the same code, the
    returned syncbos ARE NOT those whic I have defined in XML. The only
    return that I get is the MIAUTH.
    Any other ideas?
    Thanks
    Kind Regards

    hi satur,
    there are some things to take care if you want to use the persistence layer of the
    SmartSync layer from your GenericSync app.
    first, you have to let the MI client think that your application is using the
    SmartSync functionality. this can be achieved by just including a dummy metadata
    meRepMeta.xml file in the war archive during the deployment process. once the
    MI client framework sees this during the installation, it will set a flag on the MSD
    that your app is a smartsync.
    second, if your app is considered a smartsync, MI will generate the delta request
    and upload messages for your data if ever you have your SyncBo defined in the
    metadata. Since you don't want such functionalities to be ON, i would suggest to
    mark all your SyncBo as local ones; i.e. using attributes suppressDownload=true
    and suppressUpload=true. this way, the MI framework will skip creating the requests
    and delta upload messages for your app during the synchronization process.
    third, your application has to have the syncEventListener implementation to get
    notification when the Sync button (or event) was initiated. if you don't want your
    app to be notified, you may just add synchronization button within your application
    that will call your data manager to prepare your containers (i.e. retrieving the newly
    inserted syncbo, modified syncbos and the list of deleted ones -> genericSync
    containers) and to call the synchronizeWithBackend method.
    fourth, you need to have the inboundProcessor that will parse your data and insert
    them a SyncBo into your local database.
    having tried this but i guess it might work...
    regards
    jo

  • Problem with Generic Sync after upgrade

    Hi guru,
    I have this problem:
    I have done a upgrade ME2.1 -> MI2.5 SP18.
    I have a simple Generic sync application that using a simple Function Module:
    <b>
    function Z_ME_TEST_CONNECTION.
    ""Interfaccia locale:
    *"  EXPORTING
    *"     VALUE(STATUS) LIKE  BWAFSYHEAD-STATUS
    *"  TABLES
    *"      INBOUND_CONTAINER STRUCTURE  BWAFCONT
    *"      OUTBOUND_CONTAINER STRUCTURE  BWAFCONT
      perform CALL_OFFLINE_ME_METHOD using 'TEST_CONNECTION'
                                            INBOUND_CONTAINER[]
                                            OUTBOUND_CONTAINER[].
      OUTBOUND_CONTAINER-FIELDNAME = 'RESULT_CONNECTION' .
      OUTBOUND_CONTAINER-LINENUMBER = 0 .
      OUTBOUND_CONTAINER-FIELDVALUE = 'OK'.
      append OUTBOUND_CONTAINER.
    endfunction.</b>
    When i synchronize my mobile client it returns back
    <b>"EWAF                 001Could not execute method Z_ME_TEST_CONNECTION"</b>
    Can anybody help me in resolving this?

    Hi Sivakumar, I have write the my FM in the BWAFMAPP and the RFC destination in MEMAPPDEST but i have tha same error.
    This is my simple method in my application:
    <b>public String testSync(String userName) {
              String errormessage = null;
              try {
    //        get user out of the SyncSettings
                String user = Configuration.getInstance().getProperty(PropertyKeys.SYNCSETTINGS_USER, userName);
                OutboundContainerFactory outfactory = OutboundContainerFactory.getInstance();
                if (outfactory == null) {
                   errormessage = "testSync->OutboundContainerFactory.getInstance failed";
                }  else {
                   OutboundContainer out = outfactory.createOutboundContainer(
                   VisibilityType.SEPARATED,
                   R3_METHOD_TEST_SYNC,
                   OutboundContainer.TYPE_REQUEST);
              // add the name that has been typed into the JSP
                   out.addItem(DC_I_USER_NAME, user.toUpperCase());
                  out.addItem(DC_I_NUMBER_OF_LINES,"0");
                   out.close();
              // Start Sync
                 SyncManager.getInstance().synchronizeWithBackend(VisibilityType.SEPARATED);
              catch (SyncException ex) {
                   errormessage = ex.getMessage();
              catch (IllegalArgumentException ex) {
                      errormessage = ex.getMessage();
              catch (Exception ex) {
                        errormessage = ex.getMessage();
              finally {
            System.out.println("testSync: errormessage="+errormessage);
              return errormessage;
         }</b>
    You have anathor idea?
    Thanks

  • How to register a report program ins EBS?

    HI,
    I made a new report program called APVOUCHER.rdf it is developed/tested/ and running on Reports 10g windows. Then I ftp it to my EBS R12 linux server. Then I put it under the base path of $AP_TOP/reports/us.
    Then I register it in EBS using this
    a) Define the concurrent program executable with the Oracle Application Object Library. This links the execution file and the method used to execute it with a defined concurrent program. Log into Applications as the System Administrator and navigate to Concurrent > Program > Executable
    b) Define the concurrent program with the Oracle Application Object Library along with any program parameters or any incompatibilities. Log into Applications as the System Administrator and navigate to
    Concurrent > Program > Define.
    But in the 2nd define the program APVOUCHER ca not me found in LOVs provided under region
    Excutable
    Name>
    Method>
    If I click LOV for Name the report name is not in there :(
    Anything I miss in here?
    Thanks a lot

    Hi,
    Before you define the report, navigate to Concurrent > Program > Executable and fill out the form as follows:
    Executable: <REPORT SHORT NAME> --> (Similar to the report name you have uploaded but without .rdf)
    Short Name: <REPORT SHORT NAME> --> (Same as above)
    Application: Payables
    Description: <Description>
    Execution Method: Oracle Reports
    For more details, please refer to:
    Note: 133991.1 - How to Register a Custom Report
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=133991.1
    Once you are done with the above, you need to add this concurrent program to the Request Group which is attached to your responsibility.
    - Login to System Administrator responsibility
    - Navigate to Security > Responsibility > Define
    - Query the Responsibility Name
    - Write down the Request Group
    - Navigate to Security > Responsibility > Request
    - Query the Request Group
    - Add the concurrent program
    You should be able to see the concurrent program from the responsibility then.
    Regards,
    Hussein

  • BAPI call generic sync?

    Hi,
    i am an absoulte newbie in this area of mobile infrastructure.
    I want to know if it is possible to call a BAPI in the backend from a JSP application with generic sync?
    If yes, how does it work?
    If no, how can i use that BAPIS anyway?
    Thanx
    Tim
    Message was edited by: Tim Nees
    Message was edited by: Tim Nees

    Hi,
    please check the following example in the MDK:
    http://media.sdn.sap.com/public/html/submitted_docs/MI/MDK_2.5/content/appdev/genericsync/introduction.html
    To generate wrapper modules for your bapis check out the transaction ME_WIZARD.
    Rgds Thomas

  • Generic sync not work correctly

    Hi,
    We are trying to get the inbound container in Java application, we use the method
    GetElementsWithFieldName(String) in the object InboundContainer, this method returns an array that has only one entry, but really the wrapper function in R3 returns 6500 entries.
    Best regards.
    Thanks all.
    SCZ

    hi Satur,
    Is your Generic Sync Application Synchronous? you may find it in using the OutBoundContainer Type. if it is TYPE_OUTBOUND its asynchronous otherwise (TYPE_REQUEST) its synchronous. The same information can be found in MESYHEAD table entries too.
    If it is Asynchrnous, then the MESYBODY Containers won't get deleted unless you sync from the client. if it is synchronous, it will disappear immediately.
    I suggest your application be ASynchronous and check the same. If it still happens, there's some problem with your middleware. It is not taking the container as ASynchronous Processing. You'll have to go all over your Post-Installation Settings to check if all are right. (Tedious process indeed)
    If it is synchrnous and your client is not receiving all the entries, the problem is with your receiver code handling. check your Process() method.
    Regards
    Ak.

  • Generic sync issue, MI70SP14P5

    Hi
    Sometimes my generic sync unexpectedly stops on the mobile client on a PDA.
    I have a JSP-application running in IBrowse on Intermec PDA. I know the PDA is connected as I have a remote connection open at the same time I was testing this.
    This is from the trace.txt, does anyone know what it mean?
    D End: Dumping file /MI/sync/(SHARED)/out/package.out
    I Outbound file size for user (SHARED) is 2038
    P Do not use http proxy (system properties update)
    P Use following gateway for synchronization: https://mobizcm2.yara.com:443
    I GzipDataCompression: Gzip data compression is switched on
    P Sending outbound file compressed to server.
    P Outbound file was compressedly sent.
    I HttpSynchronizer caught exception java.net.SocketException: Unexpected end of file from server
    java.net.SocketException: Unexpected end of file from server
         at com.sun.net.ssl.internal.www.protocol.https.HttpClient.b()
         at com.sun.net.ssl.internal.www.protocol.https.HttpClient.a()
         at com.sun.net.ssl.internal.www.protocol.https.HttpClient.b()
         at com.sun.net.ssl.internal.www.protocol.https.HttpClient.a()
         at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInputStream()
         at com.sap.ip.me.sync.HTTPSynchronizer.getInputStreamViaTimeOutOrNot()
         at com.sap.ip.me.sync.HTTPSynchronizer.synchronize()
         at com.sap.ip.me.sync.HTTPSynchronizer.synchronize()
         at com.sap.ip.me.sync.HTTPSynchronizer.exchangeData()
         at com.sap.ip.me.sync.SyncManagerImpl.processSyncCycle()
         at com.sap.ip.me.sync.SyncManagerImpl.syncForUser()
         at com.sap.ip.me.sync.SyncManagerImpl.processSynchronization()
         at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend()
         at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend()
         at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend()
         at com.yara.industrial.yaraapp.sync.TestconnSynchronizationProvider.doSync()
         at com.yara.industrial.yaraapp.bl.TestconnBl.checkConn()
         at com.yara.industrial.yaraapp.sync.SyncHandling.Synchronize()
         at com.yara.industrial.yaraapp.SyncServlet.doHandleEvent()
         at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetThreadSafe()
         at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet()
         at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doPost()
         at javax.servlet.http.HttpServlet.service()
         at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service()
         at javax.servlet.http.HttpServlet.service()
         at org.apache.tomcat.core.ServletWrapper.doService()
         at org.apache.tomcat.core.Handler.service()
         at org.apache.tomcat.core.ServletWrapper.service()
         at org.apache.tomcat.core.ContextManager.internalService()
         at org.apache.tomcat.core.ContextManager.service()
         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection()
         at org.apache.tomcat.service.TcpWorkerThread.runIt()
         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
         at java.lang.Thread.run()
    Regs
    Øyvind

    Thank you Oliver!
    I will test it and let you know if this is working better.
    Regs
    Øyvind

  • How to register Package in oracle apps?

    Hi All
    How to register package in oracle apps?
    If package contains 3 procedure, i want to call 2nd procedure of the package when i submit the concurrent program in srs window.. Can any one give the registration for the same

    To add to Gyan's comment:
    Go to system adminstration responsibility
    Create a conc. executable. Select execution method as pl/sql stored program and then enter your second procedure name as follows
    package_name.procedure_name.
    Then create conc. program that uses the above executable.
    Add the program to a request group.
    Add the request group to a responsibility.
    Now you will be able to run your procedure.
    Hope this helps,
    Sandeep Gandhi

  • How to register and unregister Mbean server when jvm is crashed.

    Hi All,
    how to register and unregister Mbean server when jvm is crashed with specifying like internal error(xxxxxxxxxxxsome number)
    I am getting error NameAlreadyBindExcetion when i call the below method in my program, how to unregister and register again, can any one can help on this topic?
    internalConnectorService.start();
    regards
    Prasad.Nadendla

    Looks like your server object is already bound and registered and your trying to re-register the same...
    is that a corba server? if yes, you'd be able to check that with the NamingService tools

  • Authentication on MI Server + Generic SYnc

    Hi,
    When we call a RFC by Generic Sync, if i call this RFC 10 times,  MI Client do the authentication (user+password) on MI Server 10 times? If yes, is there a way to increase the performance to do this authentication?
    Other... If a user is add in 10 devices, if he needs update password, Will he need update in this 10 devices?
    Or there is a way to do the authentication online on MI Server?
    Regards,
    Bruno
    Message was edited by:
            Bruno Ambrozio
    Message was edited by:
            Bruno Ambrozio

    Hi Nameeta,
    This synchronization time is with Windows Mobile 2003...
                                  10 seconds
    MI Client -
    > MI Server
                <----
                                 2 seconds
    But, using the same WLAN, the tests with Windows Desktop are very differences...
                                  3 seconds
    MI Client -
    > MI Server
                <----
                                 2 seconds
    I know that the hardware of Windows Mobile is less powefull than Windows Desktop, but how i said the WLAN is the same... i would like to understand the large difference...
    Thanks for your attention.
    Regards,
    Bruno

  • Please guide me how to do the Outbound Porcess in ALE

    Hi Friends,
    Kindly guide me on ALE/IDOC's step by step how to work on Outbound Process.
    and the generated IDOC must be download & stored on the PC of the Sending System only in .txt file format.
    so that the XI will collect that particular file in .txt format & upload it for Inbound process.
    Thanks in Advance
    Ganesh

    IDoc Types:
    IDoc type structure can consist of several segments, and each segment can consist of several data fields. The IDoc structure defines the syntax of the data by specifying a list of permitted segments and arrangement of the segments. Segments define a set of fields and their format.
    An IDoc is an instance of an IDoc Type and consists of three types of records.
    i. One Control record: each IDoc has only one control record. The control record contains all the control information about an IDoc, including the IDoc number, the sender and recipient information, and information such as the message type it represents and IDoc type. The control record structure is same for all IDocs.
    ii. One or Many Data records: An IDoc can have multiple data records, as defined by the IDoc structure. Segments translate into data records, which store application data, such as purchase order header information and purchase order detail lines.
    iii. One or Many Status records: An IDoc can have multiple status records. Status record helps to determine whether an IDoc has any error.
    Message in IDoc Type:
    A Message represents a specific type of document transmitted between two partners.
    Outbound Process in IDocs:
    Outbound process used the following components to generate an IDoc. A customer model, and IDoc structure, selection programs, filter objects, conversion rules, a port definition, an RFC destination, a partner profile, service programs, and configuration tables.
    The Customer Model:
    A customer model is used to model a distribution scenario. In a customer model, you identify the systems involved in a distribution scenario and the message exchanged between the systems.
    Message control:
    Message control is a cross application technology used in pricing, account determination, material determination, and output determination. The output determination technique of Message control triggers the ALE for a business document. Message control separates the logic of generating IDocs from the application logic.
    Change Pointers:
    The change pointers technique is based on the change document technique, which tracks changes made to key documents in SAP, such as the material master, customer master and sales order.
    Changes made to a document are recorded in the change document header table CDHDR, and additional change pointers are written in the BDCP table for the changes relevant to ALE.
    IDoc Structure:
    A message is defined for data that is exchanged between two systems. The message type is based on one or more IDoc structures.
    Selection Program:
    Is typically implemented as function modules, are designed to extract application data and create a master IDoc. A selection program exists for each message type. A selection program’s design depends on the triggering mechanism used in the process.
    Filter Objects;
    Filter Objects remove unwanted data for each recipient of the data basing on the recipients requirement.
    Port Definition:
    A port is used in an outbound process to define the medium in which documents are transferred to the destination system. ALE used a Transactional RFC port, which transfers data in memory buffers.
    RFC Destination:
    The RFC destination is a logical name used to define the characteristics of a communication link to a remote system on which a function needs to be executed.
    Partner Profile:
    A partner profile specifies the components used in an outbound process(logical name of the remote SAP system, IDoc Type, message type, TRFC port), an IDoc’s packet size, the mode in which the process sends an IDoc (batch versus immediate), and the person to be notified in case of error.
    Service Programs and Configuration Tables:
    The outbound process, being asynchronous, is essentially a sequence of several processes that work together. SAP provides service programs and configuration tables to link these programs and provide customizing options for an outbound process.
    Process flow for Distributing Transactional Data:
    Transactional data is distributed using two techniques: with Message control and without message control.
    Process flow for Distributing Master Data:
    Master data between SAP systems is distributed using two techniques: Stand alone Programs and Change Pointers.
    Triggering the Outbound Process via Stand-Alone Programs:
    Stand-Alone programs are started explicitly by a user to transmit data from one SAP system to another. Standard Programs for several master data objects exist in SAP. Ex. The material master data can be transferred using the RBDSEMAT program or transaction BD10.
    The stand-alone programs provide a selection screen to specify the objects to be transferred and the receiving system. After the stand-alone program is executed, it calls the IDoc selection program with the specified parameters.
    Triggering the Outbound Process via Change Pointers:
    The change pointer technique is used to initiate the outbound process automatically when master data is created or changed.
    A standard program, RBDMIDOC, is scheduled to run on a periodic basis to evaluate the change pointers for a message type and start the ALE process for distributing the master data to the appropriate destination. The RBDMIDOC program reads the table TBDME to determine the IDoc selection program for a message type.
    Processing in the Application Layer:
    The customer distribution model is consulted to make sure that a receiver has been defined for the message to be transmitted. If not, processing ends. If at least one receiver exists, the IDoc selection program reads the master data object from the database and creates a master IDoc from it. The master IDoc is stored in memory. The program then calls the ALE service layer by using the function module MASTER_IDOC_DISTRIBUTE, passing the master IDoc and the receiver information.
    Processing in the ALE Interface Layer:
    Processing in the ALE Layer consists of the following steps:
    • Receiver Determination: The determination of the receiver is done through Customer Distribution Model.
    • IDoc Filtering: if an IDoc filter is specified in the distribution model for a receiver, values in the filter are compared against the values in the IDoc data records. If a data record does not meet the filter criteria, it is dropped.
    • Segment Filtering: For each sender and receiver combination, a set of segments that are not required can be filtered out.
    • Field conversion: Field values in data records are converted by using the conversion rules specified for the segment.
    • Version change for segments: Segments are version-controlled. A new version of a segment always contains fields from the preceding version and fields added for the new version. Release in IDoc type field of the partner profile to determine the version of the segment to be generated.
    • Version change for IDocs: IDocs are also version controlled. The version is determined from the Basic Type field of the partner profile.
    • Communication IDocs generated: The final IDoc generated for a receiver after all the conversions and filtering operations is the communication IDoc. One master IDoc can have multiple communication IDocs depending on the number of receivers identified and the filter operations performed. IDoc gets the status record with a status code of 01 (IDoc Created).
    • Syntax check performed: IDoc goes through a syntax check and data integrity validation. If errors found the IDoc get the status of 26 (error during syntax check of IDoc – Outbound). If no errors found the IDoc gets the status 30 (IDoc ready for dispatch – ALE Service).
    • IDoc dispatched to the communication Layer: In the ALE process, IDocs are dispatched using the asynchronous RFC method, which means that the sending system does not await for data to be received or processed on the destination system. After IDocs have been transferred to the communication layer, they get a status code 01 (Data Passed to Port OK).
    Processing in the Communication Layer:
    To dispatch an IDoc to a destination system, the system reads the port definition specified in the partner profile to determine the destination system, which is then used to read the RFC destination. The RFC destination contains communication settings to log o to the remote SAP system. The sending system calls the INBOUND_IDOC_PROCESS function module asynchronously on the destination system and passes the IDoc data via the memory buffers.
    you can use the file port in the partner profile to store the data in the application server.once it saved in the application server it cna be downloaded to the pc.

  • How to register a Mobile device Id in the netweaver Administer login?

    Hello all,
                 How to register a Mobile device Id in the netweaver Administer login?
    I logged in as J2ee_admin and I see SAP Mobile Infrastructure under the Administration adn underneath I see Mobile device releated configurations But there I don't see any options for creating a entry for registering a mobile device.
    How can we register a mobile device/laptop there???
    Thanks for your help in advance.
    Thanks,
    Greetson

    Hi Greetson,
    well, if you open the NWA and select
    "Mobile Infrastructure->Device Maintenance", search for all devices.
    Select the deviceId you are interested in, then in the bottom part of the screen you will find some informations of the device. Open the second tab ("Mobile Components"). You should see "MobileEngine JSP" there as entry. Correct so far?
    Then there is a button "Add/Remove"
    If you select that button a new window opens. In there you can select the component you want to install on the device. Please enter the username as well - this is mandatory for the assignment. Well, then press add and the entry occures in the list at the bottom of the screen.
    Next Sync - app comes down to the device.
    Oh - before this can happen, you have to deploy the SDA file on the J2EE - but this is a logical step I guess.
    Hope this helps to solve the issue
    Regards,
    Oliver

Maybe you are looking for