JSF Ri 1.1: Conversion executed in the wrong life cycle?

Hi,
If you look at the converter api doc of getObjectAs it states: "Convert the specified string value, which is associated with the specified UIComponent, into a model data object that is appropriate for being stored during the Apply Request Values phase of the request processing lifecycle."
However when I run a simple test with a debug phaselistener and a converter and they print data using system.out.println I see that the getAsObject is called in the process validations phase. I think this is incorrect. Has anybody seen this before?
With kind regards,
/Arnoud.
Before:RESTORE_VIEW 1
After:RESTORE_VIEW 1
Before:APPLY_REQUEST_VALUES 2
After:APPLY_REQUEST_VALUES 2
Before:PROCESS_VALIDATIONS 3
Converter getAsObject
After:PROCESS_VALIDATIONS 3
Before:UPDATE_MODEL_VALUES 4
After:UPDATE_MODEL_VALUES 4
Before:INVOKE_APPLICATION 5
After:INVOKE_APPLICATION 5
Before:RENDER_RESPONSE 6
Converter getAsString
After:RENDER_RESPONSE 6

It seems then, that the 1.1 specification has contradictions:
Under Section "3.3.2 Converter" it clearly reads as it was quoted above:
+This method [getAsObject] is used to convert the presentation view of a component’s value+
+(typically a String that was received as a request parameter) into the corresponding+
+model view. It is called during the Apply Request Values phase of the request+
processing lifecycle.
There is no mention here of the immediate flag, so one should be able to assume that
Apply Request Values is the phase in which the getAsObject method is normally executed.
Then there's there's this quote from Section "2.2.2 Apply Request Values":
Components that implement EditableValueHolder (such as UIInput), and
whose immediate property is set to true, will cause the conversion and
validation processing (including the potential to fire ValueChangeEvent events)
+that normally happens during Process Validations phase to occur during Apply+
Request Values phase instead.
How can it be that conversion "normally happens during Process Validations phase"
when a converter's getAsObject method is called called during the Apply Request Values
phase? Isn't that contradictory?

Similar Messages

  • Mailman executed as the "wrong" group

    After I installed a few updates and restarted my server  mailman won't accept mails and throws this error instead:
    Command died with
    status 2: "/usr/lib/mailman/mail/mailman post admins". Command output:
    Group mismatch error. Mailman expected the mail wrapper script to be
    executed as group "80", but the system's mail server executed the mail
    script as group "mailman". Try tweaking the mail server to run the script
    as group "80", or re-run configure, providing the command line option
    `--with-mail-gid=mailman'.
    but the group with id 80 is the mailman group...
    grep mailman /etc/group
    mailman:x:80:
    The mail server is a normal postfix setup and all the alias tables and transport maps are owned by the group mailman.
    ls -l /var/lib/mailman/data/
    insgesamt 60
    -rw-r----- 1 mailman mailman 41 6. Feb 2011 adm.pw
    -rw-rw---- 1 mailman mailman 1887 6. Feb 2011 aliases
    -rw-rw---- 1 mailman mailman 12288 26. Feb 16:31 aliases.db
    -rw-r----- 1 mailman mailman 41 6. Feb 2011 creator.pw
    -rw-rw---- 1 mailman mailman 6 27. Feb 09:05 master-qrunner.pid
    -rw-r--r-- 1 mailman mailman 14100 18. Feb 16:51 sitelist.cfg
    -rw-rw---- 1 mailman mailman 1184 6. Feb 2011 virtual-mailman
    -rw-rw---- 1 mailman mailman 12288 6. Feb 2011 virtual-mailman.db
    Why is mailman complaining that it is executed with the wrong group when it is actually executed with the correct group?

    Allan wrote:Please file a bug report.
    done

  • Where in the MIDlet life-cycle should I create multiple forms with LWUIT ?

    Hi all,
    I must create two LWUIT forms in my application. Where should I create the two forms ? I created the first form in the startApp life-cycle method , and when I tried to create also the second form in the startApp method then there is a NullPointerException raised when running the application !
    So where , or how , should I create the second form ?
    Thank you very much indeed
    Edited by: andrianiaina on May 20, 2011 1:59 AM

    I think the problem here is that Arlhoolie wants all of the different TEBs to behave as if they were part of a single interaction that submits only ONE result to the quiz.  Using multiple TEBs in Captivate means that you have multiple scored objects and therefore multiple results being submitted to the quiz.
    If you want a single Success or Failure result submitted to the quiz based on the results from multiple interactive objects then there really is no simple way to do it.  But you could try using the Infosemantics Interactive Master widget to combine all the TEBs as slave objects that report to the Master Widget, which then reports a single score to the quiz based on the results from the slave objects.
    You can learn more about the Master widget here:
    http://www.infosemantics.com.au/adobe-captivate-widgets/interactive-master
    http://www.infosemantics.com.au/interactivemaster/help
    You can download a free trial version of the widget here:
    http://www.infosemantics.com.au/adobe-captivate-widgets/download-free-trial-widgets
    One caveat you should be aware of is that this widget is not HTML5 compatible.

  • Sequence of Elements in the JSP Life Cycle

    How do I place several elements such as
    Create Instance
    Page translation
    JSP compilation
    Load class
    in the JSP life cycle
    Call jspInit
    Call _jspService
    Call jspDestroy

    See if http://java.sun.com/j2ee/tutorial/doc/JSPIntro4.html#62582 if this is what you wanted to know.

  • What is the total life cycle involved in any project

    Hi ,
    Can n e body help me in knowing  the complete life cycle of any project.
    Starting from the point customer wants to implement SAP for their business to implementation and support.
    thanks in advance,
    sastry

    Dear Sastry,
    It actually depends on various factors, such as :
    1. how many modules they want to implement.
    2. Team Size.
    3. Organizational Structure (Volume of data)
    4. Legacy System
    5. Business Complexity etc.
    There is no hard and fast rule that every project should be completed in a particular duration of time. Depending on the above factors, it may vary any where from 6 months to 18 months or so. (Approximately, it may be less than 6 months or more than 18 months in some exceptional cases).
    Usually it is divided into phases:
    1. Project Preparation : Project team, infrastructure, Software, Steering committe etc will be identified in this phase.
    2. Business Blue Print : Re-engineering of Business process and BBP sign off.
    3. Realization : Analysing Gap and Realization of possible customization and development effort
    4. Final Preparation : Development and Configuration
    5. Go Live and Post Go Live support : Going Live and Support after go live
    You would allot specific time periods for each of these phases and will set milestones accordingly.
    or it could even be like :
    Project Start
    Analysis
    Design
    Design Freeze / Client Sign-off
    Construction
    Testing
    Implementation
    Project End
    Project Management Framework
    Post Close Review
    Training
    Change Management
    Refer following links for more info:
    http://en.wikipedia.org/wiki/SAP_Implementation
    http://www.sapfans.com/sapfans/asap/be_01_e.htm
    Reward points if it is helpful.
    Thanks and Regards,
    Naveen.

  • Feedback on the potential use of the tool and about the Task Life Cycle

    Hi
    The task statuses does not considers some statues. We have worked on the task lifecycle for workflows (see image below). You are missing: Created, offered, allocated before getting the category of not started because otherwise your problem might be to not have resources availables.
    Once In Progress a task can be suspended/resumed, delegated.Failed or Cancelled, skipped. Once a task is Completed, At Risk and Failed.: 
    We have been working on workflow modeling for developing UIs. The WorkflowLab project has a lot of potential if we imagine an automated process to generate Flex (Information Systems) applications based on Workflows. Imagine that the granular details of a task are mapped onto Flex UIs.
    Have you ever consider this potential of using a workflow model as a design of an Information system?

    If you need further information, this is a site with publicly available papers of this topic.
    http://www.isys.ucl.ac.be/bchi/members/jgu/publications.htm
    The main topic is on how from a workflow model the User Interfaces of the system modeled can be generated but special atention has been paid to task modeling.
    If we can be of any help we would be very pleased to collaborate with your project.
    Juan

  • Jsf 1s phase of life cycle how knows ths components of the jsp with jsf tag

    i wish to know how faces servlet knows the jsp s view components while creaTI NG component tree at first request to input jsp which may have jsf tags.in the first phase faces servlet doesnot know input jsp with jsf tags what componnets it has. it is actually atthe response send or forward time which is the final phase when the tag ge executed and output is sent to client.i did understandin jsf life cycle in 1 st phase component tree is created at first request in 1 st phase .

    Hi,
    though a FacesContext holds the values used by a request, it doesn't mean it lives for as long as the request. The best explanation I found is from the JavaDocs
    release
    public abstract void release()
    +Release any resources associated with this FacesContext instance. Faces implementations may choose to pool instances in the associated FacesContextFactory to avoid repeated object creation and garbage collection. After release() is called on a FacesContext instance (until the FacesContext instance has been recycled by the implementation for re-use), calling any other methods will cause an IllegalStateException to be thrown.+
    The implementation must call setCurrentInstance(javax.faces.context.FacesContext) passing null to remove the association between this thread and this dead FacesContext instance.
    Throws:
    java.lang.IllegalStateException - if this method is called after this instance has been released
    Frank

  • Leaving Action executed in the Middle Of the Payroll Period

    Dear All,
    I am Trying to execute Leaving action For the Employee in the middle of the Payroll period thereby changing his Employee Group to Pensioner and also his payroll area to that of Pensioner.However the System is not allowing me to do so and is saying that Payroll area cannot be changed in the middle Of the Payroll Period.Plz Suggest what can be done so that the Leaving action Of the Employee can be executed in the Middle of the Payroll Period.
    Thanks
    Punam Jha

    Hi,
    In a payroll period, you can not include the same employee in two different payroll processing.  Hence, you can assign the new payroll area at the beginning of the next payroll period. Alternatively, execute the separation action with the last date of the pay period.
    regards
    Mohan M
    Edited by: M Mohan on Dec 21, 2009 2:34 PM

  • Search cannot be executed because the table has pending changes

    I'm getting the following error ..... The search cannot be executed because the table has pending changes that would be lost .... in the following scenario ....
    My 1st page is a search page with resulting rows from which the user can select specific rows to process ..... next button will populate the VO for the 2nd page by manually looping thru the selected rows in the VO of the 1st page. Loop logic is in the AM and it calls a method in the VORowImpl that uses setAttributeInternal .... the 2nd page displays the selected rows .....
    Pressing the back button of the 2nd page will display the 1st page and if the user tries to do a new search .... the error shows up.
    Any suggestions on how to handle this?
    Thank you.

    It seems to me that you are using the same VO on both the pages. If that is the case try to use separate VO for each page.
    And as suggested by Sumit, Never use/ rely on browser back button. Instead put a Back button on the second page through you can handle the event yourself rather than leaving on the mercy of browser.
    --Saroj                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Error: "The search cannot be executed because the table has pending changes that would be lost."

    Hello,
    I'm working a developing an OA page that will displays the contents of an Oracle table and allows the user to update records in a table as needed.
    When I hit submit button to save the changes in the update page, the control goes back to main page (where all the table records are displayed). It displays the updated record with the new information.However when I hit "Go" button on the mainPG, I get the error "The search cannot be executed because the table has pending changes that would be lost. and the changes are not committed.
    ANy suggestions on where I should look will be greatly appreciated.
    Posting code for my controller
    =======================
              if ( pageContext.getParameter("saveRate") != null )
              personam.invokeMethod("saveRateToDatabase");
    Code from my AM
    =============
        public void saveRateToDatabase()
          getOADBTransaction().commit();
          System.out.println("40--After commit has been executed");
    Code from my VORowImpl
    ===================
    package cggv.oracle.apps.gl.server;
    import oracle.apps.fnd.framework.server.OAViewRowImpl;
    import oracle.jbo.domain.Date;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.AttributeDefImpl;
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    public class xxCggGlRatesVORowImpl extends OAViewRowImpl {
        public static final int RATEID = 0;
        public static final int FROMCURRENCY = 1;
        public static final int TOCURRENCY = 2;
        public static final int FROMCONVERSIONDATE = 3;
        public static final int TOCONVERSIONDATE = 4;
        public static final int USERCONVERSIONTYPE = 5;
        public static final int CONVERSIONRATE = 6;
        public static final int MODEFLAG = 7;
        /**This is the default constructor (do not remove)
        public xxCggGlRatesVORowImpl() {
        /**Gets the attribute value for the calculated attribute RateId
        public Number getRateId() {
            return (Number) getAttributeInternal(RATEID);
        /**Sets <code>value</code> as the attribute value for the calculated attribute RateId
        public void setRateId(Number value) {
            setAttributeInternal(RATEID, value);
            //populateAttribute(RATEID, value);
        /**Gets the attribute value for the calculated attribute FromCurrency
        public String getFromCurrency() {
            return (String) getAttributeInternal(FROMCURRENCY);
        /**Sets <code>value</code> as the attribute value for the calculated attribute FromCurrency
        public void setFromCurrency(String value) {
            setAttributeInternal(FROMCURRENCY, value);      
        /**Gets the attribute value for the calculated attribute ToCurrency
        public String getToCurrency() {
            return (String) getAttributeInternal(TOCURRENCY);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ToCurrency
        public void setToCurrency(String value) {
            setAttributeInternal(TOCURRENCY, value);
        /**Gets the attribute value for the calculated attribute FromConversionDate
        public Date getFromConversionDate() {
            return (Date) getAttributeInternal(FROMCONVERSIONDATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute FromConversionDate
        public void setFromConversionDate(Date value) {
            setAttributeInternal(FROMCONVERSIONDATE, value);      
        /**Gets the attribute value for the calculated attribute ToConversionDate
        public Date getToConversionDate() {
            return (Date) getAttributeInternal(TOCONVERSIONDATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ToConversionDate
        public void setToConversionDate(Date value) {
            setAttributeInternal(TOCONVERSIONDATE, value);       
        /**Gets the attribute value for the calculated attribute UserConversionType
        public String getUserConversionType() {
            return (String) getAttributeInternal(USERCONVERSIONTYPE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute UserConversionType
        public void setUserConversionType(String value) {
            setAttributeInternal(USERCONVERSIONTYPE, value);
        /**Gets the attribute value for the calculated attribute ConversionRate
        public Number getConversionRate() {
            return (Number) getAttributeInternal(CONVERSIONRATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ConversionRate
        public void setConversionRate(Number value) {
            setAttributeInternal(CONVERSIONRATE, value);
        /**Gets the attribute value for the calculated attribute ModeFlag
        public String getModeFlag() {
            return (String) getAttributeInternal(MODEFLAG);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ModeFlag
        public void setModeFlag(String value) {
            setAttributeInternal(MODEFLAG, value);      
        /**getAttrInvokeAccessor: generated method. Do not modify.
        protected Object getAttrInvokeAccessor(int index,
                                               AttributeDefImpl attrDef) throws Exception {
            switch (index) {
            case RATEID:
                return getRateId();
            case FROMCURRENCY:
                return getFromCurrency();
            case TOCURRENCY:
                return getToCurrency();
            case FROMCONVERSIONDATE:
                return getFromConversionDate();
            case TOCONVERSIONDATE:
                return getToConversionDate();
            case USERCONVERSIONTYPE:
                return getUserConversionType();
            case CONVERSIONRATE:
                return getConversionRate();
            case MODEFLAG:
                return getModeFlag();
            default:
                return super.getAttrInvokeAccessor(index, attrDef);
        /**setAttrInvokeAccessor: generated method. Do not modify.
        protected void setAttrInvokeAccessor(int index, Object value,
                                             AttributeDefImpl attrDef) throws Exception {
            switch (index) {
            case RATEID:
                setRateId((Number)value);
                return;
            case FROMCURRENCY:
                setFromCurrency((String)value);
                return;
            case TOCURRENCY:
                setToCurrency((String)value);
                return;
            case FROMCONVERSIONDATE:
                setFromConversionDate((Date)value);
                return;
            case TOCONVERSIONDATE:
                setToConversionDate((Date)value);
                return;
            case USERCONVERSIONTYPE:
                setUserConversionType((String)value);
                return;
            case CONVERSIONRATE:
                setConversionRate((Number)value);
                return;
            case MODEFLAG:
                setModeFlag((String)value);
                return;
            default:
                super.setAttrInvokeAccessor(index, value, attrDef);
                return;
        /**Gets xxCggGlRatesEO entity object.
        public xxCggGlRatesEOImpl getxxCggGlRatesEO() {
            return (xxCggGlRatesEOImpl)getEntity(0);

    Hi,
    Check these links:
    Oracle Apps: Search cannot be executed because the table has pending changes that would be lost
    Re: Getting error in search page search cannot be executed
    http://jneelmani.blogspot.in/2009/11/oaf-search-cannot-be-executed-because.html
    --Sushant

  • "Error:The search cannot be executed because the table has pending changes that would be lost", after DELETE

    Good day,
    On Search Page, I have searched for the record(s) then deleted a record and got confirmation message i.e. Record has deleted. Next when I search for any record I'm getting below error.
    Error
    The search cannot be executed because the table has pending changes that would be lost.
    Could you please help me to fix this issue. Your response is highly appreciated.
    Item properties:
    Item Style : Image
    Action Type: Fire Action
    Event : delete
    Below is the code using in CO and AM
    Controller (processFormRequest):
    if ("delete".equals(pageContext.getParameter(EVENT_PARAM)))
              // The user has clicked a "Delete" icon so we want to display a "Warning"
              // dialog asking if she really wants to delete the employee. Note that we
              // configure the dialog so that pressing the "Yes" button submits to
              // this page so we can handle the action in this processFormRequest( ) method.
              String visit_id = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("last_name") + ", " + pageContext.getParameter("first_name");
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName)};
              OAException mainMessage = new OAException("FND", "XXXX_EMP_DELETE_WARN", tokens);
              // Note that even though we're going to make our Yes/No buttons submit a
              // form, we still need some non-null value in the constructor's Yes/No
              // URL parameters for the buttons to render, so we just pass empty
              // Strings for this.
              OADialogPage dialogPage = new OADialogPage(OAException.WARNING,
                mainMessage, null, "", "");
              // Always use Message Dictionary for any Strings you want to display.
              String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
              String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
              // We set this value so the code that handles this button press is
              // descriptive.
    dialogPage.setOkButtonItemName("DeleteYesButton");
              // The following configures the Yes/No buttons to be submit buttons,
              // and makes sure that we handle the form submit in the originating
              // page (the "Employee" summary) so we can handle the "Yes"
              // button selection in this controller.
    dialogPage.setOkButtonToPost(true);
    dialogPage.setNoButtonToPost(true);
    dialogPage.setPostToCallingPage(true);
              // Now set our Yes/No labels instead of the default OK/Cancel.
    dialogPage.setOkButtonLabel(yes);
    dialogPage.setNoButtonLabel(no);
              // We need to keep hold of the employeeNumber and employeeName.
              // The OADialogPage gives us a convenient means
              // of doing this. Note that the use of the Hashtable is 
              // most appropriate for passing multiple parameters. See the OADialogPage
              // javadoc for an alternative when dealing with a single parameter.
              java.util.Hashtable formParams = new java.util.Hashtable(1);
    formParams.put("visit_id", visit_id);
    formParams.put("empName", employeeName);
    dialogPage.setFormParameters(formParams);
              pageContext.redirectToDialogPage(dialogPage);
        else if (pageContext.getParameter("DeleteYesButton") != null)
              // User has confirmed that she wants to delete this employee.
              // Invoke a method on the AM to set the current row in the VO and
              // call remove() on this row.
              String employeeNumber = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("empName");
              Serializable[] parameters = { employeeNumber };
             // OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("deleteEmployee", parameters);
              // Now, redisplay the page with a confirmation message at the top. Note
              // that the deleteEmployee() method in the AM commits, and our code
              // won't get this far if any exceptions are thrown.
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName) };
              OAException message = new OAException("FND",
                "XXXX_EMP_DELETE_CONFIRM", tokens, OAException.CONFIRMATION, null);
    pageContext.putDialogMessage(message);
    Application Module:
      public void deleteEmployee(String visit_id)
            // First, we need to find the selected employee in our VO.
            // When we find it, we call remove( ) on the row which in turn
            // calls remove on the associated EmployeeEOImpl object.
            int empToDelete = Integer.parseInt(visit_id);
              OAViewObject vo = (OAViewObject)getNonEmployeesSummaryVO1();
        NonEmployeesSummaryVORowImpl row = null;
            // This tells us the number of rows that have been fetched in the
            // row set, and will not pull additional rows in like some of the
            // other "get count" methods.
           int fetchedRowCount = vo.getFetchedRowCount();
            // We use a separate iterator -- even though we could step through the
            // rows without it -- because we don't want to affect row currency.
            RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
              deleteIter.setRangeStart(0);
              deleteIter.setRangeSize(fetchedRowCount);
              for (int i = 0; i < fetchedRowCount; i++)
                row = (NonEmployeesSummaryVORowImpl)deleteIter.getRowAtRangeIndex(i);
                // For performance reasons, we generate ViewRowImpls for all
                // View Objects. When we need to obtain an attribute value,
                // we use the named accessors instead of a generic String lookup.
                // Number primaryKey = (Number)row.getAttribute("EmployeeId");
                Number primaryKey = row.getVisitId();
                if (primaryKey.compareTo(empToDelete) == 0)
                  // This performs the actual delete.
                  row.remove();
                    getTransaction().commit();
                  break; // only one possible selected row in this case
            // Always close the iterator when you're done.
            deleteIter.closeRowSetIterator();
          } // end deleteEmployee
    Thanks,
    Ravi

    Hi
    Check this link Getting error in search page search cannot be executed
    Regards,
    Dilip

  • Bug Report: New conversation window stills the sys...

    Bug Report: Skype Desktop: New conversation window stills the system/keyboard focus.
    When the UI is in multi-window mode and a conversation window pops up (due for example to a newly received chat message), that window steals the system/keyboard focus, even though it appears in a minimized state in the Windows taskbar. And this should not happen by default, because it is impractical (especially for screen reader users). And it didn't happen in Skype 6.21 and earlier. But since the new UI was introduced officially in Skype 7.0, it started happening constantly.
    Steps to reproduce it:
    1. From "View" menu, activate the "Split Window View", if it is not already enabled.
    2. From Tools -> Options -> IM & SMS -> IM settings, enable "Open a new window when I receive a new message in Split Window View", if it is not already enabled.
    3. From Tools -> Options -> Advanced, activate "Enable accessible mode", if it is not already enabled.
    4. Activate the "Save" button, to save the changes.
    5. Close all windows, related to Skype. You may keep only the main window opened.
    6. Move the system focus to another application.
    7. Tell someone to send you a chat message. When the message arrives and the conversation window pops up minimized in the Windows Taskbar, everything seams to be as it should. A few seconds after that however, the system/keyboard focus gets moved to that new conversation window, even though it is neither restored/maximized (it is minimized), nor it is visible on the screen (except as a button in the taskbar).
    Actual results:
    When a new conversation window pops up in the Windows taskbar, it stills the system/keyboard focus to itself from the currently focused application.
    Expected results:
    Skype's popping up new conversation windows should not still the system/keyboard focus to themselfs from the currently focused application.
    Test environment:
    - Operating system: Windows 8.1 Pro N, 64-bit, in Bulgarian with all locale settings set to "Bulgarian".
    - Skype version: 7.0.0.102 for Desktop.

    This is a known problem, but Skype have not given us an estimated time for a fix.
    Traditionally, Skype updates have been roughly monthly, so we are due a new version sometime soon. Many of us here are hoping that is has a bunch of fixes for the UI, the focus problem being one of them.
    Sean Ellis - uses Skype chat for serious work
    Click here to read my blog post on Skype 7 and basic principles of GUI design

  • I recieve the following error when running an executable ("This VI is not Executable. The full development version of Labview is required to fix the errors"

    I recieve the following error when trying to build and run a labview executable. I am able to build the executable but when trying to run the executable, a pop up window comes up asking the user to select a dll. (please see screen shot attached). Once the DLL is selected, I get the error that This VI is not Executable. The full development version of Labview is required to fix the errors. (please see screen shot attached). I have also attached a snapshot of the project window.
    I have the professional development system
    I can run the main VI
    all the required DLL's are in the dependencies section of the project window.
    I am trying to find the root cause of this error but to no avail. can anyone give me a clue to what i am missing here. Any suggestions on where i should look to find the problem ?
    Thanks in advance to all labview users for your help
    Attachments:
    project window.PNG ‏36 KB

    other PNG
    Attachments:
    Broken Arrow on EXE.PNG ‏179 KB

  • Front-end functions cannot be executed in the background in SM37

    Hi ,
    I have developed a BDC program for Tcode HRUSER . The program is working fine in Frontend but when Executed in Background through SM37 gives a error -:
    "Front-end functions cannot be executed in the background".
    I am not using any function like GUI_DOWNLOAD or anything like that .
    Thanks
    Nikhil Arya.

    Hi ,
    No , the program is not taking any inputs from the user .
    when i am executing the program in background mode it is just showing the messages at the end which i am writing in the program for eg:
    "creating a user for employee 2306328".
    So , only the list of messages comes at the end .
    Thanks
    Nikhil Arya.

  • Install many executable on the same PC with different names

    Hello,
    I'm trying to install several executables with different names in the same computer but at the end of install process the message is : "an higher  or existing version is already installed in this computer"
    I create the Executable and Setup with LabVIEW Application Builder and install the executable in the same Program Files root directory with a different sub-directory for each executable as this : Program Files-->MyProject-->SubProjet1 with exe1/SubProject2 with exe2 etc...
    My OS is WinXP pro SP2 and I work with LabVIEW 8.5.
    Thanks and regards,
    Armindo PINTO

    Hi Armindo,
    Thank you for using the NI forums! 
    From what I understand, you are trying to create multiple executables of a vi project to co-exist on the same PC. Any time you re-use the LabView 8.x project file, it will generate
    install package with the same product ID number. That means, if the
    deployed PC has the previous version installed, which had been
    generated from the same project file, the new install package will
    remove the previous version and overwrite it with the new version. Or as in your case, not allow you to install lower versions of the executable. That
    means, the previous version will be no longer available on the deployed
    PC. If you are creating an upgraded version to the product this is
    fine.
    However, if you need to re-use the LabView 8.x project
    file and generate a new product, which can potentially co-exist with
    the previous on the end user PC, you need to generate a new installer
    with a different product ID number. One of the way to do it:
    Copy existing project file (e.g. "name1.lvproj") under a different name (e.g. "name2.lvproj")
    Open the new instance of the project
     Expand the "Build Specifications"
     Right click on the installer specification, e.g. "name1 Installer"
    Select "Duplicate" from the menu
    You can now delete the instance "name1 Installer" and rename the "Copy of name1 Installer" to a suitable name, e.g. "name2 Installer"
     Make changes that are needed between the two versions, for example:
    Select a new source VI
    Build a new exe file
    Reflect the new exe file in the "name2 Installer"
    Make
    any other changes needed in "name2 Installer", for example different
    documentation files included in install, change in the target install
    directories, changes in the start menu shortcuts. etc.
    Build the install.
    Please let me know if this solves the issue, and let me know how you get on.
    Kind regards,
    Ashish Naik
    Field Sales Engineer
    National Instruments UK

Maybe you are looking for