Timer value between button presses

Hello all,
I am trying to simulate a cell phone key pad using Labview. The problem is with text editing. When the number 2 key is pressed, for example, the first key press is number 2, the second key press (within 300 mS) will gives the letter "a" and so on.
My question is : how do I monitor the elapse time between ke presses.
I have found this vi from NI Keypad Ver 5.vi. How can I modified this for my purpose.
Thanks in advance for the help and input.
Van
Attachments:
Keypad_Zip_Files.zip ‏37 KB

I've modified the example to behave the way that you ask. I added a few shift registers to keep track of elapsed time, number of times pressed, and last button pressed. Take a look at it and see if it makes sense to you, if not let me know and I can provide a more detailed explaination. I saved it to LV version 5 because I wasn't sure what version you were using.
Hope it helps
Brian
Attachments:
Keypad_Ver_5.vi ‏72 KB
Keypad.vi ‏83 KB

Similar Messages

  • Change control values on button press

    Hi, I've got a situation where I have several numeric controls where you can change different values. I also have several subVIs with control references (as described in this article: http://labviewwiki.org/Control_References) that takes in references to these numeric controls on the mainVI. These subVIs continously read the values in their own threads.
    So whenever I change a value on any of the controls, the values does of course change in the subVIs, since they reference to the value of the control.  How would I make the actual value only change only after I clicked the ok button?
    To illustrate this I made a VI with an event structure and a separate while loop that continoulsy reads a reference to the control and updats an indicator. I can think of a few cumbersome solutions, whereas I have two controls for every value. The second control would then be hidden and only written to in case of the Ok button press. But having two controls to do something simple as this seems superfluous.
    Message Edited by Siniz on 10-20-2009 10:36 AM
    Solved!
    Go to Solution.
    Attachments:
    ValueChangeOnButtonPress.vi ‏19 KB

    Given what you want to do then I would suggest that you use an Action Engine to contain your data. This has the advantage of decoupling the UI from the subtasks. I would recommend that your action engine consist of an array of clusters. Each cluster would contain the data values, in your case Ki, Kd and Kp for each controller. This has the advantage of reducing the individual values you are dealing with and treats the data for a given controller as a whole. The subtasks could either poll the data looking for a value change. You could even keep track of that in your Action Engine so you would only need to poll to see if the data changed. If it did, then read the data. You would need an index or ID to specify which controller's data you would want to access. The action engine allows you to grow your application if more controllers are added. You should use a typedef to define the cluster. If you wanted to make this more event driven you could use a single notifier shared by your subtasks that would simply indicate a data change event. Part of the data for the notifier could specify which data. That way only interested subtasks would take action. This type of architecture wouldn't add lots of wires to your diagram especially if you used a named notifier.
    Regardless of the way you choose to pass the data to the subtasks I would take a look at your UI. I haven't seen it so I can't comment on it specifically. However is you have 40 controls on the front panel at the same time it most likely is a confusing interface. There are ways to reduce the complexity and still provide the same functionality. If you haven't already looked at I would recommend getting the book The LabVIEW Style Book by Peter Blume. If you did reduce your UI to only work with a single controller or a couple of related controllers at a time the Action Engine approach would work nicely since you take your data from the FP and only update the data that has changed. From a UI perspective you have less controls to worry about on your UI and it will probably be easier for the user to understand. From the application's perspective you have decoupled the subtasks from the UI in a very clean way. Another approach would be to use LVOOP for your controller data and processing. Then you simply instantiate a new instance of the class (an object) for each controller that your system is using. This has an added benefit of allowing you to use different controllers and load them at runtime using dynamic dispatching.
    PS You are good for the overall Kudo count. Thanks.
    Message Edited by Mark Yedinak on 10-20-2009 12:33 PM
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Flv "white flash" in between videos playing when button pressed.

    I am currently working on a catalyst project whereby the buttons pressed play different sections of an animation. My problem is that the animation flashes white for a split second in between pressing the button and the video playing. Does anyonyone know how to eliminate this white flash? Would really appreciate any help,
    Cheers,
    Dan

    Hello all,
    Yes to follow up Ben, I'm experiencing the exact same problems as him. I changed browser to Firefox 3.0.11 a couple of months ago and hence downloaded the Flash plugin for Firefox. I noticed the issue straight away in Youtube, but not on other sites. As I attributed the problem to Firefox, I then downloaded Opera 9.64 - but experienced the same problem. This led me to believe the issue was the Flash plugin, as both browsers are served by the same Adobe plugin for 'alternative browsers' to IE.
    I then tried IE6 again in youtube and it didn't have the problem on standard view, however the problem was (and still is) occurring in full screen view. I'm nearly 100% sure this problem didn't occur before I downloaded the Flash plugin for Firefox / Opera. Regardless of whether that is the issue, the problem was definitely not happening on my system in IE6 earlier this year.
    As Ben said, my computer is fairly old but well managed and up to date. OS is Windows 2000 SP4, system is AMD Athlon 900 (slot A), 512 Mb RAM, 16Mb Voodoo 3 graphics, m/board MSI MS-6191.
    I've also tried removing the Flash plugin for Firefox/Opera and for IE6 and reinstalling it but had no joy there either. I would try an updated version of IE too but IE6 is the last version compatible with Win 2k.
    Any help appreciated, thanks.
    Matt

  • HT201412 my iphone ( 4 ) suddenly switched off...i press several time in power button but not working.pls advice me

    my iphone ( 4 ) suddenly switched off...i press several time in power button but not working.pls advice me

    hold the power button and home button for about a minute
    plug it into a computer with itunes on
    either way should work

  • Get the difference between two java.sql.Time values

    Hi, I'm developping a web application in which I need to to subtract one java.sql,Time value from another. The two values are stored in a database field of type DateTime. I used following code
    java.sql.Time start_time=resultset.getTime("startTime");
    java.sql.Time end_time=resultset.getTime("startTime");
    java.sql.Time diff=start_time-end_time;
    can u give me any comment on this code

    Remember what the Date/Time object in Java represents - a single point in time.
    Subtracting one from another gives you an amount of time elapsed between the two dates. Fine.
    Making a new Date out of that number is incorrect. The number no longer represents a point in time, but rather a duration.
    Its like saying "There is 10 seconds difference between the two times, so the time is now 1 Jan 1970, 00:00:10 GMT".
    The simple and stupid calculation is to take the milliseconds difference, and divide it to get to a more humanly readable value.
    // duration in milliseconds
    long duration = ?????
    long durationInSeconds = duration / 1000;
    long durationInMinutes = duration / (60 * 1000);
    long durationInHours = duration / (60 * 60 * 1000);
    // careful - not always true!
    long durationInDays = duration / (24 * 60 * 60 * 1000);
    NOTE: The "daysBetween" calculation is potentially complicated by Daylight Time adjustments. The simple approach does not necessarily work exactly.
    Cheers,
    evnafets

  • How to find the difference between 2 time values in Java

    hi all,
    i have 2 time values
    String time1="6:20";
    String time2="21:30"
    How to find the difference between 2 times in Java?
    pls help
    thanx in advance....

    Calculating Java dates: Take the time to learn how to create and use dates
    Working in Java time: Learn the basics of calculating elapsed time in Java
    Formatting a Date Using a Custom Format
    Parsing a Date Using a Custom Format

  • HT2822 apple tv just says date and time will not connect press menu button on remote,dose nothing then goes to screen saver shots of animails

    First time connecting apple tv just says date and time will not connect press menu button on remote,dose nothing then goes to screen saver shots of animails

    Read this: http://appletv2.com/stuck-on-setting-date-and-time-fix/

  • Calling a report from forms - FRM-40735 when-button-pressed raised unhandle

    Hi,
    I created a form to generate a pdf report.
    its not going too well, so i need some help.
    my form only has one button , when pressed I want it to generate a report in pdf format.
    i created a when-button-pressed trigger and the following code is below:
    I also create a web service proxy jar file,
    the jar file is in the FORMS_BUILDER_CLASSPATH, and the jar file is imported from forms builder without any issues.
    As of now I am hard coding everything in the code below to see if it works.
    The error I am getting  FRM-40735 when-button-pressed raised unhandled exception ORA-105100 i dont know why ?
    This error is occurring at this line of code, please help, this is my first time doing something like this.
    obj := publicreportserviceclient.new(); DECLARE
    param_name varchar2(200);
    un varchar2(200);
    pw varchar2(200);
    out_file varchar2(200);
    obj ORA_JAVA.JOBJECT;
    BEGIN
    obj := publicreportserviceclient.new();
    param_name := 'EMP';
    un := 'Administrator';
    pw := 'Oracle123';
    out_file := 'D:\DevSuiteHome_1\j2ee\home\default-web-app'||'output';
    publicreportserviceclient.callRunReport(obj,'/~administrator/Learn/Test1/Test1.xdo','EMP','141414',un,
    pw,'pdf','New_Template',out_file);
    web.show_document('http://jmenge-de.de.oracle.com:8889/j2ee/' || 'output');
    exception
      --check for ORA-105101
      when ORA_JAVA.EXCEPTION_THROWN then
         message('Java Exception : '
          || Exception_.toString(ORA_JAVA.LAST_EXCEPTION));
          ORA_JAVA.CLEAR_EXCEPTION;
          return;
      --check for ORA-105100
      when ORA_JAVA.JAVA_ERROR then
                   message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
              return;
    END;This is my java function
        public void callRunReport (String reportPath, String paramName, String  paramValue, String
        username, String password, String format, String template, String outFile) {
        try {
                bip_webservice.proxy.PublicReportServiceClient myPort = new bip_webservice.proxy.PublicReportServiceClient();
                // Calling runReport
                ReportRequest repRequest = new ReportRequest();
                repRequest.setReportAbsolutePath(reportPath);
                repRequest.setAttributeTemplate(template);
                repRequest.setAttributeFormat(format);
                repRequest.setAttributeLocale("en-US");
                repRequest.setSizeOfDataChunkDownload(-1);
               ParamNameValue[] paramNameValue = new ParamNameValue[1];
                paramNameValue[0] = new ParamNameValue();
                paramNameValue[0].setName(paramName);
                String[] values = new String[1];
                values[0] = paramValue;
                paramNameValue[0].setValues(values);
                repRequest.setParameterNameValues(paramNameValue);
                ReportResponse repResponse = new ReportResponse();
                repResponse = myPort.runReport(repRequest,username,password);
                byte[] baReport = repResponse.getReportBytes();
                FileOutputStream fio = new FileOutputStream(outFile);
                fio.write(baReport);
                fio.close();
            } catch (Exception ex) {
                        ex.printStackTrace();
        }Thanks - please help

    If there is a way to make it work with Bi publisher, Please let me know.
    I need to something to make it work with BI publisher.
    thanks,
    Edited by: Rooney on May 27, 2010 1:27 PM

  • Problem while hide a block on selection screen on button press

    Hi,
    I have added two buttons on the application toolbar of the selection screen. I have input fields under two blocks on the selection-screen. Initially the second block is hidden. If I press the button 1 the second block should be made visible.
    For this to happen, I captured the button 1 click event using the following statement.
    IF sscrfields-ucomm = 'FC01'.
    Inside the if ... endif, I looped at the screen and made the second block visible. It was working fine.
    loop at screen.
      if screen-group4 = '013'.
         screen-invisible = 1.
         screen-active    = 0.
      endif.
    endloop.
    Later the second button was added. Now when i run the report for the first time, if button 2 is clicked the hidden block appears on the selection screen even though i have not added any code for it.
    Just to check, i commented the logic to display the hidden block on button 1 click event. Even without any code the first time i press any of the two buttons added on the application toolbar the hidden block is displayed.
    I saved a variant for the report.
    During execution of the report, if i select any variant then the hidden block is displayed.
    Can anyone please tell me how to fix this problem.
    Regards,
    T2.

    Hi All,
    The problem is solved.
    Everyone was confusing between the pushbutton on the selectio-screen and on apllication toolbar
    (where you have the execute icon).
    Please find the code below. Thanks for you time and help. I appreciate it.
    REPORT ztest.
    INCLUDE <icon>.
    *  TABLES                                                              *
    TABLES: t001,              " Company Codes
            lfa1,              " Vendor Master (General Section)
            sscrfields.        " Fields on selection screens
    * To capture button press event.
    DATA: gv_button_press       TYPE c.
    * Menu Painter: Program interface for dynamic texts
    DATA: gs_dyntxt             TYPE smp_dyntxt.
    *  SELECTION SCREEN                                                    *
    SELECTION-SCREEN FUNCTION KEY 1.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-s01.
    * Company Code.
    SELECTION-SCREEN BEGIN OF BLOCK ccode WITH FRAME TITLE text-s02.
    SELECT-OPTIONS: s_bukrs FOR t001-bukrs OBLIGATORY MEMORY ID buk.
    SELECTION-SCREEN END OF BLOCK ccode.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK dsel WITH FRAME TITLE text-s04.
    * Vendor Master.
    SELECTION-SCREEN BEGIN OF BLOCK vend WITH FRAME TITLE text-s07.
    SELECT-OPTIONS: s_konzs FOR lfa1-konzs MODIF ID aw1.
    SELECT-OPTIONS: s_txcd1 FOR lfa1-stcd1 MODIF ID aw1.
    SELECT-OPTIONS: s_txcd2 FOR lfa1-stcd2 MODIF ID aw1.
    SELECTION-SCREEN END OF BLOCK vend.
    SELECTION-SCREEN END OF BLOCK dsel.
    * INITIALIZATION                                                       *
    INITIALIZATION.
    * Populate the Application toolbar button attributes.
      PERFORM populate_app_toolbar_buttons.
    * Hide the dynamic screen intially.
      PERFORM hide_screenfields.
    * AT SELECTION SCREEN                                                  *
    AT SELECTION-SCREEN.
    * Capture the button press event.
      PERFORM capture_button_press.
    * AT SELECTION-SCREEN OUTPUT.                                          *
    AT SELECTION-SCREEN OUTPUT.
    * Show/Hide the dynamic selection screen based on button press.
      PERFORM adapt_screen.
    *&  Form  populate_app_toolbar_buttons                                 *
    *   Display Icon on the application toolbar buttons. Also set the      *
    *   function codes for these buttons.                                  *
    FORM populate_app_toolbar_buttons.
      CLEAR gs_dyntxt.
      WRITE icon_fencing     TO gs_dyntxt-icon_id AS ICON.
      MOVE  text-b01         TO gs_dyntxt-quickinfo.   " Dynamic Selections
      MOVE gs_dyntxt         TO sscrfields-functxt_01.
    ENDFORM.                    " populate_app_toolbar_buttons
    *&  Form  hide_screenfields                                            *
    *   Initially hide the Dynamic selection screen.                       *
    FORM hide_screenfields.
      LOOP AT SCREEN.
        IF screen-group1 = 'AW1'.
          screen-invisible = '1'.
          screen-active    = '0'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    ENDFORM.                    " hide_screenfields
    *&  Form  capture_button_press                                         *
    *   Set the flag based on button press event. Appication bar button    *
    *   tcode is available only at 'At Selection-screen' event.            *
    *   Use the captured data at 'At Selection-screen Output' event.       *
    *   Screen adjustments is possible only under this event.              *
    FORM capture_button_press.
      IF sscrfields-ucomm = 'FC01'.
        IF gv_button_press IS INITIAL.
          gv_button_press = 'X'.
        ELSEIF gv_button_press EQ 'X'.
          CLEAR gv_button_press.
        ENDIF.
      ENDIF.
    ENDFORM.                    " capture_button_press
    *&  Form  adapt_screen                                                 *
    *   Show/Hide the dynamic selection screen based on button press       *
    *   captured at 'At selection-screen' event.                           *
    FORM adapt_screen.
    * If button press flag is initial hide the dynamic selection screen.
      IF gv_button_press IS INITIAL.
        LOOP AT SCREEN.
          IF screen-group1 = 'AW1'.
            screen-invisible = '1'.
            screen-active    = '0'.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
    * Elseif button press flag is 'X' show the dynamic selection screen.
      ELSEIF gv_button_press EQ 'X'.
        LOOP AT SCREEN.
          IF screen-group1 = 'AW1'.
            screen-invisible = '0'.
            screen-active    = '1'.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " adapt_screen
    Regards,
    T2
    Message was edited by: Titu Joseph

  • Detect if time/date browse button was used

    Hi,
    I have a position control vi for indexing elements inside array and displaying corresponding time and date. I have large number of control signals inside my block, but I have removed all irrelevant blocks and signal for this discussion. I have replaced all unnecessary controls with constant values, so don't waste time analyzing it.   
    If you take a look at my vi, you will see Star/Stop control, Position control and a time stamp indicator (Waveform time) with a time/date browse button from another time stamp control. I have all desired functionalities, but I have problem when using browse button for setting up time. I can't set my time two times in a row at same value because I'm comparing "Last entered time stamp" value with current one just entered. I would not like to completely change my blocks because I'm using a lot of property nodes and variables inside my project. I'm just looking for a way to figure out if time/date browse button has been pressed so I could jump to desired point in my recorded waveform.   
    Solved!
    Go to Solution.
    Attachments:
    position_control_lite.vi ‏16 KB

    I can't change Waveform Time Indicator to a Control because that would make other controls much complex (not shown in attached vi)
    I have modified my block to the simplest form. I have changed some control names.
    There is now only one problem - how can I detect if user has pressed time/date browse button? I'm not interested at this point which value has been entered.
    I need to replace User has entered value in  Jump to time/date with some kind of Boolean logic or event case.
    Message Edited by _thomas on 11-17-2009 09:23 AM
    Attachments:
    position_control_lite_lv8.6.vi ‏14 KB
    position_control_lite_lv8.0.vi ‏19 KB
    position_control.png ‏33 KB

  • 8 hours time difference between Mac OS & Windows XP for Macbook

    I got my macbook yesterday. Next to the problems I've heard before,today I found that the time for MAC OS is always 8 hours before the time in Windows XP no matter how I adjust the time zone. I've tried many ways, but found no way out. Is there somebody else can give me some tips. Tks!

    I got my macbook yesterday. Next to the problems I've
    heard before,today I found that the time for MAC OS
    is always 8 hours before the time in Windows XP no
    matter how I adjust the time zone. I've tried many
    ways, but found no way out. Is there somebody else
    can give me some tips. Tks!
    Official answer
    http://docs.info.apple.com/article.html?artnum=303572#faq1
    Why is the time different between Mac OS X and Windows XP on my computer?
    The Windows XP and Mac OS X operating systems handle your computer's date and time information differently, so the date and time may be different when you switch operating systems. For best results, use a network time server and resync the date and time whenever you switch operating systems. In Mac OS X, use the “Set date & time automatically” option in the Date & Time preferences. In Windows XP, click the Update Now button in the “Date and Time Properties” control panel.
    Nice solution
    http://discussions.apple.com/message.jspa?messageID=2378497#2378497
    "I found a better solution to this whole thing. The problem with the Windows clock being off is because the hardware clock (the one on your actual motherboard) is being set to "Universal" time, or GMT, when you shut down your MacOS bootup. When you boot Windows, Windows assumes your clock is set to your local timezone because that's what Windows does by default. This explains why the people who set their MacOS clock to GMT got the right time in Windows... If the hardware clock is being set to "GMT," when it's actually the local time, Windows will pick this setting up as local time as it did before.
    To fix this, you need to add a key to your Windows system registry to tell Windows that your hardware clock will always be GMT.
    * WARNING: Editing your registry improperly can render your Windows installation inoperable. Proceed VERY carefully. I am not responsible if you mess something up. *
    The short solution for people who know how to edit the registry:
    A DWORD key called HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal needs to have the value of "1"
    The step-by-step solution is as follows:
    1. Boot Windows
    2. Click Start --> Run and type regedit. Click OK
    3. The Windows Registry Editor should pop up. Navigate within the explorer to:
    HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
    4. Click on the TimeZoneInformation "folder" from the navigation pane if you haven't already done so.
    5. This assumes the correct key doesn't exist. If it does, you will just change the existing key's value: Right click on the white space within the folder (If you don't have a right mouse button, you may need to download a program called applemouse to emulate the "control-click" of the apple 1-button mouse). Select new --> DWORD Value. Title the key "RealTimeIsUniversal" (No quotes). Set the value to "1" (No quotes again). Hexidecimal should be fine.
    6. Either reboot and set the clock in MacOS or set the clock in Windows. You should now be able to reboot into either OS and have a correct clock."
    iFelix

  • Passing values between event structure cases

    Hello everybody,
    I have a question concerning the event structure  - how to pass values (let's say a string / the state of a boolean control / the value of a numeric control value / an array of numeric values) between event cases ?
    There seem to be 2 situations here  :
    - when you need to pass the value of the control that triggers an event;
    - when you need to pass the value of a control which is modified in an event case.
    I have read the documentation but i still do not understand very clearly how to do this. Maybe you can point me in the right direction (maybe some threads on the forum that i have missed).
    Thank you very much !!
    (KUDOS for everyone who is interested in this )

    AndreiN2014 wrote:
    - when you need to pass the value of the control that triggers an event;
    - when you need to pass the value of a control which is modified in an event case.
    The first question isn't worded very well.  What exactly are you looking to do?  Are you looking for an event that specifically relates to that control?  If so, just drop it inside of the event and wire it.  Are you looking to trigger multiple events from the same control?  Ie, you hit the control, event1 is triggered which then triggers event2 ... ?  If so, you might consider taking a look at a different architecture.  I can think of very few cases where I'd prefer do this over something like having the button trigger a state and using the state machine architecture. 
    Others have pointed out the Shift Register.  This is the typical way to pass values between one iteration of a loop to another.  We can assume you have some sort of loop outside of the event structure to make it run a second time.  Put a shift register on this loop and the value wired into it will pass each iteration.  But, if it's just a random control, you can also just leave that outside of the event structure and wire it in as well.  This will provide the new value to the next occurrence of the event structure.
    You really need to define your problem before trying to solve it.

  • FRM-40735 WHEN-BUTTON-PRESSED TRIGGER RAISED UNHANDLED EXCEPTION ORA-01843

    Hi everyone
    When I run My form in Microsoft Windows Melinem , and I have Button on the form WHEN I press the button it works fine ,but when I run the same form in Microsoft Windows XP and WHEN I press the button it give this message :
    FRM-40735
    WHEN-BUTTON-PRESSED TRIGGER RAISED UNHANDLED EXCEPTION ORA-01843
    AND I RECOMPILE THE FORM IN Microsoft Windows XP BUT STILL I AM GETING THE SAME MESSAGE
    WAITING FOR YOU VALUABLE ANSWER .
    BEST REGARDS
    JAMIL ALSHAIBANI

    Forms [32 Bit] Version 6.0.8.23.2 (Production)
    Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
    With the Partitioning option
    JServer Release 9.0.1.1.1 - Production
    and the script which is used in the button as the following :
    DECLARE
    CURSOR C1 IS
    SELECT ITEM_CODE,AVERAGE_COST,STORE_CODE,ITEM_QUANTITY,TOTAL_COST
    FROM IM_GOODS_RECIEVE_DETAILS
    WHERE DOC_CODE = :IM_GOODS_RECIEVE_HEADER.DOC_CODE;
    LOC_DOC_CODE VARCHAR2(10);
    LOC_DOC_DATE DATE;
    LOC_ITEM_CODE VARCHAR2(30);
    LOC_ITEM_QUANTITY NUMBER(20,3);
    LOC_CART_QTY NUMBER(20,3);
    LOC_UNIT_CODE VARCHAR2(10);
    LOC_TOTAL_COST NUMBER(20,6);
    LOC_AVERAGE_COST NUMBER(20,6);
    LOC_SUM_QTY NUMBER(20,6);
    LOC_BALANCE NUMBER(20,6);
    LOC_PRICE NUMBER(20,6);
    LOC_BALANCE_COST NUMBER(25,6);
    LOC_ITEM VARCHAR2(30);
    L0C_TOT_COST NUMBER(20,6);
    LOC_TOT_QTY NUMBER(20,6);
    LOC_NEW_AVERAGE NUMBER(20,6);
    LOC_ON_HAND_QTY NUMBER(20,3);
    al_id Alert;
    al_button NUMBER;
    LOC_SYS_DATE DATE;
    BEGIN
    SELECT TO_DATE(TO_CHAR(SYSDATE,'DD/MM/YYYY')) INTO LOC_SYS_DATE FROM DUAL;
    FOR R IN C1
    LOOP
    BEGIN
         SELECT B.ITEM_CODE ,SUM(NVL(ITEM_QUANTITY,0)) INTO LOC_ITEM ,LOC_SUM_QTY
    FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
    WHERE A.DOC_CODE = B.DOC_CODE
    AND B.DEL_STORE = R.STORE_CODE
    AND ITEM_CODE = R.ITEM_CODE
    AND DOC_DATE BETWEEN :IM_GOODS_RECIEVE_HEADER.DOC_DATE
    AND LOC_SYS_DATE
    GROUP BY
    ITEM_CODE
    ORDER BY B.ITEM_CODE ;
    exception
         when no_data_found then
         NULL;
         when form_trigger_failure then
    show_message(sqlerrm);
         raise form_trigger_failure;
         when others then
         show_message(sqlerrm);
         raise form_trigger_failure;     
    END;     
         BEGIN
         BEGIN
         SELECT (NVL(QUANTITY_ON_HAND,0) + (NVL(LOC_SUM_QTY,0))),NVL(ITEM_PRICE1,0),
         NVL(QUANTITY_ON_HAND,0)
         INTO LOC_TOT_QTY,LOC_PRICE,LOC_ON_HAND_QTY
         FROM IM_LOCATION A, IM_INVENTORY B
         WHERE A.ITEM_CODE = B.ITEM_CODE
         AND A.ITEM_CODE = R.ITEM_CODE
         AND A.STORE_CODE = R.STORE_CODE;
         LOC_BALANCE := (:IM_GOODS_RECIEVE_DETAILS.ITEM_QUANTITY) - (LOC_TOT_QTY);
         LOC_BALANCE := - (LOC_BALANCE);
         LOC_BALANCE_COST := ((LOC_BALANCE) * (LOC_PRICE));
         L0C_TOT_COST := LOC_BALANCE_COST + :IM_GOODS_RECIEVE_DETAILS.TOTAL_COST;
         LOC_NEW_AVERAGE := ROUND(((L0C_TOT_COST)/(LOC_TOT_QTY)),5);
         exception
         when no_data_found then
         NULL;
         when form_trigger_failure then
    show_message(sqlerrm);
         raise form_trigger_failure;
         when others then
         show_message(sqlerrm);
         raise form_trigger_failure;
         END;
         BEGIN
         SELECT 1 INTO :GLOBAL.DUMMY
         FROM COST_TEMP_SUM
         WHERE S_GOODS_DOC = :IM_GOODS_RECIEVE_HEADER.DOC_CODE
         AND S_GOODS_DATE = :IM_GOODS_RECIEVE_HEADER.DOC_DATE
         AND S_ITEM_CODE = R.ITEM_CODE;
         exception
         when no_data_found then
         INSERT INTO COST_TEMP_SUM
         VALUES(:IM_GOODS_RECIEVE_HEADER.DOC_CODE,
         :IM_GOODS_RECIEVE_HEADER.DOC_DATE,LOC_SUM_QTY,LOC_ON_HAND_QTY,
         LOC_TOT_QTY,LOC_BALANCE,R.ITEM_QUANTITY,
         LOC_PRICE,LOC_BALANCE_COST,R.TOTAL_COST,
         L0C_TOT_COST,LOC_NEW_AVERAGE,R.ITEM_CODE,LOC_SYS_DATE);
         when form_trigger_failure then
    show_message(sqlerrm);
         raise form_trigger_failure;
         when others then
         show_message(sqlerrm);
         raise form_trigger_failure;     
         END;
         END;
    IF LOC_BALANCE_COST = 0 THEN
         UPDATE IM_INVENTORY
              SET ITEM_PRICE1 = R.AVERAGE_COST
              WHERE ITEM_CODE = R.ITEM_CODE;      
    ELSE
         UPDATE IM_INVENTORY
              SET ITEM_PRICE1 = LOC_NEW_AVERAGE,ITEM_PRICE2 = LOC_PRICE
              WHERE ITEM_CODE = R.ITEM_CODE;      
    END IF;
    -- THIS FOR ISSUED ITEMS QUANTITY
    FOR R2 IN (
    SELECT B.ITEM_CODE as LOC_ITEM_CODE, NVL(ITEM_QUANTITY,0) as LOC_ITEM_QUANTITY,
    A.DOC_CODE as LOC_DOC_CODE, AVERAGE_COST as LOC_AVERAGE_COST,
    TOTAL_COST as LOC_TOTAL_COST,A.DOC_DATE as LOC_DOC_DATE,
    CART_QTY as LOC_CART_QTY,UNIT_CODE as LOC_UNIT_CODE
    FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
    WHERE A.DOC_CODE = B.DOC_CODE
    AND B.DEL_STORE = R.STORE_CODE
    AND ITEM_CODE = R.ITEM_CODE
    AND DOC_DATE BETWEEN :IM_GOODS_RECIEVE_HEADER.DOC_DATE
    AND LOC_SYS_DATE
    -- AND :EXPENSES_TAB.EXP_DATE
    ORDER BY B.ITEM_CODE )
    LOOP
    BEGIN
    SELECT 1 INTO :GLOBAL.DUMMY
         FROM COST_TEMP
         WHERE T_DOC_CODE = R2.LOC_DOC_CODE
         AND T_DATE = R2.LOC_DOC_DATE
         AND T_ITEM_CODE = R2.LOC_ITEM_CODE;
    exception
         when no_data_found then
    INSERT INTO COST_TEMP
    VALUES(R2.LOC_DOC_CODE,R2.LOC_DOC_DATE,R2.LOC_CART_QTY,R2.LOC_ITEM_QUANTITY,
    R2.LOC_AVERAGE_COST,:IM_GOODS_RECIEVE_HEADER.DOC_CODE,
    :IM_GOODS_RECIEVE_HEADER.DOC_DATE,R.ITEM_CODE,R.STORE_CODE);
    when form_trigger_failure then
    show_message(sqlerrm);
         raise form_trigger_failure;
         when others then
         show_message(sqlerrm);
         raise form_trigger_failure;     
         END;
    Begin
    al_id := Find_Alert('POST_DATA');
    IF Id_Null(al_id) THEN
    Message('User_Warning alert does not exist');
    RAISE Form_Trigger_Failure;
    ELSE
    ** Show the warning alert
    -- jamil al_button := Show_Alert(al_id);
    ** If user pressed OK (button 1) then bring up another
    ** alert to confirm -- button mappings are specified
    ** in the alert design
    -- IF R2.LOC_ITEM_QUANTITY != 0 AND al_button = ALERT_BUTTON1 THEN
         IF R2.LOC_ITEM_QUANTITY != 0 THEN
    BEGIN
    UPDATE IM_TRANS_ISSUE_DETAILS
    SET AVERAGE_COST = LOC_NEW_AVERAGE,
    TOTAL_COST = LOC_NEW_AVERAGE * R2.LOC_ITEM_QUANTITY
    WHERE DOC_CODE = R2.LOC_DOC_CODE
    AND ITEM_CODE = R2.LOC_ITEM_CODE ;
    END;
    END IF;
    END IF;
    END;
    END LOOP;
    END LOOP;
    GO_BLOCK('IM_GOODS_RECIEVE_HEADER');
    :IM_GOODS_RECIEVE_HEADER.FLAG_COST := 1;
    COMMIT;
    SET_ITEM_PROPERTY('IM_GOODS_RECIEVE_HEADER.PUSH_BUTTON152',ENABLED,PROPERTY_FALSE);
    SET_ITEM_PROPERTY('EXPENSES_TAB.PUSH_BUTTON151',ENABLED,PROPERTY_FALSE);
    SHOW_MESSAGE('The New Cost Price updated Successfully !!!');
    END;
    BEGIN
         IF nvl(:IM_GOODS_RECIEVE_HEADER.FLAG_COST,0) = 1 THEN
    Make_Block_Query_Only('IM_GOODS_RECIEVE_DETAILS');
         ELSIF nvl(:IM_GOODS_RECIEVE_HEADER.FLAG_COST,0) = 0 THEN
         Make_Block_Query_Only('IM_GOODS_RECIEVE_DETAILS');
         END IF;          
    END;     
    best regards
    Jamil Alshaibani

  • FRM-40735 WHEN BUTTON PRESSED trigger raised unhandled exception ORA-29282

    Hi All,
    while entering data in EAM forcaste workorder in maintenance workbench am getting this error
    FRM-40735 WHEN BUTTON PRESSED trigger raised unhandled exception ORA-29282
    check google and oracle forums and checked versions of pll and plx (as mentioned in one forum) for the form every thing is fine
    i hav also generated tkprof report but did'nt get enough info required
    my environment
    linux 5.6
    R12.1.3
    on 11.1.0.7
    please do let me know how to attach the print screen and tkprof report
    please help
    zavi

    Hi There,
    Srini:
    the form form name is different from one you mentioned in note
    ORA-29282 In POST-DELETE Trigger In EAMWOMDF Form [ID 1364328.1]
    any how i check the EAM diag option is set to yes,
    sorry i cant upload the screenshots and trace file we cant upload any from company
    here are few details from form-->help--> about
    RDBMS : 11.1.0.7.0
    Oracle Applications : 12.1.3
    Form Application : Enterprise Asset Management
    Form Name : EAMPLNWB
    Form Path : /u02/uat/apps/apps_st/appl/eam/12.0.0/forms/US/EAMPLNWB.fmx
    Form Version : 12.0.78.12010000.28
    Form Last Modified : $Date: 2011/05/17 02:44 $
    Forms PL/SQL
    APPCORE : 12.0.29.12010000.22
    APPDAYPK : 12.0.2.12010000.6
    APPFLDR : 12.0.6.12010000.2
    APPTREE : 12.0.0
    CUSTOM : 12.0.0
    EAMMRMDF : 12.0.27.12010000.4
    EAMOPMDF : 12.0.13.12010000.1
    EAMRSMDF : 12.0.10.12010000.2
    EAMWOMDF : 12.0.77.12010000.25
    FNDAPLT : 12.0.1
    FNDSQF : 12.0.3.12010000.8
    GHR : 12.0.46.12010000.14
    GLOBE : 12.0.76.12010000.10
    GMS : 12.0.51.12010000.8
    IGILUTIL2 : 12.0.32
    IGILUTIL : 12.0.3
    OPM : 12.0.7.12010000.2
    PQH_GEN : 12.0.7
    PSA : 12.0.17
    PSAC : 12.0.5
    PSB : 12.0.2
    Hi Hussain:
    from the note
    Please see (Creating Work Orders with Activity gives PL/SQL: numeric or value error: ORA-06512: at "APPS.EAM_WORKORDER_PKG", line 1431 [ID 822365.1]).
    it says about
    to debug the issue, users has enabled profile EAM: Debug Profile Option needs to be set to Yes at site level.
    Every time when WO API is involved, the following files are generated: createwo.log , updatewo.log.
    where can i find those logs please specify the location
    what i did
    as said by hussain i have manually compiled form and libraries assocaited with that form
    still waiting for reply from user
    got tkprof report
    few lines from that tkprof:
    declare                         
         m_stmt     varchar2(512);               
    begin                         
         m_stmt:='delete     from     sdo_geor_ddl__table$$';          
         EXECUTE     IMMEDIATE     m_stmt;          
         EXCEPTION                    
         WHEN     OTHERS     THEN          
         NULL;                    
    end;                         
    some select statement
    SELECT     MAX(STOCK_LOCATOR_CONTROL_CODE),     MAX(DEFAULT_DEMAND_CLASS),               
         MAX(CALENDAR_CODE),     MAX(CALENDAR_EXCEPTION_SET_ID),               
         NVL(MAX(PROJECT_REFERENCE_ENABLED),2),     NVL(MAX(PROJECT_CONTROL_LEVEL),1),               
         NVL(MAX(PM_COST_COLLECTION_ENABLED),2),     MAX(PRIMARY_COST_METHOD)               
    FROM                         
         MTL_PARAMETERS     WHERE     ORGANIZATION_ID     =     :B1
    insert statement its performing
    insert     into     eam_forecasted_work_orders(     pm_forecast_id,     group_id,                                                       
         pm_schedule_id,     activity_association_id,     cycle_id,     seq_id,                                                       
         scheduled_start_date,     scheduled_completion_date,     action_type,                                                            
         wip_entity_id,     process_flag,     wo_status,     created_by,     creation_date,                                                  
         last_update_date,     last_updated_by,     pm_base_meter_reading     ,                                                       
         ORGANIZATION_ID     )                                                                 
    values                                                                           
    (     :1,     :2,     :3,     :4,     :5,     :6,     :7,     :8,     :9,     :10,     :11,     :12,     :13,     sysdate,     sysdate,
         :14,:15,:16     )                                                                 
    please add a line through your vission
    cheers
    Zavi

  • How to measure time difference between zero crossing of a sine wave and rise time of a pulse on a same graph?

    I have a 50Hz sine wave and a pulse signal on a same graph. The phase difference between two is between 0-90 degrees.
    Now I need to calculate the time difference between (when the sine wave crosses zero volts) and (when the pulse rises). The frequency will stay approximately same for both signals.
    The application is for a three phase generator. In simple words, when the time difference between the zero-crossing of sine wave and the pulse rises increases, that means that the load on the generator has increases.
    I am a beginner user of LabView (version 9, 2009), maybe it is a very simple problem but I've been pulling my hair out for the last few days and coudln't figure anything out. Any help would be greatly appreciated. I am using DAQ USB-6008 to measure these voltages and pulse from the generator and a sensor
    I have attached a jpg (a graph that i just made with excel to explain). The time 't' is what I am trying to measure
    Cheers
    Awais 
    Message Edited by awais.h on 03-30-2010 11:20 PM
    Message Edited by awais.h on 03-30-2010 11:21 PM
    Solved!
    Go to Solution.

    Hi
    Thanks for the code but I'm afraid it won't work. Like you said the probability of choosing a value that is on both graphs may not happen. This is something that I would like the code to do automatically.
    But I did use the previous code posted and made some modifications to it and it seems to work perfectly. Now the next thing is to be able to get just that one value that tells you the first time difference.
    Here is what I get using that code.
    As you can see from the t Values. I only need the one that is highlighted. If there is a way to filter out the rest it would be great.
    I was thinking of a while loop and as soon as the value is higher than 3E-5 it would store the number and stop the loop, but I'm not too familiar with arrays in labview.
    Here is the the code modified.
    As you can see, it wasn't that big of a modification and it still is your code.
    I will keep trying.
    Thanks for the help
    Attachments:
    FinalShockSpeed.vi ‏55 KB

Maybe you are looking for

  • Text scrollbar no longer works in Flash 8

    I recently reinstalled my software apps, (I lost a lot of extensions, customization and patches) so I think that's why the scroll bar no longer functions. I'm running Flash Professional 8, Mac OS 10.4.10. Anyone have any suggestions?

  • User defined field in SD and its link to Value field in COPA (??)

    Dear All, We have created one "Z" field i.e. user defined field and its in VBRP Table. This is a quantity field. to update the values in this field we have used an exit in sales and distribution module. Now, by defining this exit values are correctly

  • MBPR wifi issues after latest update to 10.9.2

    Hi all, After the latest update to 10.9.2 my Macbook Pro Retina (1st gen) seems to be having issues re-connecting to wi-fi after I wake it up from sleep. Although I've read stories about wifi-issues with the retina line in general, I've been lucky en

  • Apex 2.2 popup lov doesn't return chosen value

    Hey, I've built a page within one of my applications in apex 2.2 that has an item based on a Popup LOV. I have a pre-built dynamic LOV. When I run the page the popup icon appears and I can launch the popup. The filters work, and the result set appear

  • Re-route sales and cost of sales for shipments to vendors.

    We are increasing a process where we will ship raw materials to a vendor, they will use this material in production for a finished good that the vendor will sell back to us.  It is not sub-contracting, since we would sell these raw materials in bulk.