Main Difference Between EDI and IDOC Based On RFC

In IDOC ,RFC is Used to define the characteristics of communication links to a remote system on which a functions needs to be executed.
What About EDI ?

Hi Saurabh,
Check this..Hope it helps you.
EDI is nothing but Electronic data interchange. SAP will support EDI through Intermediate documents (IDOCS).
EDI (Electronic Document interchange) - EDI is the electronic exchange of business documents between the computer systems of business partners, using a standard format over a communication network. 
EDI is also called paperless exchange. 
Advantages: 
Reduced Data entry errors
Reduced processing time
Availabilty of data in electonic form
Reduced paperwork
Reduced Cost
Reduced inventories and better planning
Standard means of communications
Better business process
EDI has two process
1. Outbound process
2. Inbound process
OP:
1.Application document is created.
2.IDOC is generated
3.IDoc is transferred from SAP to Operating system layer
4.Idoc is converted into EDI standards
5.Edi document is transmitted to the business partner
6.The Edi Subsystem report status to SAP
IP:
1.EDI transmission received
2.EDI document is converted into an IDOC
3.IDOC is transferred to the SAP layer
4.The application document is created
5.The application document can be viewed.
IDOC:
IDOC is a container that can be used to exchange data between any two process.
Each iDoc is assigned a unique number for tracking and future reference.
iDoc Consist of several segments,and segments contain several fields.
iDoc contains the following three type of records...
1.One Control Record.
2.One or many Data Record
3.One or many Status record.
PORT:
Port is used in the outbound process to determine the name of the EDI subsystem program,the directory path where the idoc file will be created at the operating system level,the idoc file names and the rfc desinations.
RFC Destination:
Used to define the characteristics of communication links to a remote system on which a functions needs to be executed.
Partner Profile:
Partner profile specified the various componets used in an outbound process ( Partner number,IDoc type,message type,Port,Process code),the mode in which it communicates with the subsystem(batch or immediate) and the person to be notified in case of errors.
Message Control
Used in pricing,account determination,material determination,and output determination.The message control component enables you to encapsulate business rules with out having to write abap programs.
Process:
Setup RFC destinations SM59
Port Destinations WE21
Partner Profile WE20
Message control NACE
Purchase Order ME21
Check IDOCs WE02,WE05
Explain to me about Idoc?
IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system. 
IDocs are used for asynchronous transactions:  Each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database. 
Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions. 
A large enterprise's networked computing environment is likely to connect many geographically distributed computers to the main database. These computers are likely to use different hardware and/or operating system platforms. An IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another. 
IDoc types define different categories of data, such as purchase orders or invoices, which may then be broken down into more specific categories called message types. Greater specificity means that an IDoc type is capable of storing only the data required for a particular transaction, which increases efficiency and decreases resource demands. 
An IDoc can be generated at any point in a transaction process. For example, during a shipping transaction process, an IDoc may be generated that includes the data fields required to print a shipping manifest. After a user performs an SAP transaction, one or more IDocs are generated in the sending database and passed to the ALE communication layer. The communication
layer performs a Remote Function Call (RFC), using the port definition and RFC destination specified by the customer model. 
The IDoc is transmitted to the receiver, which may be an R/3, R/2, or some external system.
Re,Manas

Similar Messages

  • Difference between BAPI and IDocs

    hello all
    what is difference between BAPI and IDocs

    Hi,
    BAPI
    One of the big plusses for BAPIs is that the interface and function are not supposed to change.  This is a big plus when you do upgrades or hot packs because the transaction can change (format, required inputs etc) which means you then need to update the call transaction.
    Some of the BAPIs are better documented and easier to use than others. You usually need to perform the BAPI that actually does the COMMIT after you call your BAPI.
    The Program coding for calling a BAPI is usually cleaner than setting up the screen flow etc for the Call Transaction.
    You don't need to worry about special data circumstances interrupting the normal data flow of the screens and causing errors because of that.
    BAPIs probably have better performance since they don't do the screen flow processing.
    In general if the BAPI exists for the transaction you want to perform and you can figure out how to use it the BAPI is probably the best way to go.
    BAPIs are a subset of the RFC-enabled function modules, especially designed as Application Programming Interface (API) to the SAP business object, or in other words: are function modules officially released by SAP to be called from external programs.
    IDOC
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed.   Therefore an IDoc data exchange is always an
    asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    The philosophical difference between EDI and ALE can be pinned as follows: If we send data to an external partner, we generally speak of EDI, while ALE is a mechanism to reliable replicate data between trusting systems to store a redundant copy of the IDoc data.   The difference is made clear, when we think of a purchase order that is sent as an IDoc. If we send the purchase order to a supplier then the supplier will store the purchase order as a sales order. However, if we send the purchase order via ALE to another R/3 system, then the receiving system will store the purchase order also as a purchase order.
    Regards,
    Bhaskar

  • Difference  between  scripts and  idocs

    In real time  why we are  using scripts and idocs?what is the difference between scripts and idocs?pls tell me  where we r using  scripts and  idocs?

    Hi,
    IDocs are simple ASCII data streams. When they are stored to a disk file, the IDocs are simple flat files with lines of text, where the lines are structured into data fields. The typical structured file has records, each record starting with a leading string that identifies the record type. Their specification is stored in the data dictionary.
    Electronic Interchange Document
    IDocs is the acronym for Interchange Document. This  indicates a set of (electronic) information which builds a logical entity. An IDoc is e.g. all the data of a single customer in your customer master data file, or the IDoc is all the data of a single invoice.
    Data Is transmitted in ASCII format, i.e. human readable form
    IDoc data is usually exchanged between systems and partners that are completely independent. Therefore, the data should be transmitted in a format that can easily be corrected by the computer operators. It is therefore mandatory to post the data in a human readable form.
    Nowadays, this means that data is coded in ASCII format, including numbers which are sent as a string of figures 0 to 9. Such data can easily be read with any text editor on any computer, be it a PC, Macintosh, UNIX System, S/390 or any internet browser.
    IDocs exchange messages
    The information which is exchanged by IDocs is called a message and the IDoc is the physical representation of such a message. The name “messages” for the information sent via IDocs is used in the same ways as other EDI standards. .
    Scrpits...
    If the user wants to print documents such as invoices, purchase order, all such documents are printed with the use of forms. SAP allows the user to define these forms by using layout sets. SAP script is the tool used to create the layout set.
    In order to print the document, the SAP system runs a program that collects the data for the document and feeds it into the layout set. This is called as Print Program.
    SAP Provides a standard layout set for every printable document and usually there is no need to create layout sets as such. User just modifies the existing layout sets as per requirement of client.
    Regards,
    Sam

  • What is the main difference between Enhancements and BADI.?

    What is the main difference between Enhancements and BADI.?plzz tell
    Edited by: Alvaro Tejada Galindo on Feb 13, 2008 3:48 PM

    CMOD is the Project Management of SAP Enhancements (i.e., SMOD Enhancements). SMOD contains the actual enhancements and CMOD is the grouping of those SMOD enhancements.
    Difference Between BADI and User Exits
    BADI's can be used any number of times, where as USER-EXITS can be used only one time.
    Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
    BADI's are oops based.
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software. 
    As with customer exits two different views are available:
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object. 
    In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
    All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
    The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.

  • What is the main difference between view and materialize view and advantage of Mview   ??

    What is the main difference between view and materialize view and advantage of Mview   ??

    1.A view uses a query to pull data from its associated tables.
    2.Views do not have data's physically stored in the Database.
    3.Views Get the Data from 2 or more tables and displays as a single block.
    4.But a materialized view is a table on disk is a result set of a query done.
    5.A Materialized view can have data's in the database.
    6.Materialized view are used for Boosting the Performance.
    7.And the important one is Materialized views are updated based on the parameters defined when they are created.
    8.By using triggers we can update the data in a materialized view.
    9.When you call a materialized view it will show the data when it was last updated.
    Hope it helps.

  • What is the main difference between ws_upload and gui_upload?

    Hi All,
    What is the main difference between ws_upload and gui_upload?
    In what contexts should we use these two function modules??
    Thanks,
    Creasy

    search the forum before posting.
    You can find lot of posts related.

  • Difference between EDI and ALE.

    Hi gurus,
         Let clarify my confusion in difference between EDI and ALE.please give a proper example for the same.
         please have a look my confusions as mentioned below:
        Case 1--In same company,suppose we r using two clients 417 and 416 and want to transfer sap data between these two clients.Then which process (EDI or ALE) has to be follow?
         Case2--Suppose want to transfer data from SAP system to non SAP system then which process(EDI or ALE)  has to be follow.
    Regards
    Ashish K

    Hi,
    Follow the links on ALE and EDI
    http://help.sap.com/erp2005_ehp_02/helpdata/en/a5/63240543a211d189410000e829fbbd/frameset.htm
    http://www.thespot4sap.com/Articles/SAP_ALE_Introduction.asp
    http://www.wb.nic.in/internet/edi.html
    In both cases you can use any one either ALE or EDI.
    Rgds,
    Suman

  • Difference Between Cost and Account Based COPA

    Hi
    What is the difference between Cost and Account based COPA from a BI perspective ( both functionally and technically)
    Thanks
    Rashmi.

    Hi Rashmi,
    Greetings.
    There is lot of reading material available on forums and help.sap.com
    For start you can try with this:
    Link:[http://help.sap.com/saphelp_46c/helpdata/en/7a/4c37ef4a0111d1894c0000e829fbbd/content.htm]
    Thanks
    Sachin

  • What is the main difference between eewb and aet tool ?

    Dear all,
    What is the main difference between eewb and aet? Both ways we can create fields and coming to aet is in crm 7.0 and eewb is in 6.0.when we are creating fields through eewb we should have technical knowledge but aet tool is a simple tool as a function people also can easily add the fields. I want to know is there any main difference between both these tools.
    Regards,
    Jemmi.

    EEWB works from SAP GUI whereas AET works from WEB UI. AET is developed on top of the EEWB. Most the Objects are supported barring a few through AET. It's a very usefull tool for SAP CRM.
    Since in CRM SAP GUI will be phased out soon, AET will be prominent. One will see lot more features in upcoming relase in AET tool.
    Regards,
    Harshit

  • Difference between element and identity based version

    Can anybody tell me the difference between elment and identity based version of the Object with any example? which classes implement them?

    Hunky322 wrote:
    At first it struck me as odd, given how List, Set, and Map define equals, but the part the OP left off clears it up a bit: "..because element-based equality is not always well-defined for queues with the same elements but different ordering properties."This lineSo, you're saying you don't understand the following?
    >
    Queue implementations generally do not define element-based versions of the equals and hashCode methods but instead inherit the identity-based versions from Object because element-based equality is not always well-defined for queues with the same elements but different ordering properties.
    >
    Okay, here's the deal.
    For a List, equals() is true if both Lists contain the same objects and in the same order. That's pretty straightforward, and it makes sense.
    For a Set, equals() is true if both Sets contain the same objects. Order is not considered because Sets are not generally ordered. Again, this it straightforward.
    So, you might think that Queue might define equals in a similar fashion--either if both Queues contain all the same elements, or if they contain all the same elements in the same order. However, this doesn't really work very well. Since ordering is an important part of a Queue, the ordering should be considered for equality. However, unlike Lists, two different Queues containing the same objects might define ordering differently. One might be a FIFO and the other might be a PriorityQueue, so how do you compare those two queues for equality?
    There are no clear-cut rules for equality between two arbitrary Queues, so the Queue interface does not define an equals method that's related to the contents of the Queues.

  • What is the main difference between menu_exits and user_exits

    what is the main difference between menu_exits and user_exits

    Hi,
    User Exits:
    A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
    Menu Exits:
    Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.
    SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with "+" (a plus sign). You specify the menu item’s text when activating the item in an add-on project.
    Regards,
    Priyanka.

  • What is the main difference between BPEL and ESB

    Hi all,
    I am making use ESB in my application .Where the my client application calls ESB and inturn the ESB calls the BPEL process .
    I want to know the differences between BPEL and ESB,I came to know that ESB can do messaging and routing ,where my BPEL process can also do the same thing .
    I came to know form a vendor that ESB is used for connecting to multiple end points ,where as my BPEL process can also do this.
    SO what is main purpose of using ESB ?
    Cheers,
    Kalyan.
    Message was edited by:
    patti

    Hi,
    Look for the blog entry dated 1st october 2007.
    URL:
    http://abhishek-soablog.blogspot.com
    Cheers,
    Abhi...

  • MAIN DIFFERENCES BETWEEN PARALLEL AND SEQUENTAIL PRCESSING???

    HI PALS,
    I WANT THE COMPLETE DIFFERENCES BETWEEN PARALLEL AND SEQUENTIAL PROCESSING!
    IN THE CONTEXT OF RFC.

    Hi
    Parallel Processing
    To achieve a balanced distribution of the system load, you can use destination additions to execute function modules in parallel tasks in any application server or in a predefined application server group of an SAP system.
    Parallel-processing is implemented with a special variant of asynchonous RFC. Itu2019s important that you use only the correct variant for your own parallel processing applications: the CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP keyword. Using other variants of asynchronous RFC circumvents the built-in safeguards in the correct keyword, and can bring your system to its knees
    Details are discussed in the following subsections:
    ·        Prerequisites for Parallel Processing
    ·        Function Modules and ABAP Keywords for Parallel Processing
    ·        Managing Resources in Parallel Processing
    Prerequisites for Parallel Processing
    Before you implement parallel processing, make sure that your application and your SAP system meet these requirements:
    ·        Logically-independent units of work:
    The data processing task that is to be carried out in parallel must be logically independent of other instances of the task. That is, the task can be carried out without reference to other records from the same data set that are also being processed in parallel, and the task is not dependent upon the results of others of the parallel operations. For example, parallel processing is not suitable for data that must be sequentially processed or in which the processing of one data item is dependent upon the processing of another item of the data.
    By definition, there is no guarantee that data will be processed in a particular order in parallel processing or that a particular result will be available at a given point in processing. 
    ·        ABAP requirements:
    ¡        The function module that you call must be marked as externally callable. This attribute is specified in the Remote function call supported field in the function module definition (transaction SE37).
    ¡        The called function module may not include a function call to the destination u201CBACK.u201D
    ¡        The calling program should not change to a new internal session after making an asynchronous RFC call. That is, you should not use SUBMIT or CALL TRANSACTION in such a report after using CALL FUNCTION STARTING NEW TASK.  
    ¡        You cannot use the CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP keyword to start external programs. 
    ·        System resources: 
    In order to process tasks from parallel jobs, a server in your SAP system must have at least 3 dialog work processes. It must also meet the workload criteria of the parallel processing system: Dispatcher queue less than 10% full, at least one dialog work process free for processing tasks from the parallel job.
    Function Modules and ABAP Keywords for Parallel Processing
    You can implement parallel processing in your applications by using the following function modules and ABAP keywords:
    ·        SPBT_INITIALIZE: Optional function module. 
    Use to determine the availability of resources for parallel processing. 
    You can do the following:
    ¡        check that the parallel processing group that you have specified is correct.
    ¡        find out how many work processes are available so that you can more efficiently size the packets of data that are to be processed in your data.
    ·        CALL FUNCTION Remotefunction STARTING NEW TASK Taskname DESTINATION IN GROUP:
    With this ABAP statement, you are telling the SAP system to process function module calls in parallel. Typically, youu2019ll place this keyword in a loop in which you divide up the data that is to be processed into work packets. You can pass the data that is to be processed in the form of an internal table (EXPORT, TABLE arguments). The keyword implements parallel processing by dispatching asynchronous RFC calls to the servers that are available in the RFC server group specified for the processing.
    Note that your RFC calls with CALL FUNCTION are processed in work processes of type DIALOG. The DIALOG limit on processing of one dialog step (by default 300 seconds, system profile parameter rdisp/max_wprun_time) applies to these RFC calls. Keep this limit in mind when you divide up data for parallel processing calls. 
    ·        SPBT_GET_PP_DESTINATION: Optional function module. 
    Call immediately after the CALL FUNCTION keyword to get the name of the server on which the parallel processing task will be run. 
    ·        SPBT_DO_NOT_USE_SERVER: Optional function module. 
    Excludes a particular server from further use for processing parallel processing tasks. Use in conjunction with SPBT_GET_PP_DESTINATION if you determine that a particular server is not available for parallel processing (for example, COMMUNICATION FAILURE exception if a server becomes unavailable).
    ·        WAIT: ABAP keyword
    WAIT UNTIL
    Required if you wish to wait for all of the asynchronous parallel tasks created with CALL FUNCTION to return. This is normally a requirement for orderly background processing. May be used only if the CALL FUNCTION includes the PERFORMING ON RETURN addition.
    ·        RECEIVE: ABAP keyword
    RECEIVE RESULTS FROM FUNCTION Remotefunction
    Required if you wish to receive the results of the processing of an asynchronous RFC. RECEIVE retrieves IMPORT and TABLE parameters as well as messages and return codes.
    Managing Resources in Parallel Processing
    You use the following destination additions to perform parallel execution of function modules (asynchronous calls) in the SAP system:
    In a predefined group of application servers:
    CALL FUNCTION Remotefunction STARTING NEW TASK Taskname
    DESTINATION IN GROUP Groupname
    In all currently available and active application servers:
    CALL FUNCTION Remotefunction STARTING NEW TASK Taskname
    DESTINATION IN GROUP DEFAULT
    Sequential Processing
    In the following cases, the system chooses sequential (non-parallel) processing:
    ●      In table RSADMIN, entry QUERY_MAX_WP_DIAG has value (column value) 1.
    ●      The entire query consists of one sub-access only.
    ●      The query is running in a batch process.
    ●      The query was started from the query monitor (transaction RSRT) using various debug options (for example, SQL query display, execution plan display). See, Dividing a MultiProvider Query into Sub-Queries.
    ●      The query requests non-cumulative key figures.
    ●      Insufficient dialog processes are available when the query is executed. These are required for parallel processing.
    ●      The query is configured for non-parallel processing.
    ●      You want to save the result of the query in a file or a table.
    In Release SAP NetWeaver 7.0, the system can efficiently manage the large intermediate results produced by parallel processing. In previous releases, the system terminated when it reached a particular intermediate result size and proceeded to read data sequentially. This is no longer the case. Therefore, the RSADMIN parameter that was used in previous releases for reading a MultiProvider sequentially is no longer used.
    Reward If Helpfull,
    Naresh

  • Difference between ID and Role based Administration - Firefighter 5.3

    In GRC AC 5.3 Firefighter, security guide, there are two sections for role design,
    1. Firefighter Role based Administration
    2. Firefighter ID based Administration
    Can someone explain what is the difference between the two?
    I have read the documentation, but it does not have a clear description of the
    differences between the two.
    Please help.
    Thanks

    HI Prakash,
    Though both of them eventually achieve the same function, that is giving access rights to the user for a certain period under monitring these differ based on the following:
    1. Firefighter Role based Administration
    You identlfy a particular role as a firefighter role and give it to the user.
    2. Firefighter ID based Administration
    You create a separate user altogether and give the normal dialog user, the access to this user's authorization.
    For the implication that both of these have and the differences or comparisons between using 1 & 2, I would suggest you do a bit of Mock testing for both of these. Also, there are a lot of posts related to this on the forum already, which you can refer to, for getting a more detailed idea on this topic. Unlimately, it depends on organization to organization which methodology they folow as per what suits them, according to features which both have. But generally what is preferred is Number 2.
    Regards,
    Hersh.

  • Whats the main difference between wifi and wifi   Cellular for iPad mini?

    Can someone explain to me in simple terms the main difference/benefit of buying a wifi or a wifi + cellular iPad? I thought the cellular meant you would have a sim card in it and you can then connect to the internet when you are not near a wifi, but now looking at the specs again it mentions a sim card for the wifi one, so what are you getting extra for the cellular technology?

    Aloha Karl. You're welcome. I'm still new to all this technology myself. I only had my iPad for a year and a half. Up until a few years ago I had no plans to  to ever have anything to do with computers. Fortunately a few friends showed me what was available on the internet and another friend suggested I should give the iPad a look at. The rest is history. At 63 I'm still like a kid with a new toy, trying to learn, trying to help.  Bob.

Maybe you are looking for

  • Creation of domain issues - migration from weblogic 10.3.0 to 10.3.5 versio

    Hello, i would like to kindly ask for a help with following issue: Basically we are migrating from the 10.3.0 to the 10.3.5 version. We are building the domain using the template in "silent mode". And when i try to create the domain with new weblogic

  • Question about WAV files

    A friend recorded a live band on a Tascam DR-2D.   He then loaded the files with USB to his PC as WAV files.  Then to a website.   I downloaded the song from the website.   It plays in iTunes just fine.   But will not play on Classic iPod.   I then c

  • Select-String to search only first column in .CSV

    Hello all, I'm wondering if anyone knows a way to only search the first column of a .CSV file using Select-String. I guess I could probably import-csv and pipe the first column to select-string, but I was wondering if Select-string has this capabilit

  • Dynamic Class Reloading

    As I know that setting has to be made to the application server to enable the class reloading features, so that the changes to the components (such as enterprise beans, servlets, and JSP files) to a running server can be deployed without having to st

  • Not enough memory to initialize AGM?

    Hello everyone, I am getting the following error when I attempt to open a project: After Effects error: not enough memory to initialize AGM ( 83 :: 8 ) The project is pretty big and I only have 2GB of RAM. Anyone else ever encounter this or have a so