908 lines
36 KiB
Plaintext
908 lines
36 KiB
Plaintext
COMPILE SUBROUTINE Print_Shipment_Dev(ShipNo, ShipRec, AutoPrint, HideUI)
|
|
#pragma precomp SRP_PreCompiler
|
|
|
|
DECLARE FUNCTION Msg,Set_Printer, Dialog_Box, Security_Check, FieldCount, ex_vm_rem, obj_WM_Out, SRP_Send_Mail
|
|
DECLARE FUNCTION Utility, Send_Event, Popup, Printer_Select, obj_Install,obj_RDS, obj_Shipment, Environment_Services
|
|
Declare function RTI_CreateGUID, Logging_Services, PrintSetup
|
|
|
|
DECLARE SUBROUTINE Msg, extract_si_keys, record_lock, security_err_msg, ErrMsg, Start_Window, obj_Tables, GetTempPath
|
|
DECLARE SUBROUTINE Print_Packing_Slip, Print_SRP, Print_Coc_Back, Print_Cust_Rds, Print_Vend_CofA, Print_NCR, PrintSetup
|
|
DECLARE SUBROUTINE Create_Note, Btree.Extract, Print_Cass_Out, obj_Export, Set_Status, obj_Notes, Logging_Services
|
|
Declare subroutine FTP_Services
|
|
|
|
$INSERT APPCOLORS
|
|
$INSERT COMPANY_EQUATES
|
|
$INSERT COC_EQUATES
|
|
$INSERT EXPORTS_EQU
|
|
$INSERT LOGICAL
|
|
$INSERT LSL_USERS_EQU
|
|
$INSERT MSG_EQUATES
|
|
$INSERT POPUP_EQUATES
|
|
$INSERT PROD_SPEC_EQUATES
|
|
$INSERT RDS_EQU
|
|
$INSERT RDS_LAYER_INFO_EQU
|
|
$INSERT QUOTE_EQU
|
|
$INSERT QUOTE_SIGS_EQU
|
|
$INSERT QUOTE_SPEC_EQU
|
|
$INSERT SCHEDULE_EQU
|
|
$INSERT SECURITY_RIGHTS_EQU
|
|
$INSERT OIPRINT_EQUATES
|
|
$INSERT RDS_TEST_EQUATES
|
|
$INSERT RDS_LAYER_EQUATES
|
|
$INSERT WO_STEP_EQU
|
|
$INSERT WO_LOG_EQUATES
|
|
$insert PRINTSETUP_EQUATES
|
|
$INSERT SRPMail_Inserts
|
|
|
|
* * * * * * * * * * * * * * * * Major Update Test Program - JCH * * * * * * * * * * * * * * *
|
|
|
|
If Assigned(HideUI) else HideUI = False$
|
|
If HideUI NE True$ then HideUI = False$
|
|
|
|
equ OutSpecThickLossCode$ to 'D1'
|
|
equ OutSpecResLossCode$ to 'D2'
|
|
|
|
EQU PI$LEFT TO 1 ;* OIPI page parameters
|
|
EQU PI$TOP TO 2
|
|
EQU PI$RIGHT TO 3
|
|
EQU PI$BOTTOM TO 4
|
|
EQU PI$WIDTH TO 5
|
|
EQU PI$HEIGHT TO 6
|
|
EQU PI$SIZE TO 7
|
|
|
|
* * *
|
|
Main:
|
|
* * *
|
|
|
|
|
|
IF NOT(ASSIGNED(ShipNo)) THEN RETURN
|
|
IF NOT(ASSIGNED(ShipRec)) THEN ShipRec = ''
|
|
If Not(Assigned(AutoPrint)) Then Autosend = ''
|
|
If Not(Assigned(AutoPrint)) Then AutoPrint = ''
|
|
IF ShipNo = '' THEN RETURN
|
|
|
|
IF ShipRec = '' THEN ShipRec = XLATE('COC',ShipNo,'','X')
|
|
|
|
ShipWONo = ShipRec<COC_WO$>
|
|
|
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\Shipment'
|
|
LogDate = Oconv(Date(), 'D4/')
|
|
LogTime = Oconv(Time(), 'MTS')
|
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : '.csv'
|
|
Headers = 'Logging DTM' : @FM: 'WorkOrderNo' : @FM : 'ShipNo' : @FM : 'Service Description'
|
|
ColumnWidths = 20 : @FM : 15 : @FM : 10 : @FM : 150
|
|
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ' ', Headers, ColumnWidths, False$, False$)
|
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
|
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Begin PRINT_SHIPMENT_DEV', @RM, @FM, '')
|
|
|
|
ShipRdsKeys = ShipRec<COC_RDS_NO$>
|
|
|
|
IF INDEX(ShipRdsKeys,@VM,1) THEN
|
|
|
|
testShipRdsKeys = ShipRdsKeys
|
|
CONVERT @VM TO '' IN testShipRdsKeys
|
|
|
|
IF testShipRdsKeys = '' AND ShipRdsKeys NE '' THEN
|
|
ShipRdsKeys = ''
|
|
END
|
|
|
|
END
|
|
|
|
ShipWOStepNos = ShipRec<COC_WO_STEP$>
|
|
ShipCassNos = ShipRec<COC_CASS_NO$>
|
|
ShipDt = OCONV(ShipRec<COC_SHIP_DT$>,'D4/')
|
|
|
|
ShipEpiPart = XLATE('COC',ShipNo,'EPI_PART_NO','X')
|
|
TotWfrsShip = XLATE('COC',ShipNo,'TOT_QTY','X')
|
|
|
|
SAPDelNo = ShipRec<COC_SAP_DEL_NO$>
|
|
|
|
|
|
|
|
WORec = XLATE('WO_LOG',ShipWONo,'','X')
|
|
|
|
CustNo = Xlate('COC', ShipNo, 'WO_CUST_NO_EX', 'X')
|
|
EpiPartNo = Xlate('COC', ShipNo, 'EPI_PART_NO_EX', 'X')
|
|
|
|
WOStepKeys = WORec<WO_LOG_WO_STEP_KEY$>
|
|
ProdOrdNo = WORec<WO_LOG_PROD_ORD_NO$>
|
|
|
|
WMOutKeys = ''
|
|
FOR I = 1 TO COUNT(ShipWOStepNos,@VM) + (ShipWOStepNos NE '')
|
|
WMOutKeys<1,I> = ShipWONo:'*':ShipWOStepNos<1,I>:'*':ShipCassNos<1,I> ;* These will drive this process when update of the RDS process is completed JCH 6/14/2006
|
|
NEXT I
|
|
|
|
If ( (ShipRDSKeys NE '') or (WMOutKeys NE '') ) then
|
|
// We have RDS or WM_OUT key(s), so go ahead and print
|
|
|
|
* Get printing options
|
|
|
|
PrintOpts = ''
|
|
eMailAddr = ''
|
|
eMailNames = ''
|
|
PDFFileName = ''
|
|
|
|
If AutoPrint = 1 Then
|
|
|
|
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTHS')
|
|
|
|
CompRec = Xlate('COMPANY', CustNo, '','X')
|
|
|
|
PrintOpts<1,1> = ''
|
|
PrintOpts<1,2> = CompRec<COMPANY_SHIP_COC_FRONT_COPIES$>
|
|
PrintOpts<1,3> = ''
|
|
PrintOpts<1,4> = CompRec<COMPANY_SHIP_COC_BACK_COPIES$>
|
|
PrintOpts<1,5> = ''
|
|
PrintOpts<1,6> = CompRec<COMPANY_SHIP_CUST_RDS$>
|
|
PrintOpts<1,7> = CompRec<COMPANY_SHIP_NCR_REJ$>
|
|
PrintOpts<1,8> = ''
|
|
PrintOpts<1,9> = CompRec<COMPANY_SHIP_VENDOR_COA$>
|
|
|
|
TestPrintOpts = PrintOpts
|
|
Convert @VM To '' In TestPrintOpts
|
|
|
|
IF TestPrintOpts = '' THEN Return
|
|
|
|
eMailNames = CompRec<COMPANY_SHIP_EMAIL_NAME$>
|
|
eMailAddr = CompRec<COMPANY_SHIP_EMAIL_NOTIF$>
|
|
CompName = CompRec<COMPANY_CO_NAME$>
|
|
ShipDocDir = CompRec<COMPANY_SHIP_DOC_DIR$> ;* Shipment directory name in COMPANY record
|
|
Swap 'R:' with Environment_Services('GetApplicationRootIP') : '\apps' in ShipDocDir
|
|
ShipDocFileName = CompRec<COMPANY_SHIP_DOC_FILE_NAME$> ;* Shipment .pdf filename format
|
|
|
|
IF ShipDocDir = '' OR ShipDocFileName = '' THEN RETURN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Auto Transmitting Shipment Documents ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
eMailPath = ShipDocDir:'\' ;* Ship_eMail path
|
|
|
|
IF ShipDocFileName = 'DLV' THEN
|
|
eMailFileName = ShipNo:'+':OCONV(ShipRec<COC_SHIP_DT$>,'D4-'):'+SHIPMENT' ;* JCH & DKK 11/30/2016 per customer request! :() :) tee hee hee
|
|
END ELSE
|
|
eMailFileName = ShipNo:'_':OCONV(ShipRec<COC_SHIP_DT$>,'D4-') ;* Ship_eMail filename **************** Needs changed for specific customers **************
|
|
END
|
|
|
|
TruePDFFileName = eMailPath:eMailFileName:'.pdf'
|
|
PDFFileName = Str(\00\, 1024)
|
|
GetTempPath(Len(PDFFileName), PDFFileName)
|
|
Convert \00\ to '' in PDFFileName
|
|
PDFFileName := RTI_CreateGUID() : '.pdf'
|
|
|
|
SWAP @VM WITH ',' in eMailAddr ;* List of email addresses to use in eMail process
|
|
SWAP @VM WITH ', ' in eMailNames ;* Names of recipients
|
|
|
|
eMailAddr = 'daniel.stieber@infineon.com'
|
|
eMailAddr := ',jonathan.ouellette@infineon.com'
|
|
|
|
Message = ''
|
|
Message<-1> = ''
|
|
Message<-1> = 'Delivery No: ':ShipRec<COC_SAP_DEL_NO$>
|
|
Message<-1> = ''
|
|
Message<-1> = 'Ship No: ':ShipNo
|
|
Message<-1> = ''
|
|
Message<-1> = 'Shipped To: ':CustNo:' - ':CompName
|
|
Message<-1> = ''
|
|
Message<-1> = 'Epi Part No: ':EpiPartNo
|
|
Message<-1> = ''
|
|
Message<-1> = 'Total Wafers: ':TotWfrsShip
|
|
Message<-1> = ''
|
|
Message<-1> = 'Shipment Documents Attached'
|
|
|
|
eMailText = ''
|
|
eMailText<-1> = 'Automatic eMail from: Infineon Epi Services at ':CurrDTM
|
|
eMailText<-1> = ''
|
|
eMailText<-1> = 'Recipients: ':eMailNames
|
|
eMailText<-1> = ''
|
|
eMailText<-1> = 'Subject: Automated Shipment Notification'
|
|
eMailText<-1> = ''
|
|
eMailText<-1> = 'Message: '
|
|
eMailText<-1> = ''
|
|
eMailText<-1> = Message
|
|
eMailText<-1> = ''
|
|
|
|
eMailHeader = eMailText<1>
|
|
|
|
CONVERT \00\ TO ',' IN eMailText
|
|
SWAP @VM WITH ':@VM:' IN eMailText
|
|
SWAP @FM WITH CHAR(13):CHAR(10) IN eMailText
|
|
SWAP @TM WITH CHAR(13):CHAR(10) IN eMailText
|
|
|
|
End ELSE
|
|
|
|
PrintOpts = Dialog_Box( 'DIALOG_SHIP_PRINT_OPTS', @WINDOW, CustNo:'*':EpiPartNo )
|
|
|
|
IF PrintOpts = '' THEN RETURN
|
|
|
|
End ;* End of Check for AutoPrint Flag
|
|
|
|
PrintFrontPage = PrintOpts<1,1>
|
|
FrontPageCopies = PrintOpts<1,2>
|
|
PrintBackPage = PrintOpts<1,3>
|
|
BackPageCopies = PrintOpts<1,4>
|
|
ShipType = PrintOpts<1,5>
|
|
CustRDSs = PrintOpts<1,6>
|
|
NCRRejCnt = PrintOpts<1,7>
|
|
PrintPDF = PrintOpts<1,8> ;* 01/27/04 JCH
|
|
VendorCOA = PrintOpts<1,9> ;* 04/02/04 JCH
|
|
|
|
* Following Fills PageCopies if PrintOpts were entered by the Dialog Box and the PageCopies was not filled in
|
|
|
|
If FrontPageCopies = '' Then ;*
|
|
If PrintFrontPage = 1 Then
|
|
FrontPageCopies = 1
|
|
End Else
|
|
FrontPageCopies = 0
|
|
End
|
|
End
|
|
|
|
If BackPageCopies = '' Then
|
|
If PrintBackPage = 1 Then
|
|
BackPageCopies = 1
|
|
End Else
|
|
BackPageCopies = 0
|
|
End
|
|
End
|
|
|
|
If FrontPageCopies = '' Then FrontPageCopies = 0 ;* This stays after the dialog box is updated
|
|
If BackPageCopies = '' Then BackPageCopies = 0
|
|
|
|
* Initialize Common Printer parms
|
|
|
|
PageInfo = ''
|
|
PageInfo<PI$LEFT> = 0.5 ;* Margins
|
|
PageInfo<PI$TOP> = 1.35
|
|
PageInfo<PI$RIGHT> = 0.5
|
|
PageInfo<PI$BOTTOM> = 0.25
|
|
|
|
PageSetup = '0' ;* Portrait
|
|
Models = ''
|
|
Printers = ''
|
|
Default = ''
|
|
PrinterCount = PrintSetup(PRN_GET$, Models, Printers, Default)
|
|
|
|
IF PrintPDF THEN
|
|
|
|
FileNameParms = 'Printing PDF Document':@FM: '' :@FM:'':@FM: ''
|
|
TitleParms = 'Shipping Documents'
|
|
|
|
PrintSetup = ''
|
|
PrintSetup<1,1> = '2' ;* Preview Normal
|
|
PrintSetup<1,2> = '5' ;* Display Print and PDF buttons
|
|
PrintSetup<1,3> = '0' ;* Display Printing Window
|
|
PrintSetup<1,4> = '0' ;* Normal Start Mode
|
|
|
|
PrinterParm = ''
|
|
PrinterParm<1, 1> = 'Microsoft XPS Document Writer'
|
|
PrinterParm<1, 2> = False$ ; // Do not set Windows default printer to this printer
|
|
PrinterParm<2> = 'Ne00:' ; // Printer port
|
|
PrinterParm<3> = 100 ; // Scale
|
|
PrinterParm<4> = '' ; // Bin Number
|
|
|
|
StartTime = Time()
|
|
Loop
|
|
TimeElapsed = Time() - StartTime
|
|
stat = Set_Printer('INIT', FileNameParms, 'Shipping Documents', PageInfo, PageSetup, PrintSetup, PrinterParm)
|
|
While ( (Stat LT 0) and (TimeElapsed LT 60) )
|
|
Repeat
|
|
|
|
If Stat LT 0 then
|
|
EmailAddresses = 'daniel.stieber@infineon.com,jonathan.ouellette@infineon.com'
|
|
EmailMessage = LoggingDTM : ' ' : 'WONo = ' : ShipWONo : ', ShipNo = ' : ShipNo : ', INIT Stat = ' : Stat
|
|
end else
|
|
EmailAddresses = ''
|
|
EmailMessage = ''
|
|
end
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Called INIT Method. Stat : ' : Stat, @RM, @FM, '', EmailAddresses, EmailMessage)
|
|
|
|
END ELSE
|
|
|
|
IF AutoPrint = 1 THEN
|
|
|
|
FileNameParms = 'Printing PDF Document'
|
|
FileNameParms<3> = 6 ;* Export to PDF
|
|
FileNameParms<4> = PDFFileName ;* Filename to export pdf file to
|
|
|
|
TitleParms = 'Shipping Documents'
|
|
|
|
PrintSetup = ''
|
|
PrintSetup<1,1> = '2' ;* Preview Normal
|
|
PrintSetup<1,3> = '0' ;* Hide Printing Window
|
|
PrintSetup<1,4> = '3' ;* Start completely hidden
|
|
|
|
END ELSE
|
|
PrintSetup = '0' ;* Print to printer without preview
|
|
END
|
|
|
|
PrinterParm = ''
|
|
PrinterParm<1, 1> = 'Microsoft XPS Document Writer'
|
|
PrinterParm<1, 2> = False$ ; // Do not set Windows default printer to this printer
|
|
PrinterParm<2> = 'Ne00:' ; // Printer port
|
|
PrinterParm<3> = 100 ; // Scale
|
|
PrinterParm<4> = '' ; // Bin Number
|
|
stat = Set_Printer('INIT', FileNameParms, TitleParms, PageInfo, PageSetup, PrintSetup, PrinterParm)
|
|
|
|
If Stat LT 0 then
|
|
EmailAddresses = 'daniel.stieber@infineon.com,jonathan.ouellette@infineon.com'
|
|
EmailMessage = LoggingDTM : ' ' : 'WONo = ' : ShipWONo : ', ShipNo = ' : ShipNo : ', INIT Stat = ' : Stat
|
|
end else
|
|
EmailAddresses = ''
|
|
EmailMessage = ''
|
|
end
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Called INIT Method. Stat : ' : Stat, @RM, @FM, '', EmailAddresses, EmailMessage)
|
|
|
|
END
|
|
|
|
If HideUI EQ False$ then Msg(@window, MsgUp) ;* Msg box down
|
|
|
|
PrinterInitialized = 1
|
|
|
|
font = 'Arial' ;* Font basics
|
|
font<2> = 10
|
|
font<4> = 0
|
|
|
|
stat = Set_Printer('FONTHEADFOOT', font)
|
|
|
|
stat = Set_Printer('LINESTYLE', PS_SOLID:@FM:2)
|
|
stat = Set_Printer('LINE', -0.1:@FM:-1.2:@FM:7.7:@FM:-1.2, 1)
|
|
stat = Set_Printer('LINE', -0.1:@FM:-0.1:@FM:7.7:@FM:-0.1, 1)
|
|
|
|
location = -.15:@fm:-1.150:@fm:1.57:@fm:1
|
|
stat = Set_Printer('BMP',obj_Install('Get_Prop','ColorBMP'),location, 0,1)
|
|
|
|
font = 'Arial'
|
|
font<2> = '18' ;* Big type
|
|
font<4> = 1 ;* Bold on
|
|
font<5> = 1 ;* Italics
|
|
|
|
font<2> = 12 ;* Drop the font size
|
|
font<5> = 0 ;* Italics off
|
|
|
|
Company = obj_Install('Get_Prop','Company')
|
|
Division = obj_Install('Get_Prop','Division')
|
|
|
|
font = 'Arial'
|
|
font<2> = '12' ;* Big type
|
|
font<4> = 1 ;* Bold on
|
|
font<5> = 0 ;* Italics
|
|
|
|
stat = Set_Printer('TEXTXY',Company,5.7:@FM:-1.15,font,1)
|
|
|
|
font<2> = 10 ;* 10 point font
|
|
font<4> = 0 ;* Bold off
|
|
font<5> = 0 ;* Italics Off
|
|
|
|
stat = Set_Printer('TEXTXY',obj_Install('Get_Prop','Address'),5.7:@fm:-0.775,font,1)
|
|
stat = Set_Printer('TEXTXY',obj_Install('Get_Prop','CSZC'),5.7:@fm:-0.625,font,1)
|
|
stat = Set_Printer('TEXTXY','Tel: ':obj_Install('Get_Prop','Phone'),5.7:@fm:-0.475,font,1)
|
|
stat = Set_Printer('TEXTXY','FAX: ':obj_Install('Get_Prop','FAX'),5.7:@fm:-0.325,font,1)
|
|
|
|
stat = Set_Printer('TEXTXY','Shipment No: ':ShipNo,3.0:@FM:-0.325,font,1)
|
|
|
|
IF ShipRec<COC_SAP_DEL_NO$> NE '' THEN
|
|
SAPDelNo = ShipRec<COC_SAP_DEL_NO$>
|
|
stat = Set_Printer('TEXTXY','SAP Delivery No: ':SAPDelNo,2.8:@FM:-0.525,font,1)
|
|
END
|
|
|
|
|
|
WOStepCnt = COUNT(WOStepKeys,@VM) + (WOStepKeys NE '')
|
|
|
|
FOR WOStep = 1 TO WOStepCnt
|
|
|
|
IF WOStep > 1 THEN
|
|
stat = Set_Printer('PAGEBREAK')
|
|
END
|
|
|
|
IF WOStep NE WOStepCnt THEN
|
|
|
|
Parms = ShipNo:@RM:WOStep:@RM:ShipRDSKeys:@RM:ShipRec
|
|
PrintRDSKeys = obj_Shipment('PrevStepRDSNos',Parms)
|
|
|
|
PrintWMOutKeys = ''
|
|
|
|
FOR I = 1 TO COUNT(PrintRDSKeys,@VM) + (PrintRDSKeys NE '')
|
|
LOCATE PrintRDSKeys<1,I> IN ShipRDSKeys USING @VM SETTING Pos THEN
|
|
PrintWMOutKeys<1,I> = WMOutKeys<1,Pos>
|
|
END
|
|
NEXT I
|
|
|
|
END ELSE
|
|
PrintRdsKeys = ShipRdsKeys
|
|
PrintWMOutKeys = WMOutKeys
|
|
END
|
|
|
|
IF WOStep = 1 THEN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing Packing Slip ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
Print_Packing_Slip( ShipNo, '', '', PrinterInitialized, HideUI) ;* Two copies of the packing slip
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW, MsgUp)
|
|
|
|
END
|
|
|
|
IF FrontPageCopies > 0 THEN
|
|
stat = Set_Printer('PAGEBREAK')
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing COC Front ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
FOR H = 1 TO FrontPageCopies
|
|
font = 'Arial'
|
|
font<2> = '18' ;* Big type
|
|
font<4> = 1 ;* Bold on
|
|
font<5> = 1 ;* Italics
|
|
stat = Set_Printer('TEXTXY','Certificate of Compliance',2.1:@FM:-0.80,font,0)
|
|
|
|
font<2> = 12 ;* Normal size
|
|
font<4> = 0 ;* Bold off
|
|
font<5> = 0 ;* Italics off
|
|
|
|
GOSUB PrintCocFront
|
|
|
|
NEXT H
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW, MsgUp)
|
|
END
|
|
|
|
|
|
IF BackPageCopies > 0 THEN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing COC Back ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
FOR H = 1 TO BackPageCopies
|
|
stat = Set_Printer('PAGEBREAK')
|
|
* false for not prelim, is is a full shipment and no email addresses
|
|
Print_Coc_Back( PrintRdsKeys, PrintWMOutKeys, false$, '', PrintOnly, ShipDt, HideUI, ShipNo)
|
|
NEXT H
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW, MsgUp)
|
|
END
|
|
|
|
IF CustRDSs AND PrintRDSKeys NE '' THEN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing Cust RDS sheets ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
CustRDSPrintRdsKeys = PrintRdsKeys
|
|
CONVERT @VM TO @FM IN CustRDSPrintRdsKeys
|
|
PrintPath = ''
|
|
Print_Cust_Rds( CustRDSPrintRdsKeys, PrintWMOutKeys, PrintOnly, PrintPath, PDFFileName,PrinterInitialized, HideUI)
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW,MsgUp)
|
|
END
|
|
|
|
IF WMOutKeys NE '' THEN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing Cass Data Sheets ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
PrintCDSKeys = WMOutKeys
|
|
CONVERT @VM TO @FM IN PrintCDSKeys
|
|
Print_Cass_Out( PrintCDSKeys, PrintOnly, PrintPath, PDFFileName,PrinterInitialized, HideUI)
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW,MsgUp)
|
|
END
|
|
|
|
IF VendorCOA THEN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing Vendor COA sheets ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
AllLotNos = XLATE('RDS',PrintRdsKeys,rds_lot_num$,'X')
|
|
VendLotNos = ''
|
|
FOR A = 1 TO COUNT(AllLotNos,@VM) + (AllLotNos NE '')
|
|
AllLotNo = AllLotNos<1,A>
|
|
LOCATE AllLotNo IN VendLotNos BY 'AR' USING @VM SETTING Pos ELSE
|
|
VendLotNos = INSERT(VendLotNos,1,Pos,0,AllLotNo)
|
|
END
|
|
NEXT A
|
|
OPEN 'DICT.COA' TO DictVar THEN
|
|
SearchString = 'LOT_NO':@VM:VendLotNos:@FM
|
|
CoaKey = ''
|
|
Option = ''
|
|
Flag = ''
|
|
CoaKeys = ''
|
|
Btree.Extract(SearchString, 'COA', DictVar, CoaKeys, Option, Flag)
|
|
FOR VendCoa = 1 TO COUNT(CoaKeys,@VM) + (CoaKeys NE '')
|
|
Print_Vend_CofA(CoaKeys<1,VendCoa>,PrintPath, PDFFileName, PrinterInitialized, HideUI)
|
|
NEXT VendCoa
|
|
END
|
|
If HideUI EQ False$ then Msg(@WINDOW,MsgUp)
|
|
END
|
|
|
|
NCRRDsPrintIDs = ''
|
|
IF ( NCRRejCnt <> '' ) THEN
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing NCR Sheets ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
NCRRDSPrintRdsKeys = PrintRdsKeys
|
|
CONVERT @VM TO @FM IN NCRRDSPrintRdsKeys
|
|
Ncnt = COUNT( NCRRDSPrintRdsKeys, @FM ) + (NCRRDSPrintRdsKeys NE '')
|
|
NCRPrn = ''
|
|
FOR I = 1 TO Ncnt
|
|
|
|
NCRIds = XLATE('RDS',NCRRDSPrintRdsKeys<I>,RDS_NCR_KEYS$,'X')
|
|
RDSRejCnt = SUM(XLATE('NCR',NCRIds,'REJ_CNT','X'))
|
|
IF RDSRejCnt >= NCRRejCnt THEN
|
|
NCRPrn<1,-1> = NCRIds
|
|
END
|
|
NEXT I
|
|
|
|
|
|
CONVERT @VM TO @FM IN NCRPrn
|
|
SuppliedBy = XLATE( 'PROD_SPEC', xlate( 'RDS', PrintRdsKeys<1,1>, rds_prod_spec_id$, 'X' ), 'SUB_SUPPLIED_BY', 'X' )
|
|
|
|
IF SuppliedBy = 'C' THEN ;* Wafers are supplied by the customer so print the NCRS
|
|
IF NCRPrn <> '' THEN
|
|
* Print the NCRs that are over the ncr_rej cnt
|
|
IF Security_Check( 'NCR', Print$ ) THEN
|
|
Print_NCR( NCRPrn, '', PrintOnly, PrintPath, PDFFileName ,PrinterInitialized, HideUI)
|
|
END ELSE
|
|
If HideUI EQ False$ then Security_Err_Msg( 'NCR', Print$ )
|
|
END
|
|
END
|
|
END ;* End of check for SuppliedBy = 'C'
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW,MsgUp)
|
|
|
|
END ;* End of check for NCRRecCnt NE ''
|
|
|
|
* Now print the SRP plot if there are any
|
|
|
|
SRPScanPrintRdsKeys = PrintRdsKeys
|
|
CONVERT @VM TO @FM IN SRPScanPrintRdsKeys
|
|
SRPPointers = xlate( 'RDS', SRPScanPrintRdsKeys, 'SRP_PROFILE_PATH', 'X' )
|
|
|
|
SRPCnt = COUNT( SRPPointers, @fm ) + (SRPPointers NE '')
|
|
|
|
IF SRPCnt > 0 THEN
|
|
Def = ""
|
|
Def<MTEXT$> = 'Printing SRP sheets ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
FOR I = 1 TO SRPCnt
|
|
TheseSRPs = SRPPointers<I>
|
|
Pcnt = COUNT( TheseSRPs, @vm ) + (TheseSRPs NE '')
|
|
FOR J = 1 TO Pcnt
|
|
ThisSRP = TheseSRPs<1,J>
|
|
IF ThisSRP NE '' THEN
|
|
Print_SRP( ThisSRP, PrintPath, PDFFileName , PrinterInitialized, HideUI)
|
|
END
|
|
NEXT J
|
|
NEXT I
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW,MsgUp)
|
|
|
|
END
|
|
NEXT WOStep
|
|
|
|
Stat = Set_Printer('TERM')
|
|
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Called TERM Method', @RM, @FM, '')
|
|
|
|
Success = Utility('COPYFILE', PDFFileName, TruePDFFileName)
|
|
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Called COPYFILE Method', @RM, @FM, '')
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' SourceFile : ' : PDFFileName, @RM, @FM, '')
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' DestFile : ' : TruePDFFileName, @RM, @FM, '')
|
|
LengthSourceFile = Dir(PDFFileName)<1>
|
|
LengthDestFile = Dir(TruePDFFileName)<1>
|
|
If Success NE True$ then
|
|
EmailAddresses = 'dstieber@srpcs.com,francois.rivard@infineon.com,dan.crisp@infineon.com,jonathan.ouellette@infineon.com'
|
|
EmailMessage = LoggingDTM : ' ' : 'WONo = ' : ShipWONo : ', ShipNo = ' : ShipNo : ', COPYFILE Success = ' : Success
|
|
end else
|
|
EmailAddresses = ''
|
|
EmailMessage = ''
|
|
end
|
|
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' COPYFILE Success : ' : Success, @RM, @FM, '', EmailAddresses, EmailMessage)
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Length of SourceFile : ' : LengthSourceFile, @RM, @FM, '')
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' Length of DestFile : ' : LengthDestFile, @RM, @FM, '')
|
|
|
|
If Success then
|
|
OSDelete PDFFileName
|
|
|
|
Begin Case
|
|
|
|
Case CustNo EQ '7127'
|
|
// Samsung
|
|
Host = 'sFTPNA.extra.infineon.com'
|
|
Username = 'DNAMesaFI-FTP'
|
|
Password = 'OpenInsight2018....!'
|
|
RemoteDirectory = '/Samsung'
|
|
ProcessDirectory = Environment_Services('GetApplicationRootPath') : '\Ship_Processed\Samsung\'
|
|
SSH = True$
|
|
FTP_Services('PostRequest', 'put', Host, 'MESSA01EC', TruePDFFileName, '', Username, Password, '', RemoteDirectory, '', '', True$, SSH, ProcessDirectory, 3, False$)
|
|
|
|
Case CustNo EQ '7126'
|
|
// SGM
|
|
Host = 'sFTPNA.extra.infineon.com'
|
|
Username = 'DNAMesaFI-FTP'
|
|
Password = 'OpenInsight2018....!'
|
|
RemoteDirectory = '/SGM'
|
|
ProcessDirectory = Environment_Services('GetApplicationRootPath') : '\Ship_Processed\SGM\'
|
|
SSH = True$
|
|
FTP_Services('PostRequest', 'put', Host, 'MESSA01EC', TruePDFFileName, '', Username, Password, '', RemoteDirectory, '', '', True$, SSH, ProcessDirectory, 3, False$)
|
|
|
|
Case CustNo EQ '7102' OR CustNo EQ '7125'
|
|
// Vanguard
|
|
Host = 'sFTPNA.extra.infineon.com'
|
|
Username = 'DNAMesaFI-FTP'
|
|
Password = 'OpenInsight2018....!'
|
|
RemoteDirectory = '/Vanguard'
|
|
ProcessDirectory = Environment_Services('GetApplicationRootPath') : '\Ship_Processed\Vanguard\'
|
|
SSH = True$
|
|
FTP_Services('PostRequest', 'put', Host, 'MESSA01EC', TruePDFFileName, '', Username, Password, '', RemoteDirectory, '', '', True$, SSH, ProcessDirectory, 3, False$)
|
|
|
|
Case CustNo EQ '7108'
|
|
// Episil
|
|
Host = 'sFTPNA.extra.infineon.com'
|
|
Username = 'DNAMesaFI-FTP'
|
|
Password = 'OpenInsight2018....!'
|
|
RemoteDirectory = '/Episil'
|
|
ProcessDirectory = Environment_Services('GetApplicationRootPath') : '\Ship_Processed\EpiSil\'
|
|
SSH = True$
|
|
FTP_Services('PostRequest', 'put', Host, 'MESSA01EC', TruePDFFileName, '', Username, Password, '', RemoteDirectory, '', '', True$, SSH, ProcessDirectory, 3, False$)
|
|
|
|
Case CustNo EQ '7053'
|
|
// Tower
|
|
Host = 'sFTPNA.extra.infineon.com'
|
|
Username = 'DNAMesaFI-FTP'
|
|
Password = 'OpenInsight2018....!'
|
|
RemoteDirectory = '/Tower'
|
|
ProcessDirectory = Environment_Services('GetApplicationRootPath') : '\Ship_Processed\Tower\'
|
|
SSH = True$
|
|
FTP_Services('PostRequest', 'put', Host, 'MESSA01EC', TruePDFFileName, '', Username, Password, '', RemoteDirectory, '', '', True$, SSH, ProcessDirectory, 3, False$)
|
|
|
|
Case CustNo EQ '6874' OR CustNo EQ '7055'
|
|
// Wales/Newport
|
|
Host = 'sFTPNA.extra.infineon.com'
|
|
Username = 'DNAMesaFI-FTP'
|
|
Password = 'OpenInsight2018....!'
|
|
RemoteDirectory = '/Newport'
|
|
ProcessDirectory = Environment_Services('GetApplicationRootPath') : '\Ship_Processed\Newport\'
|
|
SSH = True$
|
|
FTP_Services('PostRequest', 'put', Host, 'MESSA01EC', TruePDFFileName, '', Username, Password, '', RemoteDirectory, '', '', True$, SSH, ProcessDirectory, 3, False$)
|
|
|
|
End Case
|
|
end
|
|
Transfer TruePDFFileName to PDFFileName
|
|
|
|
|
|
IF eMailAddr NE '' THEN
|
|
|
|
* * * * * * * * Get and eMail documents
|
|
|
|
InitDir eMailPath:'*.pdf'
|
|
FileList = DirList()
|
|
|
|
*** Parameter setup of SRP_Send_Mail ***
|
|
|
|
ConfigFile = ''
|
|
ConfigFile<1> = SendUsing_Port$
|
|
ConfigFile<2> = ''
|
|
ConfigFile<3> = 25 ;// Server port
|
|
ConfigFile<4> = 'smtp.intra.infineon.com' ;// Infineon Mail Server
|
|
ConfigFile<5> = Yes$ ;// Authenticate
|
|
ConfigFile<6> = 'oinotify@infineon.com' ;// Username ********************* Suspected Problem *******************
|
|
ConfigFile<7> = 'oinotify1' ;// Password ********************* Suspected Problem *******************
|
|
ConfigFile<8> = No$ ;// Use SSL
|
|
SentFrom = 'oinotify@infineon.com' ;* Sent From eMail addr
|
|
SendTo = eMailAddr ;* eMailAddr (comma separated)
|
|
Message = ''
|
|
Message<1> = eMailHeader ; // Subject
|
|
Message<2> = SentFrom ; // From (email address)
|
|
Message<3> = SendTo ; // Send to (email address)
|
|
Message<5> = '' ; // Blind Carbon Copy (email address)
|
|
Message<6> = '' ; // Reply To (email address)
|
|
Message<7> = 'TEXT' ; // Content Type (TEXT or HTML)
|
|
Message<8> = eMailText ; // Content / Body
|
|
Message<9> = PDFFileName ; // Attachment(s) (path to file name(s))
|
|
|
|
Def = ""
|
|
Def<MTEXT$> = 'Sending eMail w/attachements ':ShipNo:'...'
|
|
Def<MTYPE$> = "U"
|
|
|
|
If HideUI EQ False$ then MsgUp = Msg(@window, Def)
|
|
|
|
MsgSent = 1
|
|
|
|
If HideUI EQ False$ then Msg(@WINDOW,MsgUp)
|
|
|
|
mbParms = 'SHIP_EMAIL_QUEUE':@RM:ShipNo:@RM:@RM
|
|
IF MsgSent = 1 THEN
|
|
NULL
|
|
/* Prevent deleting the shippment numbers from the queue after clicking on the "Transmit" button */
|
|
|
|
END ELSE
|
|
Set_Status(0)
|
|
TypeOver = ''
|
|
TypeOver<MTEXT$> = 'eMail Server Error'
|
|
If HideUI EQ False$ then void = Msg(@WINDOW,TypeOver,'TWO_SECONDS')
|
|
END
|
|
|
|
* * * * * * * * * * * * * End of eMail section
|
|
|
|
END ELSE
|
|
NULL
|
|
/* Prevent deleting the shippment numbers from the queue after clicking on the "Transmit" button */
|
|
|
|
END ;* End of check for AutoPrint
|
|
|
|
Logging_Services('AppendLog', objLog, LoggingDTM : @FM : ShipWONO : @FM: ShipNo : @FM : ' End PRINT_SHIPMENT_DEV', @RM, @FM, '')
|
|
end
|
|
|
|
RETURN ''
|
|
|
|
|
|
* * * * * * *
|
|
PrintCocFront:
|
|
* * * * * * *
|
|
|
|
ShipDt = OCONV(ShipRec<COC_SHIP_DT$>,'D4/')
|
|
|
|
IF XLATE('COC',ShipNo,'WO_CUST_NO','X') = '7067' THEN
|
|
CustAddrInfo = XLATE('COC',ShipNo,'ORD_SHIP_TO_INFO','X') ;* Added customer specific code 3/4/2010 JCH
|
|
END ELSE
|
|
CustAddrInfo = XLATE('COC',ShipNo,'ORD_BILL_TO_INFO','X')
|
|
END
|
|
|
|
SWAP @TM WITH CRLF$ IN CustAddrInfo
|
|
|
|
* Bill to and Ship to information
|
|
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
|
|
colFormat = '>1440'
|
|
colFormat<1,2> = '<9360'
|
|
|
|
colData = 'Ship Dt:'
|
|
colData<1,2> = ShipDt
|
|
colData<3,1> = 'Customer:'
|
|
colData<3,2> = CustAddrInfo
|
|
|
|
font<1> = 'Courier New'
|
|
font<2> = 12
|
|
font<4> = 0
|
|
|
|
stat = Set_Printer('FONT',font)
|
|
|
|
stat = Set_Printer('ADDTABLE',colFormat,'',colData,'','',1,TB_NONE)
|
|
|
|
stat = Set_Printer('TEXT')
|
|
|
|
PSNo = XLATE('WO_STEP',ShipWONo:'*':WOStep,WO_STEP_PROD_SPEC_ID$,'X')
|
|
|
|
Dopant = XLATE('PROD_SPEC',PSNo,'DOPANT_L1','X')
|
|
Recipe = XLATE('PROD_SPEC',PSNo,'RECIPE_NAME','X')
|
|
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
|
|
colFormat = '<10800'
|
|
|
|
colData = 'The enclosed material has been manufactured, inspected and/or tested in the'
|
|
colData := ' U.S.A. in accordance with specifications outlined on your purchase order.'
|
|
|
|
font<1> = 'Courier New'
|
|
font<2> = 10
|
|
font<4> = 0 ;* Bold off
|
|
font<5> = 0 ;* Italic off
|
|
|
|
stat = Set_Printer('FONT',font)
|
|
|
|
stat = Set_Printer('ADDTABLE',colFormat,'',colData,'','',1,TB_NONE)
|
|
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
|
|
IF WOStepCnt = 1 THEN
|
|
PrintWO = ShipWONo
|
|
END ELSE
|
|
PrintWO = ShipWONo:'.':WOStep
|
|
END
|
|
|
|
font<1> = 'Courier New'
|
|
font<2> = 10
|
|
font<4> = 1 ;* Bold on
|
|
|
|
stat = Set_Printer('FONT',font)
|
|
|
|
IF ProdOrdNo = '' THEN
|
|
colData = 'This material was processed as Work Order Number: ':quote( PrintWO ):' and manufactured under process control recipe ':quote(Recipe):'.'
|
|
END ELSE
|
|
colData = 'This material was released as Production Order No: ':QUOTE(ProdOrdNo):', processed as Work Order Number: ':quote( PrintWO )
|
|
colData :=' and manufactured under process control recipe ':quote(Recipe):'.'
|
|
END
|
|
|
|
stat = Set_Printer('ADDTABLE',colFormat,'',colData,'','',1,TB_NONE)
|
|
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
|
|
|
|
font<2> = 10
|
|
font<4> = 0 ;* Bold off
|
|
|
|
stat = Set_Printer('FONT',font)
|
|
|
|
colData = 'Pertinent test and/or inspection records are on file and available for review'
|
|
|
|
IF PrintBackPage THEN
|
|
colData := ' under run numbers specified in the following page(s) of this document.'
|
|
END ELSE
|
|
colData := '.'
|
|
END
|
|
|
|
stat = Set_Printer('ADDTABLE',colFormat,'',colData,'','',1,TB_NONE)
|
|
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
stat = Set_Printer('TEXT')
|
|
|
|
colHeading = 'Approved By:' ; colFormat = '<7200'
|
|
colHeading<1,2> = 'Date:' ; colFormat<1,2> = '<2880'
|
|
|
|
colData = ''
|
|
colData<3,2> = OCONV(Date(),'D4,HL')
|
|
colData<5,1> = 'Document Control'
|
|
|
|
stat = Set_Printer('ADDTABLE',colFormat,colHeading,'','','',0,TB_BOTTOM)
|
|
|
|
stat = Set_Printer('ADDTABLE',colFormat,'',colData,'','',1,TB_NONE)
|
|
|
|
|
|
for k = 1 to 7
|
|
Void = set_printer( 'TEXT', '' )
|
|
next k
|
|
Font<4> = 1
|
|
Void = set_printer( 'FONT', Font )
|
|
|
|
* PrintWO is set about twenty lines up
|
|
|
|
TextOut = 'Quality Assurance Registration Number ':quote( PrintWO )
|
|
Void = set_printer( 'TEXT', TextOut )
|
|
Font<4> = 0
|
|
Void = set_printer( 'FONT', Font )
|
|
|
|
RETURN
|
|
|
|
|
|
|