added LSL2 stored procedures
This commit is contained in:
782
LSL2/STPROC/PRINT_CONTROL_PLAN_ORG.txt
Normal file
782
LSL2/STPROC/PRINT_CONTROL_PLAN_ORG.txt
Normal file
@ -0,0 +1,782 @@
|
||||
compile function print_control_plan_org( PSNId )
|
||||
declare function security_check, set_printer, get_printer, msg, fieldcount, entid, repository, obj_Install,Printer_Select
|
||||
declare subroutine security_err_msg
|
||||
|
||||
$insert security_rights_equ
|
||||
$insert oiprint_equates
|
||||
$insert msg_equates
|
||||
$insert prod_spec_equ
|
||||
$insert quote_spec_equ
|
||||
$insert company_equ
|
||||
|
||||
PrintPath = Printer_Select('',1) ;* Get default printer path
|
||||
Stat = set_printer( 'INIT', '', '', .25:@fm:.25:@fm:.25:@fm:.25, 1, 3 ,PrintPath)
|
||||
|
||||
* PULL OFF ALL VARIABLES
|
||||
* PSN IS PASSED VIA THE CALLING PROGRAM AND THIS CODE WILL PICK UP
|
||||
* THE REST VIA TRANSLATION
|
||||
|
||||
PSN = xlate( 'PROD_SPEC', PSNId, '', 'X' )
|
||||
PartNums = PSN<prod_spec_part_nums$>
|
||||
SubstrInfo = PSN<prod_spec_spec_substrate$>
|
||||
SpecialInst = SubstrInfo<1,QSSubInstructions$>
|
||||
ProveInInst = xlate( 'PROD_SPEC', PSNId, 'PROVEIN_INST', 'X' )
|
||||
SalesNotes = PSN<prod_spec_sales_notes$>
|
||||
SpecEpi = PSN<prod_spec_spec_epi$>
|
||||
LayerType = PSN<prod_spec_layer_type$>
|
||||
convert char(248) to @fm in SpecEpi
|
||||
Lcnt = fieldcount( SpecEpi, @fm )
|
||||
SpecType = SubstrInfo<1,QSSubSpecType$>
|
||||
EntryDate = PSN<prod_spec_entry_date$>
|
||||
RevDate = PSN<prod_spec_mod_date$>
|
||||
|
||||
KeyContactPhone = "Onsite Quality Representative (480) 668-4000"
|
||||
|
||||
SupplierCode = PSN<prod_spec_supplier_code$>
|
||||
PreClean = SubstrInfo<1,QSSubPreClean$>
|
||||
PostClean = SubstrInfo<1,QSSubPostClean$>
|
||||
OxideStrip = SubStrInfo<1,QSSubOxide$>
|
||||
CustName = xlate( 'COMPANY', psn<prod_spec_cust_id$>, company_co_name$, 'X' )
|
||||
swap 'DSP & 5" 2 layer' with '' in CustName
|
||||
|
||||
Font = "Times New Roman,36,C,1"
|
||||
convert ',' to @fm in Font
|
||||
Stat = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', 'Control Plan (':CustName:')' )
|
||||
Font<2> = 10
|
||||
Font<3> = 'L'
|
||||
Stat = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
*CoreTeam = 'Steve Rickborn, Jon Flagg, Paul Westphal, Dan Syllaba, John Parsey, Jim Sellar (480) 668-4000'
|
||||
CoreTeam = 'Executive Director, Quality Manager, Process Engineering Manager, Maintenance Engineering Manager, Manufacturing Manager (480) 668-4000'
|
||||
|
||||
|
||||
swap @vm with ', ' in PartNums
|
||||
* HEADINGS FOR TYPE
|
||||
TableColInfo = '^_1300':@vm:'^_1300':@vm:'^_1300':@vm:'^_1300'
|
||||
PrintTbl = 'Pre-Qualification':@vm:'Qualification':@vm:'Pre-Production':@vm:'Production'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_NONE:@fm:'C' )
|
||||
* DATA FOR TYPE
|
||||
TableColInfo = '^_1300':@vm:'^_1300':@vm:'^_1300':@vm:'^_1300'
|
||||
PreQual = ''
|
||||
Qualification = ''
|
||||
PreProd = ''
|
||||
Production = ''
|
||||
|
||||
if SpecType = 'Q' then
|
||||
Qualification = 'X'
|
||||
end
|
||||
if SpecType = 'E' then
|
||||
PreProd = 'X'
|
||||
end
|
||||
if SpecType = 'P' then
|
||||
Production = 'X'
|
||||
end
|
||||
if SpecType = 'U' then
|
||||
PreQual = 'X'
|
||||
end
|
||||
|
||||
PrintTbl = PreQual:@vm:Qualification:@vm:PreProd:@vm:Production
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
|
||||
* HEADINGS FOR PLAN NUMBER, CONTACT AND DATES
|
||||
TableColInfo = '^_4320':@vm:'^_4320':@vm:'^_2160':@vm:'^_2160'
|
||||
PrintTbl = 'Control Plan Number':@vm:'Key Contact/Phone':@vm:'Date(Orig.)':@vm:'Date(Rev.)'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_NONE:@fm:'C' )
|
||||
* DATA FOR PLAN NUMBER, CONTACT AND DATES
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
PrintTbl = PSNId:' - ':LayerType:@vm:KeyContactPhone:@vm:oconv( EntryDate, 'D2/' ):@vm:oconv( RevDate, 'D2/' )
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
|
||||
* HEADINGS FOR PART NUMBERS, CORE TEAM CUST ENGINEERING DATE
|
||||
TableColInfo = '^+4320':@vm:'^+4320':@vm:'^+4320'
|
||||
PrintTbl = 'Part Number/Latest Change Level':@vm:'Core Team':@vm:'Customer Engineering Approval/Date'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_NONE:@fm:'C' )
|
||||
* DATA FOR PART NUMBERS, CORE TEAM CUST ENGINEERING DATE
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
PrintTbl = PartNums:@vm:CoreTeam:@vm:'NA'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
|
||||
* HEADINGS FOR PART NAME DESCRIPTION, SUPPLIER APPROVAL
|
||||
TableColInfo = '^_4320':@vm:'^_4320':@vm:'^_4320'
|
||||
PrintTbl = 'Part Name/Description':@vm:'Supplier':@vm:'Customer Quality Approval/Date'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_NONE:@fm:'C' )
|
||||
* DATA FOR PART NAME DESCRIPTION, SUPPLIER APPROVAL
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
PrintTbl = 'Silicon Epitaxy':@vm:obj_Install('Get_Prop','Company'):@vm:'NA'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
|
||||
* HEADINGS FOR SUPPLIER CODE
|
||||
TableColInfo = '^_4320':@vm:'^_4320':@vm:'^_2160':@vm:'^_2160'
|
||||
PrintTbl = 'Plant':@vm:'Supplier Code':@vm:'Other Approval/Date':@vm:'Other Approval/Date'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_NONE:@fm:'C' )
|
||||
* DATA FOR SUPPLIER CODE
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
PrintTbl = 'Mesa, Arizona':@vm:SupplierCode:@vm:'NA':@vm:'NA'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
|
||||
* NEED TO PUT HEADINGS HERE
|
||||
StepNumber = 0
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
TableColInfo = '^_720':@vm:'^_1440':@vm:'^_1440':@vm:'^_547':@vm:'^_1440':@vm:'^_1440':@vm
|
||||
TableColInfo:= '^_2160':@vm:'^_1440':@vm:'^_1200':@vm:'^_840':@vm:'^_1080':@vm:'^_1440'
|
||||
PrintTbl = 'Step':@vm:'Process Name':@vm:'Machine':@vm:'PSN':@vm:'Product':@vm:'Process':@vm:'Spec Tolerance':@vm
|
||||
PrintTbl:= 'Eval Meas':@vm:'Size':@vm:'Freq.':@vm:'Control Method':@vm:'Reaction Plan'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_ALL:@fm:'C' )
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
*
|
||||
* RECEIVING STEP WILL BE STEP ONE OF EACH CONTROL PLAN
|
||||
StepNumber += 1
|
||||
PrintTbl = StepNumber:@vm:'Receiving':@vm:'Paperwork':@vm:PSNId:@vm:'Paperwork':@vm:'Visual':@vm
|
||||
PrintTbl:= 'Consistent Data':@vm:'Visual':@vm:'Shipment':@vm:'All':@vm:'WI':@vm:'Pass/Fail'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
|
||||
*
|
||||
PreBrightLight = PSN<prod_spec_pre_brightlight$>
|
||||
PreMicroscope = PSN<prod_spec_pre_microscope$>
|
||||
PreSurfscan = PSN<prod_spec_pre_surfscan$>
|
||||
PreSurfscanRecipe = PSN<prod_spec_pre_surfscan_recipe$>
|
||||
PreLPDLimit = PSN<prod_spec_pre_lpd$>
|
||||
|
||||
FirstBrightLight = PSN<prod_spec_first_brightlight$>
|
||||
FirstMicroscope = PSN<prod_spec_first_microscope$>
|
||||
FirstSurfscan = PSN<prod_spec_first_surfscan$>
|
||||
FirstSurfscanRecipe = PSN<prod_spec_first_surfscan_recipe$>
|
||||
FirstLPDLimit = PSN<prod_spec_post_lpd$>
|
||||
|
||||
PostBrightLight = PSN<prod_spec_post_clean_brightlight$>
|
||||
PostSurfscan = PSN<prod_spec_post_clean_surfscan$>
|
||||
PostSurfscanRecipe = PSN<prod_spec_post_clean_surfscan_recipe$>
|
||||
|
||||
*********************** PRE-CLEANING - MOVED FROM BELOW -- SCOTT EVANS **********************
|
||||
|
||||
if ( OxideStrip ) then
|
||||
* PRE CLEANING STEP
|
||||
StepNumber += 1
|
||||
ProcessName = 'HF Strip' ;* #16
|
||||
Machine = 'HF' ;* #17
|
||||
Product = 'SC-1' ;* #19
|
||||
Process = '20min or Dewet';* #20
|
||||
SpecTol = 'NA' ;*#22
|
||||
EvalMeas = 'HF' ;* #23
|
||||
Size = '1 Cass' ;* #24a
|
||||
Freq = 'All' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
|
||||
if ( PreClean <> 'No' ) and ( PreClean <> '' ) then
|
||||
* PRE CLEANING STEP
|
||||
Process = ''
|
||||
StepNumber += 1
|
||||
ProcessName = 'Pre-epi Clean' ;* #16
|
||||
if PreClean = 'If Necessary' then
|
||||
PreClean = 'Semitool'
|
||||
end
|
||||
if PreClean = 'Semitool' then
|
||||
Process = 'SC-1 Clean'
|
||||
end
|
||||
if PreClean = 'Megasonic' then
|
||||
Process = field( SubstrInfo<1,QSSubWafersize$>, ' ', 3 ):'"'
|
||||
end
|
||||
Machine = PreClean ;* #17
|
||||
Product = 'SC-1' ;* #19
|
||||
Process = Process ;* #20
|
||||
SpecTol = 'NA' ;*#22
|
||||
EvalMeas = PreClean ;* #23
|
||||
Size = '1 Cass' ;* #24a
|
||||
Freq = 'All' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
|
||||
*********************** END OF PRE-CLEANING *************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
if PreBrightLight then
|
||||
* BRIGHTLIGHT PRE EPI INSPECTION
|
||||
StepNumber += 1
|
||||
ProcessName = 'Pre-epi Insp' ;* #16
|
||||
Machine = 'Brightlight' ;* #17
|
||||
Product = 'LPDs' ;* #19
|
||||
Process = 'Visual' ;* #20
|
||||
SpecTol = '<':PreLPDLimit;* #22
|
||||
EvalMeas = 'Brightlight' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if PreMicroscope then
|
||||
* MICROSCOPE
|
||||
StepNumber += 1
|
||||
ProcessName = 'Pre-epi Insp' ;* #16
|
||||
Machine = 'Microscope' ;* #17
|
||||
Product = 'Surface Quality' ;* #19
|
||||
Process = 'Visual' ;* #20
|
||||
SpecTol = 'PSN#':PSNId:' - Surface Spec' ;*#22
|
||||
EvalMeas = 'Microscope' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if PreSurfscan then
|
||||
* SURFSCAN
|
||||
StepNumber += 1
|
||||
ProcessName = 'Pre-epi Insp' ;* #16
|
||||
Machine = 'Surf Scan' ;* #17
|
||||
Product = 'LPDs' ;* #19
|
||||
Process = PreSurfscanRecipe ;* #20
|
||||
SpecTol = 'See Hard Copy Spec' ;*#22
|
||||
EvalMeas = 'Surf Scan' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
*if ( OxideStrip ) then
|
||||
* * PRE CLEANING STEP
|
||||
* StepNumber += 1
|
||||
* ProcessName = 'HF Strip' ;* #16
|
||||
* Machine = 'HF' ;* #17
|
||||
* Product = 'SC-1' ;* #19
|
||||
* Process = '20min or Dewet';* #20
|
||||
* SpecTol = 'NA' ;*#22
|
||||
* EvalMeas = 'HF' ;* #23
|
||||
* Size = '1 Cass' ;* #24a
|
||||
* Freq = 'All' ;* #24b
|
||||
* CtrlMethod = 'WI' ;* #25
|
||||
* RPlan = 'ORAP' ;* #26
|
||||
*
|
||||
* PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
* PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
* Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
*end
|
||||
|
||||
|
||||
*if ( PreClean <> 'No' ) and ( PreClean <> '' ) then
|
||||
* * PRE CLEANING STEP
|
||||
* Process = ''
|
||||
* StepNumber += 1
|
||||
* ProcessName = 'Pre-epi Clean' ;* #16
|
||||
* if PreClean = 'If Necessary' then
|
||||
* PreClean = 'Semitool'
|
||||
* end
|
||||
* if PreClean = 'Semitool' then
|
||||
* Process = 'SC-1 Clean'
|
||||
* end
|
||||
* if PreClean = 'Megasonic' then
|
||||
* Process = field( SubstrInfo<1,QSSubWafersize$>, ' ', 3 ):'"'
|
||||
* end
|
||||
* Machine = PreClean ;* #17
|
||||
* Product = 'SC-1' ;* #19
|
||||
* Process = Process ;* #20
|
||||
* SpecTol = 'NA' ;*#22
|
||||
* EvalMeas = PreClean ;* #23
|
||||
* Size = '1 Cass' ;* #24a
|
||||
* Freq = 'All' ;* #24b
|
||||
* CtrlMethod = 'WI' ;* #25
|
||||
* RPlan = 'ORAP' ;* #26
|
||||
*
|
||||
* PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
* PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
* Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
*end
|
||||
|
||||
ReactorTypes = ''
|
||||
ReactorTypes = oconv( PSN<prod_spec_reactor_type$> , '[PROD_SPEC_RTYPE_CONV]' )
|
||||
*E1 = PSN<prod_spec_e1$>
|
||||
*E2 = PSN<prod_spec_e2$>
|
||||
*Centura = PSN<prod_spec_centura$>
|
||||
*Gemini = PSN<prod_spec_gemini$>
|
||||
*MFC = PSN<prod_spec_mfc$>
|
||||
*if E1 then
|
||||
* ReactorTypes := 'E1, '
|
||||
*end
|
||||
*if E2 then
|
||||
* ReactorTypes := 'E2, '
|
||||
*end
|
||||
*if Centura then
|
||||
* ReactorTypes := 'Centura, '
|
||||
*end
|
||||
*if Gemini then
|
||||
* ReactorTypes := 'Gemini, '
|
||||
*end
|
||||
*if MFC then
|
||||
* ReactorTypes := 'MFC, '
|
||||
*end
|
||||
*ReactorTypes[-2,2] = ''
|
||||
|
||||
ThickMin = xlate( 'PROD_SPEC', PSNId, 'THICK_MIN_ALL', 'X' )
|
||||
ThickMax = xlate( 'PROD_SPEC', PSNId, 'THICK_MAX_ALL', 'X' )
|
||||
ThickMeasFirst = xlate( 'PROD_SPEC', PSNId, 'THICK_MEAS_FIRST_ALL', 'X' )
|
||||
ThickMeasLast = xlate( 'PROD_SPEC', PSNId, 'THICK_MEAS_LAST_ALL', 'X' )
|
||||
ThickMeasFreq = xlate( 'PROD_SPEC', PSNId, 'THICK_MEAS_FREQ_ALL', 'X' )
|
||||
ThickMeasTool = xlate( 'PROD_SPEC', PSNId, 'THICK_MEAS_TOOL_ALL', 'X' )
|
||||
ThickMeasType = xlate( 'PROD_SPEC', PSNId, 'THICK_MEAS_TYPE_ALL', 'X' )
|
||||
ThickMeasSPC = xlate( 'PROD_SPEC', PSNId, 'THICK_MEAS_SPC_ALL', 'X' )
|
||||
ThickUnits = xlate( 'PROD_SPEC', PSNId, 'THICK_UNITS_ALL', 'X' )
|
||||
|
||||
ResMin = xlate( 'PROD_SPEC', PSNId, 'RES_MIN_ALL', 'X' )
|
||||
ResMax = xlate( 'PROD_SPEC', PSNId, 'RES_MAX_ALL', 'X' )
|
||||
ResMeasFirst = xlate( 'PROD_SPEC', PSNId, 'RES_MEAS_FIRST_ALL', 'X' )
|
||||
ResMeasLast = xlate( 'PROD_SPEC', PSNId, 'RES_MEAS_LAST_ALL', 'X' )
|
||||
ResMeasFreq = xlate( 'PROD_SPEC', PSNId, 'RES_MEAS_FREQ_ALL', 'X' )
|
||||
ResMeasTool = xlate( 'PROD_SPEC', PSNId, 'RES_MEAS_TOOL_ALL', 'X' )
|
||||
ResMeasType = xlate( 'PROD_SPEC', PSNId, 'RES_MEAS_TYPE_ALL', 'X' )
|
||||
ResMeasSPC = xlate( 'PROD_SPEC', PSNId, 'RES_MEAS_SPC_ALL', 'X' )
|
||||
ResUnits = xlate( 'PROD_SPEC', PSNId, 'RES_UNITS_ALL', 'X' )
|
||||
|
||||
ConMin = xlate( 'PROD_SPEC', PSNId, 'CON_MIN_ALL', 'X' )
|
||||
ConMax = xlate( 'PROD_SPEC', PSNId, 'CON_MAX_ALL', 'X' )
|
||||
ConMeasFirst = xlate( 'PROD_SPEC', PSNId, 'CON_MEAS_FIRST_ALL', 'X' )
|
||||
ConMeasLast = xlate( 'PROD_SPEC', PSNId, 'CON_MEAS_LAST_ALL', 'X' )
|
||||
ConMeasFreq = xlate( 'PROD_SPEC', PSNId, 'CON_MEAS_FREQ_ALL', 'X' )
|
||||
ConMeasTool = xlate( 'PROD_SPEC', PSNId, 'CON_MEAS_TOOL_ALL', 'X' )
|
||||
ConMeasType = xlate( 'PROD_SPEC', PSNId, 'CON_MEAS_TYPE_ALL', 'X' )
|
||||
ConMeasSPC = xlate( 'PROD_SPEC', PSNId, 'CON_MEAS_SPC_ALL', 'X' )
|
||||
ConUnits = xlate( 'PROD_SPEC', PSNId, 'CON_UNITS_ALL', 'X' )
|
||||
|
||||
StressMin = xlate( 'PROD_SPEC', PSNId, 'STRESS_MIN', 'X' )
|
||||
StressMax = xlate( 'PROD_SPEC', PSNId, 'STRESS_MAX', 'X' )
|
||||
StressMeasFirst = xlate( 'PROD_SPEC', PSNId, 'STRESS_MEAS_FIRST', 'X' )
|
||||
StressMeasLast = xlate( 'PROD_SPEC', PSNId, 'STRESS_MEAS_LAST', 'X' )
|
||||
StressMeasFreq = xlate( 'PROD_SPEC', PSNId, 'STRESS_MEAS_FREQ', 'X' )
|
||||
StressMeasTool = xlate( 'PROD_SPEC', PSNId, 'STRESS_MEAS_TOOL', 'X' )
|
||||
StressMeasType = xlate( 'PROD_SPEC', PSNId, 'STRESS_MEAS_TYPE', 'X' )
|
||||
StressMeasSPC = xlate( 'PROD_SPEC', PSNId, 'STRESS_MEAS_SPC', 'X' )
|
||||
|
||||
TransSpec = xlate( 'PROD_SPEC', PSNId, 'TRANS_SPEC', 'X' )
|
||||
TransMeasFirst = xlate( 'PROD_SPEC', PSNId, 'TRANS_MEAS_FIRST', 'X' )
|
||||
TransMeasLast = xlate( 'PROD_SPEC', PSNId, 'TRANS_MEAS_LAST', 'X' )
|
||||
TransMeasFreq = xlate( 'PROD_SPEC', PSNId, 'TRANS_MEAS_FREQ', 'X' )
|
||||
TransMeasTool = xlate( 'PROD_SPEC', PSNId, 'TRANS_MEAS_TOOL', 'X' )
|
||||
TransMeasType = xlate( 'PROD_SPEC', PSNId, 'TRANS_MEAS_TYPE', 'X' )
|
||||
TransMeasSPC = xlate( 'PROD_SPEC', PSNId, 'TRANS_MEAS_SPC', 'X' )
|
||||
|
||||
for i = 1 to Lcnt
|
||||
StepNumber += 1
|
||||
ThisThickMin = oconv( ThickMin<1,i>, 'MD2' )
|
||||
ThisThickMax = oconv( ThickMax<1,i>, 'MD2' )
|
||||
ThisThickTool = ThickMeasTool<1,i>
|
||||
ThisThickFirst = ThickMeasFirst<1,i>
|
||||
ThisThickLast = ThickMeasLast<1,i>
|
||||
ThisThickFreq = ThickMeasFreq<1,i>
|
||||
ThisThickType = ThickMeasType<1,i>
|
||||
ThisThickUnit = ThickUnits<1,i>
|
||||
ThisThickSPC = ThickMeasSPC<1,i>
|
||||
|
||||
swap 'æm' with 'um' in ThisThickUnit
|
||||
swap 'ê-cm' with 'ohm.cm' in ThisThickUnit
|
||||
swap 'ê/Ü' with 'ohm/sq' in ThisThickUnit
|
||||
swap '' with 'A' in ThisThickUnit
|
||||
|
||||
ProcessName = 'Epitaxy Layer ':i ;* #16
|
||||
Machine = ReactorTypes ;* #17
|
||||
Product = 'Thickness' ;* #19
|
||||
Process = 'Epi Growth';* #20
|
||||
SpecTol = ThisThickMin:' - ':ThisThickMax:ThisThickUnit;*#22
|
||||
EvalMeas = ThisThickTool;* #23
|
||||
Size = ThisThickType;* #24a
|
||||
Freq = ''
|
||||
if ThisThickFirst then
|
||||
Freq = '1st, '
|
||||
end
|
||||
if ThisThickFreq then
|
||||
Freq:= ThisThickFreq:', '
|
||||
end
|
||||
if ThisThickLast then
|
||||
Freq:= 'last, '
|
||||
end
|
||||
Freq[-2,2] = ''
|
||||
if ThisThickSPC = '' then
|
||||
ThisThickSPC = 0
|
||||
end
|
||||
CtrlMethod = oconv( ThisThickSPC, 'BSPC,WI' ) ;* #25
|
||||
RPlan = 'OCAP' ;* #26
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
|
||||
* RESISTIVITY
|
||||
StepNumber += 1
|
||||
ThisResMin = oconv( ResMin<1,i>, 'MD3' )
|
||||
ThisResMax = oconv( ResMax<1,i>, 'MD3' )
|
||||
ThisResTool = ResMeasTool<1,i>
|
||||
ThisResFirst = ResMeasFirst<1,i>
|
||||
ThisResLast = ResMeasLast<1,i>
|
||||
ThisResFreq = ResMeasFreq<1,i>
|
||||
ThisResType = ResMeasType<1,i>
|
||||
ThisResUnit = ResUnits<1,i>
|
||||
ThisResSPC = ResMeasSPC<1,i>
|
||||
|
||||
swap 'æm' with 'um' in ThisResUnit
|
||||
swap 'ê-cm' with 'ohm.cm' in ThisResUnit
|
||||
swap 'ê/Ü' with 'ohm/sq' in ThisResUnit
|
||||
swap '' with 'A' in ThisResUnit
|
||||
|
||||
ProcessName = 'Epitaxy Layer ':i ;* #16
|
||||
Machine = ReactorTypes ;* #17
|
||||
Product = 'Resistivity' ;* #19
|
||||
Process = 'Epi Growth';* #20
|
||||
SpecTol = ThisResMin:' - ':ThisResMax:ThisResUnit ;*#22
|
||||
EvalMeas = ThisResTool;* #23
|
||||
Size = ThisResType;* #24a
|
||||
Freq = ''
|
||||
if ThisResFirst then
|
||||
Freq: = '1st, '
|
||||
end
|
||||
if ThisResFreq then
|
||||
Freq:= ThisResFreq:', '
|
||||
end
|
||||
if ThisResLast then
|
||||
Freq:= 'last, '
|
||||
end
|
||||
Freq[-2,2] = '' ;* #24b
|
||||
if ThisResSPC = '' then
|
||||
ThisResSPC = 0
|
||||
end
|
||||
CtrlMethod = oconv( ThisResSPC, 'BSPC,WI' ) ;* #25
|
||||
RPlan = 'OCAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
|
||||
* CONCENTRATION
|
||||
ThisConMin = oconv( ConMin<1,i>, 'MS21' )
|
||||
if ( ThisConMin <> '' ) then
|
||||
StepNumber += 1
|
||||
ThisConMax = oconv( ConMax<1,i>, 'MS21' )
|
||||
ThisConTool = ConMeasTool<1,i>
|
||||
ThisConFirst = ConMeasFirst<1,i>
|
||||
ThisConLast = ConMeasLast<1,i>
|
||||
ThisConFreq = ConMeasFreq<1,i>
|
||||
ThisConType = ConMeasType<1,i>
|
||||
ThisConUnit = ConUnits<1,i>
|
||||
ThisConSPC = ConMeasSPC<1,i>
|
||||
|
||||
swap 'æm' with 'um' in ThisConUnit
|
||||
swap 'ê-cm' with 'ohm.cm' in ThisConUnit
|
||||
swap 'ê/Ü' with 'ohm/sq' in ThisConUnit
|
||||
swap '' with 'A' in ThisConUnit
|
||||
|
||||
ProcessName = 'Epitaxy Layer ':i ;* #16
|
||||
Machine = ReactorTypes ;* #17
|
||||
Product = 'Concentration' ;* #19
|
||||
Process = 'Epi Growth';* #20
|
||||
SpecTol = ThisConMin:' - ':ThisConMax:ThisConUnit ;*#22
|
||||
EvalMeas = ThisConTool;* #23
|
||||
Size = ThisConType;* #24a
|
||||
Freq = ''
|
||||
if ThisConFirst then
|
||||
Freq: = '1st, '
|
||||
end
|
||||
if ThisConFreq then
|
||||
Freq:= ThisResFreq:', '
|
||||
end
|
||||
if ThisConLast then
|
||||
Freq:= 'last, '
|
||||
end
|
||||
Freq[-2,2] = '' ;* #24b
|
||||
if ThisConSPC = '' then
|
||||
ThisConSPC = 0
|
||||
end
|
||||
CtrlMethod = oconv( ThisConSPC, 'BSPC,WI' ) ;* #25
|
||||
RPlan = 'OCAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
next i
|
||||
|
||||
* STRESS
|
||||
StressMin = oconv( StressMin, 'MS21' )
|
||||
if ( StressMin <> '' ) then
|
||||
StepNumber += 1
|
||||
StressMax = oconv( StressMax, 'MS21' )
|
||||
StressTool = StressMeasTool
|
||||
StressFirst = StressMeasFirst
|
||||
StressLast = StressMeasLast
|
||||
StressFreq = StressMeasFreq
|
||||
StressType = StressMeasType
|
||||
StressSPC = StressMeasSPC
|
||||
|
||||
ProcessName = 'Epitaxy Layer 1' ;* #16 ONLY ONE LAYER FOR STRESS
|
||||
Machine = ReactorTypes ;* #17
|
||||
Product = 'Stress' ;* #19
|
||||
Process = 'Epi Growth';* #20
|
||||
SpecTol = StressMin:' - ':StressMax ;*#22
|
||||
EvalMeas = StressTool;* #23
|
||||
Size = StressType;* #24a
|
||||
Freq = ''
|
||||
if StressFirst then
|
||||
Freq: = '1st, '
|
||||
end
|
||||
if StressFreq then
|
||||
Freq:= StressFreq:', '
|
||||
end
|
||||
if StressLast then
|
||||
Freq:= 'last, '
|
||||
end
|
||||
Freq[-2,2] = '' ;* #24b
|
||||
if StressSPC = '' then
|
||||
StressSPC = 0
|
||||
end
|
||||
CtrlMethod = oconv( StressSPC, 'BSPC,WI' ) ;* #25
|
||||
RPlan = 'OCAP' ;* #26
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
* TRANSITION
|
||||
TransSpec = oconv( TransSpec, 'MD2' )
|
||||
if ( TransSpec <> '' ) then
|
||||
StepNumber += 1
|
||||
TransTool = TransMeasTool
|
||||
TransFirst = TransMeasFirst
|
||||
TransLast = TransMeasLast
|
||||
TransFreq = TransMeasFreq
|
||||
TransType = TransMeasType
|
||||
TransSPC = TransMeasSPC
|
||||
|
||||
ProcessName = 'Epitaxy Layer 1' ;* #16 ONLY ONE LAYER FOR TRANSITION
|
||||
Machine = ReactorTypes ;* #17
|
||||
Product = 'Transition' ;* #19
|
||||
Process = 'Epi Growth';* #20
|
||||
SpecTol = TransSpec ;*#22
|
||||
EvalMeas = TransTool;* #23
|
||||
Size = TransType;* #24a
|
||||
Freq = ''
|
||||
if TransFirst then
|
||||
Freq: = '1st, '
|
||||
end
|
||||
if TransFreq then
|
||||
Freq:= TransFreq:', '
|
||||
end
|
||||
if TransLast then
|
||||
Freq:= 'last, '
|
||||
end
|
||||
Freq[-2,2] = '' ;* #24b
|
||||
if TransSPC = '' then
|
||||
TransSPC = 0
|
||||
end
|
||||
CtrlMethod = oconv( TransSPC, 'BSPC,WI' ) ;* #25
|
||||
RPlan = 'OCAP' ;* #26
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if FirstBrightLight then
|
||||
* BRIGHTLIGHT FIRST WAFER INSPECTION
|
||||
StepNumber += 1
|
||||
ProcessName = 'First Wafer Insp' ;* #16
|
||||
Machine = 'Brightlight' ;* #17
|
||||
Product = 'LPDs' ;* #19
|
||||
Process = 'Visual' ;* #20
|
||||
SpecTol = '<':FirstLPDLimit;* #22
|
||||
EvalMeas = 'Brightlight' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if FirstMicroscope then
|
||||
* FIRST MICROSCOPE
|
||||
StepNumber += 1
|
||||
ProcessName = 'First Wafer Insp' ;* #16
|
||||
Machine = 'Microscope' ;* #17
|
||||
Product = 'Surface Quality' ;* #19
|
||||
Process = 'Visual' ;* #20
|
||||
SpecTol = 'PSN#':PSNId:' - Surface Spec' ;*#22
|
||||
EvalMeas = 'Microscope' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if FirstSurfscan then
|
||||
* FIRST SURFSCAN
|
||||
StepNumber += 1
|
||||
ProcessName = 'First Wafer Insp' ;* #16
|
||||
Machine = 'Surf Scan' ;* #17
|
||||
Product = 'LPDs' ;* #19
|
||||
Process = FirstSurfscanRecipe ;* #20
|
||||
SpecTol = 'See Hard Copy Spec' ;*#22
|
||||
EvalMeas = 'Surf Scan' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if ( PostClean <> 'No' ) and ( PostClean <> '' ) then
|
||||
* POST CLEANING STEP
|
||||
Process = ''
|
||||
StepNumber += 1
|
||||
ProcessName = 'Post-epi Clean' ;* #16
|
||||
if PostClean = 'Semitool' then
|
||||
Process = 'SC-1 Clean'
|
||||
end
|
||||
if PostClean = 'Megasonic' then
|
||||
Process = field( SubstrInfo<1,QSSubWafersize$>, ' ', 3 ):'"'
|
||||
end
|
||||
Machine = PostClean ;* #17
|
||||
Product = 'SC-1' ;* #19
|
||||
Process = Process ;* #20
|
||||
SpecTol = 'NA' ;*#22
|
||||
EvalMeas = PostClean ;* #23
|
||||
Size = '1 Cass' ;* #24a
|
||||
Freq = 'All' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if PostBrightLight then
|
||||
* BRIGHTLIGHT POST EPI
|
||||
StepNumber += 1
|
||||
ProcessName = 'Post-epi Insp' ;* #16
|
||||
Machine = 'Brightlight' ;* #17
|
||||
Product = 'LPDs' ;* #19
|
||||
Process = 'Visual' ;* #20
|
||||
SpecTol = '<':FirstLPDLimit;* #22 ;* USING FIRST CAUSE THIS WOULD BE CONSIDERED POST EPI
|
||||
EvalMeas = 'Brightlight' ;* #23
|
||||
Size = '1 Wafer' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
if PostSurfscan then
|
||||
* POST SURFSCAN
|
||||
StepNumber += 1
|
||||
ProcessName = 'Post-epi Insp' ;* #16
|
||||
Machine = 'Surf Scan' ;* #17
|
||||
Product = 'LPDs' ;* #19
|
||||
Process = PostSurfscanRecipe ;* #20
|
||||
SpecTol = 'See Hard Copy Spec' ;*#22
|
||||
EvalMeas = 'Surf Scan' ;* #23
|
||||
Size = '100%' ;* #24a
|
||||
Freq = 'Per Cass' ;* #24b
|
||||
CtrlMethod = 'WI' ;* #25
|
||||
RPlan = 'ORAP' ;* #26
|
||||
|
||||
PrintTbl = StepNumber:@vm:ProcessName:@vm:Machine:@vm:PSNId:@vm:Product:@vm:Process:@vm:SpecTol:@vm
|
||||
PrintTbl:= EvalMeas:@vm:Size:@vm:Freq:@vm:CtrlMethod:@vm:RPlan
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
end
|
||||
|
||||
* SHIPPING STEP WILL THE LAST STEP OF EACH CONTROL PLAN
|
||||
StepNumber += 1
|
||||
PrintTbl = StepNumber:@vm:'Shipping':@vm:'Paperwork':@vm:PSNId:@vm:'Paperwork':@vm:'Visual':@vm
|
||||
PrintTbl:= 'Consistent Data':@vm:'Visual':@vm:'Shipment':@vm:'All':@vm:'WI':@vm:'Pass/Fail'
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 1, TB_ALL:@fm:'C' )
|
||||
|
||||
* PRINT THE SPECIAL INSTRUCTIONS
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
Void = set_printer( 'TEXT', 'Special Instructions:' )
|
||||
TableColInfo = '<_15120'
|
||||
PrintTbl = SpecialInst
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_BOX:@fm:'C' )
|
||||
|
||||
* PRINT THE PROVEIN INSTRUCTIONS
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
Void = set_printer( 'TEXT', 'Provein Instructions:' )
|
||||
TableColInfo = '<_15120'
|
||||
PrintTbl = ProveInInst
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_BOX:@fm:'C' )
|
||||
|
||||
* PRINT THE SALES/CUST SERVICE NOTES
|
||||
Font<4> = 1
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
Void = set_printer( 'TEXT', 'Sales/Customer Service Notes:' )
|
||||
TableColInfo = '<_15120'
|
||||
PrintTbl = SalesNotes
|
||||
Font<4> = 0
|
||||
Void = set_printer( 'FONT', Font )
|
||||
Void = set_printer( 'ADDTABLE', TableColInfo, '', PrintTbl, '', '', 0, TB_BOX:@fm:'C' )
|
||||
|
||||
stat = set_printer( 'TERM', 1 )
|
||||
|
||||
RETURN 0
|
||||
*===========================================================================*
|
||||
|
Reference in New Issue
Block a user