Wait function generate to much messages

Hi,
Scenario :
   A message comes from Sytem A which is to modify an Infortype from HR System. When the employee infotype is already locked by something else, PI keep the message and wait until 5 minutes en resend the message to the HR system.
Problem:
   During the paiement process (3 or 4 days a month) all employees infotypes are automatically locked for business purpose.
   The BPM works pretty well but after a while PI keeps 800 000 Messages. It is not because there is a lot of input messages. When PI do a Loop and retry the message it generates another message. Then after 4 days we got full of waiting messages which crash down PI.
Question :
   How can I relove this issue ? Is this a methodo to tell PI do no crete an other message but keep the original one ?
Thanks for your answers
Joseph BERTHE

Hi Joseph,
>Is this a methodo to tell PI do no crete an other message but keep the original one ?
As long as your sceanrio is synchronous: no, unfortunately not. An application sending a synchronous message has to wait for the answer and must have a time out after a certain time. The message cannot be queued or reprocessed because the sending applicaiton has to react to the error. Synchronous messages are using more resources for a longer time (a work process at SM50). As well BPM with time outs is not very stabil in case of mass data, you ll have too much running processes at the same time.
So from a design point of view you should send the messages asynchronous, they should be queued in the receivinig system  and reprocessed there. IDoc Inbound would be standard for this.
Regards,
Udo

Similar Messages

  • Linking function generator to AM modulation toolkit

    Dear
     I am doing an AM modulation demodulation telecom project using labview.
    I have in attachment the function generator (as the message signal) and Am-modulate (as AM modulation process) but I am facing problem wiring the function generator as the message signal in the AM-modulate. I would be thankful if someone can help me doing so. Moreover if you have any idea how to perform the demodulation process using MT modulation toolkit I will be thankful.
    Thank you for your help
    Solved!
    Go to Solution.
    Attachments:
    Function-generator.vi ‏40 KB
    AM-modulate.vi ‏30 KB

    Hi o4enPro,
    Thank you for contacting us
    I replied you here: http://forums.ni.com/t5/LabVIEW/MT-modulation-tool​kit-problem-Am-modulation-demodulation/m-p/1571542 for the demodulation issue. Was it helpful?
    Modulation process:
    You have more opportunites to connect the signal output of the generator to the modulator VI.
    - Using global variables: In this case you have create a new project and create a global variable. The generator VI should write the global variable and the modulator VI should read it. You should run both VI at the same time.
    - Embed the generator VI into the modulator VI. I attached an example. You should insert the generator VI (on the modulator block diagram: Functions Palette -> Select a VI). The generator VI's connector pane should be edited, you should make the input and output connections of the VI, so prepare it for using as SubVI.
    Please find the attached VIs for example. The main VI is the AM-modulate_modified.vi, so you should open just that. If you have any questions, write again.
    Regards,
    Peter
    Peter Vago
    AE Hungary
    Attachments:
    AM-modulate_modified.vi ‏36 KB
    Function-generator_modified.vi ‏50 KB

  • Generate an error message that Adobe Reader 8 or later is required

    Afternoon all,
    I have created a form (in Acrobat 10 Pro) with a lot of scripts and we have determined that they do not all work as desired in Adobe Reader 7 and earlier.
    Is there a way to generate an error message if a user opens this form with Adobe 7 or earlier?
    We would like a message to pop up advising the user that Adobe 8 or later is required for this form.
    It does not have to lock them out or anything, we just want to advise them.
    Thanks much,
    Steve

    Thanks,
    This is how my bosses want this done. For one part, some of the functionality we are using just doesn't exist in Reader prior to version 8. For others, the users don't really have an option to go elsewhere.
    As for thescript, i am not sure how to apply it. Where do i access the initial page's open event?
    I do know how to enter document level scripts (this form has several) but what does "outside of a function definition" mean and how do i do that?
    Thanks everyone,
    steve

  • How to connect our outbound function module to the message type

    how to connect our outbound function module to the message type any transcation code exits to assign the message type with the function module .
    Thank in advance .
    A. Thiru

    Hi Thiru,
    Standard Transaction Codes, have their own Function Modules for generating Outbound/Indbound Idocs. Where these Function Modules will be configured to a particular Process Codes.
    For E.g for PO's
    Process code : ME10 - IDOC_OUTPUT_ORDERS - for creation
    In case if its a Z Function Module, It depends on the case how you use IDOC types. either directly through Z Program or through Inbound/Outbound Process  codes with respective Function modules.
    Regards,
    Anbalagan

  • How to read data from a GPIB when sending a function generator command

    I'm using Visual C++ with the ComponentWork ActiveX and I'm tring to plot a
    CWGraph using the data coming from a GPIB device. When I write command such
    as "*IDN?" to the GPIB device, everythings if fine and I can read what the
    GPIB device return me. But when I send a command like "SOUR:FUNC SIN;SENS
    DATA?", the writing seems to be okay, but when I try to read the data, I
    alway get a "Timeout expired before operation completed" error message. I
    have tried with the CWGPIB and with the CWVISA but the result are the same
    with both.
    My reading code looks like this:
    COleVariant vReadBuffer;
    vReadBuffer = m_VISA.Read( COleVariant( (short) 2000 ) );
    and it work fi
    ne for "*IDN?" or for multimeters command.
    I want to know how I must read the data for function generator commands.
    Thank alot

    It sounds like your device is not accepting that command string as valid. The string you listed above is probably missing a colon between SENS and DATA. "SOUR:FUNC SIN;SENSATA" Try sending this string in Measurement & Automation Explorer to the instrument first to make sure it is working.
    Best Regards,
    Chris Matthews
    Measurement Studio Support Manager

  • Purchase Order Maintainer is unable to generate reminder / urging message

    Hi all,
    Purchase Order Maintainer is unable to generate reminder / urging message for purchase order.
    In material mater reminder time is set as well in vendor master partner function is set.
    But in ME91F message is coming like "Not possible to generate urging messages for all documents"
    regards,
    Nitin Patil

    Hi,
    The PO output should have been successfully processed before the urgig message to trigger.
    The order generally is
    PO output, urging and then reminders

  • What is the internal impedance of the NI ELVIS Function Generator?

    Does anyone know the load impedance of the function generator? I'm wondering how much it may be tainting the results of Tau for my RC circuit. Thanks.

    Impact -
    With the NI ELVIS Function Generator, the output impedence is spec'ed
    at 50 Ω guaranteed.  You can find the block diagram from the
    Function Generator on page A-6 and C-6 (Appendix C:  Theory of
    Operation) of the NI ELVIS User Manual. 
    NI Educational Laboratory Virtual Instrumentation Suite (NI ELVIS) User Manual - http://digital.ni.com/manuals.nsf/websearch/11E6BA4103D9ADD086257103005C97E0
    Good luck with your application!
    Mark Walters
    Application Engineer

  • Procedure Function to dequeue a message and return cursor

    Hi Guys,
    We are looking for ways to dequeue a message from an oracle queue and pass it to the java code.
    Namely we would like to create a procedure/function to dequeue a message which can be called by the java code for further processing.
    So far we have the following working example, but it uses DBMS_OUTPUT.PUT_LINE to display values. But the target is to pass it to java...
    Our DB - 11gR2
    CODE:
    create or replace
    PROCEDURE PRC_DEQUEUE_EVENT_1
    AS
    dequeue_options DBMS_AQ.dequeue_options_t;
    message_properties DBMS_AQ.message_properties_t;
    message_handle RAW(16);
    message our_message_type;
    BEGIN
    dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
    DBMS_AQ.DEQUEUE(
    queue_name => 'ORDERS_Q',
    dequeue_options => dequeue_options,
    message_properties => message_properties,
    payload => message,
    msgid => message_handle);
    DBMS_OUTPUT.PUT_LINE('STATUS: '|| MESSAGE.CORDYS_STATUS);
    DBMS_OUTPUT.PUT_LINE('CUSTOMERNUMBER: '|| MESSAGE.CUSTOMERNUMBER);
    DBMS_OUTPUT.PUT_LINE('EINDDATUM: '|| MESSAGE.EINDDATUM);
    DBMS_OUTPUT.PUT_LINE('ERRORCODE: '|| MESSAGE.ERRORCODE);
    DBMS_OUTPUT.PUT_LINE('EXTRA1: '|| MESSAGE.EXTRA1);
    DBMS_OUTPUT.PUT_LINE('EXTRA2: '|| MESSAGE.EXTRA2);
    DBMS_OUTPUT.PUT_LINE('EXTRA3: '|| MESSAGE.EXTRA3);
    DBMS_OUTPUT.PUT_LINE('EXTRA4: '|| MESSAGE.EXTRA4);
    DBMS_OUTPUT.PUT_LINE('EXTRA5: '|| MESSAGE.EXTRA5);
    END;
    In a result we get the following on the screen:
    STATUS: ORDER_COMPLETE
    CUSTOMERNUMBER:
    EINDDATUM: 20-DEC-11 12:00:00
    ERRORCODE:
    EXTRA1:
    EXTRA2:
    EXTRA3:
    EXTRA4:
    EXTRA5:
    Question is how to sent result into a variable/cursor... whatever which might be read by the java code.
    Any help would be much appreciated.
    Thanks!
    eMarcel
    Edited by: eMarcel on Jan 16, 2012 3:56 PM

    Thanks:)

  • [svn] 4184: Fix for @ see tag referencing a non-global package function generates an empty link@ href in DITA

    Revision: 4184
    Author: [email protected]
    Date: 2008-11-25 12:33:43 -0800 (Tue, 25 Nov 2008)
    Log Message:
    Fix for @see tag referencing a non-global package function generates an empty link@href in DITA
    Also now the deprecated should show up in the property and method summary table.
    and when @see results in an invalid href, an additional attribute called invalidHRef will be added to the dita file - this isn't picked up by xslt but will be consumed by FB.
    QE Notes: Some baselines may need to be updated due to new attribute for invalidHRef
    Doc Notes: None
    Bugs: SDK-18206
    tests: checkintests
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-18206
    Modified Paths:
    flex/sdk/trunk/asdoc/templates/asdoc-util.xslt
    flex/sdk/trunk/asdoc/templates/class-files.xslt
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelClassesGenerator.ja va

    Update!
    v3.1 has a major bug! Even though it may appear to work properly, strange characters may leak onto the end of URLs, and you may even get segfaults. Sorry I didn't properly test it before releasing it!
    Technical details:
    I calloc()ed the memory for the link href improperly, per:
    link = calloc((noprepend ? 0 : urllen) + i - s, 1);
    Once I fixed it with "+ 1", per:
    link = calloc((noprepend ? 0 : urllen) + i - s + 1, 1);
    it worked great.
    I may use a method that doesn't use a calloc() in the future; this works for now, and I'm not gonna knock it...
    Last edited by dav7 (2009-01-23 12:38:51)

  • Question about the Wait Function

    I wrote a VI to store the time stamps in a text file.
    I fond something strange in the text file (see the picture below).
    The time stamps weren't writen into the file every 10 ms! How could this happen? And how could I fix it and make the time stamp to be writen every 10ms?
    Thanks a lot!

    To further what was just said:
    The wait function will indeed wait 10ms, or near enough as I will soon explain.
    When used in a loop, the wait function will wait for 10ms AFTER the code inside the loop has been executed.
    Depending on your Operating System, and the speed of your PC, the code inside the loop could take several hundred milli-seconds to execute.
    So the total time for each loop iteration, and thus the time between file writes, will be (Xms + 10ms), where X is the time taken to execute the other code.
    Another thing to consider is that unless you are using a Real-Time OS, your Windows or Mac OS will not prioritise LabVIEW! The execution of your code must run alongside your virus scanner, email client, music player etc. etc. etc.
    As such, it is often asking too much to try to use labVIEW in accuracies of +/-1ms on the common desktop PC.
    As a final note: I cannot give facts on file writing, but just from my experience with LabVIEW a file write every 10ms is impractical as the write-to-file VI usually takes longer than 10ms to execute itself. Why not buffer up 10 writes/pieces of data/whatevers and then write them all to file at once? Whilst we are at it, why not buffer 100 pieces and then write them all at once?
    I have had this idea argued before, with people saying that if the system were to crash then the buffered up 100 reads would be lost. Remember guys: that labVIEWs write to file VI passes the data to the windows write buffer, and windows doesn't necessarily put it on disk straight away! That can only be guaranteed by closing the file reference or flushing the queue.
    Apologies, I have diverged.
    Rhys
    Applications Engineer
    National Instruments

  • Generate NanoSecond timestamp message in OSB ..?

    Hi,
    In my current project we have to generate a timestamp message string upto nano second.
    Using this function, I can get time stamp till MS but not NanoSecond.
    fn-bea:dateTime-to-string-with-format("SSmmssHHddMMyyyy", fn:current-dateTime())
    do we have an option with OSB to generate a nanosecond time stamp, pls advice ..

    KumarB,
    You can try building your custom xpath functions in OSB.
    http://docs.oracle.com/cd/E21764_01/doc.1111/e15866/custom_xpath.htm
    http://eelzinga.wordpress.com/2010/05/10/oracle-service-bus-11g-using-custom-xpath-functions/
    http://www.xenta.nl/blog/2010/05/10/oracle-service-bus-11g-using-custom-xpath-functions/
    Regards,
    Abhinav

  • Creating two sin signals using function generator.vi example

    hi all. i want to create two sin signals with different parameters using function generator.vi example. i tried to modify the example by copying the code and try to output two sin signals on different channels of the DAQ but error message saying that you are validating of the AO write buffer . attached is the file. how can i modify it to solve the problem?!
    Attachments:
    function_generator2.vi ‏123 KB

    Nidal,
    Below is an example that illustrates how to generate different sine waves on two separate analog output channels.
    Example

  • Wait function problem

    Hi everyone,
    I am confused by wait function in LabVIEW. I have a while loop and the calculation time duration for each iteration is about 0.1ms without using wait funtion inside of the loop. However when I tried to add wait function and set the wait time to be 1ms, the average iteration duration became 5ms. Does it mean the iteration took 5ms to run each time? If it is the case, how did I get 0.1ms before using wait function? I also tried to add the wait time from 1 to10 and before 5 it gave me similar answer 5ms after 5 it give me the number I specified to it, so I think it works fine. I also attached my VI to it, I am using cRIO to run this VI so it wont work on the computer but the idea should be clear.
    Attachments:
    Untitled 4.vi ‏55 KB

    Hi Jeff,
    Thanks for your reply, basically this attached vi is only part of my code, and I would like to track the change of different variables on FP so I would like to have local variables inside of the loop instead of using shift register. The index constant is not necessary for sure, thanks for that info.
    However even I have made all the indicators to the outside and changed the array stuff into shift register it still gives me the same result, which is about 5 ms when applying wait function but about 0.1 ms without using it. This is quite unusual, and similar to the speed when i was using timed loop (5ms). 
    Also I am calling the objective function instead of using laview is because I would like to have easy maintenance for ppl not quite familiar with labview could understand the algorithm later on.
    Thanks again for the reply and hope to hear from u again.
    Best Regards
    Jeff·Þ·Bohrer wrote:
    OK First off lets introduce you to the concepts of arrays and a Shift Register:
    First, those index constants are not required-  Hit Ctrl+h- hover over the array index and hit detailed help the default is for each element you grow to increments so, with no index contstants, you get elements 0, 1, 2, ...n.
    Next, you only index them to feed them to indicator's local variables only to read them on the next iteration  a feedback node or shift register of type array of dbl would work so much better!  and, not require the UI Thread at all!  Really none of those controls or indicators are wired to the connector pane-  for debug use a probe!
    Most of the rest of your indicators can go away too, replaced by Shift registers.  (If I infer correctly you might need to show two elements on "Target Disp" but I have no idea what that library function call is)
    Essentially, you appear to trying to "C" your way into LabVIEW.  LabVIEW is a dataflow language-  hit the getting started material and online courses.

  • I want to use the Function Generator VI to send command signals through the NI 7344 motion controller. This will be a closed loop servo valve system. I want to be able to change from say a square wave to a sine wave on the fly. Idea's?

    I am going to run tests that require an actuator to move using various types of arbitrary waveforms such as sine or square. The NI 7344 is hooked to the UMI that is going through a driver for a servo valve. The loop is analog and it is closed. I have played with some of the examples but can't get it to work. I have used the function generator VI to generate a signal but I think I am using the wrong input VI to the motion control board. When I use what I have it moves the servo and then stops. It doesn't continually generate the signal.
    I would love to use the controls on the function generator vi to control frequency and amplitude ect. Any help or pointer would be helpful. Thank you in advance.

    Hello,
    I'm not clear on exactly how you want to use the generated data but I'm assuming they will be used as your target points.
    There's a built-in example for motion called 'One-Axis Contour Move.vi'. This example demonstrates how to provide your target points as 1-D array. All you need to do is to replace the input array with the output of the function generator. In order to have it run continuously, use a while loop. You can further program your application so that it'll change the waveform on the fly by monitoring the user interface but this might be little little tricky as you will need to reset the move and load the new generated points while keeping track of your current position.
    I hope this helps. Let me know if you have further questions regarding this
    application.
    Best regards,
    Yusuf C.
    Applications Engineering
    National Instruments

  • Good day. as I can do to update my iphone 4 to the latest version of ios 5. whenever you connect to the pc and try to update the waiting time is very long, sometimes up to 12 hours and despite the wait always produce an error message for a long time waiti

    good day. as I can do to update my iphone 4 to the latest version of ios 5. whenever you connect to the pc and try to update the waiting time is very long, sometimes up to 12 hours and despite the wait always produce an error message for a long time waiting

    Disable ALL security software (firewall, antivirus/spyware, etc.) running on your PC while updating.

Maybe you are looking for