pre cutover push

This commit is contained in:
Infineon\StieberD
2024-09-04 20:33:41 -07:00
parent 6ea6969f4b
commit 7762b129af
2072 changed files with 130000 additions and 95295 deletions

View File

@ -7,11 +7,12 @@ Declare subroutine EditCell, obj_NCR, obj_Notes, Post_Event, obj_WO_Mat, obj_WO_
Declare subroutine Error_Services, RDS_Services, Dialog_Box, Insert, Unlock, QA_Services, Validate, Development_Services
Declare subroutine Update_Index, Database_Services, Obj_WO_Mat_QA, Fmt, Yield, WinYield, Sleepery, Qa_Services,
Declare subroutine Obj_Post_Log, GaN_Services, Excel_Services, obj_WO_React, Activate_Save_Select, Reduce, FSMsg
Declare subroutine SRP_Stopwatch, Copy_Record_To_SQL, SQL_Services, Material_Services, Messaging_Services
Declare subroutine SRP_Stopwatch, Copy_Record_To_SQL, SQL_Services, Material_Services, Messaging_Services, Utility
Declare subroutine Reactor_Services, Reactor_Services_Dev, SRP_Stopwatch, Btree.Extract, Set_Env, RDS_React_Run
Declare subroutine obj_Prod_Spec, Security_Services, Make.List, Write_OI_To_SQL, Send_Info, PSN_Services, Free_Class.Net
Declare subroutine Work_Order_Services, Test_Daniel2, obj_RDS_Layer, Report_Services, Pass_To_Sql, SRP_JSON, SRP_Run_Command
Declare subroutine Httpclient_Services, SRP_TcpClient, RTI_Set_Debugger, Sleepery, Set_Env, Extract_SI_Keys, Repository
Declare subroutine PM_Spec_Services, Push.Select, Pop.Select, GetTempPath, GetEngineVersion
Declare function Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists, Utility
Declare function Dialog_Box, obj_WO_Log, obj_NCR, Check_Notes, obj_MUWafers, obj_WO_Mat, Error_Services, RDS_Services
Declare function MemberOf, obj_Tables, obj_RDS, Environment_Services, Logging_Services, Material_Services, ErrMsg
@ -23,9 +24,10 @@ Declare function Development_Services, Obj_WO_Mat_QA, SRP_Join_Arrays, NextKey
Declare function DateTime, GaN_Services, SRP_Array, Excel_Services, EpiPro_Services, Repository, RTI_Task_Submit
Declare function RTI_Task_Status, Rds_Services, StartDotNet, Reactor_Services, SRP_Get_FileVersion, Direct_Print
Declare function obj_React_Run, RTI_Lock_Owner, obj_WM_In, Get_Repos_Entities, Get_Printer, Schedule_Services
Declare function Location_Services, Replication_Services, SRP_Logon, List_User_Locks, Start_Window, SRP_JSON
Declare function Location_Services, Replication_Services, List_User_Locks, Start_Window, SRP_JSON, SRP_Path
Declare function Httpclient_Services, SRP_TcpClient, GetTickCount, Repository, Select_Into, Active_Directory_Services
Declare function Rti_Ldap_Groups_For_User
Declare function Rti_Ldap_Groups_For_User, Wafer_Counter_Services, SRP_Logon, SRP_Get_Printers, Printer_Select
Declare function RTI_Xlate_Controller
$INSERT LOGICAL
* $Insert RLIST_EQUATES
@ -61,7 +63,7 @@ $INSERT WO_MAT_EQUATES
* $Insert TOOL_LOG_EQUATES
* $Insert PM_EQUATES
* $Insert WO_WFR_EQUATES
* $Insert REVDOTNETEQUATES
$Insert REVDOTNETEQUATES
* $Insert REACTOR_EQUATES
* $Insert RDS_TEST_EQUATES
* $Insert RUN_STAGE_WFR_EQUATES
@ -84,53 +86,381 @@ Equ Tab$ to \09\
Equ CRLF$ to \0D0A\
Equ LF$ to \0A\
Equ Comma$ to ','
$Insert PS_EQUATES
*
* $INSERT PRINTSETUP_EQUATES
* equ REV_CREATE_ENGINE_NO_UI$ to 0x040
Main:
Debug
KeyList = ''
Equ new_exist$ To 0 ; * Reduce Mode 0
Equ next_cur$ To 1
Equ add_exist$ to 2
table_name = "WO_MAT"
flag = ""
done = False$
CursorVar = ""
* Clears all cursors
For counter = 0 To 8
ClearSelect counter
Next counter
sort_list = "SAP_TX_DT"
Reduce_Script = "WITH {SAP_BATCH_NO} EQ '' AND WITH {SAP_TX_DT} GT '":OConv(Date() - 16, 'D4/'):"'"
mode = NEXT_CUR$
Reduce(reduce_script, sort_list, mode, table_name, Cursorvar, flag)
If flag then
Select table_name By sort_list Using Cursorvar then
Open table_name To file_var then
ctr = 0
Loop
ReadNext key Using Cursorvar By AT Else done = TRUE$
Until done
KeyList<-1> = Key
Repeat
End Else
FsMsg()
End
End Else
FsMsg()
end
End Else
FsMsg()
End
NumKeys = DCount(KeyList, @FM)
debug
* Slots = Xlate('WM_OUT', '173011*1*2', 'SLOT_WAFER_ID', 'X')
* RDSNos = Xlate('WM_OUT', '173011*1*3', 'RDS', 'X')
WONo = 172637
WOStep = 1
CassNo = 30
WMOKey = WONo:'*':WOStep:'*':CassNo
WOMatKey = WONo:'*':CassNo
NCRNos = Xlate('WM_OUT', WMOKey, 'SLOT_NCR', 'X')
NumScrapSlots = 0
If NCRNos NE '' then
For each NCRNo in NCRNos using @VM
NumScrapSlots += (NCRNo NE '')
Next NCRNo
end
SchedCassQty = XLATE('WO_MAT', WOMatKey, 'WAFER_QTY', 'X')
If NumScrapSlots GE SchedCassQty then
FullBoxReject = True$
end else
FullBoxReject = False$
end
* Version = ''
* GetEngineVersion(Version)
* If Version GT 10 then
* rv = RTI_Xlate_Controller('EnableCache')
* end
return
* Path = Drive()
* UNCPath = SRP_Path("PathToUnc", Path)
* OrderId = '03b06637-51d4-4fed-76df-08dcac37e547'
* OrderId = 'A735DA70-9917-4025-76DE-08DCAC37E547'
*
* BaseNicaUrl = Environment_Services("GetProveInApiUrl"):'/checklists?'
* NicaUrl = BaseNicaUrl:'checklistOrderId=':OrderId
* NicaUrl := '&checklistState=cancelled'
*
* Retries = 3
* BackoffSeconds = 1
* IsSuccessful = False$
*
* Loop
* while (IsSuccessful EQ False$ and Retries GT 0)
* WaitSeconds = (2 - Retries) * BackoffSeconds
* Delay(WaitSeconds)
*
* Retries = Retries - 1
*
* HttpResponseJson = Httpclient_Services('SendHTTPRequest', 'PUT', NicaUrl, 'Accept':@VM:'*/*', '', '', '', False$, False$, '')
* If HttpResponseJson NE '' then
* ObjResponseJson = ''
* If SRP_JSON(ObjResponseJson, 'Parse', HttpResponseJson) EQ '' then
* IsComplete = SRP_JSON(ObjResponseJson, 'GetValue', 'pendingUpdate')
* Response = (IsComplete EQ True$)
* end
* end
* SRP_JSON(ObjResponseJson, 'Release')
* IsSuccessful = ( (Response EQ True$) or (Response EQ False$) )
* Repeat
* BatchConvTrans = ''
* BatchConvTrans<1> = 1210
* BatchConvTrans<2> = 'U442'
* BatchConvTrans<3> = '104PNYZ.35'; // SAP Batch No
* BatchConvTrans<4> = '0500' ; // SLOC From
* BatchConvTrans<5> = '0400' ; // SLOC To
* BatchConvTrans<6> = 25 ; // Quantity
*
* CONVERT @FM TO TAB$ IN BatchConvTrans
*
* BatchConvTrans := CRLF$
*
* OSWrite BatchConvTrans on 'D:\apps\Temp\BatchConv1.tsv'
return
* DotNetHandle = StartDotNet("","4.0")
* DotNetDir = CheckDotNet('4.0'):'\'
* DLLPath = 'D:\Apps\OIStieberD\IFXAPI\SSHNET\Renci.SshNet.dll'
*
* // Specify the DLL
* rv = Set_Property.NET(DotNetHandle, "AssemblyName", DLLPath)
*
* // Define the classes
* User = 'qasopeni'
* Password = 'sapqasopeni'
* Host = '172.28.150.80'
* objSftpClient = Create_Class.NET(DotNetHandle, "Renci.SshNet.SftpClient", 0, Host:@FM:User:@FM:Password, 'System.String':@FM:'System.String':@FM:'System.String')
* errCode = ''
* If Not(Get_Status(errCode)) then
* mthds = get_info.net(objSftpClient, REVDOTNET_INFO_METHODS)
* rv = Send_Message.Net(objSftpClient, 'Connect', '', '', 0)
* If Not(Get_Status(errCode)) then
* IsConnected = Get_Property.Net(objSftpClient, 'get_IsConnected', 0)
* objList = Send_Message.Net(objSftpClient, 'ListDirectory', '/':@FM:0, 'System.String':@FM:'System.Int32', 0)
* If Not(Get_Status(errCode)) then
* Null
* end
* ListProps = get_info.net(objList, REVDOTNET_INFO_PROPERTIES)
* ListMthds = get_info.net(objList, REVDOTNET_INFO_METHODS)
* end
* Free_Class.Net(objList)
* Free_Class.Net(objSftpClient)
* end
* CheckListActive = ''
* Res = Sum(CheckListActive)
*
* CurrModeKey = Xlate('REACTOR_CHILD_KEY_IDS_NG', 30, 1, 'X')
* CurrRLKey = Xlate('REACT_MODE_NG', CurrModeKey, 'START_RL_ID', 'X')
*
* ChecklistActive = Xlate('REACTOR_LOG', CurrRLKey, 'CHECKLIST_ACTIVE', 'X')
* If ChecklistActive then
* ChecklistTypes = Xlate('REACTOR_LOG', CurrRLKey, 'CHECKLIST_TYPE', 'X')
* Swap @VM with ',' in ChecklistTypes
* Msg(@Window, '', 'OK', '',
* end
return
TempDirectory = Str(\00\, 1024)
GetTempPath(Len(TempDirectory), TempDirectory)
Convert \00\ to '' in TempDirectory
* Printer = Printer_Select()
* Printers = SRP_Get_Printers('Local')
* Groups = RTI_Ldap_Groups_For_User('OUELLETTE', 'Infineon')
* Swap @VM with \0D0A\ in Groups
* OSWrite Groups on 'D:\tmp\OUELLETTE_Groups_OI9.txt'
* res = Dialog_Box('NDW_WAFER_COUNTER', @Window, 633032:@FM:0:@FM:'QA')
* Set_Property('WM_OUT.CURR_STATUS', 'TEXT', 'WMO - FQA Label Check')
* Set_Property('WM_OUT.CURR_STATUS', 'TEXT', 'WMO - Final QA')
* Set_Property('WM_OUT.MAKEUP_BOX', 'CHECK', 0)
* WfrSize = Xlate('RDS', 456789, 'WAFER_SIZE', 'X')
* WfrSize = Xlate('WO_MAT', '172792*37', 'REP_STATUS', 'X')
* PSNo = Xlate('WM_OUT', '172790*1*45', 'PS_NO', 'X')
* Ans = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' )
* KeyList = Database_Services('ReadDataRow', 'SYSLISTS', 'TOOL_LOG_WC6INCH')
* If Error_Services('HasError') then Error_Services('DisplayError')
* For each Key in KeyList using @FM setting fPos
* NewKey = Field(Key, '*', 1):'1*':Field(Key, '*', 2)
* Rec = Database_Services('ReadDataRow', 'TOOL_LOG', Key)
* If Error_Services('HasError') then Error_Services('DisplayError')
* Database_Services('WriteDataRow', 'TOOL_LOG', NewKey, Rec)
* If Error_Services('HasError') then Error_Services('DisplayError')
* Database_Services('DeleteDataRow', 'TOOL_LOG', Key)
* If Error_Services('HasError') then Error_Services('DisplayError')
* Next Key
*
* Database_Services('DeleteDataRow', 'TOOL', 'WC6INCH')
* If Error_Services('HasError') then Error_Services('DisplayError')
*
* KeyList = Database_Services('ReadDataRow', 'SYSLISTS', 'TOOL_LOG_WC8INCH')
* If Error_Services('HasError') then Error_Services('DisplayError')
* For each Key in KeyList using @FM setting fPos
* NewKey = Field(Key, '*', 1):'1*':Field(Key, '*', 2)
* Rec = Database_Services('ReadDataRow', 'TOOL_LOG', Key)
* If Error_Services('HasError') then Error_Services('DisplayError')
* Database_Services('WriteDataRow', 'TOOL_LOG', NewKey, Rec)
* If Error_Services('HasError') then Error_Services('DisplayError')
* Database_Services('DeleteDataRow', 'TOOL_LOG', Key)
* If Error_Services('HasError') then Error_Services('DisplayError')
* Next Key
* Database_Services('DeleteDataRow', 'TOOL', 'WC8INCH')
* If Error_Services('HasError') then Error_Services('DisplayError')
return
* Response = Xlate('WO_MAT', '172709*73', 'SLOT_WAFER_ID', 'X')
* URL = 'https://metrology-viewer-prod.mes.infineon.com/api/v1/WaferCounter/8INCH/last-quantity-and-slot-map?area=MU'
* Res = Httpclient_Services('SendHTTPRequest', 'GET', URL, '', '', '', '', False$, False$, '')
* Debug
* Open 'PM_SPEC' to hPMSpec then
* Select hPMSpec
* Done = False$
* Loop
* ReadNext KeyID else Done = True$
* Until Done
* PM_Spec_Services('UpdatePMCompDtm', KeyID)
* Repeat
* end
* CycleCnt = Xlate('PM_SPEC', 706, 'TOOL_CYCLE_CNT', 'X')
* CycleCnt = Xlate('PM', 33593, 'TOOL_CYCLE_CNT', 'X')
* Ctrl = 'WO_REC.PAGE_1_TAB'
* Val = Get_Property(Ctrl, 'DRAWTEXT')
* equ ES_LEFT to 0
* equ ES_CENTER to 1
* equ ES_RIGHT to 2
*
* Ctrl = 'WO_REC.PAGE_1_TAB'
*
* Text = Get_Property(Ctrl, "TEXT")
* Style = Get_Property(Ctrl, "STYLE")
* Struct = Get_Property(Ctrl, "ORIG_STRUCT")
*
* If Style [1,2] _EQC '0x' then
* convert @lower.case to @upper.case in Style
* Style = iconv(Style [3,99], "MX")
* end
* AllBits = bitor(ES_LEFT, bitor(ES_CENTER, ES_RIGHT))
* Style = bitand(Style, bitnot(AllBits))
* AddStyle = ES_CENTER
* Style = bitor(Style, AddStyle)
* Struct<1, PSPOS_SDKSTYLE$> = Style
* Struct<1, PSPOS_TEXT$ > = Text
* Utility("DESTROY", Ctrl)
* Utility("CREATE", Struct)
* Response = Dialog_Box('NDW_WAFER_COUNTER', @Window, '630268')
* Exists = RowExists('WM_OUT', '172767*1*35')
* Response = Dialog_Box('NDW_WAFER_COUNTER', @Window, '172767*1*35':@FM:5)
* Username = 'StieberD'
* Password = ''
* Domain = 'Infineon'
* debug
* Groups1 = SRP_Logon('GetADGroups', Username, Domain)
* Groups2 = Active_Directory_Services('GetADGroups', Username, Domain)
* SRP_Stopwatch('Reset')
* SRP_Stopwatch('Start', 'SRP')
* ValidUser = SRP_Logon('ValidateUser', Username, Password, Domain)
* SRP_Stopwatch('Stop')
* SRP_Stopwatch('Start', 'IFX')
* ValidUser = Active_Directory_Services('AuthenticateUser', Username, Password, Domain)
* SRP_Stopwatch('Stop', 'IFX')
* SRP_Stopwatch('ShowAll')
* // Empty cassette
* FileData = 'T00':CRLF$:'P0000000'
* Value = Wafer_Counter_Services('ConvertWaferData', FileData)
*
* // Full cassette
* FileData = 'T25':CRLF$:'P1FFFFFF'
* Data = Wafer_Counter_Services('ConvertWaferData', FileData)
*
* // 12 wafers in even slots
* FileData = 'T12':CRLF$:'P0AAAAAA'
* Data = Wafer_Counter_Services('ConvertWaferData', FileData)
*
* // 13 wafers in odd slots
* FileData = 'T13':CRLF$:'P1555555'
* Data = Wafer_Counter_Services('ConvertWaferData', FileData)
*
* // Slot 24 empty
* FileData = 'T01':CRLF$:'P17FFFFF'
* Data = Wafer_Counter_Services('ConvertWaferData', FileData)
* Val = IConv('0', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('1', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('2', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('3', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('4', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('5', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('6', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('7', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('8', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('9', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('A', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('B', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('C', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('D', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('E', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* Val = IConv('F', 'MX')
* Val = OConv(Val, 'MB')
* Val = Fmt(Val, 'R(0)#4')
*
* return
* KeyList = ''
* Equ new_exist$ To 0 ; * Reduce Mode 0
* Equ next_cur$ To 1
* Equ add_exist$ to 2
*
* table_name = "WO_MAT"
*
* flag = ""
* done = False$
* CursorVar = ""
*
* * Clears all cursors
* For counter = 0 To 8
* ClearSelect counter
* Next counter
*
* sort_list = "SAP_TX_DT"
* Reduce_Script = "WITH {SAP_BATCH_NO} EQ '' AND WITH {SAP_TX_DT} GT '":OConv(Date() - 16, 'D4/'):"'"
* mode = NEXT_CUR$
*
* Reduce(reduce_script, sort_list, mode, table_name, Cursorvar, flag)
* If flag then
* Select table_name By sort_list Using Cursorvar then
* Open table_name To file_var then
* ctr = 0
*
* Loop
* ReadNext key Using Cursorvar By AT Else done = TRUE$
* Until done
* KeyList<-1> = Key
* Repeat
* End Else
* FsMsg()
* End
* End Else
* FsMsg()
* end
* End Else
* FsMsg()
* End
* NumKeys = DCount(KeyList, @FM)
* table = "WO_MAT"
* Open "DICT ":table To @DICT Else
@ -155,7 +485,7 @@ Main:
* Btree.Extract(search_criteria, table, @DICT, keylist2, option, flag)
KeyList3 = SRP_Array('Join', keylist1, keylist2, 'AND', @VM)
* KeyList3 = SRP_Array('Join', keylist1, keylist2, 'AND', @VM)
* Httpclient_Services('SetTimeoutDuration', '600')
* Response = Httpclient_Services('SendHTTPRequest', 'GET', 'mestsa008.infineon.com/apidev/oiwizard', '', '', '', '', True$, True$, '')
* Authenticated = False$
@ -186,7 +516,7 @@ Main:
* LoremIpsum := 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure '
* LoremIpsum := 'dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non '
* LoremIpsum := 'proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
return
* return
*
* For I = 0 to 1000
@ -1877,7 +2207,7 @@ return
* Message<8> = 'Testing' ; * Content / Body
* Message<9> = '' ; * Attachment(s) (path to file name(s))
*
* MsgSent = SRPSendMail(Message, ConfigFile)
* MsgSent = SRP_Send_Mail(Message, ConfigFile)
*
* return
*
@ -3959,6 +4289,3 @@ return
* return
*