106 nested for next loops!

Well, this is not a problem, but I just had to mention that I could not believe that Java would actually process 106 nested for next loops. I had an hour of free time yesterday and we needed to run an exhaustive branch test of an application that we have, to do so we needed to have 104 data elements generated with all possible cases. I thought, what the heck, and tried it in Java--our old language wouldn't do that on it's best day and in our dreams! Java did it, it not only did it, but it left a clean environment after it was done!

well, here is more the thing that comes to mind with i think about loop limits: in VB when you get a dozen or so pending closing parentesis, things start to go funny in memory and in some cases, the formula/routine becomes too complicated to interpret. Just how many pending closing parentesis will be accepted before things go bonkers.

Similar Messages

  • For Next loop in allocations

    Request help in writing a allocation logic code.
    The current runs for 2600 Projects and 12000 customers. This causes memory issue and the code is aborted when run.
    Please suggest if this code can be run in a For/Next loop for each project..
    *XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
    *XDIM_MEMBERSET TIME = %TIME_SET%
    *WHEN ACCOUNT
    *IS "A1100001"
    *REC(EXPRESSION = ([ACCOUNT].[A1100001])*((%VALUE%)),ACCOUNT = "A3100001")
    *ENDWHEN
    *XDIM_MEMBERSET TIME = %TIME_SET%
    *XDIM_MEMBERSET ACCOUNT = BAS(MET-SAL.3.1)
    *XDIM_MEMBERSET P_PROJECT = BAS(AllProjects)
    *XDIM_ADDMEMBERSET P_PROJECT = NO_PROJECT
    *XDIM_MEMBERSET P_DEPARTMENT = ESG_Input
    *XDIM_MEMBERSET P_ENTITY = TTEU_INP
    *XDIM_MEMBERSET P_CUSTOMER = No_Customer
    *XDIM_ADDMEMBERSET P_CUSTOMER = BAS(AllCustomers)
    *XDIM_MEMBERSET P_ANALYSIS = BAS(AllAnalysis)
    *XDIM_ADDMEMBERSET P_ANALYSIS = NO_ANALYSIS
    *RUNALLOCATION
    *FACTOR = 1
    *DIM ACCOUNT WHAT = BAS(MET-SAL.3.1) ; WHERE = <<<;USING = <<<;TOTAL = <<<
    *DIM P_PROJECT WHAT = NO_PROJECT ;WHERE = <<< ;USING = <<<;TOTAL = <<< 
    *DIM P_DEPARTMENT WHAT = ESG_Input ;WHERE = <<< ;USING = <<<;TOTAL = <<< 
    *DIM P_ENTITY WHAT = TTEU_INP ;WHERE = <<< ;USING = <<<;TOTAL = <<< 
    *DIM P_ANALYSIS WHAT = NO_ANALYSIS ;WHERE = BAS(AllAnalysis) ;USING = <<<;TOTAL = <<< 
    *DIM P_CUSTOMER WHAT = No_Customer ;WHERE = BAS(AllCustomers) ;USING = <<<;TOTAL = <<<
    *ENDALLOCATION
    next

    I realized that while checking and have removed the section for recording expression.. and now only focusing to correct the Allocation logic. Based on your advice I have added the FOR/NEXT as below.
    The code is now only running for EDCTM-0007 but fails to generate any records for EDCTM-0014.
    *XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
    *XDIM_MEMBERSET TIME = %TIME_SET%
    *XDIM_MEMBERSET ACCOUNT AS %SAL% = BAS(MET-SAL.3.1)
    //*XDIM_MEMBERSET P_PROJECT = BAS(AllProjects)
    *XDIM_MEMBERSET P_PROJECT AS %PRJ% = EDCTM-0007, EDCTM-0014
    *XDIM_ADDMEMBERSET P_PROJECT = NO_PROJECT
    *XDIM_MEMBERSET P_DEPARTMENT = BAS(AllDepartments)
    *XDIM_MEMBERSET P_ENTITY = BAS(AllEntities)
    *XDIM_MEMBERSET P_CUSTOMER = BAS(AllCustomers)
    *XDIM_MEMBERSET P_ANALYSIS = BAS(AllAnalysis)
    *XDIM_MEMBERSET RPTCURRENCY = INR, CAD, EUR, GBP, KRW, MXN, SGD, THB, USD
    *FOR %PRJ% = EDCTM-0007, EDCTM-0014
    *RUNALLOCATION
    *FACTOR = 1
    *DIM ACCOUNT WHAT = %SAL%; WHERE = <<<; USING = <<<; TOTAL = <<<
    *DIM P_DEPARTMENT WHAT = ED_Input; WHERE = ED16; USING = <<<; TOTAL = <<<
    *DIM P_ENTITY WHAT = PUN_C; WHERE = <<<; USING = <<<; TOTAL = <<<
    *DIM P_CUSTOMER WHAT = No_Customer; WHERE = C100700; USING = <<<; TOTAL = <<<
    *DIM P_PROJECT WHAT = NO_PROJECT; WHERE = %PRJ%; USING = <<<; TOTAL = <<<
    *DIM P_ANALYSIS WHAT = NO_ANALYSIS; WHERE = TM_S; USING = <<<; TOTAL = <<<
    *ENDALLOCATION
    *COMMIT
    *NEXT
    log..
       FILE:\ROOT\WEBFOLDERS\ENVIRONMENTSHELL1\ADMINAPP\Planning_TTL\CP_RAVINNINE.LGF
    USER:RAVINDRA.S
    APPSET:ENVIRONMENTSHELL1
    APPLICATION:Planning_TTL
    FACTOR:1
    ALLOCATION DATA REGION:
    CATEGORY:Budget,
    P_PROJECT:NO_PROJECT,
    P_DEPARTMENT:Admin_Entity,Admin_Group,BRT_Entity,CEO_Entity,CEO_Group,COO_Entity,COO_Group,CSR_Entity,CSR_Group,ED01,ED02,ED03,ED04,ED05,ED06,ED07,ED08,ED09,ED10,ED11,ED12,ED13,ED14,ED15,ED16,ED_Input,ESG01,ESG02,ESG03,ESG04,ESG05,ESG06,ESG07,ESG08,ESG09,ESG10,ESG_Input,Finance_Entity,Finance_Group,GDO_Entity,HR_Entity,HR_Group,IT_Ent_Apps_Entity,IT_Ent_Apps_Group,IT_Ops_Infra_Entity,IT_Ops_Infra_Group,Legal_Entity,Legal_Group,Mktg_Entity,Mktg_Group,NO_DEPT,OSM_Entity,OSM_Group,PL01,PL02,PL03,PL04,PL05,PL06,PL07,PL08,PL09,PLM_P_Input,PLM_P_Services_Input,PLM_S_Input,PP01,PP02,PP03,PP04,PP05,Products_Autodesk,Products_Dassault,Products_IBM,Products_IKS,Products_MSC,Products_Others,Products_UGS,Quality_Entity,Quality_Group,VP01,VPD01,VPD_Input,
    P_ENTITY:BLO_C,BLO_Input,BLO_NC,BLR_C,BLR_Input,BLR_NC,BOM_C,BOM_Input,BOM_NC,BRG_C,BRG_Input,BRG_NC,BRZ_C,BRZ_Input,BRZ_NC,CAN,DEL_C,DEL_Input,DEL_NC,GER,GIP,HNJ_C,HNJ_Input,HNJ_NC,JSE_C,JSE_Input,JSE_NC,JSR_C,JSR_Input,JSR_NC,LKQ_C,LKQ_Input,LKQ_NC,MEX,NLD,PNQ_C,PNQ_Input,PNQ_NC,PUD_C,PUD_Input,PUD_NC,PUN_C,PUN_Input,PUN_NC,SAS,SIG,SKR,THD,THE,TTCN_INP,TTEU_INP,TTL_INP,TTMX_INP,TTPL_INP,TTTH_INP,TTUS_INP,UKG_Input,UKG_J,UKG_N,USA,
    P_CUSTOMER:C000001,C000002,C000003,C000004,C000005,C000006,C000007,C000008,C000009,C000010,C000011,C000012,C000013,C000014,C000015,C000016,C000017,C000018,C000019,C000020,C000021,C000022,C000023,C000024,C000025,C000026,C000027,C000028,C000029,C000030,C000031,C000032,C000033,C000034,C000035,C000036,C000037,C000038,C000039,C000040,C000041,C000042,C000043,C000044,C000045,C000046,C000047,C000048,C000049,C000050,C000051,C000052,C000053,C000054,C000055,C000056,C000057,C000058,C000059,C000060,C000061,C000062,C000063,C000064,C000065,C000066,C000067,C000068,C000069,C000070,C000071,C000072,C000073,C000074,C000075,C000076,C000077,C000078,C000079,C000080,C000081,C000082,C000083,C000084,C000085,C000086,C000087,C000088,C000089,C000090,C000091,C000092,C000093,C000094,C000095,C000096,C000097,C000098,C000099,C000100,C000101,C000102,C000103,C000104,C000105,C000106,C000107,C000108,C000109,C000110,C000111,C000112,C000113,C000114,C000115,C000116,C000117,C000118,C000119,C000120,C000121,C000122,C000123,C000124,C000125,C000126,C000127,C000128,C000129,C000130,C000131,C000132,C000133,C000134,C000135,C000136,C000137,C000138,C000139,C000140,C000141,C000142,C000143,C000144,C000145,C000146,C000147,C000148,C000149,C000150,C000151,C000152,C000153,C000154,C000155,C000156,C000157,C000158,C000159,C000160,C000161,C000162,C000163,C000164,C000165,C000166,C000167,C000168,C000169,C000170,C000171,C000172,C000173,C000174,C000175,C000176,C000177,C000178,C000179,C000180,C000181,C000182,C000183,C000184,C000185,C000186,C000187,C000188,C000189,C000190,C000191,C000192,C000193,C000194,C000195,C000196,C000197,C000198,C000199,C000200,C000201,C000202,C000203,C000204,C000205,C000206,C000207,C000208,C000209,C000210,C000211,C000212,C000213,C000214,C000215,C000216,C000217,C000218,C000219,C000220,C000221,C000222,C000223,C000224,C000225,C000226,C000227,C000228,C000229,C000230,C000231,C000232,C000233,C000234,C000235,C000236,C000237,C000238,C000239,C000240,C000241,C000242,C000243,C000244,C000245,C000246,C000247,C000248,C000249,C000250,C000251,C000252,C000253,C000254,C0002
    P_ANALYSIS:FB_M,FB_S,NO_ANALYSIS,TM_M,TM_S,
    RPTCURRENCY:CAD,EUR,GBP,INR,KRW,MXN,SGD,THB,USD,
    ACCOUNT:WHAT:MET-SAL.1.1,MET-SAL.5.1, MET-SAL.1.2,MET-SAL.5.2, MET-SAL.1.3,MET-SAL.5.3, MET-SAL.1.4,MET-SAL.5.4, MET-SAL.1.5,MET-SAL.5.5, MET-SAL.1.6,MET-SAL.5.6, MET-SAL.1.7,MET-SAL.5.7, MET-SAL.1.8,MET-SAL.5.8,WHERE:<<<,USING:<<<,TOTAL:<<<
    P_DEPARTMENT:WHAT:ED_Input,WHERE:ED16,USING:<<<,TOTAL:<<<
    P_ENTITY:WHAT:PUN_C,WHERE:<<<,USING:<<<,TOTAL:<<<
    P_CUSTOMER:WHAT:No_Customer,WHERE:C100700,USING:<<<,TOTAL:<<<
    P_PROJECT:WHAT:NO_PROJECT,WHERE:EDCTM-0007,USING:<<<,TOTAL:<<<
    P_ANALYSIS:WHAT:NO_ANALYSIS,WHERE:TM_S,USING:<<<,TOTAL:<<<
    --Read WHAT region
    [P_DEPARTMENT] =ED_Input
    [P_CUSTOMER] =No_Customer
    [P_PROJECT] =NO_PROJECT
    [P_ANALYSIS] =NO_ANALYSIS
    [CATEGORY] =Budget
    [RPTCURRENCY] =CAD,EUR,GBP,INR,KRW
    --Time to load WHAT :0.2066 second(s).
    WHAT data:1680 records.
    --Apply factor
    WHERE=WHAT *1
    --Time to apply factor :0.003074 second(s).
    --Read destination and calculate difference
    [P_DEPARTMENT] =ED16
    [P_CUSTOMER] =C100700
    [P_PROJECT] =EDCTM-0007
    [P_ANALYSIS] =TM_S
    [CATEGORY] =Budget
    [RPTCURRENCY] =CAD,EUR,GBP,INR,KRW
    --Time to read destination and calculate difference :0.14611 second(s).
    --Records succeeded to write back :1680
    --Records failed to write back
    --Time to run Allocation :0.390015 second(s).
    FACTOR:1
    ALLOCATION DATA REGION:
    CATEGORY:Budget,
    ACCOUNT:WHAT:MET-SAL.1.1,MET-SAL.5.1, MET-SAL.1.2,MET-SAL.5.2, MET-SAL.1.3,MET-SAL.5.3, MET-SAL.1.4,MET-SAL.5.4, MET-SAL.1.5,MET-SAL.5.5, MET-SAL.1.6,MET-SAL.5.6, MET-SAL.1.7,MET-SAL.5.7, MET-SAL.1.8,MET-SAL.5.8,WHERE:<<<,USING:<<<,TOTAL:<<<
    P_DEPARTMENT:WHAT:ED_Input,WHERE:ED16,USING:<<<,TOTAL:<<<
    P_ENTITY:WHAT:PUN_C,WHERE:<<<,USING:<<<,TOTAL:<<<
    P_CUSTOMER:WHAT:No_Customer,WHERE:C100700,USING:<<<,TOTAL:<<<
    P_PROJECT:WHAT:NO_PROJECT,WHERE:EDCTM-0014,USING:<<<,TOTAL:<<<
    P_ANALYSIS:WHAT:NO_ANALYSIS,WHERE:TM_S,USING:<<<,TOTAL:<<<
    "LC" has been added as default currency in allocation.
    --Read WHAT region
    [P_DEPARTMENT] =ED_Input
    [P_CUSTOMER] =No_Customer
    [P_PROJECT] =NO_PROJECT
    [P_ANALYSIS] =NO_ANALYSIS
    [CATEGORY] =Budget
    [ACCOUNT] =MET-SAL.1.1,MET-SAL.1.2,MET-SAL.1.3,MET-SAL.1.4,MET-SAL.1.5
    --Time to load WHAT :0.060259 second(s).
    WHAT data:0 records.
    --Apply factor
    WHERE=WHAT *1
    --Time to apply factor :0.000028 second(s).
    --Read destination and calculate difference
    [P_DEPARTMENT] =ED16
    [P_CUSTOMER] =C100700
    [P_PROJECT] =EDCTM-0014
    [P_ANALYSIS] =TM_S
    [CATEGORY] =Budget
    [ACCOUNT] =MET-SAL.1.1,MET-SAL.1.2,MET-SAL.1.3,MET-SAL.1.4,MET-SAL.1.5
    --Time to read destination and calculate difference :0.05125 second(s).
    --Records succeeded to write back
    regards, Prashant

  • FOR/NEXT loop produces Error in ProcessSQL: Subscript out of range

    Hi all,
    The 2nd FOR/NEXT loop in the following code produces Subscript ouf of Range error:
    *LOOKUP RATEAPP
    *DIM MODEL:RATEENTITYDIM= DRIVEDIM.DRIVER_ENTITY
    *DIM MODEL:RATEACCOUNTDIM= DRIVEDIM.DRIVER
    *DIM MODEL:INPUTCURRENCYDIM = "EUR"
    *ENDLOOKUP
    // Select lookup and normal members by group
    *SELECT(%DRIVERSA%, ID, DRIVEDIM, "[GROUP] = 'A' AND [DRIVER] <> ''")
    *SELECT(%MANUALSA%,ID,DRIVEDIM, "[GROUP] = 'A' AND [SOURCE] = 'MAN'")
    *XDIM_MEMBERSET DRIVEDIM= %MANUALSA%, "U_TEMP"
    *WHEN ACCOUNTDIM.ACCTYPE
    *IS *
         *REC(EXPRESSION=1, NOADD, DRIVEDIM="U_TEMP")
    *ENDWHEN
    *GO
    // this is ok
    *FOR %MANSET% = %MANUALSA%
         *WHEN DRIVEDIM
         *IS %MANSET%
         *WHEN %VALUE%
         *IS <> 0
                   *REC(FACTOR=GET(DRIVEDIM="AD.TEMP"),DRIVEDIM="AD.TEMP")
         *ENDWHEN
         *ENDWHEN
    *GO
    *NEXT
    *XDIM_MEMBERSET DRIVEDIM= %DRIVERSA%, "U_TEMP"
    // this is not OK
    *FOR %DRIVSET% = %DRIVERSA%
         *WHEN DRIVEDIM
         *IS %DRIVSET%
              *WHEN %VALUE%
              *IS <> 0
                   *REC(FACTOR= GET(DRIVEDIM="U_TEMP") * LOOKUP(MODEL),DRIVEDIM="U_TEMP") //  * LOOKUP(MODEL)
              *ENDWHEN
         *ENDWHEN
    *GO
    *NEXT
    If I remove the FOR/NEXT loop, this runs fine. The error occurs everywhere - in logic debugger, in DB, in ExecuteBaseLogic if included in Default logic. The REC statement inside the loop can be anything, even as simple REC(FACTOR=1,DRIVEDIM="U_TEMP"), so the problem is in the loop, not anything else. It validates nicely and the compiled logic looks just as expected.
    This error could occur sometimes if the membersets are too large. However, in this example, the number of members is rather limited. In the debugger is is possible to limit the data region to single specific intersection and the DRIVEDIM membersets combined is exacly 15.
    Could it be possible that the error is caused by member ID-s like AD.1.AVGWAGEGROWTH (length=18)? Is there anything else that can cause  trouble?
    Any ideas appreciated.
    Thanks
    Madis
    Edited by: Madis Udam on Mar 24, 2011 11:06 AM

    I don't think you should have"." dot's in you ID's.
    think about it, in your code you have ACCOUNTDIM.ACCTYPE, which represents the account type of the dimension.
    If you have an id "AD.1.AVGWAGEGROWTH"; wouldn't it think that you are trying the get a value of some member?
    That's just a guess, we established that we wouldn't use any special characters on our id's
    It's working so far
    Try changing the line
    *IS %DRIVSET%
    to
    *IS "%DRIVSET%"
    Edited by: Leandro Cardoso Feliciano on Mar 28, 2011 10:45 PM

  • I want to use for next loop to reduce code for doing removechild()'s

    I have working if (addChild(bmp1)) ----removeChild(bmp1). But I need to do it 20 times. I thought I could use a for/next loop, but so far can't seem to get it right.
    for (var i:Number=0; i<21; I++)
    my_bmp.name = "bmp" + 1;
    if (addChild(my_bmp))
    removeChild(my_bmp);
    This code passing the compiler, but when I execute it I get "A term is undefined and has no properties". I'm thinking it has something to do with  my_bmp.name? I've tried several things and just can't crack it.

    The name of an object is just a string.  to have the compiler treat it as an object you can use the getChildByName() method or even the bracket notation.
    removeChild(this.getChildByname(my_bmp));
    OR
    removeChild(this[my_bmp]);
    I am guessing that you intend to use "bmp"+String(i) instead of "bmp"+1

  • Nested FOR cursor LOOPs, BASIC QUESTION

    Hello,
    I am trying to nest a For-loop using a cursor (see below), but the program is not entering the second (nested) for-loop. This program compiles fine, but during run-time, the nested loop does not execute. I'd rather not use FETCH statements and keep everything in place. I think the solution is rather trivial, but I'm new to PL/SQL. PLEASE HELP!!!!!
    cursor c1 is
    select coi_con_uid,coi_not_code,coi_closed_yn,coi_timestamp
    from s_coi_con_issue
    where coi_not_code = 'NOT107'
    and coi_timestamp <= v_aweekago
    and coi_closed_yn = 'N';
    cursor c2 is
         select tsk_uid
         from s_tsk_task
         where tsk_status in ('C')
         and tsk_tty_code = 'CONTAC'
         and tsk_date_end = '' FOR UPDATE;     
    BEGIN
    select to_date(sysdate - 7) into v_aweekago from dual;
    DBMS_OUTPUT.PUT_LINE('System date used is ' || v_aweekago);
    FOR coi_row in c1 LOOP
    v_tsk_cnt := 0;
    v_coi_row_cnt := v_coi_row_cnt + 1;
    v_con_uid := rtrim(to_char(coi_row.coi_con_uid));
    v_tsk_act_str := ('"CON_UID","' || v_con_uid || '"') ;
    DBMS_OUTPUT.PUT_LINE('COI_CON_UID: ' || v_con_uid);
    DBMS_OUTPUT.PUT_LINE('v_tsk_act_str: ' || v_tsk_act_str);
    -----The Program is not entering into this Loop
              FOR tsk_row in c2 LOOP
              v_update_cnt := v_update_cnt + 1;
                   update s_tsk_task
                   set tsk_status = 'A'
                   where tsk_uid = tsk_row.tsk_uid and
                   tsk_action_string = v_tsk_act_str;     
                   DBMS_OUTPUT.PUT_LINE('----Task updated');                         
              END LOOP;
    END LOOP;
    COMMIT;

    using your query on your cursor c2 when you execute it on sql*plus did it return any rows?
      select tsk_uid
        from s_tsk_task
       where tsk_status in ('C')
         and tsk_tty_code = 'CONTAC'
         and tsk_date_end = ''; if not it might have something to do with the predicates in your where clause
         and tsk_date_end = '';consider revising your c2 cursor select statement to something like:
    cursor c2 is
      select tsk_uid
        from s_tsk_task
       where tsk_status   = 'C'
         and tsk_tty_code = 'CONTAC'
         and tsk_date_end IS NULL
      FOR UPDATE;

  • Need to access parent elements in nested for-each loop

    Hi All,
    I have a xslt mapping requirement in which I am completely stuck. The details are as listed below. Please help!
    Schema structure is as follows:
    Root
    Payload
    Transaction-123
    Loop-LINE
    Loop-SDPP
    Segment-FSTT
    Element-111
    Required xslt file structure is:
    <xsl:for-each Loop-LINE>
    <tns:Item>
    <Line-1000>
    <Line-2000>
    <Line-3000>
    <Line-8000>
    <xsl:for-each Loop-SDPP>
    <xsl:for-each Segment-FSTT[ns0:Element-111 != "A"]>
    <SDetails>
    </SDetails>
    <xsl:for-each Loop-LINE> --------- How to access Loop-LINE element from this for loop????
    <tns:Item>
    <2000>
    <2020>
    <2070>
    <2150>
    </tns:Item>
    </xsl:for-each>
    </for-each>
    </for-each>
    </tns:item>
    </for-each>
    Need help in understanding how can I run a for-each loop for Loop-LINE which is two levels up in the schema tree structure.
    Thanks..

    Thanks for this answer but I can't obtain the right output with my test case; the multi column must be in the loop as that :
    ALPHABETICAL INDEX C1
    Alternator .......................................... Feed Pump
    Belt Details / Engine Gaskets Sets ..... Flywheel Housing
    < NEW PAGE>
    INDEX ALPHABETIQUE C2
    Alternateur......................................... Culbuteurs
    Bloc-Cylindres.................................... Demarreur
    Denis

  • For next loop

    I want to see this in a Java applet:
    1 2 3 4 5 6 7 8 9 10
    but I only see then in my Applet. What do I wrong??
    this is the code:
    package untitled9;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    public class Applet1 extends Applet
    int x = 10;
    int y;
    int i;
    public void paint(Graphics g)
    g.setColor(Color.blue);
    for ( i = 1; i<=9 ; i++);
    g.drawString("" + i , x, 10);
    x = x + 10;
    I make the X 10 higher each time... so I don't understand why I only see 10 in the applet...

    ok, but the question is why there come no numbers like this:
    1 2 3 4 5 6 7 8 9
    you understand what I mean now??

  • Nested for-each issue [Solved]

    Hi.
    First of all, just started looking into xsl, so please explain things carefully.
    I need to make a master-detail form, but the xml is a bit tricky.
    I've made a demo here:
    <DATASET>
    <ROWSET1>
    <ROW>
    <ID>1</ID>
    <NAME>Harry Potter</NAME>
    </ROW>
    <ROW>
    <ID>2</ID>
    <NAME>Draco Malfoy</NAME>
    </ROW>
    </ROWSET1>
    <ROWSET2>
    <ROW_R2>
    <OWNER_ID>1</OWNER_ID>
    <PC>HP</PC>
    </ROW_R2>
    <ROW_R2>
    <OWNER_ID>1</OWNER_ID>
    <PC>Dell</PC>
    </ROW_R2>
    <ROW_R2>
    <OWNER_ID>2</OWNER_ID>
    <PC>Compaq</PC>
    </ROW_R2>
    </ROWSET2>
    </DATASET>
    Here's what I want printed:
    Harry Potter
    -HP
    -Dell
    Draco Malfoy
    -Compaq
    Here's how I've tried making my xsl and if's for joining.
    <xsl:for-each select="DATASET/ROWSET1/ROW">
    <xsl:value-of select="NAME"/>
    <xsl:for-each select="../../ROWSET2/ROW_R2">
    <xsl:if test=" ../../ROWSET1/ROW/ID = OWNER_ID">
    <xsl:text>ID: </xsl:text><xsl:value-of select="../../ROWSET1/ROW/ID"/>
    <xsl:text>OWNER_ID: </xsl:text><xsl:value-of select="OWNER_ID"/>
    <xsl:text>PC: </xsl:text><xsl:value-of select="PC"/>
    </xsl:if>
    </xsl:for-each>
    </xsl:for-each>
    This only outputs
    Harry Potter
    Draco Malfoy
    If I remove the if/end if, it outputs
    Harry Potter
    ID:1 Owner_ID:1 PC:HP
    ID:1 Owner_ID:1 PC:Dell
    ID:1 Owner_ID:2 PC:Compaq
    Draco Malfoy
    ID:1 Owner_ID:1 PC:HP
    ID:1 Owner_ID:1 PC:Dell
    ID:1 Owner_ID:2 PC:Compaq
    Obviously there's a couple of things wrong, so if anyone could help out I'd be greatful.
    I know it's a bit tacky looping through twice to find matching id vs owner_id, but with this kind of xml I don't know any other way, and I can't change the xml. Fortunately it's not that much data so it shouldn't be too slow.
    Cheers,
    Vidar
    Message was edited by:
    Vidar
    :added solved to subject

    A solution that works is to great a for-each loop table using ROWSET1 and setting a variable to the ID value. Then put a nested for-each loop inside the first using ROWSET2 and using a filter on the for-each to filter for OWNER_ID like this:
    <?for-each:/DATASET/ROWSET2/ROW_R2[xdoxslt:get_variable($_XDOCTX, 'x')=OWNER_ID]?>
    for template then looks like the following:
    inialize variable 'x'
    for-each ROWSET1
    NAME
    ID set 'x'
    for-each ROWSET2[filter]
    OWNER ID PC
    end for-each
    end for-each

  • Multiplication Table with Two Nested For Loops

    I am trying to code a multiplication table in which the user enters the number of rows between 2 and 10 and enters the number of columns from 2 to 10. This must be in nested for loop format somewhat like this:
    rows has been assigned the input variable for rows and columns is the name for input value for columns
    for (int i = 1; i <=rows; i++)
    for (int j = 1; j <=columns; j++)
    i * j
    i can't figure out how to get it to print out in table format or if the calculation coding is correct. can anyone help me please?
    it should look like this for rows is 4 and columns is 7
    1 2 3 4 5 6 7
    2 4 6 8 10 12 14
    3 6 9 12 15 18 21
    4 8 12 16 20 24 28
    Edited by: hatecodingsomuch on Feb 22, 2009 8:15 PM

    hatecodingsomuch wrote:
    I refuse to ask for help from people who are acting like they are all-knowing and unwilling to help someone, considering I am asking for help...to learn. Obviously I am not understanding java very well and I don't need to be ridiculed like this from members who are supposed to help "NEW TO JAVA" individuals. Get off your high horse or get off the website. I will never use this again.Good luck with that.
    You do seem to be yet another "do my homework for me" type of flunkie. I predict you'll soon have an epiphany that software development really isn't for you.
    I hope you know how to say "Do you want fries with that, sir?" better than the next guy so you can edge him out.

  • Issues with nested for loops - saving images from a camera

    Hi all,
    I've written a vi. to capture a specific number of images ('Image No') and save these images, outputted to a folder of my choice.  Each image is identified sequentially.  However, I wish to do a number of iterations ('Run') of this capture sequence, such that the filename of each image would be 'Filename (Run)_(Image No).png', e.g. run 5, image 10 would be 'Filename 5_10.png'.  I have tried a nested for loop for this but I receive an error 'Asynchronous I/O operation in progress' (I've attached a printscreen).
    Can anyone assist me in solving this problem? I preiously posted this in machine Vision but got no response (http://forums.ni.com/t5/Machine-Vision/Capturing-image-sequences-issues-with-nested-for-loops/m-p/19...).  Please find attached my vi.
    Kindest regards and thanks,
    Miika
    Solved!
    Go to Solution.
    Attachments:
    Labview problem.jpg ‏3841 KB
    Image sequence save to file.vi ‏48 KB

    Miika,
    the problem is not the filenam, but the name of the folder (AHHHHH!). You try to create the same folder in the outer for loop over and over again.... (it is the error message above the '======', not below )
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Nested for loop in Xquery

    hi all,
    I need to implement nested for loop in Xquery, but not able to do. Please help.
    Thanks in advance..
    Rajan

    Nested for loops are simple in Xquery. Here is a very basic example:
    Input:
    <root>
    <FirstLevel>
         <SecondLevel>
              <Value>1</Value>
         </SecondLevel>
         <SecondLevel>
              <Value>2</Value>
         </SecondLevel>
         <SecondLevel>
              <Value>3</Value>
         </SecondLevel>
    </FirstLevel>
    <FirstLevel>
         <SecondLevel>
              <Value>4</Value>
         </SecondLevel>
         <SecondLevel>
              <Value>5</Value>
         </SecondLevel>
         <SecondLevel>
              <Value>6</Value>
         </SecondLevel>
    </FirstLevel>
    </root>XQuery:
    declare namespace ns0 = "http://temp.uri/OTM";
    declare function ns0:NestedForLoop($input as element(*))    as element(*)
         <ns0:Output>
              for $firstLevel in $input/FirstLevel
              for $secondLevel in $firstLevel/SecondLevel
                    return
                  <element>{ $secondLevel/Value/text() }</element>
         </ns0:Output>
    declare variable $input aselement(*) external;
    ns0:NestedForLoop($input)Output:
    <otm:Output       xmlns:otm="http://temp.uri/OTM">
         <element>1</element>
         <element>2</element>
         <element>3</element>
         <element>4</element>
         <element>5</element>
         <element>6</element>
    </otm:Output>Of course, this case is very simple and usually you wont even loop for this you can use a simple XPath like $input/FirstLevel/SecondLevel/Value/text() to achieve the above result. So, If you are having problems in a specific case of nested for loops, please post the input and output here and we can help out.

  • Nested For Loop Trouble?

    Ok I need to have a nested for loop that asks a user to enter in a int number from 1-50. Whatever the number is, lets say 4 I need the program to count up asterisk and count down asterisks, like this.
    This is my code:
    import java.io.*;
    public class Stars {
         static int n;
         static private InputStreamReader in = new InputStreamReader(System.in);
         static private BufferedReader br = new BufferedReader(in);
         public static void main(String[] Args)throws IOException
              System.out.println("Please enter in a number to see display: ");
              String num = br.readLine();
              n=Integer.parseInt(num);
              for(int i=1;i<=n;i++)
                   for(int j=1;j<=i;j++)
                        System.out.print("*");
                   for(int j=1;j<=i;j--)
                        System.out.print("*");
                   System.out.println();
    Can someone tell me what I am doing wrong so I can figure out my mistake(s).

    Ok, well I know that the loop relies on the number entered in by the user. So if i pick 3 the three enter in the loop and counts up in a for loop and for every number it counts up to the three it does a print("*"); Now what I am getting confused about is where the other for loop comes into play. I know that I need to start from the number I have which is 3, so I need to have one less than that and then count down. The thing is that i'm not sure where or how the second for loop gets implemented into the code. Does it get nested with the first loop like this:
    for(int i=1;i<=n;i++)
                   for(int j=1;j<=i;j++)
                            for(int j=n-1;j>=i;j--)
                        System.out.print("*");
                   System.out.println();
              }Or is the second for loop on its own like this:
    for(int i=1;i<=n;i++)
                   for(int j=1;j<=i;j++)
                        System.out.print("*");
                   for(int j=n-1;j>=i;j--)
                        System.out.print("*");
                   System.out.println();
              }If someone can help me understand, for this is my first time with nested for loops.

  • Quick key launch for next frame in sequenced loop?

    Hi, 
    I want go quickly through my sequence loop. Is there a key combo for next frame?
    Thanks
    Solved!
    Go to Solution.

    ctrl + mousewheel will skip through frames in all structures
    - Cheers, Ed

  • Nested table updation in FOR Cursor loop

    Hello,
    I have nested table as follows:
    SQL> desc fp
    Name Null? Type
    ORDER_NUM NOT NULL VARCHAR2(10)
    ORDER_TIE_NUM NOT NULL VARCHAR2(10)
    FACILITY NOT NULL VARCHAR2(10)
    ON_SHORTS NUMBER(2)
    ACTIVE_SHORTS NUMBER(2)
    PARTS DPM_TRANSFORM_CODE.FP_SLC_SHORT
    FIRST_SHORT DATE
    LAST_SHORT DATE
    SQL> desc DPM_TRANSFORM_CODE.FP_SLC_SHort
    DPM_TRANSFORM_CODE.FP_SLC_SHort TABLE OF DPM_TRANSFORM_CODE.FP_SHORT_INFO
    Name Null? Type
    PART_NUM VARCHAR2(7)
    AREA VARCHAR2(7)
    PART_QTY NUMBER(3)
    ON_SHORT_CNT NUMBER(4)
    OFF_SHORT_CNT NUMBER(4)
    FIRST_DATE DATE
    LAST_DATE DATE
    UPDATE TABLE(SELECT PARTS FROM DPM_REPORTING.FP WHERE ORDER_NUM = P.ORDER_NUM AND ORDER_TIE_NUM = P.ORDER_TIE_NUM) PARTS
    SET PARTS.OFF_SHORT_CNT = PARTS.OFF_SHORT_CNT + 1
    WHERE PARTS.last_date < SYSDATE - 2/24;
    This Update Statement is in FOR Cursor Loop
    where select statement for the cursor is
    "SELECT ORDER_NUM,ORDER_TIE_NUM,PARTS FROM DPM_REPORTING.FP WHERE FACILITY = 'PN1'"
    This select statement generates 20000 records & due to which the Update statement gets executed that many times inside FOR loop.The Procedure has become quite slow due to this.
    Please help.
    Thanks,
    Rekha

    You could do it all in one sql update statement, without any pl/sql or cursor or looping:
    UPDATE fp t1
    SET    t1.parts =
           CAST (MULTISET (SELECT part_num, area, part_qty, on_short_cnt,  
                                  CASE WHEN last_date < SYSDATE - 2/24
                                       THEN off_short_cnt + 1
                                       ELSE off_short_cnt
                                  END,  
                                  first_date, last_date
                           FROM   TABLE (SELECT parts
                                         FROM   fp
                                         WHERE  facility = 'PN1'
                                         AND    order_num = t1.order_num
                                         AND    order_tie_num = t1.order_tie_num))    
                 AS fp_slc_short)
    WHERE  t1.facility = 'PN1'
    /

  • Interrupting Nested For Loops/Sequences

    I have a lagre program consisting of nested for loops and case statements calibrating an array of patch antennas. The entire process of which will take about 15 hours. During this time, I want to have two things happen.
    Every 20 minuites or so, I want the process to stop what it's doing, follow certain commands for the measurement equipment to recalibrate itself, and then go back to what it was doing.
    I also want to protect it against unpredicted and predicted crashes. If the system needs to stop for whatever reason, I would like to be able to pick up the process where it left off. A sort of checkpoint system, where, when it passes a checkpoint, if it needs to be restarted, I can tell it to start from the last checkpoint it passed.
    Anyone had any experiece with these types of problems?

    jaysmall wrote:
    I also want to protect it against unpredicted and predicted crashes. If the system needs to stop for whatever reason, I would like to be able to pick up the process where it left off. A sort of checkpoint system, where, when it passes a checkpoint, if it needs to be restarted, I can tell it to start from the last checkpoint it passed.
    Could you open and append parameters to a file? Every time you restart execution of the vi after crashes you can look through the contents of the file to determine the last operation that was successful and continue with the last know good settings.  -SS

Maybe you are looking for

  • Movie was not copied because it cannot be played on this ipod

    I have seen this posted a couple times but no one ever seems to post a solution. I bought a couple tv shows from itunes. I try and sync my iPhone4 running ios5, and I get an error that says "**** was not copied to the ipod ** because it cannot be pla

  • Ipod won't connect via firewire, only usb

    My clickwheel ipod decided to stop connecting via firewire. I reset it, and the restored it, and reinstalled itunes. Nothing worked. I then took out the USB cable from the box (for the first time in almost 3 years) and it works perfectly. While tryin

  • About S_CTS_ADMI

    Hi All, I have one problem with object S_CTS_ADMI.  The user was able to display data from all plants in SAP through ME3L, now user cannot display any data at all. It is asking for TABL (Administration tasks for change and transport.) please assist m

  • Recently added still not syncing with new touch software (3.1.2)

    The last 2 versions of the ipod touch os update have changed my recently added playlist. Now it only lists the last songs/podcasts added, so i get things from 2 weeks ago. The list is accurate on itunes. I tried changing the order of the list on itun

  • Error Message when booting from System CD's

    Ill advised I put a OSX disk in my hardly used iMac CRT G4 with 64meg of RAM. I did not know about the firmware upgrade required. Discovering my error I tried to use the System Recovery / Install CDs that came with the machine. When booting from the