Start vi by a TTl-trigger

I get a 0-5 Volt TTl-signal from a signalgenerator (connected to parallel port) and want to use this signal as a trigger for a Vi, that sends out values to a power supply. So with every rising edge, I want to sent out a value, keep it for a certain period of time, return to a threshhold value and with the next rising edge again send again the first value! Communication to signal generator and power supply are already working. I just need help, how to bring the two applications together! Thanks a lot!

Sorry I don't have example code. I just moved into a new position and don't have LV installed yet on my new computer. I'll try to explain it to you. You should create an indicator (#1) to show the incoming TTL pulse state. Initialize it to false. Also create another indicator (#2) which will show the previous state. Initialize it to false. Then create a while loop. Inside the loop, first read your incoming TTL line. After reading the TTL signal, set the indicator #1 to the TTL state (true=hi, false=lo). Then create a case statement. The True condition should execute only if the previous state indicator (#2) is false and the current TTL indicator (#1) is true. After executing the case (regardless of which case was executed), set the #2
indicator to the same as #1 indicator. End of loop.
The loop starts with #1 and #2 both False, and nothing changes until the TTL signal goes hi. Then #1 goes True and with #2 still False, the True case executes (containing your special code). After that, #2 is set to True. The loop continues now with both #1 and #2 being True, and the True case does not execute anymore. When the TTL signal goes low, the #1 and #2 indicator will both become False. The cycle repeats again, waiting for TTL signal to go high. Use a stop button of whatever is necessary to exit the while loop.
Sorry I could not give an example at this time.
- tbob
Inventor of the WORM Global

Similar Messages

  • NI-5122 measure trigger frequency of TTL trigger signal

    I have two signal channels and a TTL trigger signal on my NI-5122. The frequency of the tigger signal is between 5 and 30 Hz. Before I want to sample the two signal channels I need to know the actual trigger frequency to calculate and set sampling rate and number of sampling points. I use LabView 7.1
    What's the best way to measure the frequency (5-30 Hz) of the TTL signal connected to the 5122 trigger input?
    many thanks for your help.
    Markus

    Jason V,
    thanks for your help. So there is no programable counter on the 5122...
    My freuqency is constant and I need an accuracy of <1%.
    What I did meanwhile:
    I make a loop of e.g. 10 triggerevents.
    I record the times when the trigger events occur.
    After the loop I fit a line to the time vs. iteration number.
    This gives a pretty good value for the period, hence I get the inverse frequency.
    I need 10-30 trigger events to be accurate.
    For 10 Hz this makes 1-3 seconds init at the start of each measurement.
    I can reach a relative error as low as 1e-4. That's o.k.
    I did some more tweaking to allow for missed trigger events.
    The whole VI works fine to retrieve frequencies up to 100 Hz.
    For higher frequencies I am limited due to the millisecond resolution of LabViews 'Tick' vi.
    ====
    For higher frequencies I would program a counter:
    Start a measurement for 1000 scans and measure the time for that.
    However, this is not accurate enough for low frequencies and short recording times (10-30 trigger events).
    ====
    I also thought about Fourier transforming the signal itself and locating the peak frequency.
    Same as above: This is only accurate when I record many periods.
    ====
    The fastest and most accurate solution would be to sample the trigger signal itself.
    Then I would need only one period and could detect the trigger slopes with microsecond resolution.
    However, I need both input channels for recording simultaneous signals.
    Conclusion:
    (1) The NI-5122 does not has a programable counter on board
    (2) For my application I found a solution tht works.
    MarkusMessage Edited by Nepu on 03-09-2005 02:04 AM
    Message Edited by Nepu on 03-09-2005 02:07 AM

  • Start Varient is not getting trigger in Meta Chain.

    Hi All,
    I have a ProcessChain with in it there are many Meta Chains.
    Problem is, there are few Meta Chains Start Varient is not getting trigger automatically, it is getting red and continuing further process,
    when i check its logs also it is not giving any logs
    Please help me in this.
    Regards,
    Kiran

    Hi V,
    when i dubble click, i am getting bellow message Log
    20.07.2009     12:24:22     Job started     S     00     516
    20.07.2009     12:24:22     Step 001 started (program RSPROCESS, variant &0000000365507, user ID BIWREMOTE)
    20.07.2009     12:24:22     No new deltas in DataStore object 0FIGL_O02 for update     S     RSM1     96
    20.07.2009     12:24:23     Chain SFI_SFIGL_C02 was removed from scheduling     S     RSPC     26
    20.07.2009     12:24:23     Program RSPROCESS successfully scheduled as job BI_PROCESS_LOADING with ID 12242300     S     RSM     703
    20.07.2009     12:24:23     Program RSPROCESS successfully scheduled as job BI_PROCESS_ODSACTIVAT with ID 12242300     S     RSM     703
    20.07.2009     12:24:23     Program RSPROCESS successfully scheduled as job BI_PROCESS_ODSPROCESS with ID 12242300     S     RSM     703
    20.07.2009     12:24:23     Program RSPROCESS successfully scheduled as job BI_PROCESS_ROLLUP with ID 12242300     S     RSM     703
    20.07.2009     12:24:23     Chain SFI_SFIGL_C02 Was Activated And Scheduled     S     RSPC     25
    20.07.2009     12:24:23     Cannot activate job BI_PROCESS_TRIGGER (return code 8)     I     RSM     702
    20.07.2009     12:24:23     Process did not report an instance -> no log     E     RSPC     57
    20.07.2009     12:24:23     Job cancelled after system exception ERROR_MESSAGE     A     00     564
    But when i go Right Click and Display Variant  and check for 1 week ego, it wont show any logs, it says "No Logs were found"
    Please let me know your inputs
    Regards,
    Kiran

  • I have to send the start impulse from labview to trigger generator?

    i have to send a start impulse to the trigger generator, logging the actual time and requesting the actual time code of Digital video recorder.

    Hello;
    Could you give us more details of your application?
    Filipe A.
    Applications Engineer
    National Instruments

  • Start windows media player with trigger

    Hello,
    I have a VI that sends a trigger to Biopac MP100 through USB 6501 in order to take EEG signals. When I run the VI, I want windows media player start playing a movie automatically and I want the trigger to go to USB 6501 simultaneously. At the moment when I run the VI the trigger goes to 6501 but the windows media player doesn't start. What can I do?
    Solved!
    Go to Solution.

    Use the activeX container and make a WMP referance and than use the URL property to call a movie file
    Harold Timmis
    [email protected]
    Orlando,Fl
    *Kudos always welcome

  • Start a counter from a trigger

    Hello,
      I've a 6023E
    I'd like to :
        1) detect a  trigger T1
              2) count N trigger T2
              3) generate a TTL (one pulse)
        loop to 1)
    So, I'm looking for a way to run a counter on a front edge of a signal T1 (fast and slim)
    Then, I've to count N front edge coming from T2 (very fast and slim)
    generate a TTL signal on a DIO
    reset the counter to zero
    then loop
    The best way to do that should be to arm a counter to a given value, and at each pulse T2 to decrement this counter. When it reaches 0, it generates a TTL signal, the counter is reinitialized to the good value and wait for T1
    seems easy but...

    Kevin,
        at first, thanks for your advices.
    I check the various signal with a classic osciloscope. I trig on T1, I visualize the T2 and the pulse I generate via LabView. In such way, I can see that my pulse occure in two different positions. I can count the T2 pulses on the scope screen. I note that the generated pulse is larger that the T2 triggers (about 2 pulses, which seems OK because I generate 2 ticks as you said).
    I've said something wrong : the number of ticks between the 2 "stable" position varies among the velocity of the rotation. Its about 1,2ms.
    I join my program at this message.
    I've trie to put a delay in the loop, the result is the same. It's true that the delay I've trie was very short (about 10 ms) with the metronome icon (wait until next 10ms perhaps, I don't remember the name).
    Christophe
    Message Edité par c.r. le 10-25-2006 05:34 AM
    Attachments:
    DecaleTriggerConvertible.vi ‏44 KB

  • Start Workflow from the After startup database trigger

    Hallo,
    I try to startup a workflow process from a database trigger :
    the after startup database trigger. But when I do this, he
    doesn't startup. When I add a commit-statement after the call
    to startup the workflow, my database never gets open.
    What do I have to do ? And what command is used ?
    Thanks a lot.
    Filip Huysmans.

    See the Posting: Starting Workflows From a Database Trigger
    Hallo,
    I try to startup a workflow process from a database trigger :
    the after startup database trigger. But when I do this, he
    doesn't startup. When I add a commit-statement after the call
    to startup the workflow, my database never gets open.
    What do I have to do ? And what command is used ?
    Thanks a lot.
    Filip Huysmans.

  • Sending external trigger on AI scan start

    I've a trio of E-series DAQ's synchonised with RTSI. Now I want to use the start of the acquisition to trigger an external device.
    How do I route the "AI start scan" signal so that I may actually read it on a scope?
    I've tried rerouting the AI start scan signal to the various PFI lines but it's not really working!

    Dear Foeth,
    What programming language are you using and which version of the NI-DAQ driver?
    Regards,
    RikP
    Application Engineering
    National Instruments
    Rik Prins, CLD
    Applications Engineering Specialist Northern Europe, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Capture of 4 analog chanels, using one of them as a trigger

    Hello there,
    I posted a message a week or so ago about some issues I was having, and
    I seem to have sorted them out (which is great!). Thanks for the
    pointers.
    So, I have one more quiery, and hopefully the last for a while. I've
    attatched a copy of part of the VI I'm working with. All it does is
    capture a user-specifiable number of analog input channels and write
    them to a data file. It does so quite nicely, and with no problems. So..
    My requirement is that the actual capture of the input channels must
    occur only when a certain triggering voltage is met. This trigger will
    come from a Berkley Nucleonics 500A pulse generator box. The precise
    nature of how it might work I am not sure about because I'm a little
    unsure about what my equipment can do. I was thinking the trigger could
    be one of the input channels.. that would be great. My interface is an
    SCB-68 board. It is currently set up for 4 analog input channels (and 2
    output channels), using BNC connectors.
    I've been doing some digging to try to avoid spamming a new message,
    but haven't really got anywhere.. I'm a little concerned about whether
    my system will even allow something like this. Will I have to wire in
    (physically) some new channels into the SCB board? I read something
    about only digital edge triggering being possible. If I have to use a
    digital trigger, is there any way to use the current pulse generator..?
    Again, any pointers are greatly appreciated. Regards,
    mike
    Attachments:
    Input_only.vi ‏76 KB

    Hi Mike,
    You need to create a digital trigger task in MAX.
    Open your Functions pallet on your block diagram, Measurement I/O, DAQmx – Data Acquisition, DAQ Task Name VI.
    Once you have places the Task Name VI on your block diagram, right click it, choose New NI-DAQmx Task, MAX.
    The NI DAQ Assistant window will open. Choose from the menus:
    Analog Input, Voltage, your card, highlight your channels, Next, enter a name for the task, Finish.
    Voltage Input Set-up Window should then open.
    Are you using the TTL trigger to stream or as a clock?
    If you are using it as a clock:
    Go to the Task Timing tab and enter the number of samples you require.
    If you are using it to stream:
    Go to the Task Trigger tab and set start trigger type to Digital, Edge to Rising.
    If you click on the Connection Diagram tab at the bottom of the window it show you how to wire the task.
    When you have finished setting up the task click ok, this saves the task along with the configured settings within MAX.
    I have attached an example piece of code which reads the 4 channels once triggered as configured in MAX.
    If you require the channels to be read iteratively once triggered simply place a while loop around the read function and graph, so that the display updates.
    Hope this helps
    Emma R
    NIUK& Ireland
    Attachments:
    Example code.vi ‏17 KB

  • How to use counter output pulses to trigger analog input?

    Hello all,
    I hope the kind people using this forum can help me, a lowly beginner LV programmer! I have been attempting to create a VI that produces a user defined number of TTL pulses, separated by every n seconds. Each TTL would be outputted to a stimulator, which in turn generates its own TTL. Using the stimulator-generated TTL, I would like to trigger finite analog data acquisition (e.g. for every TTL, trigger the collection of a data sweep that contains 4000 samples (collected at 4000 Hz), with 1000 samples collected pre-trigger. I would like to also be able to see each data sweep as it is triggered on a chart. As I understand things (lots of online/book/forum reading), I should be using the counter output to generate my TTL pulses, and syncing each counter produced TTL with analog input, as well as using a reference trigger. Also, the AI part should be started first, so that I don' t miss any counter outputs. If it matters, I also need to use one of the AI channels to acquire the TTL, so I can see my stimulator-induced responses to the stimulator in time.
    I am able to generate the TTL pulses from the counter output, but I am having a problem with the AI part. I am unsure how to sync the counter output with AI. Also, since I need to acquire pre-trigger samples, I would be needing to acquire samples continuously, but when I set 'continuous samples' on daqmx timing, the VI doesn't work (hence why's its set to 'finite samples').
     I hope someone out there can help, as I have been at this for what seems ages, with limited success. I am using a USB-6259 and LabView v8.2. Thanks!
    Attachments:
    RC001 v_1.vi ‏49 KB

    Hello,
    Due to the fact that analog tasks themselves are not retriggerable, a
    pulse train produced by a counter is always used as the sample clock
    for the analog input task in order to recreate a retriggerable effect
    for analog input. This can be done by creating a finite pulse train set
    to retriggerable using the DAQmx Trigger Property Node, or the pulse
    train could be continuous and just be gated by another signal. Neither
    of these methods can be properly applied in hardware to create a
    retriggerable reference trigger. You can however implement something
    similar in software by just stopping and restarting your reference
    triggered analog input task within a loop. There will be some delay
    between when the task is stopped and restarted, as these events require
    software intervention, but if there is enough time between when each
    trigger signal is generated, there should not be any noticeable delay
    or missed samples.
    I have attached an example of this!
    Mark B
    ===If this fixes your problem, mark as solution!===
    Attachments:
    RC001 v_1mod.vi ‏25 KB

  • Multiple recording of waveforms using an external trigger signal

    Dear all,
    Maybe somebody could help me with the following:
    System:
    Windows 2000,Pentium III,~800-900MHz,32-bit master PCI bus,256 MB RAM
    PCI-NI 5122 Digitizer
    PCI-GPIB card
    PCI-DAQ card
    Labview 7.1
    NI Scope 2.7
    Problem:
    I want to acquire multiple waveforms (e.g. 100) using an external TTL trigger signal of ~40Hz. I have to acquire 1 waveform per trigger signal i.e. 100 subsequent trigger signals will acquire 100 subsequent waveforms.
    After, or during the waveform acquisition (?), I have to transfer the waveforms as 100 1D-arrays from the onboard memory of the digitizer through my fitting routine (one-by-one!). The fitting routine accepts one waveform (1D-array) at the time, fits the waveform and calculates 1 fit-value per waveform. So, when I pass the acquired 100 waveforms subsequently through the fitting routine, I need to get out a 1D-array with 100 fit-values. This 1D-array with the 100 fit values will be further processed and a final value will be saved.
    This procedure will repeat itself at different points in a sequence structure. The sequence structure will be located in a loop and running for several hours!
    Please see attached program flow diagram.
    Qustions:
    1. When I want to acquire 100 waveforms using 100 subsequent trigger pulses, the attached VI (Multiple_record VI) gives me the following error message:
    ERROR
    "Possible reason(s):
    Driver Status: (Hex 0xBFFA4009)
    A previous acquisition is still in progress. If you are attempting to change an attribute, note you can only change fetch attributes while an acquisition is still in progress.
    Status Code: -1074118647
    What am I doing wrong? Is there a better and more efficient way to do this?
    2. How can I transfer the 100 waveforms from the digitizer, one-by-one as 1D-arrays, through my fitting routine? A waveform will have ~2000-3000 data pts. (DBL type). Remember: I DO NOT HAVE TO SAVE THE WAVEFORMS!
    3. Which way is faster, and more efficient (memory) for my PC system to transfer the waveforms from the onboard memory of the digitizer to the fitting routine?:
    a) Start transfer of already acquired waveforms (1D-arrays), one-by-one through the fitting routine, during the waveform acquisition process is still in progress?
    b) First, acquire the 100 waveforms (1D-arrays), store them in the onboard memory (digitizer) and then transfer them one-by-one through the fitting routine?
    4. How can I make sure that after the waveforms were transferred through the fitting routine, the onboard memory of the digitizer is EMPTY (clear waveforms which have already been fetched) and ready to repeat the waveform acquisition at a different point of the sequence structure?
    5. I do not want to display each acquired waveform because I think it will slow down the acquisition process. Instead, I want to display the last of the acquired 100 waveforms, so I can check my fit and maybe adjust the fit-parameters. How can I do that?
    I think the important thing is to perform this process in the fastest way possible with the best use of the PC resources (memory etc.) because this process will run for hours. Any suggestions?
    It would be very nice if somebody could give me some help with this.
    Kind regards,
    beam
    Attachments:
    program flow diagram.vi ‏11 KB

    The method you use to analyze your data is fine. The only thing I would watch out for is memory problems. If you keep with the numbers you gave earlier, 100 waveforms at 3000 pts/wfm, you will be transferring 2.4MBytes of data per set. This is way over the 1MByte buffer NI-SCOPE uses for data transfer. It will work, but it might be slow. If you have problems, switch to niScope Fetch WDT.vi for your acquisition and move it inside the loop. Before you call the fetch VI, set the record it will fetch by using the property node and setting Fetch->Fetch Record Number using your loop index.
    A couple of other performance tips I think you probably know. The graph inside the loop will slow you down a lot. In addition, the graph of all the data outside the loop will also take a fair amount of time (plotting 2.4MBytes of data). If you want to see just the last waveform, pop-up on the terminal going out of the loop and disable indexing so only the last waveform goes through, not all of them.
    Your analysis method should work fine. You may consider doing an I16 fetch instead of the WDT fetch you are currently using. This will reduce your memory usage by a factor of four, provided you don't immediately convert it to a double array. If your analysis is actually finding a max/min, this is faster on an integer array than a double. You can scale the integers using the numbers in the information cluster. It is much faster to scale one integer at the end than a whole array. That said, the I16 fetch is not particularly faster than the WDT fetch, just less memory. This choice will depend on your analysis.
    The min record length is the minimum number of points the device will acquire. The actual record length is different if the acquisition rate you ask for is not one of the acquisition rates the device is capable of. The acquisition rate is then coerced to the next highest rate and the record length increased so your acquisition time remains constant. This behavior is part of the IVI specification for digitizers. Using your VI as an example, you ask for 300kS/s acquisition rate and 800 data points. What you actually get is 300,300.3003 S/s and 801 data points. The sample rate is determined by an integer divisor from 100MHz, in this case 100,000,000/333. So, if you really want a certain number of data points, you need to set the sample rate to a physically realizeable one. Alternately, you can just fetch the number you want instead of all the points, realizing your sample window will be a bit shorter than you asked for.
    You are correct. To see anything in the records done, you need to delay. However, in this code, the records done output is really not doing anything. The fetch won't fetch until everything is done, so you know all is finished when your data shows up. I would just delete it. If you do want to put a delay in, wrap a sequence structure around the records done query. Add a frame before the current frame and drop a Wait (ms)delay into it. You can find this primitive in the timing and dialog palette. This is an example of when the sequence is actually useful. The delay VI has no good way of enforcing data flow, so the sequence does it.
    The way you have implemented it, you don't need to poll acquisition status. To get acquisition status, use niScope Acquisition Status.vi. You would put this in a WHILE loop before your acquire and exit the WHILE loop when the acquisition was done (or an error occurred) to proceed to the acquisition. Make sure you also put an appropriate delay in the WHILE loop or it will eat your entire processor capacity. The delay should be based on how long you expect the acquisition to take.
    You should definitely put your fetch code in a subVI if you are going to call it more than once. LabVIEW makes it easy. Select the code you need to make into a subVI, then select Edit->Create SubVI. Don't forget to put an icon and documentation in the subVI. You will thank yourself later.
    Let me know if you have any more questions...
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Error -- No Such Trigger('when-button-pressed')

    Hi,
    I am getting the error ""No Such Trigger('when-button-pressed')"",
    when I am executing the code EXECUTE_TRIGGER( 'WHEN-BUTTON-PRESSED' );
    on some item(Key-Next-Item), although WHEN-BUTTON-PRESSED trigger exists.
    What could be the problem ?. It worked till yesterday, giving error from today, I havent
    changed any thing.
    Thanks in Advance
    Devender

    Steve's tip is the only good solution for this case.
    The problem in your case for example is:
    Let's say you have a block-trigger, which fires after your execute-trigger.
    Now a colleague of you, which don't know your code, create a WHEN-BUTTON-PRESSED on an item, then the new code is started and not the block-trigger-code.
    So, don't ever do this. Write your code in a package-function or -procedure and call it from the trigger. So you can re-user the functionality
    Gerd

  • Trigger on Insert into a custom table from external application

    This is the problem I am facing.
    External Application using a different schema lets say extdb on a different server. This writes into a table in a schema called appscustom schema. Appscustom schema is under Oracle Apps.
    A trigger in Oracle Apps to be executed on insert into the appscustom schema table.
    This trigger inturn will run a concurrent job to create the invoice and gl interface tables.
    THe problem I am facing is, The trigger get executed but the concurrent job does not get triggered/run.
    Here is the trigger. Let me know, what might be wrong.
    THe values for vRESP_APPL_Id,vRESP_ID, vUSER_ID becomes null in the test_pims table.
    Whereas when I manually insert from backend into appscustom schema table the concurrent job gets submitted.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    -- Start of DDL Script for Trigger APPS.RWJF_PIMS_ORACLE_INT
    -- Generated 5/25/2005 22:10:52 from APPS@HENRY_DEVL
    CREATE OR REPLACE TRIGGER rwjf_pims_oracle_int
    AFTER
    INSERT
    ON rwjf_pimstxnbatch
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    WHEN (new.status = 'U' )
    Declare
    ReturnCode BOOLEAN;
    ConcReqID NUMBER := 0;
    vRESP_APPL_ID NUMBER;
    vRESP_ID NUMBER;
    vUSER_ID NUMBER;
    LoadToAp NUMBER :=0;
    LoadToGl NUMBER :=0;
    Begin
    -- vRESP_APPL_ID := apps.fnd_profile.value(200); -- AP --('RESP_APPL_ID');
    -- vRESP_ID := apps.fnd_profile.value(20639); -- 20639 for payables mgr. for rwjf_payables Mgr (50001); --('RESP_ID');
    -- vUSER_ID := apps.fnd_profile.value(1247); -- 1247 for sury 1065 for interface -- ('USER_ID');
    LoadToAp := 0;
    SELECT COUNT(*)
    INTO LoadToAp
    FROM rwjf.RWJF_PimsTxnBatchDtl
    WHERE GL_OR_AP = 'A'
    AND pims_txn_batch_id = :NEW.Pims_Txn_Batch_id;
    LoadToGl := 0;
    SELECT COUNT(*)
    INTO LoadToGl
    FROM rwjf.RWJF_PimsTxnBatchDtl
    WHERE GL_OR_AP = 'G'
    AND pims_txn_batch_id = :NEW.Pims_Txn_Batch_id;
    IF LoadToAp > 0 THEN
    vRESP_APPL_ID := 200; -- Application Id 200 Account payables
    vRESP_ID := 50001; -- RWJF_Payables Mgr for user interface
    vUSER_ID := 1065; -- user id for user name interface
    apps.fnd_global.apps_initialize(vUSER_ID,vRESP_ID,vRESP_APPL_ID);
    ConcReqID := 0;
    ReturnCode := FND_REQUEST.SET_MODE(TRUE);
    ConcReqID := FND_REQUEST.SUBMIT_REQUEST('RWJF',
    'RWJF_PIMS_INT',
    '', '', FALSE,
    :NEW.Pims_Txn_Batch_id,'AP', chr(0),
    END IF;
    IF LoadToGl > 0 THEN
    vRESP_APPL_ID := 20003;
    vRESP_ID := 50003;
    vUSER_ID := 1065;
    apps.fnd_global.apps_initialize(vUSER_ID,vRESP_ID,vRESP_APPL_ID);
    ConcReqID := 0;
    ReturnCode := FND_REQUEST.SET_MODE(TRUE);
    ConcReqID := FND_REQUEST.SUBMIT_REQUEST('RWJF',
    'RWJF_PIMS_INT',
    '', '', FALSE,
    :NEW.Pims_Txn_Batch_id,'GL',chr(0),
    END IF;
    insert into test_pims
    values
    ('Test3',:New.Pims_Txn_Batch_id,vUSER_ID,vRESP_ID,vRESP_APPL_ID);
    insert into test_pims
    values
    ('Test3',ConcReqID,vUSER_ID,vRESP_ID,vRESP_APPL_ID);
    IF ConcReqID = 0 THEN
    DBMS_OUTPUT.PUT_LINE('Problem Submitting Program to get pims txn batch'); /* Handle Error */
    END IF;
    End;
    -- End of DDL Script for Trigger APPS.RWJF_PIMS_ORACLE_INT

    don't quite understand the structure of your tables but it sounds similiar to a merge statement.
    (contiditonally insert, update records depending on whether or not corresponding records exist)
    create table custom_table
    (cust_no number,
    line_no number,
    party_id number
    create table hz_parties
    as (
    select 1 party_id, 'A' bill_to_location, 10 cust_no, 100 line_no from dual union
    select 2, 'B', 20, 200 from dual union
    select 3, 'C', 30, 300 from dual union
    select 4, 'D', 40, 400 from dual
    merge into custom_table t1
    using (select * from hz_parties) t2
    on (t1.party_id = t2.party_id)
    when not matched then insert (t1.cust_no, t1.line_no, t1.party_id)
    values (t2.cust_no, t2.line_no, t2.party_id);
    Edited by: pollywog on Mar 5, 2010 6:52 AM

  • How to implement start & stop triggers when # scans unknown on ni5112?

    I want to initiate a data capture trigger on the leading edge of a pulse & then stop the trigger on the next leading edge of the same pulse, using NI 5112 Scope card & LabVIEW v5.1. How to accomplish?? Any help appreciated!

    You can implement a start and stop trigger but not with an arbitrary number of points.
    The 5112 has two triggers the Acquisition Arm and the Record Arm.
    The Acquisition Arm trigger enables the Scope to start taking pretrigger data.
    The Record arm trigger is often call the Stop trigger or Reference Trigger. Based upon the Reference Position the board will acquire X pretrigger samples and Y post trigger samples. The Reference trigger defines the transition from pre to post trigger. If you set all of your points to be pretrigger (i.e. 100% reference position) then the Reference trigger will stop acquistion on the trigger. One thing to note: the scope will not be ready to accept the record trigger until it has acquired all the pretrigger points. The scope
    will only return one record size of data. Therefore the first samples will be lost.
    For example I would like to start a acquisition with a trigger on PFI 1 and use edge triggering on channel 0 to stop the acquisition. I need at least 1000 points.
    You will need to make the following changes in the code. Start from the niScope EX Configured Acquisition.vi and set up the triggering for Edge Trigger. Set your minimum record size to 1000 samples. On the diagram go to the Edge Trigger Case of the Triggering Selection Case Structure add a property node before the configure edge trigger similiar to the attached screen shot. Change the property to Acquisition Arm Source found in the synchronization menu. Change the property to write and create a string constant. The available sources for the Acq Arm are PFI 1,2 and RTSI 0-6. The syntax needs to match the following: "VAL_PFI_1". You will miss the edge trigger if you have not already acquired 1000 samples from the acquistion trigg
    er and you will only get back 1000 samples.
    Good luck and let me know if you have any questions.
    Mike Taylor
    Attachments:
    acqarm.jpg ‏66 KB

  • Workflow does not start for Offline triggered SHC

    Hi,
    I have a problem with getting the Workflow started during offline uploading of shopping cart from XI.
    When I check on the BBP_PD status of the document, and there is no workflow started wherein when Shopping cart is done thru SRM Online, the n-step wfl approval is running correctly.
    Any ideas on where I could check/configure settings to allow workflow to start during Offline upload from XI?
    By the way, a function module BBP_SAPXML1_EXTREQU_UPDATE_IN is called to populate SHC data from Offline to SRM. Thus when this is ran, the document is now in the BBP_PD.
    Thanks!
    Cindy

    Hi Cindy,
    What I feel that you need to  use BADI for this Separate Determination Method for List of Approvers via BAdI BBP_WFL_APPROV_BADI in WS14000133:
    In Start condition,make this BADI trigger in all the cases.Condition should be like
    BUSINESS Object = Shopping Cart
    Then determine the requirement that is shopping cart coming from someother system,that data will be some RFC destination or some generic id..as requirment from Plan driven scenario flow into SRM system with generic id from backend.
    and based on that trigger approval process.
    regards,nishant
    please reward if this helps

Maybe you are looking for

  • Embedded fonts in CS3

    Hi! Since Flash8, i use a share library with embed fonts. These fonts (Century Gothic, MS UI Gothic, SimHei and Avant Garde) are used in a multi language training application showing 218 swf files. All my dynamic and imput textfields use these fonts

  • Tint2 0.10 Segmentation Fault

    Hello everyone, I've upgraded tint2 today from 0.9-3 to 0.10-1. The result when trying to start tint2: [ochi@cerberus ~]$ tint2 real transparency off.... depth: 24 Xlib: extension "RANDR" missing on display ":0.0". Segmentation fault I've also tried

  • Passwords included in iCloud backup?

    This is something I couldn't find an answer for yet. I encrypt the iTunes backup of my iPhone and iPad to make sure that I don't have to enter all the passwords after restoring a device. Yes, I'm lazy. When I switch to iCloud backups, will this chang

  • Interactive Report Download Options

    I am running APEX 3.2 on Fedora. I was going thru some of the interactive report tutorial samples available online. It seems that under the Report Attribute there are only 2 of the 4 download options available namely csv and pdf formats. From the tut

  • Pages Tables Doesn't recognize styles for TOC within table.

    It seems to me that the answer is to either tables to get the info OUT of the table (i.e. make several large tables into smaller ones and then pull the titles out of the table and change style), or get Pages to recognize style within table.  Any idea