Function Module / method to read interface of a function module

Hi all,
Does anyone know a function module or a method of a class which reads the parameters and types of these parameters of a function module. Thanks in advance.
Kind Regards,
Sükrü

Hi Suekrue,
You marked the question as answered, so please assign contributor points too. I did this time, but you can change them.
See: /people/mark.finnern/blog/2004/08/10/spread-the-love for directions.
Click on the yellow Star icon per reply. You can give:
1 - 10 pts (Which marks the question as answered)
2 - 6 pts (Very helpful)
Lots of 2 pts (Helpful)
It's just a little thank you for the responses.
Thanks!
Joan (and Mark Finnern)

Similar Messages

  • Any Other Method to Read Cube in abap ?

    I use pop method to read cube ,including following Function
      BAPI_MDDATASET_CREATE_OBJECT
      BAPI_MDDATASET_GET_AXIS_DATA
      BAPI_MDDATASET_GET_AXIS_INFO
      BAPI_MDDATASET_GET_CELL_DATA
      BAPI_MDDATASET_DELETE_OBJECT.
    I find it is  time-consuming ,even if the return dataset is small ( for example 1000 Records).
    Any one can give a tip?
    -Reed Lei

    Hi,
    I checked out in se37, but could not find any other function module for the same, and when I check at these function module to see why it takes this much of time, I found that it was RFC enabled, due to which it is obvious that it will take some extra time ...
    go to se37 give MDDATASET and press F4 you will find only this set of function module and none other than those...
    Regards,
    Siddarth

  • How to read Sender Interface name in adapter Module in PI 7.31

    Hello All,
    I am working on Adapter module .it accomplish to generate file with message id,message key ,sent time,received time,FromService(Business system names),toServiece(Business system name),sender interface name,receiver interface name .
    i got all details in my file by calling module data by method get principal data,but i am fail to get sender interface in that file .
    can you please guide me how to get sender interface name in adapter module.
    I am getting some information from this following blogs
    https://scn.sap.com/thread/1583665
    How to read Sender Interface name in Adapter module
    but i am facing same error what they faced.
    Please guide me to how to get sender interface name in adapter module.
    Thanks
    Ganesh

    Hi Ganesh
    Write a module in the sender adapter and use this piece of code
    Message mes = null;
    mes = (Message) inputModuleData.getPrincipalData();
    String SI = mes.getAction().getName();
    Also you can read the same by creating a UDF in message mapping
    Following is the code
    InputHeader inputHeader = container.getInputHeader();
    String SI = inputHeader.getInterface() ;

  • Replacement function modules/method for obsolete Funtion Modules in ECC 6.0

    We are working on Upgrade Project and need your help in finding the replacement Function module/ Methods for following obsolete Function Modules:
       1.   GET_FIELDTAB
       2.   WS_EXCEL
       3.  HR_DISPLAY_BASIC_LIST
       4.  LOG_SYSTEM_GET_RFC_DESTINATION
       5.  HELPSCREEN_NA_CREATE
       6. TR_RELEASE_COMM
    Thank in Advance.
    Sarita.
    Edited by: Sarita Yalamati on Mar 28, 2008 1:23 PM

    Hi sarita,
    for GET_FIELDTAB use 'DDIF_NAMETAB_GET'..here is sample code
      CALL FUNCTION 'GET_FIELDTAB'
           EXPORTING
                LANGU               = SY-LANGU
                TABNAME             = C_STRUCTURE_NAME
                WITHTEXT            = ' '
           TABLES
                FIELDTAB            = IDFIES
           EXCEPTIONS
               INTERNAL_ERROR      = 01
                NO_TEXTS_FOUND      = 02
                TABLE_HAS_NO_FIELDS = 03
                TABLE_NOT_ACTIV     = 04.
    Replacement :
    CALL FUNCTION 'DDIF_NAMETAB_GET'
      EXPORTING
        TABNAME           =  C_STRUCTURE_NAME
      ALL_TYPES         = ' '
      LFIELDNAME        = ' '
      GROUP_NAMES       = ' '
      UCLEN             =
    IMPORTING
      X030L_WA          =
      DTELINFO_WA       =
      TTYPINFO_WA       =
      DDOBJTYPE         =
      DFIES_WA          =
      LINES_DESCR       =
    TABLES
      X031L_TAB         =
       DFIES_TAB         = IDFIES
    EXCEPTIONS
       NOT_FOUND         = 1
       OTHERS            = 2
    For WS_EXCEL  use GUI_DOWNLOAD.. here is sample code
    CALL FUNCTION 'WS_EXCEL'
    EXPORTING
       FILENAME            = 'D:\FILE1.xls'
      SYNCHRON            = ' '
      TABLES
        DATA                = itab
    EXCEPTIONS
       UNKNOWN_ERROR       = 1
       OTHERS              = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Repalcement :
    data : l_filename type string.
    l_filename  = 'D:\FILE1.xls'.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE                    =
        FILENAME                        = l_filename
      FILETYPE                        = 'ASC'
    IMPORTING
      FILELENGTH                      =
      TABLES
        DATA_TAB                        = itab
      FIELDNAMES                      =
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE
      EXPORTING
        DOCUMENT               = 'D:\FILE1.xls'
       APPLICATION            =
       PARAMETER              =
       DEFAULT_DIRECTORY      =
       MAXIMIZED              =
       MINIMIZED              =
       SYNCHRONOUS            =
        OPERATION              = 'OPEN'
      EXCEPTIONS
        CNTL_ERROR             = 1
        ERROR_NO_GUI           = 2
        BAD_PARAMETER          = 3
        FILE_NOT_FOUND         = 4
        PATH_NOT_FOUND         = 5
        FILE_EXTENSION_UNKNOWN = 6
        ERROR_EXECUTE_FAILED   = 7
        SYNCHRONOUS_FAILED     = 8
        NOT_SUPPORTED_BY_GUI   = 9
        others                 = 10
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  • How to invoke a method in application module or view objects interface?

    Hi,
    perhaps a stupid RTFM question, but
    How can i invoke a method that i have published in the application modules or view objects interfaces using uiXml with BC4J?
    Only found something how to invoke a static method (<ctrl:method class="..." method="..." />) but not how to call a method with or without parameters in AM or VO directly with a uix-element.
    Thanks in advance, Markus

    Thanks for your help Andy, but i do not understand why this has to be that complicated.
    Why shall i write a eventhandler for a simple call of a AM or VO method? That splatters the functionality over 3 files (BC4J, UIX, handler). Feature Request ;-)?
    I found a simple solution using reflection that can be used at least for parameterless methods:
    <event name="anEvent">
      <bc4j:findRootAppModule name="MyAppModule">
         <!-- Call MyAppModule.myMethod() procedure. -->
          <bc4j:setPageProperty name="MethodName" value="myMethod"/>
          <ctrl:method class="UixHelper"
                  method="invokeApplicationModuleMethod"/>
       </bc4j:findRootAppModule>
    </event>The UixHelper method:
      public static EventResult invokeApplicationModuleMethod( BajaContext context,
                                                               Page page,
                                                               PageEvent event ) {
        String methodName = page.getProperty( "MethodName" );
        ApplicationModule am = ServletBindingUtils.getApplicationModule( context );
        Method method = null;
        try {
          method = am.getClass(  ).getDeclaredMethod( methodName, null );
        } catch( NoSuchMethodException e ) {
          RuntimeException re = new RuntimeException( e );
          throw re;
        try {
          method.invoke( am, null );
        } catch( InvocationTargetException e ) {
          RuntimeException re = new RuntimeException( e );
          throw re;
        } catch( IllegalAccessException e ) {
          RuntimeException re = new RuntimeException( e );
          throw re;
        return null;
      }Need to think about how to handle parameters and return values.
    Btw. Do i need to implement the EventHandler methods synchronized?
    Regards, Markus

  • Function module (FM) to read budget  to be used in n-step approval badi

    We have SRM 5.0 with ECC 6.0 (extended classic). For capital expenses we are going to have budget check in SRM based of account assignment internal orders in R/3. In shopping cart line item approval workflow, it is required to read the budget available for that internal order and compare with shopping cart value...what is the function module to read budget assigned to that internal order, that will used in n-step approval badi at every step??
    Thanks,
    Kim r.

    Hi
    <b>Please try the related SRM function modules, which will definitely help -></b>
    B470_BUDGET_READ   
    BBP_PD_USER_BUDGET_AMOUNTSPENT  
    BBP_PD_USER_BUDGET_CHECK        
    BBP_PD_USER_BUDGET_DEFINED_GET  
    BBP_PD_USER_BUDGET_SAVE         
    BBP_PD_USER_BUDGET_SCVALUE_GET  
    BBP_REQREQ_CHECK_BUDGET 
    META_BUDGET_READ   
    META_BUDGET_READ Function module in turn calls RFC-enabled 'BBP_BUDGET_READ' Function module in the R/3 or the ECC System.
    Hope this will definitely help.
    Do let me know.
    Regards
    - Atul

  • Error with quantity field:Datasource Creation Using Function Module method

    Problem with DATASOURCE Creation using Function Module method :
    I have created a datasource ZSTANDARD_COST_PRICE using Function Module method . The datasource creation is successfull when I remove the quantity field from the Z table . If I dont remove the quantity field from my Z table it gives an error as "Units Field WAERS for field STPRS of datasource ZSTANDARD_COST_PRICE is hidden". I am not able to remove this error . Please someone guide.
    Let me know if my explanation is not clear enough.
    Thanks in advance,
    Neha.
    Z table definition is as below :
    MATNR MATNR CHAR 18 0 Material Number
    BWKEY BWKEY CHAR 4 0 Valuation area
    LFGJA LFGJA NUMC 4 0 Fiscal Year of Current Period
    STPRS STPRS CURR 11 2 Standard Price   " Here the currency field is WAERS and table T001
    PEINH PEINH DEC 5 0 Price Unit
    VJSTP VJSTP CURR 11 2 Standard price in previous year
    VJPEI VJPEI DEC 5 0 Price unit of previous year.
    Edited by: Neha Rathi on Jan 30, 2009 3:03 PM

    Hi,
    You should add it as one of the main fields as you have added other fields and not as the currency fields...that is..it should be part of the data source and you should be able to see it in RSO2...
    Also if added as i said then it will come as new field in the data source...you can either let it be there...or hide it..
    also if you want to populate it then you will have to write the code for this fields as well.
    Thanks
    Ajeet

  • Interface parameters in Function Module -- Doubts

    Hi,
    We are developing a custom function group which will have 5-6 custom function module. When you create a function module and specify its Export/Import and table parameters, SAP mark them as "Local Interface".(You can look at the Function module source code's first line)
    But if you goto the Menu and click Edit>Interface>Globalize parameter and it will change from "Local Interface" to "Global Interface". So now you can use these interface parameters (Export/Emport or tables) without passing them explicitly in perform statement. So in other words they are easily available in the function module.
    My question are:
    1. Whats the difference between Local interface and Global interface and when should we use which. (SAP normaly use Local interface in all there function modules).
    2. If we use Global interface then is it possible that multiple instances (same fuction module called at same time with different or same data) will somehow mix the data from different calls and show unpredictable results.
    Will appreciate if someone can help me understand it from conceptual point of view.
    Thanks in advance.
    Jeet

    Hi Jeet,
    1). The difference between Local and GLobal are identified by the name itself. One makes the interface locally available and one makes it globally available. This means that, within the function group, you can access the function parameters in subroutines, as well as PBO and PAI modules.
    When to use depends, if your function module consists huge code and does massive processing in such cases its better to write subroutines and split the code into smaller sections for parallel processing. In Such cases its better to use Global interface so that you dont have to pass the interface each and every time.
    2). Yes it might affect the gloabl parameters as Unlike other global data, the contents of the global parameters of a function module are known only from the time of the call until you leave the module.
    Due to this limitations SAP has come up with OOPS concept where the data integrity is maintained.
    Cheers
    VJ

  • Strange error of CALL FUNCTION within Method

    Hi all,
    i'm facing a very strange problem. Some Function Modules can't be called from within a method and a dump appears with the following message CALL_FUNCTION_CONFLICT_LENG (CX_SY_DYN_CALL_ILLEGAL_TYPE).
    Here's an example: I've created a normal class with only one static method.
    Class: ZCL_TEST
    Method: CHECK_EMPLOYEE
    Importing Parameter: IV_PERNR TYPE PERNR_D
    Coding:
      DATA gt_return TYPE TABLE OF bapireturn1.
      CALL FUNCTION 'BAPI_EMPLOYEET_ENQUEUE'
        EXPORTING
          number        = iv_pernr
          validitybegin = sy-datum
        IMPORTING
          return        = gt_return.
      CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
        EXPORTING
          number        = iv_pernr
          validitybegin = sy-datum.
    If i call this method a dump appears and if the same code of that method is implemented directly in a normal report everything works fine.
    Why can't i call this function module from within a method?
    Regards
    Mark-André

    Hi,
    the dump even appears by testing the method from Class Builder with F8!
    In my test report iv_pernr isn't declared as follows:
    REPORT  z_test.
    PARAMETERS p_pernr TYPE pernr_d.
    zcl_test=>check_employee( p_pernr ).
    The reason of the dump is parameter RETURN. But i don't understand it why it only doesn't work from within a method.
    Dump Message:
    In the function module interface, you can specify only  
    fields of a specific type and length under "RETURN".    
    Although the currently specified field                  
    "GT_RETURN" is the correct type, its length is incorrect.
    Regards
    Mark-André

  • Executing the planning function while opening the web interface

    hello all,
    I have created a planning area based on multiprovider.This multiprovider is based on two transactional cube ie,COPA cube and Cost Center cube.
    This planning area is meant for enabling integrated planning.One plans in COPA cube and other plans in Cost Center cube the income statement gets planned based on this two.
    I selected planning items in multiprovider layout to display the income statement.The layout is as follows:
    <b>PlanningItem</b>  <b>Amount</b>
    Net Sales<b>:</b>    9.000,00 INR   (This comes from COPA)
    Sales Overheads<b>:</b> 200,00 INR  (This comes from Cost Center)
    Depreciation<b>:</b> 200,00 INR (This comes from Cost Center)
    Other Expenses<b>:</b> 300,00 INR  (This comes from Cost Center)
    EBIT<b>:</b> 0,00 INR
    Interest Income<b>:</b> 0,00 INR
    Interest Expense<b>:</b> 0,00 INR
    Operating Income<b>:</b> 0,00 INR
    Taxes<b>:</b> 0,00 INR
    Now EBIT planning item is to be calculated from the planning items as follows:
    EBIT = Net Sales-Sales Overheads-Depriciation-Other Expenses
    For this i have created a planning function which calculates EBIT.This function works properly,there are no issues in it.
    My problem is that i want this function to be executed as soon as i open the web interface for my planning application and the result should be as follows:
    <b>PlanningItem</b>  <b>Amount</b>
    Net Sales<b>:</b>    9.000,00 INR   (This comes from COPA)
    Sales Overheads<b>:</b> 200,00 INR  (This comes from Cost Center)
    Depreciation<b>:</b> 200,00 INR (This comes from Cost Center)
    Other Expenses<b>:</b> 300,00 INR  (This comes from Cost Center)
    EBIT<b>:</b> 8.300,00 INR
    Interest Income<b>:</b> 0,00 INR
    Interest Expense<b>:</b> 0,00 INR
    Operating Income<b>:</b> 0,00 INR
    Taxes<b>:</b> 0,00 INR
    Can anybody suggest how to go about this problem?
    Thanks in advance.
    regards,
    Yogesh

    Hi Yogesh,
    as far as i know, there is no standard functionality for that purpose, but there are workaround for it.
    1. Modify the BSP Application.
       Go to SE80 --> Repository Browser --> BSP Application --> your WI name --> page with flow logic --> double click on page1.htm --> Event handler tabstrip --> on the drop down selection press F1 --> add a function module that call you BPS function in specific event (e.g: OnInitialization).
    2. Use WI-Exit Class / WI-Extention (ABAP OO).
    Here you need to create sub class from Class: CL_UPWB_BSP_APPL, and assign the class to your WI. You can then add a function module that call you BPS function in method:
    2.1. Load --> performed only once on intial execution of WI.
    2.2. Initialisation --> called once for each server response.
    2.3. Dispatch --> called at each action and also for each WI component.
    You can see further information in SAP how to paper:
    How to Validate manual input in WEB planning application, New BPS-Features delivered with SAP BW 3.5, etc.
    You can call your BPS function with BPS API FM (See F.Group: UPC_API)
    But there is also more easier way to realize your ebit calculation. If you define your EBIT calc. manually in layout (define with manually defined Lead column). With this way, You will always get your EBIT analog with inputed values.
    Then you add your EBIT calc.function to Layout Component in WI in property: 'Function After Data Change'.
    Best Regards,
    Suan Liono

  • How to read data from a Modbus module

    I have a Modbus module from ICPDAS (ET-7019/PET-7019), which I want to read data directly from. Since I'm fairly new to Modbus, not really sure where to start from. I have read the Modbus introduction and understood some of the basics. I've also downloaded the Modbus library but don't really see any good example. The ICPDAS Modbus module is ethernet based and is currently connected to our network. The ICPDAS can log data but I'd like to read data directly using LabVIEW.
    We have LabVIEW 2009 development suite and RT module, cFP 2220 and 180x. I read some sections saying using cRIO as modbus master/slaves and assume we can use cFP as a similar method? I don't have DSC module.
    Would someone be nice to draw a diagram or explain where I can start in terms of connection and configuration? Read from ICPDAS is the only function I need.
    Many thanks,
    Dahai

    Here is a thread with a modbus ethernet query.
    http://forums.ni.com/t5/LabVIEW/Help-with-MODBUS-over-TCP/m-p/271528/highlight/true#M144486

  • Best practice for calling application module methods and plsql code

    In my application I am experiencing problems with connection pooling, I seem to be using a lot of connections in my application when only a few users are using the system. As part of our application we need to call database procedures for business logic.
    Our backing beans, call methods on the application module which in turn call a database procedure. For instance in the backing bean we have code like this to call the application module method.
    // Calling Module to generate new examination/test.
    CIGAppModuleImpl appMod = (CIGAppModuleImpl)Configuration.createRootApplicationModule("ky.gov.exam.model.CIGAppModule", "CIGAppModuleLocal");
    String testId = appMod.createTest( userId, examId, centerId).toString();
    AdfFacesContext.getCurrentInstance().getPageFlowScope().put("tid",testId);
    // Close the call
    System.out.println("Calling releaseRootApplicationModule remove");
    Configuration.releaseRootApplicationModule(appMod, true);
    System.out.println("Completed releaseRootApplicationModule remove");
    return returnResult;
    In the application module method we have the following code.
    System.out.println("CIGAppModuleImpl: Call the database and use the value from the iterator");
    CallableStatement cs = null;
    try{
    cs = getDBTransaction().createCallableStatement("begin ? := macilap.user_admin.new_test_init(?,?,?); end;", 0);
    cs.registerOutParameter(1, Types.NUMERIC);
    cs.setString(2, p_userId);
    cs.setString(3, p_examId);
    cs.setString(4, p_centerId);
    cs.executeUpdate();
    returnResult=cs.getInt(1);
    System.out.println("CIGAppModuleImpl.createTest: Return Result is " + returnResult);
    }catch (SQLException se){
    throw new JboException(se);
    finally {
    if (cs != null) {
    try {
    cs.close();
    catch (SQLException s) {
    throw new JboException(s);
    I have read in one of Steve Muench presentations (Oracle Fusion Applications Team' Best Practises) that calling the createRootApplicationModule method is a bad idea, and to call the method via the binding interface.
    I am assuming calling the createRootApplicationModule uses much more resources and database connections that calling the method through the binding interface such as
    BindingContainer bindings = getBindings();
    OperationBinding ob = bindings.getOperationBinding("customMethod");
    Object result = ob.execute()
    Is this the case? Also is using getDBTransaction().createCallableStatement the best way of calling database procedures. Would it be better to expose plsql packages as webservices and then call them from the applicationModule. Is this more efficient?
    Regards
    Orlando

    Thanks Shay, this is now working.
    I successfully got the binding to the application method in the pagedef.
    I used the following code in my backing bean.
    package view.backing;
    import oracle.binding.BindingContainer;
    import oracle.binding.OperationBinding;
    public class Testdatabase {
    private DCBindingContainer bindingContainer;
    public void setBindingContainer (DCBindingContainer bc) {this.bindingContainer = bc;}
    public DCBindingContainer getBindingContainer() {return bindingContainer;}
    public static String validateUser()
    // Calling Module to validate user and return user role details.
    System.out.println("Getting Binding Container from Home Backing Bean");
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    System.out.println("Obtain binding");
    OperationBinding operationBinding = bindings.getOperationBinding("calldatabase");
    System.out.println("Set username parameter");
    operationBinding.getParamsMap().put("p_userId",userId);
    System.out.println("Set password parameter");
    operationBinding.getParamsMap().put("p_testId",examId);
    Object result = operationBinding.execute();
    System.out.println("Obtain result");
    String userRole = result.toString();
    System.out.println("Result is "+userRole);
    }

  • Error: "Function or method not supported." when using RF List Mode on NI 5673E

    Hi,
    I am trying to use the RF List Mode in NI RFSG 5673E. I tried running the sample code "RFSG Configuration List Frequency and Power Sweep.vi" but an error would show up:
    "Error: niRFSGCreateConfigurationList.VI <ERR> The LO reported the following error: Function or method not supported." with the error code: BFFA4239. 
    I also tried running other sample codes that contain the Configuration List VI's but the same error appeared. I am using NI RFSG 1.8.5.
    I would really appreciate any help on this. Thanks!

    Hello jdlabrador,
    I setup a 5673E here and tried to run the same example.  I did not encounter an error.
    Other reports I've found pertaining to this error usually involved a large number of steps - there was not enough space on the hardware to accommodate them.  The error text you're seeing is a little different in that it states that the Create Configuration List method isn't supported for the LO.
    Do each of the modules in your 5673E (5450, 5611, 5652) pass a self-test in MAX?  
    Have you associated the 5450 and 5652 with the 5611?
    Could you post a screenshot of the fully-expanded Devices and Interfaces tree from MAX?
    Since RFSG 1.9.5 is available, it may be a good first-step to upgrade to it.  
    Best regards,
    Matthew H.
    Applications Engineer
    National Instruments

  • How do I call an Application Module method from a EntityImpl class?

    Guys and Gals,
    Using Studio Edition Version 11.1.1.3.0.
    I've got a price update form, that when submitted, takes the part numbers and prices in the form and updates the corresponding Parts' price in the Parts table. Anytime this Parts view object's ReplacementPrice attribute is changed, an application module method needs to be called which updates a whole slew of related view objects. I know you can modify view objects via associations (How do I call an Application Module method from a ViewObjectImpl class? but that's not what I'm trying to do. These AppModuleImpl methods are the hub for all price updates, as many different operations may affect related pricing (base price lists, price buckets, etc) and hence, call the updatePartPricing(key) method.
    For some reason, the below code does not call / run / activate the application module's method. The AppModuleDataControl exists and recordPartHistory(key) is registered and public. At runtime, the am.<method> code is simply ignored, and as a weird side-effect, I cannot navigate out of my current page flow.
      public void setReplacementPrice(Number value)
        setAttributeInternal(REPLACEMENTPRICE, value);
        AppModuleImpl am = (AppModuleImpl)this.getDBTransaction().findApplicationModule("AppModuleDataControl");
        Key key = new Key(new Object[]
            { getPartNumber() });
        am.recordPartHistory(key);  // AppModuleImpl method which records pricing history
        am.updatePartPricing(key); // AppModuleImpl method which updates a whole slew of related pricing tables
      }Any ideas?

    Thanks Timo.
    Turns out the code provided was correct, but the AppModuleImpl method being called was not. A dependent ViewObject wasn't returning the row I was expecting. I then tried to perform some operations on that row, which in turn ... just stopped everything, but didn't give me an error.
    It was the lack of the error that threw me off. I had never messed with calling an AppModuleImpl method from the EntityImpl so I assumed that's what was messing up.
    You are correct. It is available from the ViewRow, but I thought it better to put it in the EntityImpl. This method will be called every time the replacement cost is modified. If I didn't put it in the EntityImpl, I'd have to remember to call it every time a replacement cost changed.

  • Error -50400 occurred at Invoke Method: FIFO.Read in Host.vi

    Hey there,
    we have sensors on an Engine which are connected to a NI cRIO 9014 board (with a NI9411 6-channel digital input modul) and go from there via network to a host computer.
    cRIO board: the cRIO board collects the data from the engine and stores it in a buffer, this is because the network is to slow for the magnitude of data
    host computer: the host computer reads over the network the buffer on the cRIO board, on the host computer it takes out specific portions of the data to create pressure graphs of the engine
    Error: 
    Error -50400 occurred at Invoke Method: FIFO.Read in Host.vi
    Possible reason(s):
    The transfer did not complete within the timeout period or within the specified number of retries.
    This error occurs in the following scenario:
    - engine is running
    - cRIO is running
    When I press the start button (boolean 3) in the host.VI to start the reading of the data from the board AFTER I pressed the run button of the host VI. 
    The Error would not occur if I pressed the start button (boolean 3) BEFORE I pressed the run button of the host VI.
    We tried to increase the time out, but it still did not work, the error occurs!
    We would be really happy if you could look over it and help us in this case! If you need further informations or if we need to clarify some specific portion, please let us know!
    We included the VI's in the attachement!
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    Host.vi ‏152 KB
    C_RIO.vi ‏92 KB
    Cyl_Pres.lvproj ‏196 KB

    Chrisse,
    There are a few things wrong in your application, if I may offer some suggestions.
    First, your while loops are not running in parallel.  In fact, they are in while loops with a true constant wired to them. I am not sure if this is by design for debugging, or on accident.  I would put the Polling(read pulling zero elements) outside your main while loop.
    Your second nested while loop (the one polling the # of elements and then pulling them out) is going to run just once, and may pull only a few samples.  I don't think that is what you are looking for here, and there are a couple ways we can go here.  You could continuously poll until you have 0 elements available for x amount of time, then you know you have no more samples available and you can process all the data OR you can put all of your data processing as part of that loop and just always write to file immediately as x samples are pulled.
    Also, your main loop's stop condition is (i <= 3) Therefore, it will run once and then stop.  Maybe you mean >=3?
    Also, you have 'append to file' disabled on your write to spreadsheet, so everytime you write you are overwriting old data.  If you want to continuously write, you will be losing data.  This can be cured by either setting this to true(requiring a new file name or programatically deleting the old spreadsheet every time you run the vi) OR you can collect all of your data in a shift register, and only write to file once you have all your data available.
    The error you are seeing is because you try to close your FPGA reference twice.  You only need to close it once.
    After seeing your overall picture, I think this can all be cured by simply hardwiring your Read to get your 1440X4 elements, but as we have seen, this does not work.  Something is happening in your system....this is what I want you to do...run just the following code...and let me know how many elements remaining it gives you...Once the number has settled(I hope it does and your engine doesn't keep running), hit stop, and all the values will be put on a graph for you.  My broken wires are because I do not have the FPGA VI.
    Message Edited by Robbob on 04-21-2009 01:48 PM
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video
    Attachments:
    numelements.jpg ‏39 KB

Maybe you are looking for

  • Output/Input Scale Factor

    I have a high resolution stage used for a scanning application.  I'm using a pci-7344 to control the stage.  The system is marginally stable with kp=1 and various values set for ki and kd.  I have found several posts with the same issue: http://forum

  • Tds Utility from 2005 to 8.8

    Dear All, I am going to upgrade the system from SAP 2005 to 8.8 but i have doubt about how my table structure is going to upgrade & what is pre-requasite before upgrade. As per my Knowledge SAP provided some query to transfer the TDS data 2005 to 8.8

  • About a Read Disk Error Occourred

    im having a problem here, everytime i open my desktop vostro 220s it will pop the message " A Read Disk Error Occourred Press Ctrl + Alt + Del to restart" but when i restart it i can open the window. but then when i turn off the desktop like 2-3 hrs

  • What do you do when the fingerprint id just turns off and there is no start backup

    it just turned off and wont start back up. and  wish for it too work again.

  • MacBook Pro hard drive issue

    This is a 15" MacBook Pro circa 2008-2009. It suddenly won't start past the apple logo and all of my efforts to repair, rebuild, reinstall snow leopard, erase, reformat, etc have been brutally rebuffed. I have used everything at my command, disc util