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?
$$ 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?
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
$$ 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?
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