493 lines
14 KiB
Plaintext
493 lines
14 KiB
Plaintext
COMPILE SUBROUTINE Print_BLISS_Rpt(Dummy)
|
|
|
|
DECLARE FUNCTION Msg, set_property, send_event, dialog_box, Utility, get_property
|
|
DECLARE FUNCTION Set_Printer, FieldCount, Printer_Select, Get_Printer, obj_RDS2, obj_WM_In, obj_WM_Out
|
|
DECLARE SUBROUTINE RList, ErrMsg, Msg
|
|
|
|
/*
|
|
Report rewritten 07/08/2005 John C. Henry, J.C. Henry & Co., Inc.
|
|
*/
|
|
|
|
|
|
$INSERT RLIST_EQUATES
|
|
$INSERT LOGICAL
|
|
$INSERT MSG_EQUATES
|
|
$INSERT OIPRINT_EQUATES
|
|
$INSERT WO_LOG_EQU
|
|
$INSERT WO_MAT_EQUATES
|
|
$INSERT WM_OUT_EQUATES
|
|
$INSERT WM_IN_EQUATES
|
|
$INSERT APPCOLORS
|
|
|
|
EQU DAY1$ TO 1 ;* Columns for the date total buckets
|
|
EQU DAY2$ TO 2
|
|
EQU DAY3$ TO 3
|
|
EQU WEEK1$ TO 4
|
|
EQU WEEK2$ TO 5
|
|
EQU WEEK3$ TO 6
|
|
EQU WEEK4$ TO 7
|
|
|
|
|
|
OPEN 'WO_MAT' to WOMatTable ELSE
|
|
Msg( '', 'Unable to open WO_MAT' )
|
|
RETURN
|
|
END
|
|
|
|
*OPEN 'DICT.RDS' to DictRDSTable ELSE
|
|
* Msg( '', 'Unable to open DICT_RDS' )
|
|
* RETURN
|
|
*END
|
|
|
|
Void = Utility( 'CURSOR', 'H' )
|
|
|
|
*Stmt = 'SELECT WO_LOG WITH STATUS = "O" BY CUST_NAME BY PROD_SPEC_ID'
|
|
Stmt = 'SELECT WO_MAT WITH CURR_STATUS = "RX" "REL" "PREC" "INF" "BLD" "PSTC" "RQA" "RTS" "COMP" "HOLD" "RTU" BY CUST_NAME BY SHIP_PSN'
|
|
RList( Stmt, target_activelist$, '', '', '' )
|
|
|
|
IF Get_Status(errCode) THEN
|
|
ErrMsg(errCode)
|
|
END
|
|
|
|
|
|
colHdr = '' ; colFmt = ''
|
|
colHdr<1,1> = 'Customer' ; colFmt<1,1> = '<+1800'
|
|
colHdr<1,2> = 'PSN' ; colFmt<1,2> = '>+806'
|
|
colHdr<1,3> = 'Thk' ; colFmt<1,3> = '>+806'
|
|
|
|
colHdr<1,4> = '' ; colFmt<1,4> = '>+9' ;* Dummy columns to give the fat line separators
|
|
colHdr<1,5> = '' ; colFmt<1,5> = '>+9'
|
|
colHdr<1,6> = '' ; colFmt<1,6> = '>+9'
|
|
|
|
colHdr<1,7> = 'Rec' ; colFmt<1,7> = '>+806'
|
|
colHdr<1,8> = 'Pre' ; colFmt<1,8> = '>+806'
|
|
colHdr<1,9> = 'In' ; colFmt<1,9> = '>+806'
|
|
colHdr<1,10> = 'Post' ; colFmt<1,10> = '>+806'
|
|
colHdr<1,11> = 'Ready' ; colFmt<1,11> = '>+806'
|
|
colHdr<1,12> = 'Hold' ; colFmt<1,12> = '>+806'
|
|
colHdr<1,13> = 'Makeup' ; colFmt<1,13> = '>+806'
|
|
|
|
colHdr<1,14> = '' ; colFmt<1,14> = '>+9' ;* Dummy columns to give the fat line separators
|
|
colHdr<1,15> = '' ; colFmt<1,15> = '>+9'
|
|
colHdr<1,16> = '' ; colFmt<1,16> = '>+9'
|
|
|
|
colHdr<1,17> = 'Today' ; colFmt<1,17> = '>+806'
|
|
colHdr<1,18> = 'Day 2' ; colFmt<1,18> = '>+806'
|
|
colHdr<1,19> = 'Day 3' ; colFmt<1,19> = '>+806'
|
|
colHdr<1,20> = 'Remain Week1' ; colFmt<1,20> = '>+806'
|
|
colHdr<1,21> = 'Week2' ; colFmt<1,21> = '>+806'
|
|
colHdr<1,22> = 'Week3' ; colFmt<1,22> = '>+806'
|
|
colHdr<1,23> = 'Wk4->' ; colFmt<1,23> = '>+806'
|
|
|
|
|
|
SpaceOut = str( ' ', 17 )
|
|
SpaceOut2 = str( ' ', 20 )
|
|
|
|
PrintPath = Printer_Select('',1) ;* Get default printer path
|
|
Void = Set_Printer( 'INIT', '', '', .38:@fm:.75:@fm:.38:@fm:.75, 1, 3:@vm:'':@vm:'':@vm:2:@fm:96, PrintPath )
|
|
|
|
Void = Utility( 'CURSOR', 'H' )
|
|
|
|
Font = "Courier New,8,L,1"
|
|
convert ',' to @fm in Font
|
|
TFont = font
|
|
TFont<2> = 12
|
|
Void = Set_Printer( 'FONTHEADFOOT', TFont )
|
|
|
|
Header = "Page 'P'":@VM:"'BLISS'"
|
|
Header<2> = "'D' 'T'":SpaceOut:"Inventory report":SpaceOut2:"Demand/Schedule"
|
|
|
|
Void = Set_Printer( 'HEADER',Header)
|
|
|
|
TFont<2> = 8
|
|
TFont<4> = 0
|
|
Void = Set_Printer( 'FONT', TFont )
|
|
|
|
|
|
* Set Up Break Totals
|
|
|
|
* PSN Break totals
|
|
|
|
ReceivedQty_PSN_Tot = 0
|
|
PreEpiQty_PSN_Tot = 0
|
|
InProcessQty_PSN_Tot = 0
|
|
PostEpiQty_PSN_Tot = 0
|
|
ReadyToShipQty_PSN_Tot = 0
|
|
HoldQty_PSN_Tot = 0
|
|
MakeupQty_PSN_Tot = 0
|
|
|
|
DateArray_PSN_Tot = ''
|
|
DateArray_PSN_Tot<DAY1$> = 0
|
|
DateArray_PSN_Tot<DAY2$> = 0
|
|
DateArray_PSN_Tot<DAY3$> = 0
|
|
DateArray_PSN_Tot<WEEK1$> = 0
|
|
DateArray_PSN_Tot<WEEK2$> = 0
|
|
DateArray_PSN_Tot<WEEK3$> = 0
|
|
DateArray_PSN_Tot<WEEK4$> = 0
|
|
|
|
* Report Grand Totals
|
|
|
|
ReceivedQty_Grand_Tot = 0
|
|
PreEpiQty_Grand_Tot = 0
|
|
InProcessQty_Grand_Tot = 0
|
|
PostEpiQty_Grand_Tot = 0
|
|
ReadyToShipQty_Grand_Tot = 0
|
|
HoldQty_Grand_Tot = 0
|
|
MakeupQty_Grand_Tot = 0
|
|
|
|
DateArray_Grand_Tot = ''
|
|
DateArray_Grand_Tot<DAY1$> = 0
|
|
DateArray_Grand_Tot<DAY2$> = 0
|
|
DateArray_Grand_Tot<DAY3$> = 0
|
|
DateArray_Grand_Tot<WEEK1$> = 0
|
|
DateArray_Grand_Tot<WEEK2$> = 0
|
|
DateArray_Grand_Tot<WEEK3$> = 0
|
|
DateArray_Grand_Tot<WEEK4$> = 0
|
|
|
|
|
|
* Build Date Locator array (defines date buckets)
|
|
|
|
Today = date()
|
|
|
|
DateLocatorArray = Today ;* Today
|
|
DateLocatorArray<2> = Today+1 ;* Tommorrow
|
|
DateLocatorArray<3> = Today+2 ;* Day after tommorrow
|
|
DateLocatorArray<4> = Today+6 ;* Days 3 thru 7
|
|
DateLocatorArray<5> = Today+13 ;* Next week
|
|
DateLocatorArray<6> = Today+20 ;* Week after next
|
|
DateLocatorArray<7> = Today+9999 ;* Rest of the next 30 years
|
|
|
|
ThisPSN = ''
|
|
OrigPSN = ''
|
|
|
|
* Baby, this thing gives me GAS gauge
|
|
|
|
Def = ''
|
|
Def<MCAPTION$> = 'Building BLISS Report...'
|
|
Def<MTYPE$> = 'G'
|
|
Def<MEXTENT$> = @RECCOUNT
|
|
Def<MTEXTWIDTH$> = 600
|
|
MsgUp = Msg(@WINDOW,Def)
|
|
|
|
FirstLine = 1
|
|
Done = 0
|
|
ReadCnt = 0
|
|
|
|
|
|
MakeupBoxes = ''
|
|
|
|
LOOP
|
|
READNEXT WOMatKey ELSE Done = 1
|
|
UNTIL Done
|
|
|
|
READ WOMatRec FROM WOMatTable, WOMatKey ELSE
|
|
Msg(@WINDOW,MsgUp)
|
|
Msg( '', 'Unable to read ':WOMatKey:' from WO_MAT Table...' )
|
|
RETURN
|
|
END
|
|
|
|
ReadCnt += 1
|
|
|
|
Msg(@WINDOW, MsgUp, ReadCnt, MSGINSTUPDATE$) ;* Updates the gas gauge
|
|
|
|
WOStepKey = XLATE('WO_LOG',WOMatKey[1,'*'],WO_LOG_WO_STEP_KEY$,'X')
|
|
IF INDEX(WOStepKey,@VM,1) THEN
|
|
WOStepKey = FIELD(WOStepKey,@VM,2)
|
|
END
|
|
|
|
ThisPSN = XLATE('WO_STEP',WOStepKey,1,'X')
|
|
|
|
|
|
IF ( ThisPSN <> OrigPSN ) AND ( OrigPSN <> '' ) THEN
|
|
GOSUB PrintPSNLine
|
|
END
|
|
|
|
OrigPSN = ThisPSN
|
|
|
|
|
|
WafersOnHand = 0
|
|
|
|
ReceivedQty = 0
|
|
PreEpiQty = 0
|
|
InProcessQty = 0
|
|
PostEpiQty = 0
|
|
ReadyToShipQty = 0
|
|
HoldQty = 0
|
|
MakeupQty = 0
|
|
|
|
|
|
RepStatuses = XLATE('WO_MAT',WOMatKey,'REP_STATUS','X')
|
|
RepWfrCnts = XLATE('WO_MAT',WOMatKey,'REP_CURR_WFR_CNT','X')
|
|
CurrStatus = XLATE('WO_MAT',WOMatKEy,'CURR_STATUS','X')
|
|
|
|
IF INDEX(RepStatuses,@VM,1) THEN RepCnt = 2 ELSE RepCnt =1
|
|
|
|
FOR I = 1 TO RepCnt
|
|
RepStatus = TRIM(RepStatuses<1,I>)
|
|
RepWfrCnt = RepWfrCnts<1,I>
|
|
|
|
BEGIN CASE
|
|
CASE CurrStatus = 'RX' ; Bucket = 'RECVD'
|
|
CASE INDEX(RepStatus,'Hold',1) ; Bucket = 'HOLD'
|
|
CASE INDEX(RepStatus,'M/U',1) ; Bucket = 'MAKEUP'
|
|
CASE RepStatus = 'ASM - In Fab - Loaded' ; Bucket = 'INPROCESS'
|
|
CASE RepStatus = 'ASM - In Fab - QA Complete' ; Bucket = 'SHIP'
|
|
CASE RepStatus = 'ASM - In Fab - Ready for QA' ; Bucket = 'POST'
|
|
CASE RepStatus = 'ASM - In Fab - Ready to Load' ; Bucket = 'PRE'
|
|
CASE RepStatus = 'ASM - In Fab - Ready to Post Clean' ; Bucket = 'POST'
|
|
CASE RepStatus = 'ASM - In Fab - Ready to Start' ; Bucket = 'PRE'
|
|
CASE RepStatus = 'ASM - Ready to Ship - QA Complete' ; Bucket = 'SHIP'
|
|
CASE RepStatus = 'WMI - Ready to Pre Clean' ; Bucket = 'PRE'
|
|
CASE RepStatus = 'WMI - Ready to Use' ; Bucket = 'PRE'
|
|
CASE RepStatus = 'WMO - Building' ; Bucket = 'POST'
|
|
CASE RepStatus = 'WMO - Ready for QA' ; Bucket = 'POST'
|
|
CASE RepStatus = 'WMO - Ready to Post Clean' ; Bucket = 'POST'
|
|
CASE RepStatus = 'WMO - QA Complete' ; Bucket = 'SHIP'
|
|
CASE RepStatus = 'WMO - Ready to Ship' ; Bucket = 'SHIP'
|
|
CASE 1 ; Bucket = ''
|
|
|
|
END CASE
|
|
|
|
BEGIN CASE
|
|
CASE Bucket = 'RECVD'
|
|
ReceivedQty += RepWfrCnt
|
|
WafersOnHand += RepWfrCnt
|
|
|
|
CASE Bucket = 'HOLD'
|
|
HoldQty += RepWfrCnt
|
|
WafersOnHand += RepWfrCnt
|
|
|
|
CASE Bucket = 'MAKEUP'
|
|
MakeupQty += RepWfrCnt
|
|
*WafersOnHand += RepWfrCnt
|
|
|
|
CASE Bucket = 'INPROCESS'
|
|
InProcessQty += RepWfrCnt
|
|
WafersOnHand += RepWfrCnt
|
|
|
|
CASE Bucket = 'SHIP'
|
|
ReadyToShipQty += RepWfrCnt
|
|
WafersOnHand += RepWfrCnt
|
|
|
|
CASE Bucket = 'PRE'
|
|
PreEpiQty += RepWfrCnt
|
|
WafersOnHand += RepWfrCnt
|
|
|
|
CASE Bucket = 'POST'
|
|
PostEpiQty += RepWfrCnt
|
|
WafersOnHand += RepWfrCnt
|
|
|
|
END CASE
|
|
|
|
|
|
NEXT I
|
|
|
|
HoldQty_PSN_Tot += HoldQty
|
|
ReceivedQty_PSN_Tot += ReceivedQty
|
|
PreEpiQty_PSN_Tot += PreEpiQty
|
|
InProcessQty_PSN_Tot += InProcessQty
|
|
PostEpiQty_PSN_Tot += PostEpiQty
|
|
ReadyToShipQty_PSN_Tot += ReadyToShipQty
|
|
MakeupQty_PSN_Tot += MakeupQty
|
|
|
|
* Got the status total now update the daily/weekly totals
|
|
|
|
WONo = WOStepKey[1,'*']
|
|
CommitDate = XLATE('WO_LOG',WONo,WO_LOG_PROMISE_SHIP_DT$,'X')
|
|
|
|
LOCATE CommitDate IN DateLocatorArray BY 'AR' USING @FM SETTING DateCol THEN Null
|
|
|
|
DateArray_PSN_Tot<DateCol> = DateArray_PSN_Tot<DateCol> + WafersOnHand
|
|
|
|
REPEAT
|
|
|
|
Msg(@WINDOW,MsgUp) ;* Take down the gas gauge
|
|
|
|
GOSUB PrintPSNLine
|
|
|
|
|
|
* Print the total line at the bottom of the report
|
|
|
|
|
|
TotInFab_Grand_Tot = ReceivedQty_Grand_Tot + PreEpiQty_Grand_Tot + InProcessQty_Grand_Tot + PostEpiQty_Grand_Tot + ReadyToShipQty_Grand_Tot
|
|
TotInFab_Grand_Tot += MakeupQty_Grand_Tot
|
|
|
|
TFont<4> = 1
|
|
Void = Set_Printer( 'FONT', TFont )
|
|
|
|
colData = ''
|
|
colData<1,1> = 'Totals:'
|
|
colData<1,2> = 'NA'
|
|
colData<1,3> = 'NA'
|
|
colData<1,4> = '' ;* Dummy column
|
|
colData<1,5> = ''
|
|
colData<1,6> = ''
|
|
colData<1,7> = OCONV(ReceivedQty_Grand_Tot,'MD0,')
|
|
colData<1,8> = OCONV(PreEpiQty_Grand_Tot,'MD0,')
|
|
colData<1,9> = OCONV(InProcessQty_Grand_Tot,'MD0,')
|
|
colData<1,10> = OCONV(PostEpiQty_Grand_Tot,'MD0,')
|
|
colData<1,11> = OCONV(ReadyToShipQty_Grand_Tot,'MD0,')
|
|
colData<1,12> = OCONV(HoldQty_Grand_Tot,'MD0,')
|
|
colData<1,13> = OCONV(MakeupQty_Grand_Tot,'MD0,')
|
|
colData<1,14> = '' ;* Dummy column
|
|
colData<1,15> = ''
|
|
colData<1,16> = ''
|
|
colData<1,17> = OCONV(DateArray_Grand_Tot<DAY1$>,'MD0,')
|
|
colData<1,18> = OCONV(DateArray_Grand_Tot<DAY2$>,'MD0,')
|
|
colData<1,19> = OCONV(DateArray_Grand_Tot<DAY3$>,'MD0,')
|
|
colData<1,20> = OCONV(DateArray_Grand_Tot<WEEK1$>,'MD0,')
|
|
colData<1,21> = OCONV(DateArray_Grand_Tot<WEEK2$>,'MD0,')
|
|
colData<1,22> = OCONV(DateArray_Grand_Tot<WEEK3$>,'MD0,')
|
|
colData<1,23> = OCONV(DateArray_Grand_Tot<WEEK4$>,'MD0,')
|
|
|
|
GOSUB PrintTable
|
|
|
|
Void = Utility( 'CURSOR', 'A' )
|
|
Void = Set_Printer( 'TERM', 1 )
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
PrintPSNLine:
|
|
* * * * * * *
|
|
|
|
|
|
* Do printing logic for the OrigPSN
|
|
* Set all variables to null
|
|
|
|
Customer = XLATE( 'PROD_SPEC', OrigPSN, 'ABBREV_OR_CO_NAME', 'X' )
|
|
Thickness = OCONV( XLATE( 'PROD_SPEC', OrigPSN, 'THICK_TARGET_L1', 'X' ), 'MD2' )
|
|
|
|
IF ( sum( DateArray_PSN_Tot ) NE 0 ) OR ( ( HoldQty_PSN_Tot + ReceivedQty_PSN_Tot + PreEpiQty_PSN_Tot + InProcessQty_PSN_Tot + PostEpiQty_PSN_Tot + ReadyToShipQty_PSN_Tot ) NE 0 ) THEN
|
|
|
|
TotInFab_PSN_Tot = ReceivedQty_PSN_Tot + PreEpiQty_PSN_Tot + InProcessQty_PSN_Tot + PostEpiQty_PSN_Tot + ReadyToShipQty_PSN_Tot
|
|
*Makeup_PSN_Tot = OCONV( (( TotInFab_PSN_Tot - ReadyToShipQty_PSN_Tot )*.99), 'MD0' )
|
|
*Makeup_PSN_Tot += ReadyToShipQty_PSN_Tot
|
|
|
|
colData = ''
|
|
colData<1,1> = Customer
|
|
colData<1,2> = OrigPSN
|
|
colData<1,3> = Thickness
|
|
colData<1,4> = '' ;* Dummy column
|
|
colData<1,5> = ''
|
|
colData<1,6> = ''
|
|
colData<1,7> = OCONV(ReceivedQty_PSN_Tot,'MD0,')
|
|
colData<1,8> = OCONV(PreEpiQty_PSN_Tot,'MD0,')
|
|
colData<1,9> = OCONV(InProcessQty_PSN_Tot,'MD0,')
|
|
colData<1,10> = OCONV(PostEpiQty_PSN_Tot, 'MD0,')
|
|
colData<1,11> = OCONV(ReadyToShipQty_PSN_Tot,'MD0,')
|
|
colData<1,12> = OCONV(HoldQty_PSN_Tot,'MD0,')
|
|
colData<1,13> = OCONV(MakeupQty_PSN_Tot,'MD0,')
|
|
colData<1,14> = '' ;* Dummy column
|
|
colData<1,15> = ''
|
|
colData<1,16> = ''
|
|
colData<1,17> = OCONV(DateArray_PSN_Tot<DAY1$>,'MD0,')
|
|
colData<1,18> = OCONV(DateArray_PSN_Tot<DAY2$>,'MD0,')
|
|
colData<1,19> = OCONV(DateArray_PSN_Tot<DAY3$>,'MD0,')
|
|
colData<1,20> = OCONV(DateArray_PSN_Tot<WEEK1$>,'MD0,')
|
|
colData<1,21> = OCONV(DateArray_PSN_Tot<WEEK2$>,'MD0,')
|
|
colData<1,22> = OCONV(DateArray_PSN_Tot<WEEK3$>,'MD0,')
|
|
colData<1,23> = OCONV(DateArray_PSN_Tot<WEEK4$>,'MD0,')
|
|
|
|
GOSUB PrintTable
|
|
|
|
END
|
|
|
|
* Add PSN Level Totals to the Report Grand Totals
|
|
|
|
DateArray_Grand_Tot = DateArray_Grand_Tot +++ DateArray_PSN_Tot
|
|
ReceivedQty_Grand_Tot += ReceivedQty_PSN_Tot
|
|
PreEpiQty_Grand_Tot += PreEpiQty_PSN_Tot
|
|
InProcessQty_Grand_Tot += InProcessQty_PSN_Tot
|
|
PostEpiQty_Grand_Tot += PostEpiQty_PSN_Tot
|
|
ReadyToShipQty_Grand_Tot += ReadyToShipQty_PSN_Tot
|
|
HoldQty_Grand_Tot += HoldQty_PSN_Tot
|
|
MakeupQty_Grand_Tot += MakeupQty_PSN_Tot
|
|
|
|
* And then reset PSN level totals
|
|
|
|
ReceivedQty_PSN_Tot = 0
|
|
PreEpiQty_PSN_Tot = 0
|
|
InProcessQty_PSN_Tot = 0
|
|
PostEpiQty_PSN_Tot = 0
|
|
ReadyToShipQty_PSN_Tot = 0
|
|
HoldQty_PSN_Tot = 0
|
|
MakeupQty_PSN_Tot = 0
|
|
|
|
DateArray_PSN_Tot<DAY1$> = 0
|
|
DateArray_PSN_Tot<DAY2$> = 0
|
|
DateArray_PSN_Tot<DAY3$> = 0
|
|
DateArray_PSN_Tot<WEEK1$> = 0
|
|
DateArray_PSN_Tot<WEEK2$> = 0
|
|
DateArray_PSN_Tot<WEEK3$> = 0
|
|
DateArray_PSN_Tot<WEEK4$> = 0
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* * * * * * *
|
|
Bail:
|
|
* * * * * * *
|
|
|
|
stat = Set_Printer('TERM',1)
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
OIPrintErr:
|
|
* * * * * * *
|
|
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
ErrMsg(ErrorTitle:@SVM:'Set_Printer returned errorcode ':stat)
|
|
stat = Set_Printer('TERM',1)
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * *
|
|
PrintTable:
|
|
* * * * * *
|
|
|
|
stat = Set_Printer('CALCTABLE',colFmt:@FM:colData)
|
|
TableSize = Get_Printer('CALCTABLE')
|
|
TableHeight = TableSize<2>
|
|
Test = Get_Printer('POS')<2>
|
|
fontSpacing = 150
|
|
|
|
IF Get_Printer('POS')<2> + TableHeight > 7.0 OR FirstLine THEN
|
|
IF NOT(FirstLine) THEN
|
|
stat = Set_Printer('PAGEBREAK')
|
|
END
|
|
FirstLine = 0
|
|
font<2> = 8
|
|
font<4> = 1 ;* Bold
|
|
stat = Set_Printer('FONT',font,'100')
|
|
|
|
stat = Set_Printer('ADDTABLE',colFmt,colHdr,'',LTGREY$,'',0,TB_ALL)
|
|
|
|
|
|
font<4> = 0
|
|
stat = Set_Printer('FONT',font,fontSpacing)
|
|
|
|
stat = Set_Printer('ADDTABLE',colFmt,'',colData,LTGREY$,'',0,7)
|
|
|
|
END ELSE
|
|
font<2> = 8
|
|
font<4> = 0
|
|
stat = Set_Printer('FONT',font,fontSpacing)
|
|
stat = Set_Printer('ADDTABLE',colFmt,'',colData,LTGREY$,'',1,TB_ALL)
|
|
|
|
END
|
|
|
|
|
|
RETURN
|
|
|
|
|
|
|