Creating CWDIO controls programmatically

I have two test fixtures that have different devices on them but I want to transfer my code back and forth when I can. Fixture A has a device 5 and fixture B doesn't. Once I use the property pages to set up the CWDIO control and give it a member variable all the calls to that member varaible work great. If the member variable is m_dio then m_dio.SetDevice(3) for example works great.
What I want to do though is only have device 5 on one station so I don't have to delete the control when I go from Fixture A to Fixture B. Right now I just change my #define FIXA to #define FIXB and recompile to switch fixtures. Well, everything works except for device 5 which is on FIXA and not FIXB. Well, the solution seems to be just don't
have a device 5 and only create one for use on FIXA.
I have the following in my .h.
CCWDIO m_diocontrol;
then in my *.cpp OnInit() I have:
m_diocontrol.SetDevice(5);
when I call
device = m_diocontrol.GetDevice();
device equals like 0x10003 or something and changes around which seems like it must not be getting assigned at all.
I have all the instruments working through MAX and like I mentioned before if I use the property pages of a dialog control I don't have a problem.
So, all this so I don't have to delete the control or recreate it each time I go between fixtures. Seems like I should be able to do it though.
Should I be trying more of a dynamic approach? I'm sure you can tell by my syntax that I'm more of a test engineer then a programmer. I appreciate your input.
Grant
ps. I should mention that device 5 is another PCI-6503 card. FIXA has 2 PCI-6503 cards and FIXB only has one so no device 5 for him. Since both have at least one PCI-6503
though all the files are installed for digital I/O.
Grant M. Johnson
Project Engineer
LECO Corporation

It sounds like that the control may not be getting completely initialized - are you doing anything else to initialize the control beyond calling the constructor? Specifically, I think that you need to call Create. For more information and an example of how to do this, see the Developer Zone article Embedding a Dynamically Created Licensed Measurement Studio ActiveX Control in a Visual C++ Dialog .... This article discusses dynamically creating a graph control, but I
think the same ideas apply to dynamically create a DAQ control.
- Elton

Similar Messages

  • Use scripting to create numeric control without inc/dec button

    I'm having fun using scripting to do things that were formerly "impossible", such as creating a cluster programmatically from a list of variable names and their associated types (to be used in a subsequent program).
    When I create a numeric control on a Front Panel, it has the Increment/Decrement button visible, by default.  I wanted to create controls without this feature, but I couldn't figure out how to do this (or even if it is possible, though I don't see why not).
    Any ideas?
    BS
    Solved!
    Go to Solution.

    DFGray wrote:
    Create it, then set its Increment/Decrement Visible property to FALSE.  This property is specific to digital numerics, so you need a digital numeric reference to make it work.  The property is all the way down on the end of the list.
    Good thing I read this three or four times before writing my snarky reply!
    When I created the new VI Object, I made it a Numeric with style Numeric Control (modern).  When I scrolled down the list of properties, they stopped with Unit Label -- in particular, Increment/Decrement Visible wasn't listed.  Of course, if I just "lay down" a numeric control, this property is visible.
    So I played around a little more. I saw somewhere a reference to the "Numeric Object class", and you refer to "digital numerics" (??? aren't all numeric "digital"?), so I went looking.  I found a sub-class of Numerics called NamedNumeric -- not sure what that is, exactly, but what do you know, it has the Increment/Decrement Visible? property!
    Time to give it a try ...
    BS

  • Creating a Control File

    I have a question about creating another control file. If I want to create another control file, do I need to put the values/paths of the current control files in the CREATE CONTROLFILE statement?

    996403 wrote:
    If I am wanting to create a new control file, do you recommend:
    1. Use the Create Control file statementWhen to Create New Control Files:
    All control files for the database have been permanently damaged/missing and you do not have a control file backup.
    You want to change one of the permanent database parameter settings originally specified in the CREATE DATABASE statement.
    These settings include the database name and the following parameters: MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, and MAXINSTANCES.
    For example, you would change a database name if it conflicted with another database name in a distributed environment,
    or you would change the value of MAXLOGFILES if the original setting is too low.
    2. Copy an existing control file and then edit the parameter file?i will recommend 2nd (if you have healthy control file) if you want multiplex control files.

  • Regarding RESETLOG and NORESETLOG option while creating a control file

    Hi,
    I dont understand the need for resetlogs option while creating a controlfile for a db in NOARCHIVELOGMODE. I assume that reset logs clears all the redo log contents.
    While taking a cold backup what I did was:
    1. Shutdown instance
    2. Copy all the files
    3. Startup
    Now I tried recovering the same database on a new machine (with different path btw.) coz of which i had to create a new control file. My question is: while restoring the database, do I need to create the control file with NORESETLOG or RESETLOG option?
    When I tried using the NORESETLOG (NOARCHIVELOG) option I was able to recover the instance without any hassles.
    ie
    1. STARTUP NOMOUNT
    2. CREATE NEW CONTROL FILE USING NORESETLOG (NOARCHIVELOG)
    3. RECOVER DATABASE
    4. ALTER DATABASE OPEN;
    While the same thing with NORESETLOG (NOARCHIVELOG) option:
    1. STARTUP NOMOUNT
    2. CREATE NEW CONTROL FILE USING RESETLOG (NOARCHIVELOG)
    3. RECOVER DATABASE USING BACKUP CONTROLFILE
    This step asked me for some archivelogs which were not generated since the db is in NOARCHIVELOG mode.
    I wonder why we require the RESETLOG OPTION SINCE A NORMAL SHUTDOWN PERFORMED BEFORE COLD BACKUP would have ensured that there is no redo information left in the redo logs.
    Please let me know if I am thinking the incorrect way.
    Regards and Thanx in Advance,
    Raj

    If you had a db running in noarchivelog mode and had to clone the db and rename it, the create controlfile stmt:
    create controlfile reuse <db_name> needs to be changed to: create controlfile SET <db_name>, in which case the db can only be opened with resetlogs. Hope this answers your question

  • Getting Extra classes while creating Data Control in ADF

    I am using Jdeveloper 11.1.1.6.0.
    I was trying to create a Data Control from a Java class (containing event handling code) right click on the java class -> Create data Control.
    I can see many data controls were created in my work space when the operation was completed
    Example: java.io.InputStream.xml, java.net.URI.xml and many more.
    Anybody please suggest is it a problem in Jdeveloper tool or I need to perform any additional step to remove all these files.
    Regards,
    Rajesh

    Hello TimoHahn,
    I can see only the Data controls are getting generated (not the class files).
    Please find the code snippet for my class for which I generated data controls:
    public class ContexEvent {
        public ContexEvent() {
            super();
        public void handleEvent(ActionEvent payload){
            UIComponent component = payload.getComponent();
            Map<String, Object> attrMap = component.getAttributes();
            FacesContext context = FacesContext.getCurrentInstance();
            ELContext elContext = context.getELContext();
            Application application = context.getApplication();
            ExpressionFactory factory = application.getExpressionFactory();
            ValueExpression valueExpr = factory.createValueExpression(elContext, "#{backingBeanScope.NameBean}", Object.class);
            NameBean nb=(NameBean)valueExpr.getValue(elContext);
            //String newVal = (String)payload.getNewValue();
            nb.setFirstName("Rajesh");
            AdfFacesContext adfContext= AdfFacesContext.getCurrentInstance();
            adfContext.addPartialTarget(nb.getNameLabel());

  • Exception while creating Data Control

    Good day house,
    I have been doing some research on using business components design in other IDEs with Oracle ADF faces within JDeveloper 11g.
    I went through the following steps
    create a Java EE web application - a model and viewcontroller project
    imported my EJB project jar file - but I could not get an icon to show me the beans within my jar, so I imported the source instead
    On importing the source, I right click on my bean classes and chose create Data control but it comes with an exception
    May 27, 2009 2:15:10 AM oracle.javatools.logging.LogUtils log
    WARNING: Plugin threw exception: oracle.adfdtinternal.model.ide.datatransfer.jclient.JClientJavaSourceNodePlugin@1439ad
    java.lang.NullPointerException
         at oracle.adfdtinternal.model.ide.dbpanel.jclient.JClientUtil.getContextFromEditor(JClientUtil.java:539)
         at oracle.adfdtinternal.model.ide.datatransfer.jclient.PaletteItemProviderInfo.dropOnSameFile(PaletteItemProviderInfo.java:83)
         at oracle.adfdtinternal.model.ide.datatransfer.jclient.JClientJavaSourceNodePlugin.handleDataControlInfo(JClientJavaSourceNodePlugin.java:80)
         at oracle.adfdtinternal.model.ide.datatransfer.jclient.JClientJavaSourceNodePlugin.augmentImpl(JClientJavaSourceNodePlugin.java:56)
         at oracle.javatools.datatransfer.AbstractTransformingDataTransferPlugin.augmentIfDesired(AbstractTransformingDataTransferPlugin.java:65)
         at oracle.javatools.datatransfer.DataTransferPluginRegistry._runPlugin(DataTransferPluginRegistry.java:151)
         at oracle.javatools.datatransfer.DataTransferPluginRegistry.performAugmentation(DataTransferPluginRegistry.java:98)
         at oracle.adfdtinternal.model.ide.dbpanel.DataPanelDropListener._getTransferable(DataPanelDropListener.java:331)
         at oracle.adfdtinternal.model.ide.dbpanel.DataPanelDropListener.drop(DataPanelDropListener.java:253)
         at oracle.adfdtinternal.model.ide.dbpanel.DataPanelDropListener.drop(DataPanelDropListener.java:114)
         at java.awt.dnd.DropTarget.drop(DropTarget.java:434)
         at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:500)
         at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:812)
         at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:736)
         at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:30)
         at java.awt.Component.dispatchEventImpl(Component.java:4358)
         at java.awt.Container.dispatchEventImpl(Container.java:2081)
         at java.awt.Component.dispatchEvent(Component.java:4331)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
         at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4036)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3890)
         at java.awt.Container.dispatchEventImpl(Container.java:2067)
         at java.awt.Window.dispatchEventImpl(Window.java:2458)
         at java.awt.Component.dispatchEvent(Component.java:4331)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Hence, I have two question
    1. Can I create my data control from the bean interfaces instead of the bean?
    2. Why the exception? Is it a problem with my JDeveloper installation?
    3. Is it also possible to create a data control from any plain java object/interface.
    thanks in advance

    Did you create the weblogic domain with the Oracle Webcenter Spaces option selected? This should install the relevant libraries into the domain that you will need to deploy your application. My experience is based off WC 11.1.1.0. If you haven't, you can extend your domain by re-running the Domain Config Wizard again (WLS_HOME/common/bin/config.sh)
    Cappa

  • Getting Error when createing Table control in Module Pool.

    Hi expert ,
    i am creating a module pool program . i want to crate line item value for that i have created table control  on screen 200 .
    but when i am activation to that giving error below mention.
    The field "ZFBDCHALLAN-EBELN" is not assigned to a loop. "LOOP ...ENDLOOP" must appear in "PBO" and "PAI".
    thanks
    chandra

    Its mandatory to have loop endloop in both events
    PBO and PAI
    loop your internal table similarly.
    Please check it should be below format
    PROCESS BEFORE OUTPUT.
    * Set PF Status for screen 100.
      MODULE status_0200.
    * This module will initialize the field
      MODULE init_0100.
      LOOP AT t_custmat_asg INTO w_custmat_asg
          WITH CONTROL tc_1
          CURSOR tc_1-current_line.
    * It will count the record in internal table
        MODULE set_linecount.
    * Screen Modifications
        MODULE status_check.
      ENDLOOP.
    PROCESS AFTER INPUT.
    * Module AT EXIT-COMMAND
      MODULE exit_0200 AT EXIT-COMMAND.
      LOOP AT t_custmat_asg .
        CHAIN.
          FIELD :
          w_custmat_asg-check,
                  w_custmat_asg-kunnr,
                  w_custmat_asg-name1,
                  w_custmat_asg-asgtyp,
                  w_custmat_asg-productcls,
                  w_custmat_asg-sctegry,
                  w_custmat_asg-ctegry,
                  w_custmat_asg-parent,
                  w_custmat_asg-frmdate,
                  w_custmat_asg-todate,
                  w_custmat_asg-frecster,
                  w_custmat_asg-salesrep,
                  w_custmat_asg-flag,
                  w_custmat_asg-username,
                  w_custmat_asg-udate.
    * Validation For Forecaster.
          MODULE validate_forecaster.
    * Validation For Salesrep.
          MODULE valiate_salesrep.
    * Validation for Customer
          module validate_customer.
    * Validate null value
          module validate_null_vals.
    * Validation For Data Changed On The Screen
          MODULE data_changed_0200 ON CHAIN-REQUEST.
        ENDCHAIN.
      ENDLOOP.
    Regards
    Satish Boguda

  • How to create a control and add it to a page layput

    I am reading the following link :-
    http://www.itidea.nl/index.php/what-about-you-must-fill-out-all-required-properties-before-completing-this-action-when-publishing-a-page/
    which says that i need to create a control and add it to a page layout. but can anyone help me in understanding how i can create a user control and add them to page layout ?
    Thanks

    > First problem  i could not find a User Control (Farm Solution only) under the Office/SharePoint section
    if you mean New item in Visual Studio, then check it under general Web category. User controls are basic ASP.Net functionalities, not Sharepoint-specific. If it is not there, you may use the following trick:
    1. Create new project in other VS instance using "ASP.Net Empty Web Application" template
    2. Add new user control there (in this project type it should exist for sure under Web category. Called "Web User Control")
    3. Copy all user control's files to the folder of your Sharepoint project (ascx, ascx.cs, ascx.designer.cs)
    4. In VS instance with Sharepoint project add existing items: all copied user control files. They should be grouped under ascx file automatically after that
    > The type or namespace name 'TaxonomyFieldControl' could not be found (are you missing a using directive or an assembly reference?)"
    you need to add reference to Microsoft.SharePoint.Taxonomy.dll assembly, which is located in the GAC (assume that you have installed Sharepoint on your dev env)
    Blog - http://sadomovalex.blogspot.com
    Dynamic CAML queries via C# - http://camlex.codeplex.com
    thanks a lot for your help. so can i do the following steps:-
    I follow these steps to deploy a user control.
    using Visual Studio 2012 , i added a new Farm solution.
    then inside the farm solution i added a new User Control(Farm Solution Only).
      3.   inside the user control i entered the following code:-
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Taxonomy;
    using Microsoft.SharePoint.WebControls;
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    namespace WikiPopUp.ControlTemplates.WikiPopUp
    [ToolboxData("<{0}:CustomValidationRequiredFieldsOnPage runat=server></{0}:CustomValidationRequiredFieldsOnPage>")]
    public class CustomValidationRequiredFieldsOnPage : WebControl
    protected override void CreateChildControls()
    base.CreateChildControls();
    if (SPContext.Current.FormContext.FormMode == SPControlMode.Edit)
    bool arethere = AreThereAnyMissingRequiredFieldsOnPage();
    if (arethere)
    //SPPageStateControl:
    //Provides an ASP.NET control that handles the Ribbon buttons controlling the state of a Microsoft SharePoint Server wiki or publishing page,
    //such as the CheckInCheckOutButton or the PublishingButton.
    SPPageStateControl baseParentStateControl = Page.Items[typeof(SPPageStateControl)] as SPPageStateControl;
    //Publish button: SPListItem MissingRequiredFields checks this.FieldHasValue(link.Name, field);
    //the field is empty (which is right) when the page is first created (MMD field is never filled in)
    //when the field was once filled, saved and emptied the field in sp code still has the previous value and the check MissingRequiredFields succeeds
    //after succeeding this check the page is validated (this.Page.Validate()) and this one fails which results SP validating the page as the Save button does
    if (baseParentStateControl.HasError)
    //this overwrites the previous PageErrorState
    //and validates the page
    //no popup anymore and status updates in yellow area
    baseParentStateControl.EnsureItemSavedIfEditMode(false);
    else
    //there are missing fields at this listitem, but they're not on the page
    //do nothing here, because the SerializedErrorState contains the navigate url to the Edit Properties page
    //and a message pops up
    /// <summary>
    /// Check if required fields are missing which are present at the page
    /// </summary>
    /// <returns></returns>
    private static bool AreThereAnyMissingRequiredFieldsOnPage()
    foreach (Control control in SPContext.Current.FormContext.FieldControlCollection)
    //get the control type
    string type = control.GetType().Name;
    FieldTypes controlType = (FieldTypes)Enum.Parse(typeof(FieldTypes), type);
    switch (controlType)
    case FieldTypes.TaxonomyFieldControl:
    TaxonomyFieldControl tfc = control as TaxonomyFieldControl;
    if (!tfc.IsValid)
    return true;
    break;
    default:
    break;
    return false;
    enum FieldTypes
    DateTimeField, FieldValue, TextField, RichImageField, NoteField, RichHtmlField, PublishingScheduleFieldControl, TaxonomyFieldControl, BooleanField, ComputedField
      4. i add a reference for the Sharepoint.taxnomy
      5. then i deploy the solution to my site collection. and now i can see the new solution inside the farm solution under central administration.
    but not sure if these are all the required steps to register the user control or still i need to do extra steps ?

  • Is it possible to create data control from wsdl when complextype is used

    Getting DCA-40015 error when trying to create a data control from WSDL file.
    The error clearly says complextype is not supported . just trying to see if there are any workarounds . because creating data control will save time in developing user interface by dragging and dropping the the data control in jsf page. jdeveloper webservice tester is able to create user interface for me based on wsdl when i run it , trying to develop the user interface using jsf pages
    oracle.adf.model.adapter.AdapterException: DCA-40015: Failed to create the structure for schema element "result". The complex type definition of the element is not supported.

    Hi,
    I could reproduce what I did:
    - created WebService from custom Pojo Model
    - Made sure all entities implemented serializable
    - In the WebServices Wizard, I created XML representations for my entities
    - tested with OC4J WebServices tester
    - Built ADF data control from WSDL file of deployed WebService
    - Created dependency t project containing the POJO entities
    - Selected result.xml of each method exposed in the WebService project
    - In the structure window, selected "item" (result-->item)
    - changed Bean class to my entity class name (absolute name)
    This showed my entity in the DC palette
    Frank

  • Create playback controls for Timeline in sync with audio?

    Hi All,
    Technically, I've combined two questions into one. Firstly, can someone offer some insight on how to create playback controls for an Edge animation so the user can essentially "scrub" the timeline or navigate to a specific point on the timeline. I know you can create buttons to "sym.play()" different areas but I was wondering if there was a more streamlined solution (something similar to video playback controls.) Next, I'd like the user to be able to skip to different locations while the music remains in sync with the animations. I've created a few buttons to attempt to achieve this but the music plays independently regardless of where I jump to on the timeline.
    Any help would be most appreciated.
    Thanks in advance!

    I had some ideas why that may be so, but then, when I thought about it, properly, i have no idea why it is that way. Maybe it is because audio has a higher priority than graphics, in OS X, but if I remember correctly, it was like this before OS X. Maybe there is an offset for latency compensation, but they made it too large. (it seems to be the same amount, no matter what the buffer size is)
    just to make sure we are seeing the same thing. on my (somehat old) G4 I'm seeing about 60ms difference.

  • How to Create a Control In Notepad

    Hello:
    I am need help creating a control file. I have never done this before. I have to load the following script into notepad:
    load data
    infile 'names.txt'
    badfile 'names.bad'
    truncate
    into table names
    fields terminated by ','
    trailing nullcols
    (first,last)
    I then went to Command Prompt to begin the SQL Loader command and recieved the following message.
    SQL*Loader-500: Unable to open file (names.ctl)
    SQL*Loader-553: file not found
    SQL*Loader-509: System error: The system

    DUPLICATE post
    How to Create a Control In Notepad

  • If it is not specified,Oracle creates one control file in a default locatio

    Hi
    The CONTROL_FILES parameter is not required when you create a database. If it is not specified,Oracle creates one control file in a default location,.
    Where oracle create contol file default in this condition
    Thanks

    Can you try to create a database and see
    FYI
    It creates in $ORACLE_HOME\database folder..if not specified but in UNIX i think it will be under $ORACLE_HOME/dbs
    Because i dont have UNIX right now to test it
    Message was edited by:
    Maran Viswarayar

  • Creating JAR files programmatically

    I am trying to create JAR files programmatically using the java.util.zip and java.util.jar APIs. I am starting with just a set of directories containing .class files. I can seem to make the JAR but if I try to use any of the classes in it they don't work. But, if I unzip the JAR using WinZip, the classes are usable. So I am somehow building the JAR file incorrectly. Does anyone have any ideas or suggestions? The code is pretty long so I won't post it yet but I can send it to you if you'd like to see it. Contact by email if you'd like to see the code. Thanks.

    What paths are you encoding? Here are a couple of rules:
    1 - All paths are '/' separated, and do not begin with a '/'.
    2 - All paths are relative (see 1) and contain the exact package name of the class, plus the class.
    E.G., the class java.lang.Object would look like this in your jar:
    java/lang/Object.classNothing more or less.

  • Create ADF elements programmatically using Java

    Hello,
    I use JDeveloper 11.1.1.2.0 and Java 6 (of course)
    <f:view>
    <af:document title="Some Text" id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelGroupLayout layout="vertical" id="pgl1" halign="center">
    <af:outputText value="Song" id="ot1"/>
    <af:media source="/midi/song.midi"
    standbyText="Song sample" player="quicktime" id="m2"
    contentType="audio/x-midi"/>
    </af:panelGroupLayout>
    </af:form>
    </af:document>
    </f:view>
    I would like to create this construct programmatically. The reason is that I would like to create not only one <af:media> tag but more. But for some reasons it's not a fixed portion of songs I could anticipate. Therefore I want to take the construct above as a template and add more <af:media> tags I need at the moment I realize how many songs I want to play.
    I would like to call this construct from a command button or link on another side to open a new window in which the user could choose among different songs to play.
    Do I have to use DOM or XPath to setup this or is ADF able to offer some support ?
    Best regards
    Martin
    Edited by: user463656 on 05.05.2010 01:41

    Should be something like:
    <f:view>
    <af:document title="Some Text" id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelGroupLayout layout="vertical" id="pgl1" halign="center"  binding="#{ManagedBean.panelGroup}">
    <af:outputText value="Song" id="ot1"/>
    </af:panelGroupLayout>
    </af:form>
    </af:document>
    </f:view>And somewhere in the MagaedBean methods:
    public class ManagedBean{
    RichMedia rm;
    while .. {
    rm = new RichMedia();
    rm.setstandbyText(....);
    rm.setSource(....);
    panelGroup.getChildren().add(rm);
    }And then refresh the panelgroup with partialTrigger ot partialTarget.
    Edited by: Valhery on 2010-5-5 2:04

  • How to create an IDoc programmatically at Inbound side?

    Hi,
    How to create an IDoc programmatically at Inbound side?
    Assume that you have a file(material master details) which is enough to create master data.
    Regards,
    Thiyagu

    Read the documentation of this FM first:
    FU IDOC_INBOUND_ASYNCHRONOUS                                                                               
    K. tekst
                                                                                    IDoc inbound processing via tRFC                                                                               
    Functionality
                                                                                    This function module starts inbound processing in the case of port type    
        "tRFC". The function module is a successor to INBOUND_IDOC_PROCESS,        
        which processes IDocs in the Release 4.0 record types. If you are          
        processing IDocs in Release 3.X record types, the function module          
        INBOUND_IDOC_PROCESS must still be called.                                                                               
    The function module checks the ID 'EDI_MES' in authorization object        
        B_ALE_RECV against the received message type.                                                                               
    The IDocs are saved by the function module IDOC_INBOUND_WRITE_TO_DB (a     
        COMMIT for all IDocs) and then transferred directly to the application     
        by the dispatcher module IDOC_START_INBOUND.                                                                               
    Parameter
                                                                                    IDOC_CONTROL_REC_40                                                        
        IDOC_DATA_REC_40                                                                               
    Exceptions
                                                                                    Functiegroep                                                                               
    Edited by: Micky Oestreich on Jun 11, 2009 12:52 PM

Maybe you are looking for