Function Test_Daniel3(Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10) #pragma precomp SRP_PreCompiler Declare subroutine Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message, Logging_Services Declare subroutine Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window, FTP_Services Declare subroutine EditCell, obj_NCR, obj_Notes, Post_Event, obj_WO_Mat, obj_WO_Mat_Log, obj_WO_Wfr, obj_Tables, obj_RDS 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, 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 Declare function Work_Order_Services, RetStack, Min, Max, Obj_Prod_Spec, Insert, SRP_Trim, Xlate, Obj_Wo_Mat Declare function Security_Services, QA_Services, Database_Services, RowExists, Rti_Lh_Info, UNICODE_ANSI, UNICODE_UTF8 Declare function index, Httpclient_Services, SRP_Encode, SRP_Decode, DirList, Obj_Rds_Test, Tool_Parms_Services Declare function SQL_Services, RDS_Services, Obj_WM_out, Schedule_Services, Obj_Tool, SRP_Sort_Array, ICONV Declare function Development_Services, Obj_WO_Mat_QA, SRP_Join_Arrays, NextKey, Obj_Prod_Spec, FTP_Services, SQL_Format 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, 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, Wafer_Counter_Services, SRP_Logon, SRP_Get_Printers, Printer_Select Declare function RTI_Xlate_Controller, LSL_Users_Services $INSERT LOGICAL * $Insert RLIST_EQUATES * $INSERT ENVIRON_CONSTANTS * $Insert REVCAPI_EQUATES * $INSERT MSG_EQUATES * $INSERT APPCOLORS * $INSERT WM_IN_EQUATES * $Insert WM_OUT_EQUATES * $INSERT WO_LOG_EQU * $INSERT WO_STEP_EQU $INSERT WO_MAT_EQUATES * $INSERT ORDER_EQU * $INSERT RDS_EQUATES * $INSERT PROD_SPEC_EQU * $INSERT NOTIFICATION_EQU * $INSERT LSL_USERS_EQU * $INSERT SECURITY_RIGHTS_EQU * $INSERT POPUP_EQUATES * $INSERT RTI_LH_INFO_EQUATES * $INSERT WO_MAT_QA_EQUATES * $INSERT CUST_EPI_PART_EQUATES * $INSERT PRS_STAGE_EQUATES * $Insert RLIST_EQUATES * $Insert CLEAN_INSP_EQUATES * $Insert TOOL_PARMS_EQUATES * $Insert SCHEDULE_EQU * $Insert SCHED_DET_EQUATES * $Insert SCHEDULER_EQUATES * $Insert NCR_EQUATES * $Insert REACT_RUN_EQUATES * $Insert TOOL_EQUATES * $Insert TOOL_LOG_EQUATES * $Insert PM_EQUATES * $Insert WO_WFR_EQUATES $Insert REVDOTNETEQUATES * $Insert REACTOR_EQUATES * $Insert RDS_TEST_EQUATES * $Insert RUN_STAGE_WFR_EQUATES * $Insert RTI_DEBUG_COMMON * $Insert DICT_EQUATES * $Insert SRPMAIL_INSERTS * $Insert SCHED_DET_NG_EQUATES * $Insert RDS_LAYER_EQUATES * $Insert PROD_VER_EQUATES * $Insert PM_SPEC_EQUATES $Insert SHIFT_CALENDAR_EQUATES $Insert LSL_USERS_EQUATES * // 02/22/2023 48312 50112 ; // 5 hours = 14400 seconds * // Reduce modes (for Select statement) * Equ NEW_EXIST$ To 0 * Equ NEXT_CUR$ To 1 * Equ ADD_EXIST$ To 2 * * EQU COL$QA_MET_PHASE_MIN TO 17 * 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 * Open 'LSL_USERS' to hTable then * EOF = False$ * Select hTable * Loop * Readnext KeyID else EOF = True$ * Until EOF * ReadV Shift from hTable, KeyID, LSL_USERS_SHIFT$ then * Commit = True$ * Begin Case * Case Shift EQ 1 * NewShift = 'A' * Case Shift EQ 2 * NewShift = 'B' * Case Shift EQ 3 * NewShift = 'C' * Case Shift EQ 4 * NewShift = 'D' * Case Shift EQ 'M-F' * NewShift = '' * Case Otherwise$ * Commit = False$ * End Case * If Commit then * WriteV NewShift on hTable, KeyID, LSL_USERS_SHIFT$ else * debug * end * end * end else * debug * end * Repeat * end * * Return Main2: For FiscalYear = 2022 to 2025 Step 1 FiscalWeeks = Xlate('FISCAL_YR', FiscalYear, 'WK_NO', 'X') FiscalStartDts = Xlate('FISCAL_YR', FiscalYear, 'WK_START_DT', 'X') FiscalEndDts = Xlate('FISCAL_YR', FiscalYear, 'WK_END_DT', 'X') FiscalMonthNos = Xlate('FISCAL_YR', FiscalYear, 'WK_MONTH_NO', 'X') FiscalQtrs = Xlate('FISCAL_YR', FiscalYear, 'WK_QTR_NO', 'X') For each FiscalWeek in FiscalWeeks using @VM setting vPos FiscalStartDt = FiscalStartDts<0, vPos> FiscalEndDt = FiscalEndDts<0, vPos> If FiscalMonthNos<0, vPos> NE '' then FiscalMonthNo = FiscalMonthNos<0, vPos> end If FiscalQtrs<0, vPos> NE '' then FiscalQtr = FiscalQtrs<0, vPos> end For InternalDate = FiscalStartDt to FiscalEndDt Step 1 FirstShiftRec = '' SecondShiftRec = '' OutDate = OConv(InternalDate, 'D4/') OutDatePlusOne = OConv(InternalDate + 1, 'D4/') FirstShiftStartTime = '06:00:00AM' FirstShiftStartDtm = OutDate : ' ' : FirstShiftStartTime FirstShift = LSL_Users_Services('GetShiftByDate', FirstShiftStartDtm) FirstShiftEndDtm = OutDate : ' 5:59:59PM' SecondShiftStartTime = '06:00:00PM' SecondShiftStartDtm = OutDate : ' ' : SecondShiftStartTime SecondShift = LSL_Users_Services('GetShiftByDate', SecondShiftStartDtm) SecondShiftEndDtm = OutDatePlusOne : ' 05:59:59AM' ShiftDate = OConv(InternalDate, 'DH') ShiftMonth = Field(ShiftDate, ' ', 1, 1) ShiftDay = Field(ShiftDate, ' ', 1, 2) Convert ' ' to '' in ShiftDay ShiftYear = Field(ShiftDate, ' ', 3, 1) FirstShiftKey = ShiftDay : '*' : FiscalYear : '*' : FirstShift SecondShiftKey = ShiftDay : '*' : FiscalYear : '*' : SecondShift FirstShiftRec = IConv(FirstShiftStartDtm, 'DT') FirstShiftRec = IConv(FirstShiftEndDtm, 'DT') FirstShiftRec = 'WW':FiscalWeek; // Just use Fiscal year week. Ask Evan if ISOWW is necessary FirstShiftRec = FiscalMonthNo FirstShiftRec = 'Q':FiscalQtr Database_Services('WriteDataRow', 'SHIFT_CALENDAR', FirstShiftKey, FirstShiftRec) SecondShiftRec = IConv(SecondShiftStartDtm, 'DT') SecondShiftRec = IConv(SecondShiftEndDtm, 'DT') SecondShiftRec = 'WW':FiscalWeek; // Just use Fiscal year week. Ask Evan if ISOWW is necessary SecondShiftRec = FiscalMonthNo SecondShiftRec = 'Q':FiscalQtr Database_Services('WriteDataRow', 'SHIFT_CALENDAR', SecondShiftKey, SecondShiftRec) Next InternalDate Next FiscalWeek Next FiscalYear return