How the idoc interfaces works..

Hi...
When we design a interfaces using Idocs... what is the actual process so that data get updated in SAP..
I want to know the flow of the process...
I have created Idoc structure in the system....but how the data will get into this...and from Idoc what makes the data to get updated into system....
Just few lines will be helpfull..

Hi,
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
1) Outbound Process
2) Inbound Process
There are basically two types of IDOCs.
1) Basic IDOCs: Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
2) Extended IDOCs: Extending the functionality by adding more segments to existing Basic IDOCs.
For creating a IDOC
see the below steps for outbound processing IDOCS..
1. Analyse Hierarchy Levels
2. Create New segment
3. Create New IDoc Type
4. Create New Message Type
5. Link Message with IDoc Type
6. Create an entry in EDP13 via transactions WE20 and BD64
7. Populate the Custom IDoc via ABAP Program
7b Error Handling
7c. Send Status Email
8. Test the Population of the Custom IDoc
Step 1 – Analyse Hierarchy Levels:
Analyse the data relationships being processed in the interface. Define the appropriate hierarchical Parent-to-Child relationships.
Navigate to transaction code WEDI
Transaction WEDI displays the IDOC main menu. This allows navigation around the various development and control areas to create a customised IDOC.
Step 2 – Create a new segment:
via wedi : Development - IDOC Segments or Transaction code WE31.
• Enter segment name and click on Create.
name of the segment type must start with Z1 , and have a maximumThe of eight characters.
• Enter description and enter the relevant field names and data elements.
The segment should represent a structure in the program so each field in the segment a field name and a data element must befor defined.
• Save the segment and enter Person Responsible and Processing Person .
• Go to Edit and Set Release.
• Repeat this procedure for each new Segment in the IDOC.
Step 3 – Create a new IDOC Type
via wedi Development - IDOC Types or Transaction WE30.
• Enter segment name (starting with Z), click on Basic Type and then Create.
• Create as new, enter Person Responsible and Processing Person and enter description.
• On ‘Create Basic Type’ screen decide where segments should be inserted and go to Edit/Create Segment.
• Complete relevant fields in the Maintain Attributes screen:
• From the relevant segments created in Step 2 enter the Segment type and if mandatory segment.
• The Minimum and Maximum number of segments to be allowed in the sequence. (One minimum and one maximum if segment is mandatory).
• The Parent Segment and Hierarchy Level will be automatically created depending on where in the IDOC tree you decided to create that particular segment.
• Repeat this process for each segment needed in the IDOC type, deciding whether to add the next segments at the same level or as a ‘Child’.
• When IDOC created return to initial screen. Go to Edit and Set Release.
• Go to Transaction WE60 to view the IDoc Type you have created.
Step 4 – Create new Message Type
via wedi Development - Message Types or Transaction WE81.
• Display/Change and click on New Entries
• Create a new Message Type and Save.
Step 5 – Link Message Type to IDOC Type
via wedi Development - IDOC Type/Message or Transaction WE82.
• Display/Change and then click on New Entries.
• Enter Message Type, Basic Type (IDOC Type) and Release (46C) and Save.
Step 6 – Create an entry in EDP13 via transactions WE20 and BD64.
The partner profile for the Idoc must be set up and generated in the transaction BD64 and transaction WE20.
• WE20 – Add Message Type to appropriate Partner Type, Enter Message Type, Receiver Port and Idoc Type and Save.
• BD64 – Create a Model View, Enter Sender and Receiver Ports, Attach Message Type. Go to ‘Environment’ on Menu and click on Generate Partner Profiles and generate (not save) profile.
Step 7 – Populate the custom IDOC via ABAP Program
See Test Program ZOUTBD_IDOC_TEMPLATE, Appendix IV.
• Create an Internal Table for each segment type, this should be exactly the same structure as the segment type.
• The control record is filled into a structure like EDIDC. The message type and the Idoc type for the Idoc must be populated into the eddic structure.
PERFORM populate_Control_structure USING c_mestyp
c_SEGMENT_type1.
• The data segments are filled into a structure like edidd-sdata; sdata and the segment name are populated into the edidd structure.
PERFORM transfer_Parent_data_to_seg.
• The standard SAP function module MASTER_IDOC_DISTRIBUTE is called to pass the populated IDOC to the ALE Layer.
PERFORM master_idoc_distribute.
• NOTE: This function module is only called for stand alone programs and Shared Master Data programs (SMD). It is not called when using extensions or output determination.
• The ALE Layer handles the sending of the IDOC to the receiving system.
• Error Handling (see Step 7b).
• Commit work.
Project SpecificStep 7b – Error Handling
• Analyse which fields in the interface are mandatory for the receiving system and who needs to receive error notification.
• Declare a structure of type ‘MCMAILOBJ’ for sending instructions.
• Enter values for the internal table based on structure ‘MCMAILOBJ’
• For selection processes, on SY-SUBRC checks and where fields are mandatory for the receiving system; insert Function Module ‘MC_SEND_MAIL’.
• Enter values in the following parameters: -
MS_MAIL_SENDMODE = ‘B’ (Batch Mode)
MS_MAIL_TITLE = 'Mail Title'
MS_MAIL_DESCRIPTION = ‘Error description’ (e.g. MATNR not given)
MS_MAIL_RECEIVER = ‘Name of Receiver’ (To be determined)
MS_MAIL_EXPRESS = ‘E’ (Express Delivery)
MS_MAIL_DLINAME = Leave Blank
MS_MAIL_LANGU = 'E' (Language)
MS_MAIL_FUNKOBJ_NAME = Leave Blank
TABLES
MS_MAIL_CONT = I_MCMAILOBJ
Note:
It has to be determined separately for each interface how these errors and mail notifications are to be grouped – dependant upon the number of errors that are potentially likely. One possible approach is to send an email for each reason for rejection and include all the records that failed for that reason in the mail notification. Another possible approach is to send an email for every failure.
When error checking for mandatory fields it is common SAP practice to reject a record on its first failure (irrespective of subsequent errors in that record)
Step 7c – Send status mail
• Append to table I_MCMAILOBJ details of the time the interface was processed, how many Idocs were created and how many of these produced a status of 03.
• Select the user to receive the mail from ZINT_RECEIVER, using the name of the program as a key (SY-CPROG).
• Use function Module ‘MC_SEND_MAIL’ to send a mail to the user containing the contents of I_MCMAILOBJ at the end of the interface processing.
Step 8 – Test the population of the custom IDOC
via wedi IDoc - Display IDoc or Transaction WE02.
• Enter your message type and execute.
• Status should be green, double click on one of the Idocs you have created to view its contents.
• If a problem has occurred click on Status which will give you a description of the error.
• Drop down Data Records arrow and this should list the data in the IDoc in the correct hierarchical structure.
• Click on each individual segment and view the content to check that the correct data has been read.
• If you have UNIX access by using AL11 you can view the file that you have created.
Note:
For some interfaces it may be valid to send an empty file to SAP. This empty file is converted to the custom IDOC format expected by SAP. This custom IDOC will contain dummy information. In the inbound processing code, if the dummy information is identified then the processing of the IDOC is considered to be complete and the IDOC should then be assigned a successfully processed status of 53, even though it has not been processed at all.
hi,
2.2 Inbound Interface
Follow steps 1 to 5 inclusive as detailed above in outbound interface.
Step 6
Write a custom function module to handle custom inbound processing. This custom function module must
• Check for the correct message type
• Read the IDoc data segment
• Perform data conversion and validate the data as appropriate
• Post the data to the database
• Handle any error situations
• Set the correct return values for the status record
Note that the Function Module must not make a commit to the database. This is because the status record is not written until control returns to the ALE layer. So if you commit work in the Function Module and an error occurs in returning to the ALE Layer, the status record must not be updated with a successful outcome.
The commit work is executed in the ALE Layer after the status records are updated, via the standard SAP function module IDOC_INBOUND_PROCESS. This attributes of this function module are set up in (Transaction BD51), click on ‘New Entries’ and fill in data; the main input parameters being ‘Input Type’ and ‘Dialog Allowed’.
Take care as some standard SAP transactions contain a Commit Work as part of their processing. Therefore using a BDC to process inbound data to SAP may not be acceptable. You need to check that the SAP transaction is ALE enabled.
Step 7
(Transaction WE57)
Assign the custom function module to the IDoc type and the message type.
Set function module to type ‘F’ and direction ‘2’ for inbound.
Step 8
(Transaction WE42)
Create a new process code and assign it to the function module. The process code determines how the incoming IDoc is to be processed in SAP.
Step 9
(Transaction BD67)
Assign the function module to the process code created above. Got to ‘New Entries’ and enter the process code and the function module name.
Step 10
(Transaction WE20 and Transaction BD64)
Create a partner profile for your message and ensure that in transaction WE20 the process code is the one that points to your function module. (See step 6 of creating Outbound Idocs).
Step 11
Ensure that error handling functionality is present.
Or Check these links.....
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Reward points if useful....
Regards
AK

Similar Messages

  • Does anyone know how the cutout filter works and is there a way of achieving the same effect without using filters to get more control over final look?

    does anyone know how the cutout filter works and is there a way of achieving the same effect without using filters to get more control over final look?

    Several ways to get similar results.  Image > Adjustments > Posturize with low values similar to what you'd use n Cutout.  This is the most flexible way I can think of as you keep the image in RGB mode with layers intact.  A more radical approach would be to reduce bit depth using Indexed Colour.  You'll need to experiment with settings, try changing Forced to Primaries, and Matte to Foreground Color.  There's no going back from this route, although you can change the mode back to RGB to re-enable layers, adjustment layers etc.
    A nice thing about the Filter gallery filters is that you can change the layer to a Smart object with all the control that gives you.
    Now if only this forum could filter out bizarre content.

  • Is there a good "Sticky note app that ACTUALLY put a Sticky Note on my iPad ( over my existing wallpaper images) on either the Home or Lock screens like how the Stickies app works on a Mac?

    I have an iPad 3.
    I tried two, One was a worthless piece of junk I wasted $2.99 on and the other is pretty good ($1.99) except is does not do a function I would like to use as advertised ( which is to create a sticking note that works like an app by creating an icon sized version of the original created sticky note, then  clicking on an app icon size version of the originally created sticky note that you can tap on like an app and a large sticky note is supposed to appear. This does NOT work with an iPad.
    Does anyone use a Stickies app for IOS that works exactly like how the Stickies app works on a Mac?
    What good is a Stickies note app on iOS when it cannot put actual virtual stickies notes over the main IOS screens and wallpapers and remain there until they are no longer needed?
    Does any one use a good stickies app on iPad? NOT iPhone or iPod Touch.

    It really cannot be done in iOS due to the sandboxed security model of the operating system. No app can modify the "desktop" like that - they can only display their own "virtual" desktop when actually actively in use.  so any stickie note app is the same as any simple note app - it must be open and active to display content. It cannot modify any screen but it's own when active.

  • How the PS Capex works in SAP R/3 Finance

    Hi All,
    how the secondary cost element is used in SAP for PS capex settlement ..
    how the PS Capex works in SAP R/3 Finance
    when the secondary cost elements starting with 9 and PS will accoounted in PS Capex Settlement
    will the sencondary cost element be zero with regarding to PS Capex settlement postings.
    Thanks & Regards
    Nandha

    for ECCN numbers we did a LSMW or you can do  a BDC program

  • How the cache.invoke() works?

    Hi, I am trying to play with the coherence 3.4.2 to find out how the cache.invoke() works. I modified the SimpleCacheExplorer.java coming as the example code as following:
    1) I defined a distributed cache as following:
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
    <caching-scheme-mapping>
    <!--
    Caches with any name will be created as default replicated.
    -->
    <cache-mapping>
    <cache-name>*</cache-name>
    <scheme-name>default-dist</scheme-name>
    </cache-mapping>
    </caching-scheme-mapping>
    <caching-schemes>
    <!--
    Default Replicated caching scheme.
    -->
    <distributed-scheme>
    <scheme-name>default-dist</scheme-name>
    <service-name>DistributedCache</service-name>
    <backing-map-scheme>
    <class-scheme>
    <scheme-ref>default-backing-map</scheme-ref>
    </class-scheme>
    </backing-map-scheme>
    </distributed-scheme>
    <!--
    Default backing map scheme definition used by all
    The caches that do not require any eviction policies
    -->
    <class-scheme>
    <scheme-name>default-backing-map</scheme-name>
    <class-name>com.tangosol.util.SafeHashMap</class-name>
    </class-scheme>
    </caching-schemes>
    </cache-config>
    2) I modified the SimpleCacheExplorer.java as following:
    class MyProcessor extends com.tangosol.util.processor.AbstractProcessor
    private static final long serialVersionURD = 8004040647128795431L;
    private String cacheName = null;
    public MyProcessor(String cacheName)
    this.cacheName = cacheName;
    public Object process(Entry entry)
    NamedCache cache = CacheFactory.getCache(cacheName);
    cache.clear();
    return null;
    public class SimpleCacheExplorer {
    * Entry point.
    * @param asArg command line arguments
    public static void main(String[] asArg)
    throws Exception
              NamedCache cache = CacheFactory.getCache("Test");
              cache.put("1", "one");
         cache.invoke("1", new MyProcessor("Test"));
         System.out.println("cache size = " + cache.size());
    3) Then I got the following exception:
    com.tangosol.util.AssertionException: poll() is a blocking call and cannot be called on the Service thread
    Is there a way I can do the cache clear in the invocation way?
    Thanks

    The EntryProcessors operate against a particular Entry and usually executes on the node where the entry is stored. What you can do is to remove the particular entry this entryprocessor is aimed at by calling entry.remove()
    Here is a modified entry processor that removes an entry.
    class MyProcessor extends com.tangosol.util.processor.AbstractProcessor
      private static final long serialVersionURD = 8004040647128795431L;
      public MyProcessor() {}
      public Object process(Entry entry)
        if (entry.isPresent())
           entry.remove(false);
      return null;
    }Getting a hold of the CacheFactory while executing an EntryProcessor is a re-entrant call in to the DistributedCacheService which is rendering the exception.
    More on re-entrancy restrictions and recommendations in this whitepaper: [Coherence Planning: From Proof of Concept to Production|http://www.oracle.com/technology/products/coherence/pdf/Oracle_Coherence_Planning_WP.pdf]

  • Relation between Pricing procedure &Tax Proc , how the whole procedure work

    Hi Gurus,
    I need want to know in detail , How a pricing Procedure is linked to the FI Tax procedure and how the whole mechanism work .
    Pls clarify and explain me the whole process , As i have seen that the Tax condition type we maintain in pricing , we alos mentioned in Taxinj and step is also given in FTXP .
    So pls give me more clarity on this
    Regards
    Umang

    For A /P tax condations , tax amount posted  to accounts from tax procedure.
    For A/ R taxcondations ( which condations we are using in sales pricing procedure)
    tax amount posted  to accounts from sales pricing procedure
              It is helpful give rewards points
    Regards
    Raj

  • Can anyone tell me how the Status Profile works in relation to BP's...

    Can anyone tell me how the Status Profile works in relation to BP's...
    For example, how can I view a particular status that a BP has, and can a BP have more than one status against a status profile. Also what date/time details are set when a status is changed?.
    Can anyone help with this?.
    Jas

    Arap,
    Many thanks for the info. As with all these posts, you do your best to try and find out yourself, fail, then raise a question on a site like this. As soon as you do the answer(s) become clear.
    I've found transactions BS02 which shows Status Profiles, and associated status.
    The Order/transaction holds the status set and can be extracted using the FM/Program CRM_ORDER_READ and using the ET_STATUS table.
    That's what I was mainly after.
    Many thanks for your help.
    Jas
    Edited by: Jason Stratham on Apr 1, 2009 4:59 PM

  • How the star schema works

    How the star schema works – Make A Simple Query – “Show me the revenue for customers  located in Sacramento for the Material Group ‘Electronics’ in the month of October”  - Sequence the order of execution
    a.     Access the Fact Table
    i.     Select all the records in the Fact table which have meets the given criteria
    b.     Access the Dimension Table
    i.     Access the customer dimension table and select all the records with city =”Sacramento”
    ii.     Access the material dimension table and select all the records with Group =”Electronics”
    iii.     Access the Time dimension table and select all the records with Month =”October”

    Kutti,
    Your explanation is in the opposite way -
    access the Dimension tables and find the relevant DIM IDS for the given conditions --> search for the DIM IDs in the fact ...
    You cannot hit the fact directly since the DIM IDs will not be the same as SIDs unless you are talking about line item dimensions...
    best way is to have a query on a cube - execute it through RSRT and in the execute and debug option - select "Display SQL Query" and there you can see the query being run..
    Arun
    Assign points if useful

  • How the transactional replication work for simple recovery database (looking for some internal concept)

    How the transactional replication work for simple recovery database (looking for some internal concept)
    Rahul

    There seems to be a new myth going around recently. I’ve had at least three people tell me, in the last month, that SQL’s transactional replication requires the database to be in full recovery.
    This is complete fabrication. Replication (SQL native replication, that is) can work with the databases in any of the recovery models.
    Transactional replication does involve the transaction log, as that’s where it picks up changes from. The log reader scans over the transaction log looking for log records marked for replication, copies those to the distribution database and then marks them
    as replicated. When the checkpoint (for simple recovery) or log backup (for full or bulk logged) occur, the log will only be truncated up to the oldest inactive, replicated transaction.
    Because transactional replication has its own way of ensuring log records aren’t discarded before been picked up by the log reader, there’s no requirement for a specific recovery model.
    Refer this link
    http://sqlinthewild.co.za/index.php/2008/12/05/a-new-sql-myth/
    --Prashanth

  • Please explain how the method CHECK_CHANGED_DATA works?

    Hi experts,
       Can any of you experts please explain how the method <b>CHECK_CHANGED_DATA</b>
    of <b>CL_GUI_ALV_GRID</b> class works ?
    Thanks in advance
    regards,
    Ashwin

    DATA: l_valid TYPE c.
    Data grid1 type ref to cl_gui_alv_grid.
    CALL METHOD grid1->check_changed_data IMPORTING e_valid = l_valid.
    This method checks if any data is changed on the grid if there any editable fields .
    And updates the changed values
    Message was edited by:
            Chandrasekhar Jagarlamudi

  • I don't understand how the drop zone works in Title effects.

    I am having trouble understanding how the drop zone in the "Keynote" title effect works.  I added the title effect to my storyline.  In the inspector, Title tab, I selected the clip in the Event library, in this case a tiff photo.  The thumbnail and clip title display in the inspector, but the clip does not display in the Viewer when I play the storyline even after FCPX has rendered.
    Am I missing something in my understanding of this title effect or is there a problem in FCPX (10.0.6)?  Any ideas or suggestions would be appreciated.
    iMac, 3.4GHz Core i7, 16GB ram, OSX 10.8.2,

    There are two ways in which drop zones are available in the Keynote title template. What Luis has shown you is the normal way in which a title placed over a clip shows you the original clip with the title text. That is called a Final Cut placeholder type of drop zone. Keynote also offers a drop zone to be used as a background choice instead of a gradient or solid as you see in Luis's post. This makes a very nice title effect as you can use any clip for that background. That is what I thought you were refering to when you you said drop zone. Keynote is one of the nicer titles we have available in FCP because of this feature. Glad you got it sorted out.

  • My Ipod plug into stereo, some how the stereo not work and burn the battery, its make my ipod can't turn on at all, if I need to repair it how much its cost, do you think?

    Hi, I put my Ipod into the stereo, some how the power of the stereo burned out & make my ipod not work anymore.  If I plug my ipod into computer its not on and the battery feel very hot, so if I send it out to fix, how much do you think its cost?  And how do I check online to see what generation I was bought?  I bought it online with Apple.  Thanks.
    Tran Thai.

    Try:                                               
    - iOS: Not responding or does not turn on           
    - Also try DFU mode after try recovery mode
    How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
    - If not successful and you can't fully turn the iOS device fully off, let the battery fully drain. After charging for an least an hour try the above again.
    - Try another cable       
    - Try on another computer                                                       
    - If still not successful that usually indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order.
      Apple Retail Store - Genius Bar                                              

  • How the Video BIOS works in Windows.

    Hello,<o:p></o:p>
    I was looking at the hardware resources assigned to my graphics card and noticed the memory range usually mapped for the video ROM C0000h
    - C7FFFh was not assigned to the card.<o:p></o:p>
    I looked into it and found that the ROM had been disabled. I know the video BIOS isn't used any more as it runs
    in a 16 bit environment and device drivers are used to access the hardware. What about when Windows is running in an SVGA mode using VESA BIOS Extensions (VBE), for example when loading the splash screen or if a display driver can't be loaded. Doesn't
    Windows need to use the Video BIOS for this?<o:p></o:p>
    I disabled my graphics adapter so that Windows was using the VGASAVE driver and the ROM was still disabled. I'm just wondering
    how this works?
    So basically my questions are does Windows disable the video BIOS and if so how does Windows use the graphics card and VBE in SVGA modes without being able to use the video BIOS?
    Any help would be appreciated,
    Thanks.
    <o:p></o:p>

    Hi,
    How’s everything going?
    If you could update us at your convenience that would be wonderful.
    Yolanda Zhu
    TechNet Community Support

  • How the antenna system works

    I was researching something else and ran across some info written by iFixit.
    It was talking about the problem with calls on the ATT network and said:
    "Apple has gone a step further and tuned the phone to utilize whichever network band is less congested or has the least interference for the best signal quality, regardless of the actual signal strength. Early reports suggest this feature, while buggy in its early stages, will greatly improve the phone's reliability on AT&T's fragile network."
    Interesting, considering how some people have talked about worse signals. Maybe that isn't because of worse reception, but the software simply choosing a weaker, but less congested, tower.
    I can easily see how this process could screw things up as well as make things better, depending on the details of how it works.

    With no doubt At&t is the fastest network out there...their internet speed is already close to 4G from sprint...i dont care how well they make verizon sound good they have the slowest network of all the us carriers...people complain about AT&T .... I dont get why nobody complains about other network being slow...ive compared my old 3GS with the best sprint, t-mobile, verizon has to offer...and they are slower compared to At&t unless its on 4G...which is not even that fast...let alone 4G phones eat a lot of battery life...

  • With all of the big changes that have gone on with Lion, surely it would have made sense for Apple to have provided how the new commands work? What is the best way to learn about how things have changed?

    Apple has tended in my expereince to provide intuitive software that users can grow to use and admire. Why then does Lion go off at a tangent and become unintuitive and just plain hard work to work out? I run a business and this has caused a lot of time consuming effort particularly when working out how to save files (in certain programs). Like so many products (iPhone being one), there is no guide to the great things that can be done and I just don't have the time to go fishing around online looking for tips and tricks when I've got clients who need things quickly.
    Where is the best place to learn about Mac things? 

    Take a look here: http://www.apple.com/macosx/whats-new/

Maybe you are looking for