added LSL2 stored procedures
This commit is contained in:
517
LSL2/STPROC/WO_DAILY_SCHED_COMM2.txt
Normal file
517
LSL2/STPROC/WO_DAILY_SCHED_COMM2.txt
Normal file
@ -0,0 +1,517 @@
|
||||
function wo_daily_sched_comm2(Branch)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
declare function set_property, fieldcount, get_property, msg, dialog_box, security_check, send_message, Memberof
|
||||
declare function utility, key_sort, start_window, entid, repository, relational_call, popup, next_key
|
||||
declare function rds_supplement_maint, get_mode_icon, obj_Prod_Spec, rds_wo_verify_maint, GetTickCount
|
||||
declare subroutine extract_si_keys, end_dialog, make.list, security_err_msg, ErrMsg, Set_Property, obj_Appwindow
|
||||
declare subroutine ShowWindow, Start_Window
|
||||
|
||||
$insert msg_equates
|
||||
$insert lsl_users_equ
|
||||
$insert rds_equ
|
||||
$insert security_rights_equ
|
||||
$insert logical
|
||||
$insert popup_equates
|
||||
$insert react_mode_equ
|
||||
$insert quote_spec_equ
|
||||
$insert wo_log_equ
|
||||
$insert wo_daily_sched_equ
|
||||
$insert wo_master_sched_equ
|
||||
$insert wo_verify_equ
|
||||
$INSERT WO_STEP_EQU
|
||||
$INSERT ORDER_DET_EQU
|
||||
$INSERT PROD_SPEC_EQUATES
|
||||
$INSERT PRS_LAYER_EQU
|
||||
$INSERT EPI_PART_EQUATES
|
||||
|
||||
Equ HIDE$ To 0
|
||||
Equ NORMAL$ To 1
|
||||
Equ MINIMIZE$ To 2
|
||||
Equ MAXIMIZE$ To 3
|
||||
|
||||
equ CrLf$ to char(13):char(10)
|
||||
equ Blue$ to 16711680
|
||||
equ Red$ to 255
|
||||
equ Green$ to 65280
|
||||
equ Yellow$ to 65535
|
||||
equ White$ to 16777215
|
||||
equ Black$ to 1
|
||||
equ Gray$ to 12632256
|
||||
|
||||
ForceModeChange = false$
|
||||
* If @USER4 EQ 'DANIEL_ST' then debug
|
||||
ReturnVar = 0
|
||||
Branches = 'WO_GOT_FOCUS,WO_LOST_FOCUS,FORM_CREATE,FORM_CLOSE,FORM_SAVE,FORM_CANCEL,CALL_WINDOW,REFRESH,OPTIONS,REACT_MODE'
|
||||
convert ',' to @fm in Branches
|
||||
locate Branch in Branches using @fm setting Bpos then
|
||||
on Bpos gosub WO_GOT_FOCUS, WO_LOST_FOCUS, FORM_CREATE, FORM_CLOSE, FORM_SAVE, FORM_CANCEL, CALL_WINDOW, REFRESH, OPTIONS, REACT_MODE
|
||||
end else
|
||||
Void = msg( '', 'Invalid Branch ':Bpos:' passed to wo_daily_sched_comm' )
|
||||
end
|
||||
return ReturnVar
|
||||
|
||||
*============================================================================*
|
||||
WO_GOT_FOCUS:
|
||||
OrigWoVal = get_property( @window:'.WOCUST', 'TEXT' )
|
||||
Void = set_property( @window, '@OrigWoVal', OrigWoVal )
|
||||
return
|
||||
|
||||
*============================================================================*
|
||||
WO_LOST_FOCUS:
|
||||
NewWoVal = get_property( @window:'.WOCUST', 'TEXT' )
|
||||
OrigWoVal = get_property( @window, '@OrigWoVal' )
|
||||
if NewWoVal <> OrigWoVal then
|
||||
* NOW FORCE THEM TO CHANGE THE STATUS OR APPLY SETTING THIS WORK ORDER
|
||||
ForceModeChange = true$
|
||||
Mode = ''
|
||||
gosub react_mode
|
||||
if Mode = 'CANCEL' then
|
||||
* could not get a lock so someone else is changing the mode with a
|
||||
* different work order than the one we have changed to
|
||||
* so do not change the work order
|
||||
Void = set_property( @window:'.WOCUST', 'TEXT', OrigWoVal )
|
||||
end else
|
||||
* check to see if we are running this wo anywhere else
|
||||
* and warn user - as to not forget to finish a wo before
|
||||
* starting a new one
|
||||
if OrigWoVal then
|
||||
gosub CheckWo
|
||||
end
|
||||
CurWoVal = NewWoVal
|
||||
CurArray = get_property( @window:'.ROS', 'ARRAY' )
|
||||
for i = 1 to 96
|
||||
* to gray boxes
|
||||
CurArray<i,2> = 0
|
||||
next i
|
||||
Void = set_property( @window:'.ROS', 'ARRAY', CurArray )
|
||||
gosub PrepWo
|
||||
gosub RecalcWo
|
||||
end
|
||||
end
|
||||
return
|
||||
|
||||
*============================================================================*
|
||||
RecalcWo:
|
||||
* called from this code only no external branch
|
||||
RNum = get_property( @window, '@Reactor' )
|
||||
RMId = 'REACT_MODE':RNum
|
||||
Mode = xlate( 'CONFIG', RMId, Mode$, 'X' )
|
||||
if Mode then
|
||||
Icon = get_mode_icon( Mode )
|
||||
Extension = '.BMP'
|
||||
DosBmp = 'BMPS\':Icon:Extension
|
||||
Void = set_property( @window:'.RMODE', 'BITMAP', DosBmp )
|
||||
end
|
||||
return
|
||||
|
||||
*============================================================================*
|
||||
FORM_CREATE:
|
||||
|
||||
* field one of the config "WO_DAILY_SCHED"1-9999 will have as follows
|
||||
*<1> = REACTOR
|
||||
*<2> = WO CUSTNAME
|
||||
*<3> = BOX SELECTION INFO
|
||||
|
||||
DailySchedName = 'WO_DAILY_SCHED':get_property( @window, '@Reactor' )
|
||||
open 'CONFIG' to ConfigTable else
|
||||
Void = msg( '', 'Unable to open CONFIG table' )
|
||||
end_dialog( @window, '' )
|
||||
return 0
|
||||
end
|
||||
if memberof( @user4, 'SUPERVISOR' ) or memberof( @user4, 'DATA_ENTRY' ) or memberof( @user4, 'MAINTENANCE' ) OR @USERNAME = 'FRANCOIS_R' then
|
||||
gosub DoRead
|
||||
end else
|
||||
Void = set_property( @window:'.SAVE', 'ENABLED', 0 )
|
||||
Void = set_property( @window:'.CANCEL', 'TEXT', 'OK' )
|
||||
gosub DoRead
|
||||
Void = set_property( @window:'.WOCUST', 'ENABLED', 0 )
|
||||
end
|
||||
|
||||
RETURN 0
|
||||
|
||||
|
||||
FORM_CLOSE:
|
||||
|
||||
return 0
|
||||
|
||||
*===========================================================================*
|
||||
DoRead:
|
||||
|
||||
* called from this code only no external branch
|
||||
|
||||
READ DailySched FROM ConfigTable, DailySchedName THEN
|
||||
|
||||
IF DailySched THEN
|
||||
|
||||
CurWoVal = DailySched<WOCust$>
|
||||
Set_Property( @WINDOW:'.WOCUST', 'TEXT', CurWoVal )
|
||||
|
||||
WONo = CurWoVal[1,' ']
|
||||
|
||||
IF INDEX(WONo,'.',1) THEN WONo = WONo[1,'.']
|
||||
IF INDEX(WONo,'*',1) THEN WONo = WONo[1,'*']
|
||||
|
||||
WOQty = OCONV(XLATE('WO_LOG',WONo,'WO_QTY','X'),'MD0,')
|
||||
RxQty = OCONV(XLATE('WO_LOG',WONo,'RX_QTY','X'),'MD0,')
|
||||
RelQty = OCONV(XLATE('WO_LOG',WONo,'REL_QTY','X'),'MD0,')
|
||||
UnRelQty = OCONV(XLATE('WO_LOG',WONo,'UNREL_QTY','X'),'MD0,')
|
||||
ShipQty = OCONV(XLATE('WO_LOG',WONo,'SHIP_QTY','X'),'MD0,')
|
||||
|
||||
Ctrls = @WINDOW:'.WO_QTY':@RM ; Props = 'DEFPROP':@RM ; Vals = WOQty:@RM
|
||||
Ctrls := @WINDOW:'.RX_QTY':@RM ; Props := 'DEFPROP':@RM ; Vals := RxQty:@RM
|
||||
Ctrls := @WINDOW:'.REL_QTY':@RM ; Props := 'DEFPROP':@RM ; Vals := RelQty:@RM
|
||||
Ctrls := @WINDOW:'.UNREL_QTY':@RM ; Props := 'DEFPROP':@RM ; Vals := UnRelQty:@RM
|
||||
Ctrls := @WINDOW:'.SHIP_QTY' ; Props := 'DEFPROP' ; Vals := ShipQty
|
||||
|
||||
Set_Property(Ctrls,Props,Vals)
|
||||
|
||||
GOSUB PrepWo
|
||||
|
||||
GOSUB RecalcWo
|
||||
|
||||
ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
|
||||
If ReactType EQ 'EPP' then
|
||||
Set_Property(@Window:'.PUB_WMO_QUICKVIEW', 'VISIBLE', True$)
|
||||
end
|
||||
|
||||
// Populate loaded runs and total runs
|
||||
AllRDS = Xlate('WO_STEP', WONo:'*1', 'RDS_KEY', 'X')
|
||||
RDSCount = DCount(AllRDS, @VM)
|
||||
Set_Property(@Window:'.EDL_TOTAL_RUNS', 'TEXT', RDSCount)
|
||||
|
||||
Reactor = get_property( @window, '@Reactor' )
|
||||
LoadedRDS = Xlate('REACT_STATUS', Reactor, 'LOAD_RDS', 'X')
|
||||
LoadedRuns = ''
|
||||
If LoadedRDS NE '' then
|
||||
For each RDS in LoadedRDS using @VM setting vPos
|
||||
Locate RDS in AllRDS using @VM setting rPos then
|
||||
LoadedRuns<0, -1> = rPos
|
||||
end
|
||||
Next RDS
|
||||
end
|
||||
|
||||
LoadedData = ''
|
||||
For each RDSNo in LoadedRDS using @VM setting vPos
|
||||
LoadedData<vPos, 1> = RDSNo
|
||||
LoadedData<vPos, 2> = LoadedRuns<0, vPos>
|
||||
Next RDSNo
|
||||
Set_Property(@Window:'.EDT_LOADED_CASSETTES', 'LIST', LoadedData)
|
||||
|
||||
END ;* End of check for DailySched
|
||||
END ELSE
|
||||
Ccnt = 0
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
*===========================================================================*
|
||||
FORM_SAVE:
|
||||
* field one of the config "WO_DAILY_SCHED"1-9999 will have as follows
|
||||
*<1> = REACTOR
|
||||
*<2> = WO CUSTNAME
|
||||
*<3> = BOX SELECTION INFO
|
||||
|
||||
open 'CONFIG' to ConfigTable else
|
||||
Void = msg( '', 'Unable to open CONFIG table' )
|
||||
end_dialog( @window, '' )
|
||||
return 0
|
||||
end
|
||||
Reactor = get_property( @window, '@Reactor' )
|
||||
DailySchedName = 'WO_DAILY_SCHED':Reactor
|
||||
OldRec = xlate( 'CONFIG', DailySchedName, '', 'X' )
|
||||
DailySchedRec = ''
|
||||
DailySchedRec<Reactor$> = Reactor
|
||||
DailySchedRec<ReactorType$> = OldRec<ReactorType$>
|
||||
TWo = get_property( @window:'.WOCUST', 'TEXT' )
|
||||
|
||||
DailySchedRec<WOCust$> = TWo
|
||||
CurWoVal = TWo
|
||||
|
||||
gosub PrepWo
|
||||
|
||||
PSNId = XLATE( 'WO_LOG', CurWoVal[1,'.'], 'SHIP_PSN', 'X' ) ;* changed 8/3/2005 JCH
|
||||
EpiPartNo = XLATE( 'WO_LOG', CurWoVal[1,'.'], 'EPI_PART_NO', 'X' )
|
||||
SubInfo = XLATE( 'EPI_PART',EpiPartNo, EPI_PART_SUB_WAFER_SIZE$, 'X' )
|
||||
WaferSize = trim( field( SubInfo, ' ', 3, 2 ) )
|
||||
|
||||
if Wafersize = '' then
|
||||
* LEAVE THE OLD SIZE THERE
|
||||
DailySchedRec<Size$> = OldRec<Size$>
|
||||
end else
|
||||
DailySchedRec<Size$> = WaferSize
|
||||
end
|
||||
CurArray = get_property( @window:'.ROS', 'ARRAY' )
|
||||
FieldOut = ''
|
||||
for j = 1 to 96
|
||||
FieldOut<1,j> = CurArray<j,2>
|
||||
next j
|
||||
DailySchedRec<BoxInfo$> = FieldOut
|
||||
write DailySchedRec on ConfigTable, DailySchedName else
|
||||
Void = msg( '', 'Unable to write ':DailySchedName:' in CONFIG table' )
|
||||
end_dialog( @window, '' )
|
||||
return 0
|
||||
end
|
||||
end_dialog( @window, '' )
|
||||
RETURN
|
||||
|
||||
*============================================================================*
|
||||
FORM_CANCEL:
|
||||
* field one of the config "WO_DAILY_SCHED"1-9999 will have as follows
|
||||
*<1> = REACTOR
|
||||
*<2> = WO CUSTNAME
|
||||
*<3> = BOX SELECTION INFO
|
||||
if memberof( @user4, 'SUPERVISOR' ) or memberof( @user4, 'DATA_ENTRY' ) or memberof( @user4, 'MAINTENANCE' ) then
|
||||
DailySchedName = 'WO_DAILY_SCHED':get_property( @window, '@Reactor' )
|
||||
open 'CONFIG' to ConfigTable else
|
||||
Void = msg( '', 'Unable to open CONFIG table' )
|
||||
end_dialog( @window, '' )
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end_dialog( @window, '' )
|
||||
RETURN
|
||||
|
||||
*============================================================================*
|
||||
CALL_WINDOW:
|
||||
*Void = start_window( CurParam, 'LSL_MAIN2', '*CENTER', '', '' )
|
||||
RETURN
|
||||
|
||||
*============================================================================*
|
||||
PrepWo:
|
||||
* called internally
|
||||
CurReactor = get_property( @window, '@Reactor' )
|
||||
convert @upper_case to '' in CurReactor
|
||||
convert @lower_case to '' in CurReactor
|
||||
|
||||
CurWoVal = CurWoVal[1,' ']
|
||||
|
||||
swap '52nd' with '' in CurWoVal
|
||||
convert @upper_case to '' in CurWoVal
|
||||
convert @lower_case to '' in CurWoVal
|
||||
convert " `~!@#$%^&*()_+-=\][{}|';:/?.>,<" to '' in CurWoVal
|
||||
convert '"' to '' in CurWoVal
|
||||
|
||||
IF LEN(CurWoVal) = 7 THEN
|
||||
CurWoVal = CurWoVal[1,6]:'.':CurWoVal[7,1] ;* Workorder plus a step 7/28/2005 JCH
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
*============================================================================*
|
||||
REFRESH:
|
||||
|
||||
return
|
||||
|
||||
|
||||
*============================================================================*************************************************8
|
||||
OPTIONS:
|
||||
Reactor = get_property( @window, '@Reactor' )
|
||||
PopupId = entid( @appid<1>, 'POPUP', '', 'DAILY_SCHED_OPTS' )
|
||||
OverRide = ''
|
||||
Display = xlate( 'SYSREPOSPOPUPS', 'LSL2**DAILY_SCHED_OPTS', pdisplay$, 'X' )
|
||||
if memberof( @user4, 'SUPERVISOR' ) or memberof( @user4, 'DATA_ENTRY' ) then
|
||||
* add option to choose boxes if the save button is enabled meaning they have the lock
|
||||
if get_property( @window:'.SAVE', 'ENABLED' ) then
|
||||
*Display = 'Quote':@tm:'QUOTE':@vm:'PSN':@tm:'PSN':@vm:'Recipe':@tm:'RECIPE':@vm:'RunData Sheet':@tm:'RDS':@vm:'Work Order':@tm:'WO'
|
||||
*Display:= @vm:'Choose Boxes':@tm:'CHOOSE_BOXES'
|
||||
* WHEN THE POPUP DAILY_SCHED_OPTS CHANGES THE ABOVE 2 LINES NEED CHANGING
|
||||
* Display := @vm:'Choose Boxes':@tm:'CHOOSE_BOXES'
|
||||
if memberof( @user4, 'SUPERVISOR' ) then
|
||||
Display := @vm:'Assign WO Verifications':@tm:'WO_VERIFY'
|
||||
end
|
||||
end
|
||||
end
|
||||
if memberof( @user4, 'ENGINEERING' ) or memberof( @user4, 'SUPERVISOR' ) or memberof( @user4, 'LEAD' ) Then ;* Added LEAD security group to allow asign supplements -dkk 12/5/14
|
||||
* ADD OPTION TO ASSIGN SUPPLEMENTS
|
||||
Display := @vm:'Assign Supplements':@tm:'SUPPLEMENTS'
|
||||
end
|
||||
|
||||
If MemberOf(@User4, 'ENGINEERING') then
|
||||
* Add PSN limit update option
|
||||
Display := @VM:'Update Metrology Limits':@TM:'MET_LIMITS'
|
||||
end
|
||||
|
||||
CurWoVal = get_property( @window:'.WOCUST', 'TEXT' )
|
||||
|
||||
CurWoVal = CurWoVal[1,' ']
|
||||
HoldWoVal = CurWoVal
|
||||
|
||||
|
||||
swap '52nd' with '' in CurWoVal
|
||||
convert @upper_case to '' in CurWoVal
|
||||
convert @lower_case to '' in CurWoVal
|
||||
convert " `~!@#$%^&*()_+-=\][{}|';:/?.>,<" to '' in CurWoVal
|
||||
convert '"' to '' in CurWoVal
|
||||
|
||||
IF LEN(CurWoVal) = 7 THEN
|
||||
WOStepKey = CurWoVal[1,6]:'*':CurWoVal[7,1]
|
||||
END ELSE
|
||||
WOStepKey = CurWoVal:'*1'
|
||||
END
|
||||
WONo = WOStepKey[1,6]
|
||||
|
||||
ReactorType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
|
||||
If ReactorType EQ 'EPP' then
|
||||
Display := @VM:'WM Outbound Cassettes':@TM:'WM_OUTBOUND'
|
||||
end
|
||||
|
||||
OverRide<Pdisplay$> = Display
|
||||
|
||||
ChosenOpt = repository( 'EXECUTE', PopupId, @window, OverRide )
|
||||
|
||||
RdsKeys = ''
|
||||
BEGIN CASE
|
||||
|
||||
CASE ChosenOpt = 'PSN'
|
||||
IF security_check( 'Prod Spec', Read$ ) THEN
|
||||
|
||||
PSNId = XLATE('WO_STEP',WOStepKey,WO_STEP_PROD_SPEC_ID$,'X')
|
||||
Void = start_window( 'PROD_SPEC', @window, PSNId:'*CENTER', '', '' )
|
||||
END ELSE
|
||||
security_err_msg( 'Prod Spec', Read$ )
|
||||
END
|
||||
|
||||
CASE ChosenOpt = 'RDS'
|
||||
if security_check( 'RDS', Read$ ) then
|
||||
|
||||
SelRDSKeys = Dialog_Box('NDW_RDS_QUERY', 'NDW_MAIN', WONo : @FM : 'Detailed')
|
||||
IF SelRDSKeys NE '' THEN
|
||||
Void = Start_Window( 'RDS', @window, SelRDSKeys:'*CENTER', '', '' )
|
||||
END
|
||||
|
||||
end else
|
||||
security_err_msg( 'RDS', Read$ )
|
||||
end
|
||||
|
||||
CASE ChosenOpt = 'WO'
|
||||
if security_check( 'WO Log', Read$ ) then
|
||||
Start_Window('NDW_WO_LOG', @Window, WONo)
|
||||
end else
|
||||
security_err_msg( 'WO Log', Read$ )
|
||||
end
|
||||
|
||||
|
||||
CASE ChosenOpt = 'WO_STAT'
|
||||
|
||||
PSN = XLATE('WO_STEP',WOStepKey,1,'X')
|
||||
ReactorType = XLATE('PROD_SPEC', PSN, PROD_SPEC_REACTOR_TYPE$, 'X')
|
||||
|
||||
BEGIN CASE
|
||||
CASE ReactorType = 'P' Or ReactorType = 'EPP'
|
||||
|
||||
obj_Appwindow('ViewRelated','WO_PROD_EPI':@RM:WOStepKey)
|
||||
|
||||
CASE ReactorType = 'GAN'
|
||||
obj_Appwindow('ViewRelated','WO_PROD_GAN':@RM:WOStepKey)
|
||||
|
||||
CASE 1
|
||||
obj_Appwindow('ViewRelated','WO_PROD':@RM:WOStepKey)
|
||||
|
||||
END CASE
|
||||
|
||||
case ChosenOpt = 'WO_VERIFY'
|
||||
Void = rds_wo_verify_maint( WoNo )
|
||||
|
||||
case ChosenOpt = 'SUPPLEMENTS'
|
||||
Void = Dialog_Box('NDW_RDS_SUPPLEMENT', @WINDOW, WoNo)
|
||||
|
||||
case ChosenOpt = 'MET_LIMITS'
|
||||
Void = Dialog_Box('NDW_RDS_UPDATE_MET_LIMITS', @WINDOW, WoNo)
|
||||
|
||||
Case ChosenOpt = 'WM_OUTBOUND'
|
||||
Void = Dialog_Box('NDW_WM_OUT_QUICK_QUERY', @Window, WoNo)
|
||||
|
||||
end case
|
||||
|
||||
return
|
||||
|
||||
|
||||
*============================================================================*
|
||||
GetRdsKeys:
|
||||
* called internally only
|
||||
extract_si_keys( 'RDS', 'WO', CurWoVal, RdsKeys )
|
||||
return
|
||||
|
||||
|
||||
*============================================================================*
|
||||
CheckWo:
|
||||
MaxReacts = xlate( 'CONFIG', 'WO_MAST_SCHED', MaxReacts$, 'X' )
|
||||
CurReactor = get_property( @window, '@Reactor' )
|
||||
* now look through all other windows using disk values
|
||||
open 'CONFIG' to ConfigTable else
|
||||
Void = msg( '', 'Unable to open CONFIG table' )
|
||||
end_dialog( @window, '' )
|
||||
return 0
|
||||
end
|
||||
ErrMsg = ''
|
||||
for i = 20 to MaxReacts
|
||||
ThisDailyWoId = 'WO_DAILY_SCHED':i
|
||||
if i = CurReactor then
|
||||
* SKIP CAUSE WE KNOW IT IS RUNNING ON THIS REACTOR
|
||||
end else
|
||||
read DailyWoRec from ConfigTable, ThisDailyWoId else
|
||||
DailyWoRec = ''
|
||||
end
|
||||
if DailyWoRec<WOCust$> = OrigWoVal then
|
||||
ErrMsg := 'Reactor ':i:', '
|
||||
end
|
||||
end
|
||||
next i
|
||||
ErrMsg[-2,2] = ''
|
||||
if ErrMsg then
|
||||
convert ',' to @fm in ErrMsg
|
||||
LastOne = fieldcount( ErrMsg, @fm )
|
||||
if LastOne > 1 then
|
||||
TWo = ErrMsg<LastOne>
|
||||
TWo = ' and ':TWo
|
||||
ErrMsg<LastOne> = TWo
|
||||
convert @fm to ',' in ErrMsg
|
||||
end
|
||||
MsgInfo = ''
|
||||
MsgInfo<micon$> = '!'
|
||||
MsgInfo<mtext$> = quote( OrigWoVal ):' is currently running on ':ErrMsg:'...Please verify that all boxes for Work Order ':quote( OrigWoVal ):' are assigned to reactors before starting a new Work Order.'
|
||||
Void = msg( '', MsgInfo )
|
||||
end
|
||||
return
|
||||
|
||||
|
||||
*============================================================================*
|
||||
* * * * * * *
|
||||
REACT_MODE:
|
||||
* * * * * * *
|
||||
|
||||
CurWo = Get_Property( @WINDOW:'.WOCUST', 'TEXT' )
|
||||
|
||||
SWAP '52nd' WITH '' IN CurWo
|
||||
CONVERT @UPPER_CASE TO '' IN CurWo
|
||||
CONVERT @LOWER_CASE TO '' IN CurWo
|
||||
CONVERT " `~!@#$%^&*()_+-=\][{}|';:/?.>,<" TO '' IN CurWo
|
||||
CONVERT '"' TO '' IN CurWo
|
||||
|
||||
IF LEN(CurWo) = 7 THEN
|
||||
WONo = CurWo[1,6]:'.':CurWo[7,1]
|
||||
END ELSE
|
||||
WONo = CurWo
|
||||
END
|
||||
|
||||
Reactor = Get_Property( @WINDOW, '@Reactor' )
|
||||
//Below is the entry point for either the new reactor mode change form or the old.
|
||||
|
||||
CurMode = Dialog_Box( 'REACT_MODE_CHG_NG', @WINDOW, Reactor:'*':WONo:'*':ForceModechange:'*CENTER' )
|
||||
|
||||
IF CurMode <> 'CANCEL' THEN
|
||||
Icon = Get_Mode_Icon( CurMode )
|
||||
Extension = '.BMP'
|
||||
DosBmp = 'BMPS\':Icon:Extension
|
||||
Void = Set_Property( @WINDOW:'.RMODE', 'BITMAP', DosBmp )
|
||||
END
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user