On commit - sequence increases

Hello.
I would like to know, if there is a way to stop form on error (before commit)?
My form returns sometimes for some users errors(privileges error or policy check error) on commit (KEY-COMMIT). Nothing inserts into database BUT sequence increments.
Is there a way to stop the sequence to increase?
Thanks.

...and put a trigger on the audit table, etc.
If there were a good reason NOT TO use a gapless sequence then suggesting alternative solutions would be helpful. In this case there may be no good reason TO use a gapless sequence but that doesn't mean he should try something else. It's possible and he needs to do it.
Advance queueing is more efficient but I can't remember how to do it right now. It may be on the web somewhere. Using dbms_lock, in pseudocode:
o create a table to store the sequences.
o when a sequence is needed then loop through the table and use the sequence to create a lockhandle.
o if you can't lock the record then move to the next one.
o if there are no records available then generate more records into the table (autonomos commit) and loop again.
o if you manage to lock a record then delete it (no commit).
o return the sequence to the calling process.
o when the record which uses the sequence is committed then that sequence will be removed from the sequence table.
o if the record is rolled back then the sequence will remain in the sequence table.
not suitable for intense usage and there can be problems if there's a chance of a commit between the call to the sequence routine and the insert of the record. you can get round this by using an 'unused sequences' table but that makes it less efficient - try advanced queueing.

Similar Messages

  • Commit sequence in forms

    I have one block with single record
    and 3 others blocks with multiple records.
    block1
    b2
    b3
    b4
    On SAVE button when_button_pressed trigger
    Code is
    declare
    v_commit number:=0;
    begin
    p_insert_test(
    :block1.p_emp_id
    ,v_commit
    --Note : No commit inside procedure p_insert_test
    if v_commit = 0 then
    go_block('b1');
    commit_form;
    go_block('b2');
    commit_form;
    go_block('b2');
    commit_form;
    end if;
    end;
    problem
    1.After execution of procedure p_insert_test if some error occurs in block b1,b2
    or b3 then record is showing as inserted through above procedure for same session when I am doing query in same block.
    Please tell me the best way of commit sequence in above scenario to maintain
    the consistency.

    I agree with you that there is no need to commit_form after each block
    but how to revert insert through procedure p_insert if any error
    occurred in multiple blocks.
    Because I record inserted are visible in particular session.

  • Commit sequence

    Hi all,
    I'd like to know a little more on a DB commit process. In my database,
    Table A is parent of Table B. And Table B is parent of Table C. The following code will attempt to fill each of these table with respect to their relationship:
    class Update {
      DAOFactory mySQL = null;
      ServiceTable_A serviceA = null;
      ServiceTable_B serviceB= null
      ServiceTable_C serviceC =null;
      public Update(){
          mySQL = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
         serviceA = mySQL.getServiceA();
         serviceB = mySQL.getServiceB();
         serviceC = mySQL.getServiceC();
      public void addToA(Person A){
           int status = serviceA.insert(A);
      public void addToB(Relative B){
           int status = serviceB.insert(B);
      public void addToC(Address C){
           int status = serviceC.insert(C);
      public boolean success(){
           if(status > -1){
               mySQL.commit();  //see snapshot of commit method below
          else
               mySQL.rollback();
    class PerformUpdate(){
        Update update = null;
        Person A = null;
        Relative B = null;
        Address C = null;
        public PerformUpdate(Update d){
             update= d;
        public void performNewPerson(Person A, Relative B, Address C){
              update.addToA(A);
             update.addToB(B);
             update.addToC(C);
    class View{
        private boolean UPDATE = true;
        private PerformUpdate perf = null;
       public void constructObjsFromInput(){
             // I construct Person A, Relative B, Address C objs here
       public void executeAction(){
            constructObjsFromInput();
            if(UPDATE){
                perf = new PerformUpdate(new Update());
                perf.performNewPerson(A, B, C);
      //HERE IS A SNAPSHOT OF THE COMMIT METHOD IN MYSQL FACTORY
      public void commit(){
         if( ! connection.isAutoCommit()){
                connection.commit();
                connection.setAutoCommit(true);
                      dbUtils.close(connection);  //dbUtils will close connections in
                                                                       //finally block
      }serviceA, serviceB, and serviceC have their own preparedStatements that
    executes insert commands.
    Assume that none of them fail, it's still important that serviceA commits first, followed by serviceB, then serviceC based on their relationship.
    Is there anyway that the sequence of execution triggered by the commit gets jacked up on the way to the DB ? I tested this situation several times.
    Two situations occur wih the same set of data:
    1. Table B, child of Table A, cannot be updated because of foreign key constraints. It is as if, serviceB attempted to be updated before Table A did !
    2. Table C, child of Table B, cannot be updated because of foreign key constraints. It is as if, Table A update occured first, then Table C's followed by table B.
    Are we guaranteed that preparedStmts will be committed with respect to the time they were called ?
    or does it depend the weight of their query ?
    or it's just up to the JVM to give resources to whichever one? If so, do we have a way to force the sequence to happen in one way ?
    Thanks

    also check for any key assumptions that may not be
    valid. What is the foriegn key constraint? Is it an
    autonumber that you are making an assumption about
    that when it turns out to be not what you think blows
    it all up?That's exactly right. The DB keys are auto-generated, auto-incremented.
    With this in mind, if i want to add a new field to a Table , I compute the next number sequence of the key. In that manner:
    class ServiceToTable_A implements ServiceA_DAO{
        private Connection con = null;
        public ServiceToTable_A(Connection con){
              this.con = con
        // The body structure of this method is the same for all other daos
       // except that I query the appropriate table for a given service
        public int nextSeq(int increment){
             int key = 0;
             Statement stat = null;
             ResultSet keySet = null;
              try{
                      String query= "Select * from table A";
                      stat = con.createStatement();
                      keySet = stat.executeQuery(query);
                      keySet.last();   //move cursor to last row
                      key = keySet.getInt("person_id");
              }catch(Exception n){
                   //log error             
               finally{
                  stat.close();
                  keySet.close();
              return key + inc;
       class Loading {
          DAOFactory mySQL = null;
         ServiceTable_A serviceA = null;
         ServiceTable_B serviceB= null
         ServiceTable_C serviceC =null;
         public Loading(){
               mySQL = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
              serviceA = mySQL.getServiceA();
              serviceB = mySQL.getServiceB();
              serviceC = mySQL.getServiceC();
          public int getNextPersonId(int inc){
                  return serviceA.nextSeq(inc);
          public int getNextRelativeId(int inc){
                  return serviceB.nextSeq(inc);
       class View{
            Person A;
            Relative B;
            Loading load = new Loading();
            public void constructObjects(){
                      A = new Person();
                      //Construct A from input fields
                      B.setParentKey(load.getNextPersonId(1));
                      //construct B from input fields              
                      C.setParentKey(load.getNextRelativeId(1);
                //construct C from input fields              
    }As you said, i'll do some more testing to isolate what's going on. It seems very odd that the two outcomes alternate like that. Or I may just have the coolest DB on earth

  • Controlling Commit Sequence In Forms.

    My Environment is Oracle Forms10g R2.
    Is it Possible to Control the commiting of blocks?
    e.g.
    I have three blocks A,B and C. I want to Commit B then C and then A. Can I do that?
    Regards,
    Eric.

    What do you really mean when you say "commit"?
    If you want your form to post the deletes/updates/inserts from block B first, then those in C, then those in A, place the blocks in that order in your Forms Builder Object Navigator.
    Then when you commit, block B changes will be applied first, then C, then A. The final database commit will then lock in those changes.

  • I have a editing issue with (sequence) rating system in Bridge.

    So I am editing in Bridge staring each keeper photo and as I do so the newly rated or 1 star photo I just  marked skips ahead in front of the  next photo. So in other words lets say I rated or stared photo number 1278 and the next one is 1279 and after marking 1278 it goes in front of 1279 reversing the sequence? What is causing this to happen. Also yesterday a whole batch of photos from a shoot (3500 of them) lost all time sequence ( I am viewing as "Date created" reverted to one time rather than when they were actually shot much later. I had two hardrives of the same photos and on my backup folder on the other hard drive this did not occur. Unfort I had edited almost the whole corrupted folder so going back to the clean back up HD was not what I wanted to do. Any ideas on this. the files that converted to the wrong date created also have a  out of focus quality as if the file is opening but never clears up.

    DOes tha make sense? Before you had me reset it I could
    scroll thru in bridge and use just single key grading actions  and now I must
    use command Action.
    Your Bridge set up must have been really messed because the normal behavior
    to set rate and label has always been with the two key combination when in a
    workspace with content window set up. When in content panel pressing a key
    without command brings you straight to the file (or first in series) with
    the first character that equals the key you pressed. If you have a filename
    starting with 3 pressing the key 3 for 3 star rating would move the focus
    from your selected file and bring you straight to that other file with a
    name starting with 3.
    However you could also use other options. Not only slideshow allows you to
    use one key, also the full screen (hit space bar to get there) or the Review
    mode (hit cmd+B to get there) in both mode you can move the files with arrow
    key and use one key for rate or label.
    two key  action such as COMMAND 1 to make it a 1 star or COMMAND 6 to make it
    this makes for allot more work and more carpal tunnel 
    nightmare lol!
    It is also not more work to hit one ore two keys at the same time and using
    the cmd + . (dot) and Cmd+ , (comma) also increases or decreases your rating
    with one star.
    Carpal tunnel syndrome is nothing to laugh about but highly unlikely to get
    from using a key board.
    There must be a fucntion to make thsi change?
    No, there is not.

  • How to get current sequence in a stacked sequence

    Hello,
    I am trying to implement a progress bar for a stacked sequence; as the sequence increases, the bar increases etc... This may be trivial but I cant figureout how to determine the current sequence number.  There is no property node for a stacked sequence structure...
    I am using labview 8.5 
    Regards
    hvo

    First, what proces are you doing using teh sequence structure? In general, you should avoid using sequence structures, esspecially stacked sequence structures. I assume you are new to LabVIEW and data flow programming. Take some time to learn how to use data flow programming and you will find you rarely ever need to use sequence structures. There are lots of discussions which cover the negatives about sequence structures.
    Now, given that you will need to develop your own variable which is used to update the progress bar throughout the sequence. The brute force method would be to wire a value through and use sequence locals. However if you went down this path you will quickly see why sequence structures are not recommended. A more generic method would be to create an Action Engine (search for action engine for lots of explanations on those) which would control the progress bar data. Each frame would need to call the action engine to update the progress bar.
    Since it sounds like you are writing a fairly complex sequence I would recommend you do one of two things. First and probably the easiest would be to create a subVI for each frame and then simply use dataflow to wire these together in the order you want to execute them. The downside here is that you are creating subVIs which may or may not ever be reused. It is still a valid approach though. The second and more flexible approach would be to use a state machine to control your processing. This is much more flexible and easier to maintain than a stacked sequence.
    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

  • Numbering: Import v Image v Sequence - How do these work? Can they be set to arbitrary start points?

    I have been searching where ever I can but I can't seem to find a good explanation of the difference between "Import Number," "Image Number" and "Sequence Number."
    In LR4 I was able to specify a start number for sequencing the image reference numbers.
    I would like to be able to specify that start number and have LR remember where it left off for the next time I import so I have continuously increasing numbers across imports until the next time I need to reset.
    Thanks for any information you can provide or links to the information.

    OK. A simple experiment reveals:
    Import# - Ever increasing number for each import. If this is used without another dynamic numbering (ie image#) it will append -# to the end of the filename. (ex. PHOTO001, PHOTO001-2, PHOTO001-3 etc.)
    Image# - Ever increasing number for each image across imports (Half of what I was looking for)
    Sequence# - Increasing number for each import. Resets to 0 each time.
    The question still remains though.
    Can the start points be manually set?
    Thanks.

  • Issue with PCL1 cluster table

    Hi Guies
    We have  a custom infotype 9003 which has a comment box where the user can enter long texts.
    that text goes to PCL1 TX cluster table.
    The client wants to have a custom utility which will upload the texts from flat file to PCL1 cluster table.
    The data is getting uploaded in cluster table but when we go to PA30 and look 9003 for any employee, the comment box appears blank.
    is there any problem with IT characteristcs?
    lw_key-pernr = fp_w_file_data-pernr.
      lw_key-infty = g_infty.
      lw_key-subty = fp_w_file_data-subty.
      lw_key-objps = fp_w_infty_db_data-objps.
      lw_key-sprps = fp_w_infty_db_data-sprps.
      lw_key-endda = fp_w_file_data-endda.
      lw_key-begda = fp_w_file_data-begda.
      lw_key-seqnr = fp_w_infty_db_data-seqnr.
    move the text to w_line
      lw_line = fp_w_file_data-text.
    export the comment to PCL1 cluster table.
      EXPORT lw_line
       FROM lw_line
            TO DATABASE pcl1(tx) ID lw_key.
      IF sy-subrc EQ 0.
        COMMIT WORK.
    increase the success count
    is the Export correct?
    with reagrds
    Samikhya

    use macro RP-EXP-C1-TX to export records to cluster.
    Look at modul pool MP001900 dynpro 2000 to learn how to use it.

  • Reading in a text file

    For my next project I'm supposed to read in a text file and then compute the legibility index. How do I go about reading in a text file?

    You should check your double equal signs in that procedure....
    Also, the logic you posted above (which I followed), doesn't work perfectly for calculating the number of syllables...for instance, the word "Romeo" contains 3 syllables, but the program will only count two...basically some words which contain the vowels 'io' and 'eo' sometimes are 1 syllable and sometimes are 2....but my program does come close to the indexes listed on the website you mentioned.
    Anyways, here is what I have for a very hackish approach (not modularized, but I don't have time to fix it I'm, I'm off work soon).
    import java.io.*;
    import java.util.*;
    public class LegibilityProfiler
       public static void main(String[] args)
          new LegibilityProfiler();
       public LegibilityProfiler()
          String line,thisWord;
          String[] words;
          int numSentences = 0;
          int numWords = 0;
          int numSyllables = 0;
          int syl,consecutiveVowels,i,j = 0;
          boolean isWord=false;
          char lastvowel=' ';
          try
             BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
             //read through lines until end of file is reached
             while ((line = reader.readLine()) != null)
                //split the words up by spaces
                words = line.split("\\s+");
                //add number of words in the line just read to total count
                numWords+=words.length;
                //process each word in this line
                for(i=0;i<words.length;i++)
                   //initialize variables used for each word
                   syl=0;               //number of syllables in this word
                   isWord=false;        //if "word" contains letters
                   thisWord="";         //stores only the letters in current word
                   consecutiveVowels=0; //number of consecutive vowels
                   lastvowel=' ';       //last vowel processed
                   //process the word
                   for(j=0;j<words.length();j++)
    //if word contains character that completes a sentencce
    if(words[i].charAt(j) == '.' ||
    words[i].charAt(j) == ':' ||
    words[i].charAt(j) == ';' ||
    words[i].charAt(j) == '?' ||
    words[i].charAt(j) == '!')
    numSentences++;
    //for each character in the word, extract only the letters
    if(Character.isLetter(words[i].charAt(j)))
    isWord=true;
    thisWord+=words[i].charAt(j);
    //process only the letters from current word to count vowels
    for(j=0;j<thisWord.length();j++)
    if(isVowel(Character.toLowerCase(thisWord.charAt(j))))
    //if it's the first vowel in a sequence, increase syllable
    if(consecutiveVowels==0)
    syl++;
    //either way, increase consecutive vowel count
    consecutiveVowels++;
    //store last vowel read in
    lastvowel=thisWord.charAt(j);
    else //not a vowel, so make sure count is 0
    consecutiveVowels=0;
    /* once word is processed check to make sure the word didn't
    end with an e, and have no other vowels right before it
    if(consecutiveVowels==1 && (lastvowel=='e' || lastvowel=='E'))
    syl--;
    //if it was a word, increase syllable count
    if(isWord)
    if(syl==0)
    syl=1;
    numSyllables+=syl;
    System.out.println("Number of Words: "+numWords);
    System.out.println("Number Sentences: "+numSentences);
    System.out.println("Number of Syllables: "+numSyllables);
    double ri=206.835-(84.6*numSyllables/numWords)-(1.015*numWords/numSentences);
    System.out.println("\nReadability Index: "+((int)ri));
    reader.close();
    catch(IOException e)
    e.printStackTrace();
    public boolean isVowel(char c)
    return (c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='y');

  • Binding multiple instance variables of multiple objects

    So I got this problem and cant figure out a solution. It seems to be a quite simple pattern but Im really new to jfx....
    Follows an imaginary code that kind of represents the problem in my real code:
    class A {
      public var vA: String;
      //...code that updates vA according to a specific logic
    class B {
      var seq: A[];
      public function addA(a: A) {
        insert a into seq;
      public function removeA....
      //how to monitor if one of the elements (OR logic) in seq have changed vA to say print the new value?
      //I mean, how can I bind each vA of each instance in seq to a trigger that will print the new value?
    }Note: The size of sequence increases/decreases as the user add or remove elements dynamically.
    This does not work since the bind dependencies in the for are not affected by varA:
    var newseq: String[] = bind for(a in seq) {a.varA} on replace {println(newseq)}This is not allowed by the compiler:
    var newseq: String[] on replace {println(newseq)};
    for(a in seq) {
      newseq[i] = bind a.varA; //incorrect syntax: seems that its not allowed to bind each individual sequence element through indexing
      i +=1;
    }Is there any obvious solution to this problem? Am I'm taking the wrong path?
    Thanks.

    OK, here is my latest version:
    class A
        public var vA: String on replace
            notifier(this);
        public-init var notifier: function (a: A): Void;
        public override function toString() { return vA; }
    class B {
        public-read var seq: A[] = for (i in [ 1 .. 10 ]) getA()
                on replace prevSeq[ lowIdx .. highIdx ] = usedSeq
            if (usedSeq == [])  // Delete operation
                delta = prevSeq[lowIdx].toString();
            else
                delta = usedSeq[0].toString();
        public-read var delta: String;
        public function add(): Void
            insert getA() into seq;
        public function remove(): Void
            def p = (Math.random() * (sizeof seq)) as Integer;
            delete seq[p];
        public function changeObj(): Void
            def p = (Math.random() * (sizeof seq)) as Integer;
            seq[p] = getA();
        public function changeVar(): Void
            def p = (Math.random() * (sizeof seq)) as Integer;
            def val = getVal();
            seq[p].vA = val;
            println(val);
        function getVal(): String
            def dt = DateTime {}
            return "{%1$tH:%1$tM:%1$tS:%1$tL dt.instant}"
        function getA(): A
            return A { vA: getVal(), notifier: updated }
        function updated(a: A): Void
            delta = "Value changed: {a.vA}";
    var b = B {}
    var scene: Scene;
    Stage
        title: "Sequence Update Observer"
        scene: scene = Scene
            width: 200
            height: 700
            content:
                VBox
                    layoutX: 20, layoutY: 20
                    spacing: 10
                    content:
                        Button { text: "Add", action: b.add }
                        Button { text: "Del", action: b.remove }
                        Button { text: "Change Obj", action: b.changeObj }
                        Button { text: "Change Var", action: b.changeVar }
                        Text
                            content: bind b.delta
                        ListView
                            items: bind b.seq
    }Note: when I change the value, the ListView doesn't change its content, as it is not aware either of any change.
    I haven't investigated to see how to compensate the issue, since that's not the main topic of the thread.

  • Teststand Multi UUT execution Timing

    Dear All,
       I am working on Multi uut testsystem where I have to tests 5 UUT in parallel, I am using Labview adapter,with Batch process model and testing energy meters where I have hardware suitable for 5 UUT. My question is My execution timing for 1,2 .And 5 uut at a time is different, Ex.. I an getting 1 UUT tested in 5 minutes and when I starts testing when I start testing 2 UUT at the same time My total execution time for same steps and sequence increases to 7 minutes.
    Pl suggest how I can achieve same timing which I am getting for single UUT for more than one UUT execution.

    Doug, I have shared hardware and it is source calibrator for current and voltage which is wired in parallel to all 5 UUT so that it can source to all UUT at the same time.My report generation is disabled and there is no on-fly report ON.I am doing my report generation using the one labview VI where I formatted report at the end of tests so while running the tests report generation not involved.I have around 65 steps in one sequence which made for calibration.
    To get same time of execution for 5 UUT as single UUT do I need to make my labview code module as reentrant? or do I need to make multi thread in labview vi code module like each socket will have separate loop execution inside the VI.? attaching here .seq file for your reference
    Attachments:
    PM5350 Multi UUT Test.seq ‏88 KB

  • Viewing multiple images in Bridge preview

    Hi - whenever I try an view more that 9 images in Bridge I only get a preview of 9 - no more ( in essentials view) anyone know why this would be?

    (and makes some odd layout decisions to make sure it is only 9).
    You are right about the odd layout and also the odd way of inconsistency Bridge handles its option for rating in multiple workspaces and panels. They should work on that and I believe (hope...) they are doing so for the next version. But having an unlimited amount of previews in the preview window is not the best idea to my opinion because when you select the lot in the content window it would mean even much smaller then thumbnails previews in the preview panel. It seems something as the best of both as it is now but again, they automatically layout choice of the preview window is mostly unusable and you are more then right at that point.
    A second minor for me would be that choosing between more then nine files in detail is also not easy. Although I'm using a very big (30") cinema display personal more then 4 HQ previews for detail comparing is pointless for me but that is my workflow :-)
    Using the content panel in Light Table workspace could help if you increase the size of the thumbs but this is very processor and memory consuming so you have to own quite a configuration to make this an easy workflow.
    Using the review mode is also not my favorite sorting method but I do like the full screen preview using tab. I have set preferences to build monitor sized previews and when I want to choose I select the similar files and with arrow keys run through them for the first choice. Rating with the cmd + . (dot) and cmd + , (comma) for increasing and decreasing stars and for final choice use a few in the preview panel next to each other.
    I often state, so many users so many workflows, it's not easy to produce an app that fit's them all...

  • Zooming in TextEdit - Where's the % display?

    I can't remember exactly when this feature went missing, but TextEdit no longer has the little window zoom percentage feature in the lower corner of any window.  It used to drop down to offer 100, 125, 150, 175, 200% and so on.  It's gone!  I used it all the time.  Now there is a counter intuitive shift-command-period/comma sequence that only zooms in way too much with one attempt to be of any use.  Why do longtime useful functions just keep disappearing for no apparent reason?  What are the programmers thinking?

    Pierre L. wrote:
    The article HT2317, entitled "[Viewing album artwork on iPod|http://support.apple.com/kb/HT2317?viewlocale=en_US]", has been last modified on October 11, 2009. Why would it mention that option if it had been removed from iTunes 9.
    Since when has the left hand known what the right hand is doing in any organiszation.
    Can you give a reference supporting your statement ?
    From Apple? No. Plenty of threads in here though, both builds of iTunes 9 released for Mac & PC have been missing this feature and people have given feedback. This is either a policy change and it will remain that way or it was accidentally omitted during the redesign in which case it may reappear in a future build. Either way the control isn't magically missing from just your copy, it's the same for all of us.
    tt2

  • Pre-insert block level, Seq.Nextval leaving gaps problem

    Hi...form friends,
    I used DB sequence in pre-insert block level trigger.
    SELECT seq1.nextval INTO :abc.log_id FROM dual;
    Everything works fine,except leaving gaps randomly .
    It leaves around 10 no.s gaps in-between. And that happens randomly...
    lets say I insert 5 records..then it will be 1,2,3,4,5.
    Then it may jumps to 15,16,25 like...that....
    I searched for this problem...but some say when form failure occurs, it leaves gap of CACHE no. specified....and some say its not possible to use DB seq. with forms perfectly ..!!!!
    Anybody have any idea about this issue ???
    Thanks....

    Putting that functionality in a row level trigger will cause a mutating data exception.
    Locking the table for update is not sufficient, you need to prevent other users inserting as well.
    I've posted a method a few times before which uses dbms_lock and a table of serial numbers which is used in place of the oracle sequence. This provides maximum concurrency and allows for data to be rolled back, but there is obviously a payoff in terms of performance so it should only be used when absolutely necessary. There is a similar example in the link I posted above (which is a far more considered explanation than I've posted elsewhere!), along with some caveats about using gapless sequences and whether there is truly a need.
    One of mine:
    Re: On commit - sequence increases

  • Upgrade on CRS Multichassis

    Hi ,
    I have a question regarding CRS multichassis upgrades that when we upgarde the multichassis do we need to have  code and all the SMU's and PIE in all the RP's or just in DSC RP's ( i.e ) Once DSC boots with the right code will it sync the new code and pacakges with other RP's as well ?
    Thanks
    Vishal

    Hi Vishal,
    An upgrade on a MC system is essentially the same. You need to use the 'install add', 'install activate', and 'install commit' sequence.
    During the add phase the packages are added to the disk of all RPs and SCs (shelf-controllers), during activation the code is changed on all RPs and SCs and other appropriate actions are taken for other nodes such as CPU0 and SP complexes.. Then of course we have the commit phase to ensure that the code is persistent.
    When a RP, for instance, boots up if it is not dSC it will contact the dSC and sync over package information. The same, kind of, goes for LCs. LCs will contact the dSC and get the information they need when they go to boot.
    If you meant a turboboot of a MC then this is also similar to a SC (single-chassis) turboboot with 2 RPs. Only 1 RP in any system can be turbobooted as it needs to be dSC.
    HTH,
    Sam

Maybe you are looking for