DBMS SCHEDULER string input multiple terms of simple step

Hi all

I have the following situation:

Using DBMS SCHEDULER, I'm generating the string which consists of main parts:

  • step 1 - PRNT_SESS_OPEN
  • step 2 - parallel execution of step 1... to STEPx
  • step 3 - PRNT_SESS_CLOSE

Links between steps represents the channel rules.

I want to start 3rd step just in case all of the previous steps (step 1... to STEPx) are finished.

Is there a way to define all the rules of the input string for the PRNT_SESS_CLOSE step like that?

8- 1- 2015 9-07-23.jpg

Thank you

Michal

Hello

Yes, the conditions of the State to step in chain can be multiple:

"' Completed Step1 and step 2 complete and... stepx finished"

Tags: Database

Similar Questions

  • How to convert string input streams

    Can someone tell me how to convert string input streams...

    There are multiple ways. I will list down few of them.

    With the help of the old solution and standard java.

    publicstaticString fromStream(InputStream in)throwsIOException

    {

       BufferedReader reader =newBufferedReader(newInputStreamReader(in));

       StringBuilder out =newStringBuilder();

       String line;

       while((line = reader.readLine()) !=null) {

           out.append(line);

       }

       returnout.toString();

    }

    returnsb.toString();

    If you use Google-Collections/guava-

    InputStream stream = ...

    String content = CharStreams.toString(newInputStreamReader(stream, Charsets.UTF_8));

    Closeables.closeQuietly(stream);

    If you use the common Apache library... then it is worthwhile.

    StringWriter writer =newStringWriter();

    IOUtils.copy(inputStream, writer, encoding);

    String theString = writer.toString();

    Quick way but only work during deserialization.

    String result = (String)newObjectInputStream( inputStream ).readObject();

    Note: ObjectInputStream is on deserialization and the flow of data must respect the Protocol of serialization to work, which may not always true in all cases.

    Ultimately, the most effective solution and only in two lines using java class Scanner.

    Tricky is to remember the \A regex that matches the beginning of the entry. It actually indicates Scanner to mark all of the flow, from start to beginning next (illogical).

    publicstaticString convertToString(InputStream in) {

       java.util.Scanner s =newjava.util.Scanner(in).useDelimiter("\\A"); 

           

       returns.hasNext() ? s.next() :"";

    }

    Read more: http://www.techartifact.com/blogs/2013/11/how-to-readconvert-an-inputstream-to-a-string.html#ixzz2lvy5muix

  • DBMS Scheduler Job will run but did not finish.

    Hello!

    I created a job that is supposed to run a stored procedure. It works ok but it looks like no it's over... How do I know? My procedure records each action and after execution of the task, I see only one line of paper. One from the code...

    It is the stored procedure code:

    create or replace
    PROCEDURE get_survey_data
    AS
       dir_name         VARCHAR2(100);
       nip_no           VARCHAR2 (1024);
       employee_name    VARCHAR2 (1024);
       company_name     VARCHAR2 (1024);
       hire_date        VARCHAR2 (1024);
       agreement_date   VARCHAR2 (1024);
       stmnt_1          VARCHAR2 (5000);
       stmnt_2          VARCHAR2 (5000);
       t_check          NUMBER;
       s_id             NUMBER;
       ecode            NUMBER;
       emesg            VARCHAR2 (200);
    BEGIN
       DIR_NAME := 'F:\SURVEY_FILES\IN';
       --pobranie ID z sekwencji
       SELECT adecco_apex.survey_job_seq.NEXTVAL
         INTO s_id
         FROM DUAL;
    
    
       INSERT INTO adecco_apex.survey_job_log
                   (ID, start_date, description
                   )
            VALUES (s_id, SYSTIMESTAMP, 'Rozpoczynam Survey JOB'
                   );
                   COMMIT;
    
    
       --SPRAWDZENIE CZY ISTNIEJE TABELA
       SELECT COUNT (*)
         INTO t_check
         FROM all_tables
        WHERE owner = 'ADECCO_APEX' and table_name = 'EXT_IN_INVOICE';
    
    
       IF t_check > 0
       THEN
          EXECUTE IMMEDIATE 'DROP TABLE ADECCO_APEX.EXT_IN_INVOICE';
       END IF;
    
    
       --
       stmnt_1 :=
          'CREATE TABLE ADECCO_APEX.EXT_IN_INVOICE(R NUMBER,FIELD_NAME   VARCHAR2(255 BYTE),FIELD_VALUE  VARCHAR2(255 BYTE)) ORGANIZATION EXTERNAL(  TYPE ORACLE_LOADER DEFAULT DIRECTORY SURVEY_IN ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE CHARACTERSET EE8MSWIN1250 STRING SIZES ARE IN BYTES NOBADFILE NODISCARDFILE NOLOGFILE FIELDS TERMINATED BY '';'' OPTIONALLY ENCLOSED BY ''"'' AND ''"'' NOTRIM MISSING FIELD VALUES ARE NULL ( "R" RECNUM, "FIELD_NAME" CHAR, "FIELD_VALUE" CHAR )) LOCATION (SURVEY_IN:''';
       stmnt_2 := ''')) REJECT LIMIT UNLIMITED NOPARALLEL NOMONITORING';
    
    
       --sprawdzenie czy sa jakies pliki
       SELECT COUNT (*)
         INTO t_check
         FROM (SELECT SUBSTR (ret_val,
                              LENGTH (UPPER (dir_name)) + 2,
                              LENGTH (ret_val)
                             ) file_name
                 FROM TABLE (SYS.ls_directory (UPPER (dir_name)))
                WHERE UPPER (ret_val) LIKE '%.CSV'
                  AND ret_val NOT LIKE '%OUT_SURVEY.CSV');
    
    
       IF t_check > 1
       THEN
          INSERT INTO adecco_apex.survey_job_log
                      (ID, start_date,
                       description
                      )
               VALUES (s_id, SYSTIMESTAMP,
                       'Rozpoczynam petle po plikach .csv z folderu IN'
                      );
                      COMMIT;
    
    
          FOR i IN (SELECT SUBSTR (ret_val,
                                   LENGTH (UPPER (dir_name)) + 2,
                                   LENGTH (ret_val)
                                  ) file_name
                      FROM TABLE (SYS.ls_directory (UPPER (dir_name)))
                     WHERE UPPER (ret_val) LIKE '%.CSV'
                       AND ret_val NOT LIKE '%OUT_SURVEY.CSV')
          LOOP
             --DBMS_OUTPUT.ENABLE ();
    
    
             --DBMS_OUTPUT.PUT_LINE(stmnt_1 || i.file_name || stmnt_2);
             BEGIN
                EXECUTE IMMEDIATE stmnt_1 || i.file_name || stmnt_2;
             EXCEPTION
                WHEN OTHERS
                THEN
                   INSERT INTO adecco_apex.survey_job_log
                               (ID, start_date,
                                description
                               )
                        VALUES (s_id, SYSTIMESTAMP,
                                   'Blad podczas tworzenia tabeli: '
                                || ecode
                                || '-'
                                || emesg
                               );
    
    
                   COMMIT;
             END;
    
    
             INSERT INTO adecco_apex.survey_job_log
                         (ID, start_date, description
                         )
                  VALUES (s_id, SYSTIMESTAMP, 'Czytam plik: ' || i.file_name
                         );
                         COMMIT;
    
    
             EXECUTE IMMEDIATE 'SELECT FIELD_VALUE FROM ADECCO_APEX.EXT_IN_INVOICE WHERE R = 2'
                          INTO company_name;
    
    
             EXECUTE IMMEDIATE 'SELECT FIELD_VALUE FROM ADECCO_APEX.EXT_IN_INVOICE WHERE R = 6'
                          INTO nip_no;
    
    
             EXECUTE IMMEDIATE 'SELECT FIELD_VALUE FROM ADECCO_APEX.EXT_IN_INVOICE WHERE R = 9'
                          INTO employee_name;
    
    
             EXECUTE IMMEDIATE 'SELECT FIELD_VALUE FROM ADECCO_APEX.EXT_IN_INVOICE WHERE R = 11'
                          INTO hire_date;
    
    
             EXECUTE IMMEDIATE 'SELECT FIELD_VALUE FROM ADECCO_APEX.EXT_IN_INVOICE WHERE R = 12'
                          INTO agreement_date;
    
    
             --DBMS_OUTPUT.PUT_LINE(to_date(hire_Date,'YYYY-MM-DD'));
             --DBMS_OUTPUT.PUT_LINE(to_date(agreement_Date,'YYYY-MM-DD'));
             EXECUTE IMMEDIATE 'TRUNCATE TABLE ADECCO_APEX.STG_SURVEY';
    
    
             BEGIN
                INSERT INTO adecco_apex.stg_survey
                            (nip, employee_name, company_name, hire_date,
                             agreement_date
                            )
                     VALUES (nip_no, employee_name, company_name, hire_date,
                             agreement_date
                            );
                            COMMIT;
             EXCEPTION
                WHEN OTHERS
                THEN
                   INSERT INTO adecco_apex.survey_job_log
                               (ID, start_date,
                                description
                               )
                        VALUES (s_id, SYSTIMESTAMP,
                                   'Blad podczas dodawania wierszy do tabeli STG: '
                                || ecode
                                || '-'
                                || emesg
                               );
    
    
                   COMMIT;
             END;
    
    
             BEGIN
                MERGE INTO adecco_apex.survey a
                   USING (SELECT nip, employee_name, company_name, hire_date,
                                 agreement_date
                            FROM adecco_apex.stg_survey) b
                   ON (a.nip = b.nip AND a.employee_name = b.employee_name)
                   WHEN MATCHED THEN
                      UPDATE
                         SET a.hire_date = b.hire_date,
                             a.agreement_date = b.agreement_date
                   WHEN NOT MATCHED THEN
                      INSERT (nip, employee_name, company_name, hire_date,
                              agreement_date)
                      VALUES (TO_NUMBER (b.nip), b.employee_name, b.company_name,
                              TO_DATE (b.hire_date, 'YYYY-MM-DD'),
                              TO_DATE (b.agreement_date, 'YYYY-MM-DD'));
                              COMMIT;
             EXCEPTION
                WHEN OTHERS
                THEN
                   INSERT INTO adecco_apex.survey_job_log
                               (ID, start_date,
                                description
                               )
                        VALUES (s_id, SYSTIMESTAMP,
                                   'Blad podczas merge do tabeli docelowej: '
                                || ecode
                                || '-'
                                || emesg
                               );
    
    
                   COMMIT;
             END;
    
    
             EXECUTE IMMEDIATE 'DROP TABLE ADECCO_APEX.EXT_IN_INVOICE';
    
    
             --Wygenerowanie pliku wynikowego
             INSERT INTO adecco_apex.survey_job_log
                         (ID, start_date,
                          description
                         )
                  VALUES (s_id, SYSTIMESTAMP,
                          'Generuje plik wynikowy OUT_SURVEY.CSV'
                         );
                         COMMIT;
    
    
             BEGIN
                adecco_apex.dump_table_to_csv ('ADECCO_APEX.SURVEY',
                                   'SURVEY_OUT',
                                   'OUT_SURVEY.CSV'
                                  );
             EXCEPTION
                WHEN OTHERS
                THEN
                   INSERT INTO adecco_apex.survey_job_log
                               (ID, start_date,
                                description
                               )
                        VALUES (s_id, SYSTIMESTAMP,
                                   'Blad podczas generowania pliku OUT: '
                                || ecode
                                || '-'
                                || emesg
                               );
                               COMMIT;
             END;
    
    
             INSERT INTO adecco_apex.survey_job_log
                         (ID, start_date, description
                         )
                  VALUES (s_id, SYSTIMESTAMP, 'Zamykam plik: ' || i.file_name
                         );
                         COMMIT;
              utl_file.fremove('SURVEY_IN', i.file_name);
          END LOOP;
       ELSE
          INSERT INTO adecco_apex.survey_job_log
                      (ID, start_date, description
                      )
               VALUES (s_id, SYSTIMESTAMP, 'Brak plikow .CSV w folderze IN'
                      );
                      COMMIT;
       END IF;
    
    
       INSERT INTO adecco_apex.survey_job_log
                   (ID, start_date, description
                   )
            VALUES (s_id, SYSTIMESTAMP, 'Koncze Survey JOB'
                   );
                   COMMIT;
    END;
    

    What can be wrong?

    Help gurus!

    Kind regards

    PsmakR

    Hello!

    This stored procedure runs fine when Im running it but the thing is that DBMS Scheduler starts the application and then I do not know... So basically I do not understand how the profile can help me in this case?

    With respect,

    PSmakR

  • Microsoft fix - it message 'string input not in the right format. '

    Microsoft fix - it message 'string input not in the right format", I have uninstalled & reinstalled. always the same problem on all fix - its

    Hello

    The following forum would be more suited for this question.

    Microsoft Fix it Center - NOT for general support questions
    http://social.Microsoft.com/forums/en-us/fixitcenter/threads

  • I have a VIA card mother U8668-D and in Device Manager it is said that the "Multimedia Audio Controller", "PCI input device" and "PCI Simple Communications controller" function.

    I have a VIA card mother U8668-D and in Device Manager it is said that the "Multimedia Audio Controller", "PCI input device" and "PCI Simple Communications controller" function. I posted a link to the image below.

    Nevermind, I deleted the image by accident. Oops.

    https://SkyDrive.live.com/redir?RESID=D50158D65A52CBBA! 1928 & authkey =! AKdLQ4hGMOynvnc

    If the manufacturer of the motherboard doesn't provide drivers specific win7 there is none.

    If there is the bit Vista drivers ' appropriate ness, what they would usually work

  • Assign activity erros with the XPath query string returns multiple nodes.

    It comes to xml message we have with two elements < corecom:BusinessScopeReference > inside. How to assign the first < corecom:BusinessScopeReference > value of the other variable in the string.


    < variableentree >
    < xmlns:corecom fault = "http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2" xmlns:default = "http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2" xmlns = "http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2" >
    < corecom:EBMReference >

    < corecom:BusinessScopeReference >
    < corecom:ID xmlns = "http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/CustomerParty/V2" xmlns:ebo = "http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/CustomerParty/V2" >
    Account: NUANCE (AIMA 17N9IL) < / corecom:ID >
    < / corecom:BusinessScopeReference >

    < corecom:BusinessScopeReference >
    < corecom:ID xmlns = "http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/CustomerParty/V2" xmlns:ebo = "http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/CustomerParty/V2" >
    CREATECUSTOMERPARTYMSG/39303832313732363632373734303732 < / corecom:ID >
    < / corecom:BusinessScopeReference >

    < / corecom:EBMReference >
    < / failures >
    < / variableentree >


    When I use the sub element assign, I get the error: "XPath query string returns multiple nodes." How to point to the specific element in the table.


    < assign the name 'AssignId' = >
    < copy >
    < variable from = part "Variableentree" = "Fault."
    Query = "/ corecom:Fault / corecom:EBMReference / corecom:BusinessScopeReference / corecom:ID" / >
    < variable = "business_object_name" / >
    < / copy >
    < / assign >


    Please suggest.

    Check if this useful BPEL foreach

  • How to mixing to mastering simple steps

    How to mixing to mastering a few simple steps.  I need instructions step by step. Click here klik here etc.

    Search the Web, it has been documented in great detail.

    also, what platform do you use?

    http://blog.macformusicians.com/mastering-in-GarageBand/

    Al-part-12-mastering-in-Logic-Pro-x/ http://www.musictech.net/2014/09/Logic-Pro-x-Tutorial-become-a-Power-User-Tutori

  • Simple question: how to divide the string into multiple lines concatenated?

    Hi people,

    Maybe it's an easy question.

    How to split a string that is concatenated into multiple lines by using the SQL query?

    ENTRY:
    select 'AAA,BBB,CC,DDDD' as data from dual
    Delimiter = ', '.

    Expected results:
    data
    ------------
    AAA
    BBB
    CCC
    DDDD
    I'm looking for something nice to feature "an opposite to «sys_connect_by_path»»

    Thank you
    Tomas
    with t as (select 'aaaa,,bbbb,cccc,dddd,eeee,ffff' as txt from dual)
    -- end of sample data
    select REGEXP_SUBSTR (txt, '[^,]+', 1, level)
    from t
    connect by level <= length(regexp_replace(txt,'[^,]*'))+1
    
    REGEXP_SUBSTR(TXT,'[^,]+',1,LE
    ------------------------------
    aaaa
    bbbb
    cccc
    dddd
    eeee
    ffff
    
  • User spell String input

    Hello

    This is a fundamental question, no doubt, but it gives me a lot of trouble. I want to capture the user input double floating point via a digital control (azimuth & site), take double that and move the number as a hexadecimal string specifying a width of 16. These strings are then concatenated together, as well as a chain of command in hexadecimal (0005 0000) and sent on their merry way as a UDP packet. If I just use the string constants displayed in the hexadecimal form that everything works fine. When I try to use the code below, if I enter 0,0, I expect a hexadecimal string of 16 zeros. Instread, I get a recurring pattern of 30 years (i.e., 3030 3030...), the 0 in hexadecimal ASCII.

    Any help would be greatly appreciated.

    Thank you

    Bill

    Simply convert the number to a string. You want the real binary values in a string format, not ASCII values.

  • Bit string input

    Hello:

    I take an ASCII using a chain control of entry, and then help convert the string to byte array to get the bytes of each character.  From there on, it's my goal to browse the byte array and get the bits of each octet so that I can manipulate them.  I'm having a time hard to find how to do this last part - I tried a few other topics on this forum, but they just link to screw that I don't understand.  I would be very happy if someone could point me in the right direction.

    Thank you.

    If you try just to get the bits?

    I hope this helps clarify:

  • HP h8-1022: inputs multiple Windows Boot Manager.

    I have multiple instances of the Windows boot manager listed in chapter Sources of UEFI boot when I press ESC and F9 to list the devices to boot.

    I just cloned my original 2 TB drive on a 480 GB SSD with a lot of issues now resolved. The computer starts very well now, but these only entered multiple occurred when I had two disks connected each with their SYSTEM partition intact. (After all, it's a clone)

    When I look at things with EasyBCD I get this:

    So I can't remove redundant entries here. I'm puzzled!

    Can someone tell me how to remove the extra entries in the Windows Boot Manager?

    Hello

    What you see might be the result of the number of active devices UEFI (all sources) on your PC.  Windows 7 not a UEFI system.

    On my PC, active residual Windows to UEFI devices previously installed boot manager entries can be removed by resetting the default BIOS entries.

  • DBMS Scheduler - limiting execution of work

    Hi all

    I have a specific question about Oracle DBMS_SCHEDULER and need advice on the forum. Database version is 10.2.0.4

    I have a job that is supposed to work every day at 23:00. This Scheduler calls a procedure for moving data. The duration of the procedure (according to the data) is unknown.

    My question is, if the work of day 1 continues to operate without interruption more than 25 hours, will be the 2nd day of employment will be triggered?

    What are the options to ensure at any time that a job is running. According to the logic of the procedure, avoid at any time more than one execution of this procedure.

    Thanks in advance

    Hello

    If the following schedule of work is be so work is still in progress (from the previous list), then the new instance of the task will start as soon as the previous instance ends.

    For example:

    -First of all in employment: 13/03/2014 at 23:00

    The work takes 25 hours to complete: 15/03/2014 12 am (midnight)--> the second instance of the job begins on this date.

  • Avoid typing the same string in multiple expressions

    Say have some settings in the camera in Comp01 associated with other parameters in Comp01Main.

    For example:

    Focus of camera Comp01 has this expression:

    COMP ('Comp01Main'). Layer ("Camera01") .transform .pointOfInterest

    and the Y Rotation:

    COMP ("Comp01Main"). Layer ("Camera01") .transform .yRotation

    and so on...

    What should I do to avoid typing the expression "Comp01Main" for each of these expressions? How can I configure a controller to easily change the text "Comp01Main" in "Comp02Main" (for example) without going into each of them and make the change?

    I tried to insert the text "Comp01Main" in the Source text of a TextLayer parameter and then change these expressions for:

    var a = thisComp.layer("TextLayer").text.sourceText;

    model (a).layer("Camera01").transform.pointOfInterest

    var a = thisComp.layer("TextLayer").text.sourceText;

    model (a).layer("Camera01").transform.yRotation

    and so on...

    But it does not work.

    Any ideas?

    I think it will work if you change this:

    var a = thisComp.layer("TextLayer").text.sourceText;

    to do this:

    var a = thisComp.layer("TextLayer").text.sourceText.value;

    You can also put the whole expression in the text of the text layer and use eval() to evaluate the expression once you recover.

    Depending on your situation, it might be simpler (selector) link the parameters into a computer directly on the same settings in the other computer.

    Dan

  • Loop through the string with multiple replaced Conditions

    I'm looking for loop through a url string to enter analysis of http:// , www.twitter.com and twitter.com.

    I thought first use this:

    < cfset form.mystring = REPLACENOCASE (form.mystring, "http://","", 'One' "")

    AND REPLACENOCASE (form.mystring, "www.twitter.com", "", 'One') >.

    I realized that this won't work of course.

    In addition, using a cfif-cfelseif you will remove in this case a a condtion, but not several condition.

    You will need to use a cfloop, I think. Any suggestions on the syntax.  Thank you

    If you can not do:

    replacelist (LCase (Form.myString), 'http://, www.twitter.com, twitter.com', ',')

    ?

  • Satellite L650 - 10 H - inputs multiple Win 7 in the Boot Manager

    I have Toshiba Satellite L650 - 10H and I have recently reinstalled my Win 7 64 bit.
    There is no problem at all except that initially to laptop, I get this [http://tinypic.com/r/se7uja/6].

    3 Win 7 entries in the Boot Manager

    I always choose the first and all is well.
    It's like the old copy of win does not delete but one that I formatted disks...

    Y at - it an option to get rid of him?
    I don't mind reinstalling again if I know it will help.

    Hello

    I seems that Boot Manager Windows 7 contains three entries and the other two entries are useless.

    I think you can remove the last two entries in the Boot Manager.
    How to do this?
    Well, I m using the EasyBCD software.
    It is a free tool and you can easily manage this settings.

    After installation, start the tool.
    In EasyBCD toolbar, you can check the option called Add/Remove entries.
    Well, I think that here you should be able to remove the last two entries.

Maybe you are looking for