hexagon logo

Different header outputs in one program

ALL RIGHT PCDMIS GURUS I NEED SOME HELP! I HAVE A PROGRAM THAT WILL BE USED FOR RECEIVING INSPECTION AS WELL AS PRODUCTION FLOOR. THE NAMING CONVENTIONS FOR WHAT SHOULD APPEAR IN THE HEADER ARE DIFFERENT DEPENDING ON WHERE THE PROGRAM WAS RAN. MY QUESTION WOULD BE IS THERE A WAY TO VARIABLIZE THE CELL EXPRESSIONS IN THE HEADER LABEL SO IT WILL ONLY PICK UP THE TRACEFIELDS THAT WERE USED DURING THAT EXECUTION. I AM AWARE I COULD JUST USE A SIMPLE HEADER AND PUT MY NAMING CONVENTIONS BELOW THE HEADER USING COMMENTS BUT THAT IS NOT THE ROUTE I WANT TO TAKE. USING ONE PROGRAM IS A REQUEST FROM MANGEMENT, OTHERWISE I WOULD SAVE TWO PROGRAMS WITH DIFFERNT .LBL FILES.


THIS IS MY CODE:


Z1 =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
IS THIS FOR RECEIVING INSPECTION
IF_GOTO/Z1.INPUT=="NO",GOTO = PRODUCTION
RECEIVING =LABEL/
Z2 =COMMENT/INPUT,NO,FULL SCREEN=NO,
OPERATOR
ASSIGN/V1=Z2.INPUT
Z3 =COMMENT/INPUT,NO,FULL SCREEN=NO,
MATERIAL NO.
ASSIGN/V2=Z3.INPUT
Z4 =COMMENT/INPUT,NO,FULL SCREEN=NO,
BATCH NO.
ASSIGN/V3=Z4.INPUT
Z5 =COMMENT/INPUT,NO,FULL SCREEN=NO,
MAT. DOC. NO.
ASSIGN/V4=Z5.INPUT
Z6 =COMMENT/INPUT,NO,FULL SCREEN=NO,
SAMPLE NO.
ASSIGN/V5=Z6.INPUT
TRACEFIELD/NO_DISPLAY,LIMIT=15 ; OPERATOR : V1
TRACEFIELD/NO_DISPLAY,LIMIT=8 ; MATERIAL NO. : V2
TRACEFIELD/NO_DISPLAY,LIMIT=9 ; BATCH NO. : V3
TRACEFIELD/NO_DISPLAY,LIMIT=10 ; MAT.DOC. NO. : V4
TRACEFIELD/NO_DISPLAY,LIMIT=15 ; SAMPLE NO. : V5
ASSIGN/U="_"
ASSIGN/N=V3
ASSIGN/S=Z3.INPUT+U+Z4.INPUT+U+Z5.INPUT+U+Z6.INPUT
ASSIGN/PATH="T:\Shared\Quality_Engineering\CMM\Master\H-BLD_JOSH pc811\PCDMIS_2014\PRODUCTION"+N+""+S+".PDF"
ASSIGN/PATH2="T:\Shared\Quality_Engineering\CMM\Master\H-BLD_JOSH pc811\PCDMIS_2014\PRODUCTION"+N
CS1 =SCRIPT/FILENAME= T:\SHARED\QUALITY_ENGINEERING\CMM\MASTER\H-BLD_JOSH PC811\PCDMIS_2014\PC-DMIS SCRIPT\CREATE_FOLDER.BAS
FUNCTION/Main,SHOW=YES,,
STARTSCRIPT/
ENDSCRIPT/
GOTO/START
PRODUCTION =LABEL/
Z7 =COMMENT/INPUT,NO,FULL SCREEN=NO,
OPERATOR
ASSIGN/V6=Z7.INPUT
Z8 =COMMENT/INPUT,NO,FULL SCREEN=NO,
PROD. ORD. NO.
ASSIGN/V7=Z8.INPUT
Z9 =COMMENT/INPUT,NO,FULL SCREEN=NO,
MAT. NO.
ASSIGN/V8=Z9.INPUT
Z10 =COMMENT/INPUT,NO,FULL SCREEN=NO,
BATCH NO.
ASSIGN/V9=Z10.INPUT
Z11 =COMMENT/INPUT,NO,FULL SCREEN=NO,
SAMPLE NO.
ASSIGN/V10=Z11.INPUT
TRACEFIELD/NO_DISPLAY,LIMIT=15 ; OPER : V6
TRACEFIELD/NO_DISPLAY,LIMIT=10 ; PROD ORD # : V7
TRACEFIELD/NO_DISPLAY,LIMIT=8 ; MATERIAL : V8
TRACEFIELD/NO_DISPLAY,LIMIT=19 ; BATCH : V9
TRACEFIELD/NO_DISPLAY,LIMIT=15 ; SAMPLE NO. : V10
ASSIGN/U="_"
ASSIGN/N=V9
ASSIGN/S=Z9.INPUT+U+Z10.INPUT+U+Z8.INPUT+U+Z11.INPUT
ASSIGN/PATH="T:\Shared\Quality_Engineering\CMM\Master\H-BLD_JOSH pc811\PCDMIS_2014\PRODUCTION"+N+""+S+".PDF"
ASSIGN/PATH2="T:\Shared\Quality_Engineering\CMM\Master\H-BLD_JOSH pc811\PCDMIS_2014\PRODUCTION"+N
CS2 =SCRIPT/FILENAME= T:\SHARED\QUALITY_ENGINEERING\CMM\MASTER\H-BLD_JOSH PC811\PCDMIS_2014\PC-DMIS SCRIPT\CREATE_FOLDER.BAS
FUNCTION/Main,SHOW=YES,,
STARTSCRIPT/
ENDSCRIPT/
START =LABEL/
PRINT =LABEL/
PRINT/REPORT,EXEC MODE=END,$
TO_FILE=ON,OVERWRITE=PATH,AUTO OPEN REPORT=OFF,$
TO_PRINTER=OFF,COPIES=1,$
TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMEN SIONS=NO,$
TO_EXCEL_OUTPUT=OFF,
PREVIOUS_RUNS=DELETE_INSTANCES







SO IN SHORT IF THE OPERATOR ANSWERS "YES" FOR THE FIRST QUESTION I WANT THE FIRST SET OF TRACEFIELDS TO APPEAR IN THE HEADER. IF "NO" THEN THE SECOND SET TO APPEAR.

THANKS IN ADVANCE FOR ANY HELP ON THIS TOPIC!!!
Parents
  • Instead of using tracefields I use variables in the header label
    Instead of using 1 cell with =tracefield(2) use 2 cells: = VARIABLE("NAME_2") and =VARIABLE("V2")

    In program:

    RECEIVING=LABEL\
    ASSIGN/NAME_2="MATERIAL NO. : "
    Z3=COMMENT/INPUT,NO,FULL SCREEN=NO
    MATERIAL NO.
    ASSIGN/V2=Z3.INPUT

    PRODUCTION=LABEL/
    ASSIGN/NAME_2="PROD ORD # : "
    Z8=COMMENT/INPUT,NO,FULL SCREEN=NO
    PROD ORD NO
    ASSIGN/V2=Z8.INPUT

    Keeping 1 cell:

    In header label:
    =VARIABLE("EXPRESSION_1")

    Extra in program:
    ASSIGN/EXPRESSION_1=NAME_2 + V2
Reply
  • Instead of using tracefields I use variables in the header label
    Instead of using 1 cell with =tracefield(2) use 2 cells: = VARIABLE("NAME_2") and =VARIABLE("V2")

    In program:

    RECEIVING=LABEL\
    ASSIGN/NAME_2="MATERIAL NO. : "
    Z3=COMMENT/INPUT,NO,FULL SCREEN=NO
    MATERIAL NO.
    ASSIGN/V2=Z3.INPUT

    PRODUCTION=LABEL/
    ASSIGN/NAME_2="PROD ORD # : "
    Z8=COMMENT/INPUT,NO,FULL SCREEN=NO
    PROD ORD NO
    ASSIGN/V2=Z8.INPUT

    Keeping 1 cell:

    In header label:
    =VARIABLE("EXPRESSION_1")

    Extra in program:
    ASSIGN/EXPRESSION_1=NAME_2 + V2
Children
No Data