hexagon logo

Variables Dropping, Lighting flipping, and problems, Global Variables. suggestions?


All,

I've been working with a hexagon tech extensively building a program template to globally handle our structure for global editing as we are re-developing our quality systems and tracking capabilities.

Note: 2017 R2 (Service Pack 5) at both locations - Programming offline at desk - Exporting to server - Running at machine

Effectively a program looks like this. (Disclaimer: I'm very much a novice at programming.)
<Initilize>
<Callsub: FormSub; Initial Form> calls the initial form for the operator input
<Callsub: VarSub; Variables> calls the global variables for light, %tol and other misc settings
<Callsub: VarSub; Tracefields> generates tracefields and writes form data to a .txt file to later be read into the part program (Done for future-proofing; ie adding tracefields globally)
<generate header page for report>

<program specific information, file paths etc.>
<program features>
<append report with features>
<save into file structure, if no file structure - create file structure>
<datapage output>
<end>


This is mostly working great. But i have a feeling that my variables are being dropped.

PROBLEM #1:
I have one variable, for parallelism, checking the cut of the sample (aluminium extrusion). The lighting variable values are passing, as well as this one, but this one will not ... sorta. If i write this code in the program
Ex:

<From VarSub>
Assign/Light=80
Assign/Light2=60
Assign/Flat=.4

<From VarSub>

<comment(y/n): FLAT>

Dim(Parallelism) <Parallelism to stage check>

If/ Parallelism.meas>FLAT
<Comment: Re cut sample>
Goto/ENDPRG
End_IF/

Label=ENDPRG





At the end of the program if i hover over the variables all of the correct values are shown. However at my comment prompt, It will show a value of one. (Edit: Incorrectly stated it was returning a Zero value, bad memory, see additional posts.)


PROBLEM #2
(See Attachments, at bottom ) When I write at my desktop, the 'physical' position that PCDMIS writes the light settings --> gets imported differently at the machine.
Ex:
At Desktop reads:
<--,YES,-1,-1,-1,NO,Top Light=<OFF,0,OFF> ,Bottom Light=<OFF,LIGHT,ON>,Ring Light=<OFF,0,OFF>

At Machine reads:
<--,YES,-1,-1,-1,NO,Bottom Light=<OFF,0,OFF> ,Top Light=<OFF,LIGHT,ON>,Ring Light=<OFF,0,OFF>

Almost as if it's reading the string file in a different order. So every offline program requires an edit for this, or I'll have to get used to programming the wrong light settings.

PROBLEM #3
I have a variable for RPT_Path... I feel like maybe this one is something I can do more investigating into. Each program contains the original assignment for this report path. Then an executable file creates a folder for the Tool Copy Number, a sub folder for the year, then a subfolder for the month and saves the file in that location. Right now it is saving it in the original test templates location.






Any thoughts would be greatly appreciated!!!!!!!!!!

Thank you!



Attached Files
Parents
  • VarSub/Andon Sub (controls signal for and-on light at workcenter)

    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/MANUAL
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
                LOADPROBE/ZOOM
                TIP/TIP1, SHANKIJK=0, 0, 1, ANGLE=0
                SUBROUTINE/VARSUB,
                    LIGHT = 0 : ,
                    LIGHT2 = 0 : ,
                    LIGHT3 = 0 : ,
                    LIGHT4 = 0 : ,
                    LIGHT5 = 0 : ,
                    ZOOM = 0 : ,
                    ZOOM2 = 0 : ,
                    ZOOM3 = 0 : ,
                    ZOOM4 = 0 : ,
                    PRINTY = 0 : ,
                    SAVE = 0 : ,
                    FLAT = 0 : ,
                    CFTOLERANCEABOVE1 = 0 : ,
                    CFTOLERANCEABOVE2 = 0 : ,
                    CFTOLERANCEBELOW1 = 0 : ,
                    CFTOLERANCEBELOW2 = 0 : ,
                    TOLERANCEABOVE1 = 0 : ,
                    TOLERANCEABOVE2 = 0 : ,
                    TOLERANCEBELOW1 = 0 : ,
                    TOLERANCEBELOW2 = 0 : ,
                     = 
                ASSIGN/LIGHT=80.2
                ASSIGN/LIGHT2=60.6
                ASSIGN/LIGHT3=0
                ASSIGN/LIGHT4=0
                ASSIGN/LIGHT5=0
                ASSIGN/ZOOM=0
                ASSIGN/ZOOM2=0
                ASSIGN/ZOOM3=0
                ASSIGN/ZOOM4=0
                ASSIGN/PRINTY=1
                ASSIGN/SAVE=1
                ASSIGN/FLAT=.4
                ASSIGN/CFTOLERNACEABOVE1=5
                ASSIGN/CFTOLERANCEABOVE2=10
                ASSIGN/CFTOLERANCEBELOW1=5
                ASSIGN/CFTOLERANCEBELOW2=10
                ASSIGN/TOLERANCEABOVE1=5
                ASSIGN/TOLERANCEABOVE2=10
                ASSIGN/TOLERANCEBELOW1=5
                ASSIGN/TOLERANCEBELOW2=10
                ENDSUB/
                SUBROUTINE/ANDON,
                    CONDITION = "" : ,
                    PRESS_ = 0 : ,
                     = 
                ASSIGN/FILE_PATH="E:\EXTRUSION_ANDON\PRESS_"+PRESS_+".CSV"
    STATE      =FILE/OPEN,FILE_PATH,WRITE
                FILE/WRITELINE,STATE,CONDITION
                FILE/CLOSE,STATE,KEEP
                ENDSUB/
    


    Tracefield Sub:

    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/DCC
                LOADPROBE/ZOOM
                TIP/TIP1, SHANKIJK=0, 0, 1, ANGLE=0
                SUBROUTINE/ADD_TRACEFIELDS,
                    SUCCESS = 0 : ,
                    USING_DP = "" : ,
                    TRACEFIELD_PATH = "" : ,
                    PREFIX = "" : ,
                     = 
                ASSIGN/SUCCESS=0
                IF/USING_DP=="FALSE"
                  ASSIGN/SUCCESS=1
                GOTO/END
                END_IF/
                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=YES,TIME DELAY=5,
                Please wait for DataPage+
    $$ NO,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
                                                            OUTPUT SETUP
    
                               MAKE SURE TO CHANGE Settings for DataPageStats TO "PCDMISStats.XML"
    
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    $$ NO,
                XML_FIL, XML_CPY AND XML_TMP ARE DELETED AT END OF EXECUTION - LOCATION DICTATED BY SETTING FOR DATAPAGESTATS
                XML_FIN IS FILE READ IN TO DATAPAGE+ (LOCATED BELOW) - LOCATION CONTROLLED BY DATAIMPORTER
                *****
    
                ASSIGN/XML_FIL=PREFIX+"\PCDMISStats.XML.XML"
                ASSIGN/XML_CPY=PREFIX+"\PCDMISStats.XML.TXT"
                ASSIGN/XML_TMP=PREFIX+"\PCDMISStats_TMP.XML.TXT"
                ASSIGN/TRACE_PATH=TRACEFIELD_PATH
                ASSIGN/INCREMENT=0
    $$ NO,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
                                                    READ IN AND GENERATE TRACEFIELDS
                                                                 *****
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TRACE      =FILE/OPEN,TRACE_PATH,READ
    T1         =FILE/READLINE,TRACE,{TR1}
    T2         =FILE/READLINE,TRACE,{TR2}
    T3         =FILE/READLINE,TRACE,{TR3}
    T4         =FILE/READLINE,TRACE,{TR4}
    T5         =FILE/READLINE,TRACE,{TR5}
    T6         =FILE/READLINE,TRACE,{TR6}
    T7         =FILE/READLINE,TRACE,{TR7}
    T8         =FILE/READLINE,TRACE,{TR8}
    T9         =FILE/READLINE,TRACE,{TR9}
    T10        =FILE/READLINE,TRACE,{TR10}
    T11        =FILE/READLINE,TRACE,{TR11}
    T12        =FILE/READLINE,TRACE,{TR12}
    T13        =FILE/READLINE,TRACE,{TR13}
    T14        =FILE/READLINE,TRACE,{TR14}
    T15        =FILE/READLINE,TRACE,{TR15}
    T16        =FILE/READLINE,TRACE,{TR16}
    T17        =FILE/READLINE,TRACE,{TR17}
    T18        =FILE/READLINE,TRACE,{TR18}
                FILE/CLOSE,TRACE,KEEP
    $$ NO,
                AND NEW ASSIGN/TRACE_# FOR EACH ADDITIONAL TRACEFIELD REQUIRED
                *****
    
                ASSIGN/TRACE_1="<TraceFieldCmd Name=\"BILLET NUMBER\" Value=\""+TR1+"\" />"
                ASSIGN/TRACE_2="<TraceFieldCmd Name=\"OPERATOR NAME\" Value=\""+TR2+"\" />"
                ASSIGN/TRACE_3="<TraceFieldCmd Name=\"REFIRE\" Value=\""+TR3+"\" />"
                ASSIGN/TRACE_4="<TraceFieldCmd Name=\"SHIFT\" Value=\""+TR4+"\" />"
                ASSIGN/TRACE_5="<TraceFieldCmd Name=\"HARDNESS IN WEBSTER\" Value=\""+TR5+"\" />"
                ASSIGN/TRACE_6="<TraceFieldCmd Name=\"DIE COPY NUMBER\" Value=\""+TR6+"\" />"
                ASSIGN/TRACE_7="<TraceFieldCmd Name=\"DIE NUMBER\" Value=\""+TR7+"\" />"
                ASSIGN/TRACE_8="<TraceFieldCmd Name=\"PRESS NAME\" Value=\""+TR8+"\" />"
                ASSIGN/TRACE_9="<TraceFieldCmd Name=\"SAMPLE TYPE\" Value=\""+TR9+"\" />"
                ASSIGN/TRACE_10="<TraceFieldCmd Name=\"MANUAL ALIGNMENT\" Value=\""+TR10+"\" />"
                ASSIGN/TRACE_11="<TraceFieldCmd Name=\"CUT NUMBER\" Value=\""+TR11+"\" />"
                ASSIGN/TRACE_12="<TraceFieldCmd Name=\"WORK INSTRUCTIONS ACKNOWLEDGED\" VALUE=\""+TR12+"\" />"
                ASSIGN/TRACE_13="<TraceFieldCmd Name=\"TIME\" Value=\""+TR13+"\" />"
                ASSIGN/TRACE_14="<TraceFieldCmd Name=\"DATE\" Value=\""+TR14+"\" />"
                ASSIGN/TRACE_15="<TraceFieldCmd Name=\"RUN TYPE\" Value=\""+TR15+"\" />"
                ASSIGN/TRACE_16="<TraceFieldCmd Name=\"GageRR Sample Number\" Value=\""+TR16+"\" />"
                ASSIGN/TRACE_17="<TraceFieldCmd Name=\"GageRR Run Number\" Value=\""+TR17+"\" />"
                ASSIGN/TRACE_18="<TraceFieldCmd Name=\"Hole\" Value=\""+TR18+"\" />"
    $$ NO,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
                                                            XML UPDATE
    
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CHECK_AGAIN=LABEL/
    V1         =FILE/EXISTS,XML_FIL
                WHILE/V1==1
                  FILE/COPY,XML_FIL,XML_CPY,FAIL_IF_DEST_EXISTS
      $$ NO,
                  COPY LINES FROM XML UP TO BUT NOT INCLUDING CLOSING BRACKET
    
                  ASSIGN/FLAG=0
    DP_CPY       =FILE/OPEN,XML_CPY,READ
    DP_TMP       =FILE/OPEN,XML_TMP,WRITE
                  WHILE/FLAG==0
                    ASSIGN/TEST_TXT=""
    CHECK_LINE     =FILE/READLINE,DP_CPY,{TEST_TXT}
                    IF/TEST_TXT<>"</ExecutionTransaction>"
                      FILE/WRITELINE,DP_TMP,TEST_TXT
                    END_IF/
                    IF/TEST_TXT=="</ExecutionTransaction>"
                      ASSIGN/FLAG=1
                    END_IF/
                  END_WHILE/
      $$ NO,
                  WRITE IN NEW TRACEFIELDS, GENERATED ABOVE
                  *****
    
                  FILE/WRITELINE,DP_TMP,TRACE_1
                  FILE/WRITELINE,DP_TMP,TRACE_2
                  FILE/WRITELINE,DP_TMP,TRACE_3
                  FILE/WRITELINE,DP_TMP,TRACE_4
                  FILE/WRITELINE,DP_TMP,TRACE_5
                  FILE/WRITELINE,DP_TMP,TRACE_6
                  FILE/WRITELINE,DP_TMP,TRACE_7
                  FILE/WRITELINE,DP_TMP,TRACE_8
                  FILE/WRITELINE,DP_TMP,TRACE_9
                  FILE/WRITELINE,DP_TMP,TRACE_10
                  FILE/WRITELINE,DP_TMP,TRACE_11
                  FILE/WRITELINE,DP_TMP,TRACE_12
                  FILE/WRITELINE,DP_TMP,TRACE_13
                  FILE/WRITELINE,DP_TMP,TRACE_14
                  FILE/WRITELINE,DP_TMP,TRACE_15
                  FILE/WRITELINE,DP_TMP,TRACE_16
                  FILE/WRITELINE,DP_TMP,TRACE_17
                  FILE/WRITELINE,DP_TMP,TRACE_18
                  FILE/WRITELINE,DP_TMP,"</ExecutionTransaction>"
                  FILE/CLOSE,DP_CPY,KEEP
                  FILE/CLOSE,DP_TMP,KEEP
      $$ NO,
                  COPY TO FINAL XML AND CLEAN UP FILES
                  *****XML_FIN
    
                  COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=YES,TIME DELAY=1,
                  WAIT 1 SECOND
                  ASSIGN/CURR_TIME=SYSTEMTIME("hh_mm_ss")
                  ASSIGN/XML_FIN=PREFIX+"\PCDMISStats_"+CURR_TIME+".XML.XML"
                  FILE/COPY,XML_TMP,XML_FIN,FAIL_IF_DEST_EXISTS
                  FILE/DELETE,XML_FIL
                  FILE/DELETE,XML_CPY
                  FILE/DELETE,XML_TMP
      $$ NO,
                  CREATE NEW PATH TO SEE IF THERES MULTIPLE XMLs
    
                  ASSIGN/INCREMENT=INCREMENT+1
                  ASSIGN/XML_FIL=PREFIX+"\PCDMISStats.XML["+INCREMENT+"].XML"
    V1           =FILE/EXISTS,XML_FIL
                  ASSIGN/SUCCESS=1
                END_WHILE/
                IF/SUCCESS==1
                  FILE/DELETE,TRACE_PATH
                END_IF/
    END        =LABEL/
                ENDSUB/
    




Reply
  • VarSub/Andon Sub (controls signal for and-on light at workcenter)

    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/MANUAL
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
                LOADPROBE/ZOOM
                TIP/TIP1, SHANKIJK=0, 0, 1, ANGLE=0
                SUBROUTINE/VARSUB,
                    LIGHT = 0 : ,
                    LIGHT2 = 0 : ,
                    LIGHT3 = 0 : ,
                    LIGHT4 = 0 : ,
                    LIGHT5 = 0 : ,
                    ZOOM = 0 : ,
                    ZOOM2 = 0 : ,
                    ZOOM3 = 0 : ,
                    ZOOM4 = 0 : ,
                    PRINTY = 0 : ,
                    SAVE = 0 : ,
                    FLAT = 0 : ,
                    CFTOLERANCEABOVE1 = 0 : ,
                    CFTOLERANCEABOVE2 = 0 : ,
                    CFTOLERANCEBELOW1 = 0 : ,
                    CFTOLERANCEBELOW2 = 0 : ,
                    TOLERANCEABOVE1 = 0 : ,
                    TOLERANCEABOVE2 = 0 : ,
                    TOLERANCEBELOW1 = 0 : ,
                    TOLERANCEBELOW2 = 0 : ,
                     = 
                ASSIGN/LIGHT=80.2
                ASSIGN/LIGHT2=60.6
                ASSIGN/LIGHT3=0
                ASSIGN/LIGHT4=0
                ASSIGN/LIGHT5=0
                ASSIGN/ZOOM=0
                ASSIGN/ZOOM2=0
                ASSIGN/ZOOM3=0
                ASSIGN/ZOOM4=0
                ASSIGN/PRINTY=1
                ASSIGN/SAVE=1
                ASSIGN/FLAT=.4
                ASSIGN/CFTOLERNACEABOVE1=5
                ASSIGN/CFTOLERANCEABOVE2=10
                ASSIGN/CFTOLERANCEBELOW1=5
                ASSIGN/CFTOLERANCEBELOW2=10
                ASSIGN/TOLERANCEABOVE1=5
                ASSIGN/TOLERANCEABOVE2=10
                ASSIGN/TOLERANCEBELOW1=5
                ASSIGN/TOLERANCEBELOW2=10
                ENDSUB/
                SUBROUTINE/ANDON,
                    CONDITION = "" : ,
                    PRESS_ = 0 : ,
                     = 
                ASSIGN/FILE_PATH="E:\EXTRUSION_ANDON\PRESS_"+PRESS_+".CSV"
    STATE      =FILE/OPEN,FILE_PATH,WRITE
                FILE/WRITELINE,STATE,CONDITION
                FILE/CLOSE,STATE,KEEP
                ENDSUB/
    


    Tracefield Sub:

    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/DCC
                LOADPROBE/ZOOM
                TIP/TIP1, SHANKIJK=0, 0, 1, ANGLE=0
                SUBROUTINE/ADD_TRACEFIELDS,
                    SUCCESS = 0 : ,
                    USING_DP = "" : ,
                    TRACEFIELD_PATH = "" : ,
                    PREFIX = "" : ,
                     = 
                ASSIGN/SUCCESS=0
                IF/USING_DP=="FALSE"
                  ASSIGN/SUCCESS=1
                GOTO/END
                END_IF/
                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=YES,TIME DELAY=5,
                Please wait for DataPage+
    $$ NO,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
                                                            OUTPUT SETUP
    
                               MAKE SURE TO CHANGE Settings for DataPageStats TO "PCDMISStats.XML"
    
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    $$ NO,
                XML_FIL, XML_CPY AND XML_TMP ARE DELETED AT END OF EXECUTION - LOCATION DICTATED BY SETTING FOR DATAPAGESTATS
                XML_FIN IS FILE READ IN TO DATAPAGE+ (LOCATED BELOW) - LOCATION CONTROLLED BY DATAIMPORTER
                *****
    
                ASSIGN/XML_FIL=PREFIX+"\PCDMISStats.XML.XML"
                ASSIGN/XML_CPY=PREFIX+"\PCDMISStats.XML.TXT"
                ASSIGN/XML_TMP=PREFIX+"\PCDMISStats_TMP.XML.TXT"
                ASSIGN/TRACE_PATH=TRACEFIELD_PATH
                ASSIGN/INCREMENT=0
    $$ NO,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
                                                    READ IN AND GENERATE TRACEFIELDS
                                                                 *****
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TRACE      =FILE/OPEN,TRACE_PATH,READ
    T1         =FILE/READLINE,TRACE,{TR1}
    T2         =FILE/READLINE,TRACE,{TR2}
    T3         =FILE/READLINE,TRACE,{TR3}
    T4         =FILE/READLINE,TRACE,{TR4}
    T5         =FILE/READLINE,TRACE,{TR5}
    T6         =FILE/READLINE,TRACE,{TR6}
    T7         =FILE/READLINE,TRACE,{TR7}
    T8         =FILE/READLINE,TRACE,{TR8}
    T9         =FILE/READLINE,TRACE,{TR9}
    T10        =FILE/READLINE,TRACE,{TR10}
    T11        =FILE/READLINE,TRACE,{TR11}
    T12        =FILE/READLINE,TRACE,{TR12}
    T13        =FILE/READLINE,TRACE,{TR13}
    T14        =FILE/READLINE,TRACE,{TR14}
    T15        =FILE/READLINE,TRACE,{TR15}
    T16        =FILE/READLINE,TRACE,{TR16}
    T17        =FILE/READLINE,TRACE,{TR17}
    T18        =FILE/READLINE,TRACE,{TR18}
                FILE/CLOSE,TRACE,KEEP
    $$ NO,
                AND NEW ASSIGN/TRACE_# FOR EACH ADDITIONAL TRACEFIELD REQUIRED
                *****
    
                ASSIGN/TRACE_1="<TraceFieldCmd Name=\"BILLET NUMBER\" Value=\""+TR1+"\" />"
                ASSIGN/TRACE_2="<TraceFieldCmd Name=\"OPERATOR NAME\" Value=\""+TR2+"\" />"
                ASSIGN/TRACE_3="<TraceFieldCmd Name=\"REFIRE\" Value=\""+TR3+"\" />"
                ASSIGN/TRACE_4="<TraceFieldCmd Name=\"SHIFT\" Value=\""+TR4+"\" />"
                ASSIGN/TRACE_5="<TraceFieldCmd Name=\"HARDNESS IN WEBSTER\" Value=\""+TR5+"\" />"
                ASSIGN/TRACE_6="<TraceFieldCmd Name=\"DIE COPY NUMBER\" Value=\""+TR6+"\" />"
                ASSIGN/TRACE_7="<TraceFieldCmd Name=\"DIE NUMBER\" Value=\""+TR7+"\" />"
                ASSIGN/TRACE_8="<TraceFieldCmd Name=\"PRESS NAME\" Value=\""+TR8+"\" />"
                ASSIGN/TRACE_9="<TraceFieldCmd Name=\"SAMPLE TYPE\" Value=\""+TR9+"\" />"
                ASSIGN/TRACE_10="<TraceFieldCmd Name=\"MANUAL ALIGNMENT\" Value=\""+TR10+"\" />"
                ASSIGN/TRACE_11="<TraceFieldCmd Name=\"CUT NUMBER\" Value=\""+TR11+"\" />"
                ASSIGN/TRACE_12="<TraceFieldCmd Name=\"WORK INSTRUCTIONS ACKNOWLEDGED\" VALUE=\""+TR12+"\" />"
                ASSIGN/TRACE_13="<TraceFieldCmd Name=\"TIME\" Value=\""+TR13+"\" />"
                ASSIGN/TRACE_14="<TraceFieldCmd Name=\"DATE\" Value=\""+TR14+"\" />"
                ASSIGN/TRACE_15="<TraceFieldCmd Name=\"RUN TYPE\" Value=\""+TR15+"\" />"
                ASSIGN/TRACE_16="<TraceFieldCmd Name=\"GageRR Sample Number\" Value=\""+TR16+"\" />"
                ASSIGN/TRACE_17="<TraceFieldCmd Name=\"GageRR Run Number\" Value=\""+TR17+"\" />"
                ASSIGN/TRACE_18="<TraceFieldCmd Name=\"Hole\" Value=\""+TR18+"\" />"
    $$ NO,
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
                                                            XML UPDATE
    
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CHECK_AGAIN=LABEL/
    V1         =FILE/EXISTS,XML_FIL
                WHILE/V1==1
                  FILE/COPY,XML_FIL,XML_CPY,FAIL_IF_DEST_EXISTS
      $$ NO,
                  COPY LINES FROM XML UP TO BUT NOT INCLUDING CLOSING BRACKET
    
                  ASSIGN/FLAG=0
    DP_CPY       =FILE/OPEN,XML_CPY,READ
    DP_TMP       =FILE/OPEN,XML_TMP,WRITE
                  WHILE/FLAG==0
                    ASSIGN/TEST_TXT=""
    CHECK_LINE     =FILE/READLINE,DP_CPY,{TEST_TXT}
                    IF/TEST_TXT<>"</ExecutionTransaction>"
                      FILE/WRITELINE,DP_TMP,TEST_TXT
                    END_IF/
                    IF/TEST_TXT=="</ExecutionTransaction>"
                      ASSIGN/FLAG=1
                    END_IF/
                  END_WHILE/
      $$ NO,
                  WRITE IN NEW TRACEFIELDS, GENERATED ABOVE
                  *****
    
                  FILE/WRITELINE,DP_TMP,TRACE_1
                  FILE/WRITELINE,DP_TMP,TRACE_2
                  FILE/WRITELINE,DP_TMP,TRACE_3
                  FILE/WRITELINE,DP_TMP,TRACE_4
                  FILE/WRITELINE,DP_TMP,TRACE_5
                  FILE/WRITELINE,DP_TMP,TRACE_6
                  FILE/WRITELINE,DP_TMP,TRACE_7
                  FILE/WRITELINE,DP_TMP,TRACE_8
                  FILE/WRITELINE,DP_TMP,TRACE_9
                  FILE/WRITELINE,DP_TMP,TRACE_10
                  FILE/WRITELINE,DP_TMP,TRACE_11
                  FILE/WRITELINE,DP_TMP,TRACE_12
                  FILE/WRITELINE,DP_TMP,TRACE_13
                  FILE/WRITELINE,DP_TMP,TRACE_14
                  FILE/WRITELINE,DP_TMP,TRACE_15
                  FILE/WRITELINE,DP_TMP,TRACE_16
                  FILE/WRITELINE,DP_TMP,TRACE_17
                  FILE/WRITELINE,DP_TMP,TRACE_18
                  FILE/WRITELINE,DP_TMP,"</ExecutionTransaction>"
                  FILE/CLOSE,DP_CPY,KEEP
                  FILE/CLOSE,DP_TMP,KEEP
      $$ NO,
                  COPY TO FINAL XML AND CLEAN UP FILES
                  *****XML_FIN
    
                  COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=YES,TIME DELAY=1,
                  WAIT 1 SECOND
                  ASSIGN/CURR_TIME=SYSTEMTIME("hh_mm_ss")
                  ASSIGN/XML_FIN=PREFIX+"\PCDMISStats_"+CURR_TIME+".XML.XML"
                  FILE/COPY,XML_TMP,XML_FIN,FAIL_IF_DEST_EXISTS
                  FILE/DELETE,XML_FIL
                  FILE/DELETE,XML_CPY
                  FILE/DELETE,XML_TMP
      $$ NO,
                  CREATE NEW PATH TO SEE IF THERES MULTIPLE XMLs
    
                  ASSIGN/INCREMENT=INCREMENT+1
                  ASSIGN/XML_FIL=PREFIX+"\PCDMISStats.XML["+INCREMENT+"].XML"
    V1           =FILE/EXISTS,XML_FIL
                  ASSIGN/SUCCESS=1
                END_WHILE/
                IF/SUCCESS==1
                  FILE/DELETE,TRACE_PATH
                END_IF/
    END        =LABEL/
                ENDSUB/
    




Children
No Data