open-insight/LSL2/STPROC/PRINT_CLEANROOM_LABELS_SMALL.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

581 lines
23 KiB
Plaintext

compile function PRINT_CLEANROOM_LABELS_SMALL( RdsIds )
begin condition
pre:
post:
end condition
$insert logical
$insert msg_equates
$insert rds_equ
$insert rds_layer_info_equ
$insert oiprint_equates
$insert prod_spec_equ
$insert quote_spec_equ
declare function fieldcount, msg, key_sort, get_printer, set_printer, entid
declare function repository, print_wo_labels,Printer_Select
declare subroutine extract_si_keys
CLOrientation = '' ;* used for printing on cleanroom labels
if RdsIds then
IdCnt = fieldcount( RdsIds, @fm )
* sort by run order number
if IdCnt > 1 then
RdsIds = key_sort( RdsIds, 'RDS', 'WO':@fm:'RUN_ORDER_NUM', 1, '', '' )
end
gosub PrintCleanRoomLabels
UniqueWOs = ''
AllWOs = xlate( 'RDS', RdsIds, rds_wo$, 'X' )
for i = 1 to IdCnt
ThisWO = AllWOs<i>
locate ThisWO in UniqueWOs using @vm setting Fpos else
UniqueWOs<1,-1> = ThisWO
end
next i
gosub PrintWOLabels
end
return 0
*===========================================================================*
PrintCleanRoomLabels:
CustAbbrev = xlate( 'RDS', RdsIds, 'ABBREV_OR_CO_NAME', 'X' )
WO = xlate( 'RDS', RdsIds, rds_wo$, 'X' )
ThickTarget = oconv( xlate( 'RDS', RdsIds, rds_thick_target$, 'X' ), 'MD2' )
ThickUnit = xlate( 'RDS', RdsIds, rds_thick_units$, 'X' )
ResTarget = oconv( xlate( 'RDS', RdsIds, rds_res_target$, 'X' ), 'MD2' )
ResUnit = xlate( 'RDS', RdsIds, rds_res_units$, 'X' )
LotNum = xlate( 'RDS', RdsIds, rds_lot_num$, 'X' )
RecipeIDS = xlate( 'RDS', RdsIds, rds_recipe_no$, 'X' )
RecipeInfo = xlate( 'RECIPE', RecipeIDS, 'RECIPE_NAME_NO', 'X' )
RONum = xlate( 'RDS', RdsIds, 'RUN_ORDER_NUM', 'X' )
PSNIds = xlate( 'RDS', RdsIds, rds_prod_spec_id$, 'X' )
ThickVar = xlate( 'PROD_SPEC', PSNIds, 'THICK_MEASURE_L1', 'X' )
ResVar = xlate( 'PROD_SPEC', PSNIds, 'RES_MEASURE_L1', 'X' )
ConVar = xlate( 'PROD_SPEC', PSNIds, 'CON_MEASURE_L1', 'X' )
StressVar = xlate( 'PROD_SPEC', PSNIds, 'STRESS_MEASURE', 'X' )
TransVar = xlate( 'PROD_SPEC', PSNIds, 'TRANS_MEASURE', 'X' )
SpecType = oconv( xlate( 'RDS', RdsIds, 'SPEC_TYPE', 'X' ), '[SPEC_TYPE_CONV]' )
convert @lower_case to @upper_case in SpecType
SRPFlag = xlate( 'PROD_SPEC', PSNIds, 'SRP_REQ', 'X' )
Qtys = xlate( 'RDS', RdsIds, 'WAFERS_SCHEDULED', 'X' )
MultilayVar = xlate( 'RDS', RdsIds, 'MULTI_LAYER', 'X' )
* LETS BREAK OUT THICK AND RES AND SEE IF IT GETS MEASURED BASED ON FREQUENCY
* THICKNESS
ThickPrintVar = ''
ResPrintVar = ''
SRPPrintVar = ''
SRPTypePrintVar = ''
for i = 1 to IdCnt
ThisThickVar = ThickVar<i>
ThisResVar = ResVar<i>
ThisConVar = ConVar<i>
ThisStressVar = StressVar<i>
ThisTransVar = TransVar<i>
ThisRunOrdNum = RONum<i>
ThisWO = WO<i>
*
ThickTool = field( ThisThickVar, '~', 1 )
ThickType = field( ThisThickVar, '~', 2 )
ThickRecipe = field( ThisThickVar, '~', 3 )
ThickFreq = field( ThisThickVar, '~', 4 )
ThickFirst = field( ThisThickVar, '~', 6 )
ThickLast = field( ThisThickVar, '~', 7 )
*
ResTool = field( ThisResVar, '~', 1 )
ResType = field( ThisResVar, '~', 2 )
ResRecipe = field( ThisResVar, '~', 3 )
ResFreq = field( ThisResVar, '~', 4 )
ResFirst = field( ThisResVar, '~', 6 )
ResLast = field( ThisResVar, '~', 7 )
*
ConTool = field( ThisConVar, '~', 1 )
ConType = field( ThisConVar, '~', 2 )
ConRecipe = field( ThisConVar, '~', 3 )
ConFreq = field( ThisConVar, '~', 4 )
ConFirst = field( ThisConVar, '~', 6 )
ConLast = field( ThisConVar, '~', 7 )
*
StressTool = field( ThisStressVar, '~', 1 )
StressType = field( ThisStressVar, '~', 2 )
StressRecipe = field( ThisStressVar, '~', 3 )
StressFreq = field( ThisStressVar, '~', 4 )
StressFirst = field( ThisStressVar, '~', 6 )
StressLast = field( ThisStressVar, '~', 7 )
*
TransTool = field( ThisTransVar, '~', 1 )
TransType = field( ThisTransVar, '~', 2 )
TransRecipe = field( ThisTransVar, '~', 3 )
TransFreq = field( ThisTransVar, '~', 4 )
TransFirst = field( ThisTransVar, '~', 6 )
TransLast = field( ThisTransVar, '~', 7 )
*
extract_si_keys( 'RDS', 'WO', ThisWO, RDSsInWO )
WOBoxCnt = fieldcount( RDSsInWO, @vm )
* FIRST CHECK THICKNESS
PrintThickness = false$
if ( ThisRunOrdNum = 1 ) and ( ThickFirst ) then
PrintThickness = true$
end
if ( ThisRunOrdNum = WOBoxCnt ) and ( ThickLast ) then
PrintThickness = true$
end
if ThickFreq then
* NEED TO CHECK RUN ORDER AND SEE IF IT NEEDS TO BE PRINTED
if ThickFreq = 1 then
PrintThickness = true$
end else
* GENERATE FM DELIM OF RUNS THAT SHOULD PRINT
RoPrintFlag = str( @fm, WOBoxCnt-1 )
for j = 1 to WOBoxCnt step ThickFreq
RoPrintFlag<j> = 1
next j
if ( RoPrintFlag<ThisRunOrdNum> = 1 ) then
PrintThickness = true$
end
end
end
if PrintThickness then
PSNRec = xlate( 'PROD_SPEC', PSNIds<i>, '', 'X' )
SpecSub = PSNRec<prod_spec_spec_substrate$>
*if ThickType <> 'Prod' then
TOrient = SpecSub<1,QSSubOrientation$>
convert '<' to '' in TOrient
convert '>' to '' in TOrient
Orient = TOrient
*end else
* Orient = ''
*end
ThickPrintVar<i> = ThickTool:'~':ThickType:'~':Orient:'~':ThickRecipe
end else
ThickPrintVar<i> = ''
end
* NOW CHECK RESISTIVITY
PrintResistivity = false$
if ( ThisRunOrdNum = 1 ) and ( ResFirst ) then
PrintResistivity = true$
end
if ( ThisRunOrdNum = WOBoxCnt ) and ( ResLast ) then
PrintResistivity = true$
end
if ResFreq then
* NEED TO CHECK RUN ORDER AND SEE IF IT NEEDS TO BE PRINTED
if ResFreq = 1 then
PrintResistivity = true$
end else
* GENERATE FM DELIM OF RUNS THAT SHOULD PRINT
RoPrintFlag = str( @fm, WOBoxCnt-1 )
for j = 1 to WOBoxCnt step ResFreq
RoPrintFlag<j> = 1
next j
if ( RoPrintFlag<ThisRunOrdNum> = 1 ) then
PrintResistivity = true$
end
end
end
if PrintResistivity then
PSNRec = xlate( 'PROD_SPEC', PSNIds<i>, '', 'X' )
SpecSub = PSNRec<prod_spec_spec_substrate$>
*if ResType <> 'Prod' then
TOrient = SpecSub<1,QSSubOrientation$>
convert '<' to '' in TOrient
convert '>' to '' in TOrient
Orient = TOrient
*end else
* Orient = ''
*end
ResPrintVar<i> = ResTool:'~':ResType:'~':Orient:'~':ResRecipe
end else
ResPrintVar<i> = ''
end
PrintSRP = false$
SRPType = ''
if SRPFlag<i> then
* WE KNOW THAT SRP IS ONE OF THE TOOLS
if PrintThickness then
if ThickTool = 'SRP' then
PrintSRP = true$
SRPType = ThickType
end
end
if PrintResistivity then
if ResTool = 'SRP' then
PrintSRP = true$
SRPType = ResType
end
end
if PrintSRP then
* WE ARE ALREADY PRINTING IT SO NO NEED TO CHECK OTHER METROLOGY
end else
* NOW NEED TO CHECK CONCENTRATION
if ConTool = 'SRP' then
if ( ThisRunOrdNum = 1 ) and ( ConFirst ) then
PrintSRP = true$
end
if ( ThisRunOrdNum = WOBoxCnt ) and ( ConLast ) then
PrintSRP = true$
end
if ConFreq then
* NEED TO CHECK RUN ORDER AND SEE IF IT NEEDS TO BE PRINTED
if ConFreq = 1 then
PrintSRP = true$
end else
* GENERATE FM DELIM OF RUNS THAT SHOULD PRINT
RoPrintFlag = str( @fm, WOBoxCnt-1 )
for j = 1 to WOBoxCnt step ConFreq
RoPrintFlag<j> = 1
next j
if ( RoPrintFlag<ThisRunOrdNum> = 1 ) then
PrintSRP = true$
end
end
end
end
if PrintSRP then
SRPType = ConType
end
end
if PrintSRP then
* WE ARE ALREADY PRINTING IT SO NO NEED TO CHECK OTHER METROLOGY
end else
* NOW NEED TO CHECK STRESS
if StressTool = 'SRP' then
if ( ThisRunOrdNum = 1 ) and ( StressFirst ) then
PrintSRP = true$
end
if ( ThisRunOrdNum = WOBoxCnt ) and ( StressLast ) then
PrintSRP = true$
end
if StressFreq then
* NEED TO CHECK RUN ORDER AND SEE IF IT NEEDS TO BE PRINTED
if StressFreq = 1 then
PrintSRP = true$
end else
* GENERATE FM DELIM OF RUNS THAT SHOULD PRINT
RoPrintFlag = str( @fm, WOBoxCnt-1 )
for j = 1 to WOBoxCnt step StressFreq
RoPrintFlag<j> = 1
next j
if ( RoPrintFlag<ThisRunOrdNum> = 1 ) then
PrintSRP = true$
end
end
end
end
if PrintSRP then
SRPType = StressType
end
end
if PrintSRP then
* WE ARE ALREADY PRINTING IT SO NO NEED TO CHECK OTHER METROLOGY
end else
* NOW NEED TO CHECK TRANSITION
if TransTool = 'SRP' then
if ( ThisRunOrdNum = 1 ) and ( TransFirst ) then
PrintSRP = true$
end
if ( ThisRunOrdNum = WOBoxCnt ) and ( TransLast ) then
PrintSRP = true$
end
if TransFreq then
* NEED TO CHECK RUN ORDER AND SEE IF IT NEEDS TO BE PRINTED
if TransFreq = 1 then
PrintSRP = true$
end else
* GENERATE FM DELIM OF RUNS THAT SHOULD PRINT
RoPrintFlag = str( @fm, WOBoxCnt-1 )
for j = 1 to WOBoxCnt step TransFreq
RoPrintFlag<j> = 1
next j
if ( ROPrintFlag<ThisRunOrdNum> = 1 ) then
PrintSRP = true$
end
end
end
if PrintSRP then
SRPType = TransType
end
end
end
if PrintSRP then
SRPPrintVar<i> = true$
SRPTypePrintVar<i> = SRPType
end else
SRPPrintVar<i> = false$
SRPTypePrintVar<i> = ''
end
end else
SRPPrintVar<i> = false$
SRPTypePrintVar<i> = ''
end
next i
* GOT ALL DATA NOW WE CAN PRINT
MaxLabels = 14
Pieces = int( IdCnt/MaxLabels )
Rnd = mod( IdCnt, MaxLabels )
Pieces += ( Rnd > 0 )
Text = 'Please place ':Pieces:' sheet(s) of Cleanroom Labels (Label Side Down ) in the top of the tray.':CrLf$:CrLf$:'then click OK'
MsgInfo = ''
MsgInfo<mtext$> = Text
MsgInfo<micon$> = '!'
Void = msg( '', MsgInfo )
PrintPath = Printer_Select('',1) ;* Get default printer path
Void = set_printer( 'INIT', '', '', 1.06:@fm:.53:@fm:.81:@fm:.38, 0,'',PrintPath )
Font = "Courier New,10,L,0"
convert ',' to @fm in Font
Void = set_printer( 'FONT', Font )
LabelPrintCount = 0
LabelRowCnt = 0
CustAbbrev = CustAbbrev:@fm:CustAbbrev
WO = WO:@fm:WO
LotNum = LotNum:@fm:LotNum
RecipeInfo = RecipeInfo:@fm:RecipeInfo
SpecType = SpecType:@fm:SpecType
RONum = RONum:@fm:RONum
RdsIds = RdsIds:@fm:RdsIds
ThickPrintVar = ThickPrintVar:@fm:ThickPrintVar
ResPrintVar = ResPrintVar:@fm:ResPrintVar
MultiLayVar = MultiLayVar:@fm:MultiLayVar
SRPPrintVar = SRPPrintVar:@fm:SRPPrintVar
SRPTypePrintVar = SRpTypePrintVar:@fm:SRPTypePrintVar
Qtys = Qtys:@fm:Qtys
ThickTarget = ThickTarget:@fm:ThickTarget
ThickUnit = ThickUnit:@fm:ThickUnit
ResTarget = ResTarget:@fm:ResTarget
ResUnit = ResUnit:@fm:ResUnit
IdCnt += IdCnt ;* SO WE PRINT TWO SETS OF LABELS
for i = 1 to IdCnt step 2
FirstThickTarget = ThickTarget<i>
FirstThickUnit = ThickUnit<i>
FirstResTarget = ResTarget<i>
FirstResUnit = ResUnit<i>
FirstCustAbbrev = CustAbbrev<i>
FirstWO = WO<i>
FirstLotNum = LotNum<i>
FirstRecipeInfo = RecipeInfo<i>
FirstSpecType = SpecType<i>
FirstRONum = RONum<i>
FirstRdsId = RdsIds<i>
FirstThickPrintVar = ThickPrintVar<i>
FirstResPrintVar = ResPrintVar<i>
FirstMultiLayVar = MultiLayVar<i>
FirstSRPPrintVar = SRPPrintVar<i>
FirstSRPTypePrintVar = SRPTypePrintVar<i>
FirstQty = Qtys<i>
*
SecondThickTarget = ThickTarget<i+1>
SecondThickUnit = ThickUnit<i+1>
SecondResTarget = ResTarget<i+1>
SecondResUnit = ResUnit<i+1>
SecondCustAbbrev = CustAbbrev<i+1>
SecondWO = WO<i+1>
SecondLotNum = LotNum<i+1>
SecondRecipeInfo = RecipeInfo<i+1>
SecondSpecType = SpecType<i+1>
SecondRONum = RONum<i+1>
SecondRdsId = RdsIds<i+1>
SecondThickPrintVar = ThickPrintVar<i+1>
SecondResPrintVar = ResPrintVar<i+1>
SecondMultiLayVar = MultiLayVar<i+1>
SecondSRPPrintVar = SRPPrintVar<i+1>
SecondSRPTypePrintVar = SRPTypePrintVar<i+1>
SecondQty = Qtys<i+1>
if SecondRdsId then
SecondWO = 'WO#':SecondWO
SecondLotNum = 'Lot#':SecondLotNum
SecondRONum = 'RO#':SecondRONum
SecondRdsId = 'RDS#':SecondRdsId
SecondThickPrintVar = 'Thk:':SecondThickPrintVar
SecondResPrintVar = 'Res:':SecondResPrintVar
end
*LineOut = fmt( 'Qty:':FirstQty, 'L#6' ):fmt( FirstSpecType, 'C#29' ):fmt( '', 'L#8'):fmt( 'Qty:':SecondQty, 'L#6' ):fmt( SecondSpecType, 'C#29' )
Font<1> = 'MS LineDraw'
Void = set_printer( 'FONT', Font )
LineOut = fmt( '(':FirstThickTarget:FirstThickUnit:')(':FirstResTarget:FirstResUnit:')', 'L#25' ):fmt( FirstSpecType, 'R#11' ):fmt( '', 'L#8'):fmt( '(':SecondThickTarget:SecondThickUnit:')(':SecondResTarget:SecondResUnit:')', 'L#25' ):fmt( SecondSpecType, 'R#11' )
Void = set_printer( 'TEXT', LineOut )
Font<1> = 'Courier New'
Void = set_printer( 'FONT', Font )
if FirstMultiLayVar then
LineOut = fmt( 'MULTI-LAYER VIEW-RDS', 'L#21'):' ':fmt( 'Reactor#_____', 'R#13' ):fmt( '', 'L#8' )
end else
LineOut = fmt( 'Reactor#_____', 'R#35' ):fmt( '', 'L#8' )
end
if SecondMultiLayVar then
LineOut := fmt( 'MULTI-LAYER VIEW-RDS', 'L#21'):' ':fmt( 'Reactor#_____', 'R#13' )
end else
LineOut := fmt( 'Reactor#_____', 'R#35' )
end
Void = set_printer( 'TEXT', LineOut )
LineOut = fmt( FirstCustAbbrev, 'L#28' ):fmt( '', 'L#1'):fmt( 'RO#':FirstRONum, 'R#6' )
LineOut:= fmt( '', 'L#8' )
LineOut:= fmt( SecondCustAbbrev, 'L#28' ):fmt( '', 'L#1'):fmt( SecondRONum, 'R#6' )
Void = set_printer( 'TEXT', LineOut )
*LineOut = fmt( 'Qty:':FirstQty, 'L#6' ):fmt( FirstSpecType, 'C#29' ):fmt( '', 'L#8'):fmt( 'Qty:':SecondQty, 'L#6' ):fmt( SecondSpecType, 'C#29' )
LineOut = fmt( 'WO#':FirstWo, 'L#10' ):fmt( 'Qty:':FirstQty, 'C#14' ):fmt( 'RDS#':FirstRdsId, 'R#11' )
LineOut:= fmt( '', 'L#8' )
LineOut:= fmt( SecondWO, 'L#10' ):fmt( 'Qty:':SecondQty, 'C#14' ):fmt( SecondRdsId, 'R#11' )
Void = set_printer( 'TEXT', LineOut )
LineOut = fmt( 'Lot#':FirstLotNum, 'L#27' ):fmt( '', 'L#16'):fmt( SecondLotNum, 'L#27' )
Void = set_printer( 'TEXT', LineOut )
LineOut = fmt( FirstRecipeInfo, 'L#27' ):fmt( '', 'L#16'):fmt( SecondRecipeInfo, 'L#27' )
Void = set_printer( 'TEXT', LineOut )
LineOut = fmt( 'Thk:':FirstThickPrintVar, 'L#27' ):fmt( '', 'L#16'):fmt( SecondThickPrintVar, 'L#27' )
Void = set_printer( 'TEXT', LineOut )
LineOut = fmt( 'Res:':FirstResPrintVar, 'L#27' ):fmt( '', 'L#16'):fmt( SecondResPrintVar, 'L#27' )
Void = set_printer( 'TEXT', LineOut )
* SET UP PRINT POSITIONS FOR THE SRP FLAG
Void = set_printer("LINESTYLE", PS_SOLID:@fm:3)
LabelRowCnt += 1
if ( FirstSRPPrintVar ) or ( SecondSRPPrintVar ) then
begin case
case LabelRowCnt = 1
FirstElipsePos = 2.31:@fm:.63:@fm:2.94:@fm:1.22
FirstSRPPos = 2.41:@fm:.78
FirstTypePos = 2.47:@fm:.97
SecondElipsePos = 5.83:@fm:.63:@fm:6.47:@fm:1.22
SecondSRPPos = 5.91:@fm:.78
SecondTypePos = 5.97:@fm:.97
case LabelRowCnt = 2
FirstElipsePos = 2.31:@fm:2.06:@fm:2.94:@fm:2.66
FirstSRPPos = 2.41:@fm:2.22
FirstTypePos = 2.47:@fm:2.41
SecondElipsePos = 5.83:@fm:2.06:@fm:6.47:@fm:2.66
SecondSRPPos = 5.91:@fm:2.22
SecondTypePos = 5.97:@fm:2.41
case LabelRowCnt = 3
FirstElipsePos = 2.31:@fm:3.56:@fm:2.94:@fm:4.16
FirstSRPPos = 2.41:@fm:3.72
FirstTypePos = 2.47:@fm:3.91
SecondElipsePos = 5.83:@fm:3.56:@fm:6.47:@fm:4.16
SecondSRPPos = 5.91:@fm:3.72
SecondTypePos = 5.97:@fm:3.91
case LabelRowCnt = 4
FirstElipsePos = 2.31:@fm:5.03:@fm:2.94:@fm:5.63
FirstSRPPos = 2.41:@fm:5.19
FirstTypePos = 2.47:@fm:5.38
SecondElipsePos = 5.83:@fm:5.03:@fm:6.47:@fm:5.63
SecondSRPPos = 5.91:@fm:5.19
SecondTypePos = 5.97:@fm:5.38
case LabelRowCnt = 5
FirstElipsePos = 2.31:@fm:6.5:@fm:2.94:@fm:7.06
FirstSRPPos = 2.41:@fm:6.63
FirstTypePos = 2.47:@fm:6.82
SecondElipsePos = 5.83:@fm:6.5:@fm:6.47:@fm:7.06
SecondSRPPos = 5.91:@fm:6.63
SecondTypePos = 5.97:@fm:6.82
case LabelRowCnt = 6
FirstElipsePos = 2.31:@fm:8:@fm:2.94:@fm:8.56
FirstSRPPos = 2.41:@fm:8.13
FirstTypePos = 2.47:@fm:8.32
SecondElipsePos = 5.83:@fm:8:@fm:6.47:@fm:8.56
SecondSRPPos = 5.91:@fm:8.13
SecondTypePos = 5.97:@fm:8.32
case LabelRowCnt = 7
FirstElipsePos = 2.31:@fm:9.44:@fm:2.94:@fm:10
FirstSRPPos = 2.41:@fm:9.56
FirstTypePos = 2.47:@fm:9.75
SecondElipsePos = 5.83:@fm:9.44:@fm:6.47:@fm:10
SecondSRPPos = 5.91:@fm:9.56
SecondTypePos = 5.97:@fm:9.75
end case
if FirstSRPPrintVar then
stat = set_Printer("ELLIPSE", FirstElipsePos, 0)
Font<2> = 18
Void = set_printer( 'FONT', Font )
Void = set_printer( 'TEXTXY', 'SRP', FirstSRPPos, '', 0 )
Font<2> = 10
Void = set_printer( 'FONT', Font )
if len( FirstSRPTypePrintVar ) = 2 then
FirstSRPTypePrintVar = fmt( FirstSRPTypePrintVar, 'R#3' )
end
Void = set_printer( 'TEXTXY', FirstSRPTypePrintVar, FirstTypePos, '', 0 )
end
if SecondSRPPrintVar then
stat = set_Printer("ELLIPSE", SecondElipsePos, 0)
Font<2> = 18
Void = set_printer( 'FONT', Font )
Void = set_printer( 'TEXTXY', 'SRP', SecondSRPPos, '', 0 )
Font<2> = 10
Void = set_printer( 'FONT', Font )
if len( SecondSRPTypePrintVar ) = 2 then
SecondSRPTypePrintVar = fmt( SecondSRPTypePrintVar, 'R#3' )
end
Void = set_printer( 'TEXTXY', SecondSRPTypePrintVar, SecondTypePos, '', 0 )
end
end
LabelPrintCount += 2
if LabelPrintCount = 14 then
Void = set_printer( 'PAGEBREAK' )
LabelPrintCount = 0
LabelRowCnt = 0
end else
*Font<2> = 8
*Void = set_printer( 'FONT', Font )
for j = 1 to 2
Void = set_printer( 'TEXT' )
next j
*Font<2> = 10
*Void = set_printer( 'FONT', Font )
end
if LabelRowCnt = 2 then
Void = set_printer( 'TEXT', '' )
* Font<2> = 5
* Void = set_printer( 'FONT', Font )
* Void = set_printer( 'TEXT', '' )
* Font<2> = 10
* Void = set_printer( 'FONT', Font )
end
next i
return
*===========================================================================*
PrintWOLabels:
* GOT ALL DATA NOW WE CAN PRINT
Font = "Courier New,52,L,0"
convert ',' to @fm in Font
Void = set_printer( 'FONT', Font )
Font<2> = 18
Void = set_printer( 'FONT', Font )
Void = set_printer( 'TEXT', '' )
Font<2> = 52
Void = set_printer( 'FONT', Font )
LabelPrintCount = 0
LabelRowCnt = 0
UniqueWOs = UniqueWOs:@vm:UniqueWOs
UWOCnt = fieldcount( UniqueWOs, @vm )
for i = 1 to UWOCnt step 2
FirstUniqueWO = UniqueWOs<1,i>
SecondUniqueWO = UniqueWOs<1,i+1>
LineOut = FirstUniqueWO:fmt( ' ', 'L#2' ):SecondUniqueWO
Void = set_printer( 'TEXT', LineOut )
LabelRowCnt += 1
Font<2> = 36
Void = set_printer( 'FONT', Font )
Void = set_printer( 'TEXT', '' )
if ( LabelRowCnt = 3 ) then
Font<2> = 18
Void = set_printer( 'FONT', Font )
Void = set_printer( 'TEXT', '' )
end
Font<2> = 52
Void = set_printer( 'FONT', Font )
if ( LabelRowCnt = 7 ) then
Void = set_printer( 'PAGEBREAK' )
RowsPrinted = 0
end
next i
Void = set_printer( 'TERM' )
return
*===========================================================================*