hexagon logo

Excel Form Report and Looping

Looping a program for a capability study, reporting out with Excel Form Report. I have it set up for 30 parts.
2020R2.
It keeps reporting the first part rather than each new part. This used to work. What may have changed?
Parents
  • loop with 4 parts you can add the rest as needed.

    $$ NO,
    DO NOT EDIT ANY OF THE TRACEFIELDS! YOU WILL FILL THEM IN AFTER STARTING THE PROGRAM.
    ------------------------------------------------------------------------------------
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=WO_PO ; WO_PO :
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OP_RID ; OP_RID :
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMMSERNUM ; CMMSERNUM :
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR :
    ASSIGN/WW=GETTRACEVALUE("WO_PO")
    ASSIGN/PROG_NAME=GETPROGRAMINFO("PARTNAME")
    ASSIGN/REPTNAME=GETPROGRAMINFO("PARTPATH")
    ASSIGN/RV=GETPROGRAMINFO("REVISION")


    QTY =COMMENT/INPUT,NO,FULL SCREEN=NO,
    How many parts are you running?

    /-/-/-/-/-/-/-/-/

    man align read point etc goes here

    /-/-/-/-/-/-/-/-/

    MODE/DCC
    LOOP =LOOP/START,ID=NO,NUMBER=QTY.INPUT,START=1,SKIP=,
    OFFSET:XAXIS=0,YAXIS=0,ZAXIS=0,ANGLE=0

    IF_GOTO/LOOP==1,GOTO = ONE
    IF_GOTO/LOOP==2,GOTO = TWO
    IF_GOTO/LOOP==3,GOTO = THREE
    IF_GOTO/LOOP==4,GOTO = FOUR
    ONE =LABEL/
    $$ NO,
    SERIAL NUMBER
    P1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P1
    IF_GOTO/LOOP==1,GOTO = SKIP1
    TWO =LABEL/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    SERIAL NUMBER
    ASSIGN/P2=P1+1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P2
    IF_GOTO/LOOP==2,GOTO = SKIP1
    THREE =LABEL/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    SERIAL NUMBER
    ASSIGN/P3=P2+1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P3
    IF_GOTO/LOOP==3,GOTO = SKIP1
    FOUR =LABEL/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    SERIAL NUMBER
    ASSIGN/P4=P3+1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P4
    SKIP1 =LABEL/

    /-/-/-/-/-/-/-/-/-/-/-/-/-/

    program goes here

    /-/-/-/-/-/-/-/-/-/-/-/

    $$ NO,
    START OF AUTOSAVE LOOP REPORTING
    THE BELOW WILL BUILD THE HEADER FOR EACH REPORT NO NEED TO EDIT UNLESS
    YOU ARE RUNNING MORE THAN 4 PARTS.
    __________________________________
    IF_GOTO/LOOP==1,GOTO = PONE
    IF_GOTO/LOOP==2,GOTO = PTWO
    IF_GOTO/LOOP==3,GOTO = PTHREE
    IF_GOTO/LOOP==4,GOTO = PFOUR
    PONE =LABEL/
    ASSIGN/V1=P1
    IF_GOTO/LOOP==1,GOTO = SKIP2
    PTWO =LABEL/
    ASSIGN/V1=P2
    IF_GOTO/LOOP==2,GOTO = SKIP2
    PTHREE =LABEL/
    ASSIGN/V1=P3
    IF_GOTO/LOOP==3,GOTO = SKIP2
    PFOUR =LABEL/
    ASSIGN/V1=P4
    IF_GOTO/LOOP==4,GOTO = SKIP2
    SKIP2 =LABEL/
    ASSIGN/DUMP=REPTNAME+PROG_NAME+" REV "+RV+" PART "+V1
    $$ NO,
    /-/-/-/-/-/-/-/-/-/-/
    DONT EDIT THE "PRINT/REPORT" COMMAND BELOW. JUST SAVE THIS PROGRAM TO THE WO FOLDER YOU CREATE BEFORE RUNNING THE PART(S).
    THE ABOVE "AUTOSAVE" WILL SAVE THE REPORT TO THAT SAME FOLDER.
    /-/-/-/-/-/-/-/-/-/-/
    PRINT/REPORT,EXEC MODE=END,$
    TO_FILE=ON,OVERWRITE=DUMP,AUTO OPEN=OFF,$
    TO_PRINTER=OFF,COPIES=1,$
    TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
    REPORT_THEORETICALS=ALL,REPORT_FEATURE_WITH_DIMENS IONS=YES,$
    TO_EXCEL=OFF,$
    PREVIOUS_RUNS=DELETE_INSTANCES
    PROGEND =LABEL/
    LOOP/END
Reply
  • loop with 4 parts you can add the rest as needed.

    $$ NO,
    DO NOT EDIT ANY OF THE TRACEFIELDS! YOU WILL FILL THEM IN AFTER STARTING THE PROGRAM.
    ------------------------------------------------------------------------------------
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=WO_PO ; WO_PO :
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OP_RID ; OP_RID :
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMMSERNUM ; CMMSERNUM :
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR :
    ASSIGN/WW=GETTRACEVALUE("WO_PO")
    ASSIGN/PROG_NAME=GETPROGRAMINFO("PARTNAME")
    ASSIGN/REPTNAME=GETPROGRAMINFO("PARTPATH")
    ASSIGN/RV=GETPROGRAMINFO("REVISION")


    QTY =COMMENT/INPUT,NO,FULL SCREEN=NO,
    How many parts are you running?

    /-/-/-/-/-/-/-/-/

    man align read point etc goes here

    /-/-/-/-/-/-/-/-/

    MODE/DCC
    LOOP =LOOP/START,ID=NO,NUMBER=QTY.INPUT,START=1,SKIP=,
    OFFSET:XAXIS=0,YAXIS=0,ZAXIS=0,ANGLE=0

    IF_GOTO/LOOP==1,GOTO = ONE
    IF_GOTO/LOOP==2,GOTO = TWO
    IF_GOTO/LOOP==3,GOTO = THREE
    IF_GOTO/LOOP==4,GOTO = FOUR
    ONE =LABEL/
    $$ NO,
    SERIAL NUMBER
    P1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P1
    IF_GOTO/LOOP==1,GOTO = SKIP1
    TWO =LABEL/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    SERIAL NUMBER
    ASSIGN/P2=P1+1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P2
    IF_GOTO/LOOP==2,GOTO = SKIP1
    THREE =LABEL/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    SERIAL NUMBER
    ASSIGN/P3=P2+1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P3
    IF_GOTO/LOOP==3,GOTO = SKIP1
    FOUR =LABEL/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    SERIAL NUMBER
    ASSIGN/P4=P3+1
    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : P4
    SKIP1 =LABEL/

    /-/-/-/-/-/-/-/-/-/-/-/-/-/

    program goes here

    /-/-/-/-/-/-/-/-/-/-/-/

    $$ NO,
    START OF AUTOSAVE LOOP REPORTING
    THE BELOW WILL BUILD THE HEADER FOR EACH REPORT NO NEED TO EDIT UNLESS
    YOU ARE RUNNING MORE THAN 4 PARTS.
    __________________________________
    IF_GOTO/LOOP==1,GOTO = PONE
    IF_GOTO/LOOP==2,GOTO = PTWO
    IF_GOTO/LOOP==3,GOTO = PTHREE
    IF_GOTO/LOOP==4,GOTO = PFOUR
    PONE =LABEL/
    ASSIGN/V1=P1
    IF_GOTO/LOOP==1,GOTO = SKIP2
    PTWO =LABEL/
    ASSIGN/V1=P2
    IF_GOTO/LOOP==2,GOTO = SKIP2
    PTHREE =LABEL/
    ASSIGN/V1=P3
    IF_GOTO/LOOP==3,GOTO = SKIP2
    PFOUR =LABEL/
    ASSIGN/V1=P4
    IF_GOTO/LOOP==4,GOTO = SKIP2
    SKIP2 =LABEL/
    ASSIGN/DUMP=REPTNAME+PROG_NAME+" REV "+RV+" PART "+V1
    $$ NO,
    /-/-/-/-/-/-/-/-/-/-/
    DONT EDIT THE "PRINT/REPORT" COMMAND BELOW. JUST SAVE THIS PROGRAM TO THE WO FOLDER YOU CREATE BEFORE RUNNING THE PART(S).
    THE ABOVE "AUTOSAVE" WILL SAVE THE REPORT TO THAT SAME FOLDER.
    /-/-/-/-/-/-/-/-/-/-/
    PRINT/REPORT,EXEC MODE=END,$
    TO_FILE=ON,OVERWRITE=DUMP,AUTO OPEN=OFF,$
    TO_PRINTER=OFF,COPIES=1,$
    TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
    REPORT_THEORETICALS=ALL,REPORT_FEATURE_WITH_DIMENS IONS=YES,$
    TO_EXCEL=OFF,$
    PREVIOUS_RUNS=DELETE_INSTANCES
    PROGEND =LABEL/
    LOOP/END
Children
No Data