62 lines
1.7 KiB
Plaintext
62 lines
1.7 KiB
Plaintext
SUBROUTINE MET_PROP_CONV(ConvType, DataIo, ReturnCode, ReturnedValue)
|
|
|
|
$insert logical
|
|
|
|
equ valid$ to 0 ;* successful
|
|
equ invalid_msg$ to 1 ;* bad data - print error message window
|
|
equ invalid_conv$ to 2 ;* bad conversion - " "
|
|
equ invalid_nomsg$ to 3 ;* bad but do not print the error message window
|
|
|
|
Status() = Valid$
|
|
|
|
/*
|
|
EQU UNIT$THICK TO CHAR(230):'m' ;* Microns
|
|
EQU UNIT$THICKA TO CHAR(143) ;* Angstroms
|
|
EQU UNIT$RES TO CHAR(234):'-cm' ;* Ohms.Cm
|
|
EQU UNIT$SRES TO CHAR(234):'/':CHAR(220) ;* Ohms/Square
|
|
EQU UNIT$CRES TO CHAR(234):'-cm' ;* Ohms.Cm
|
|
EQU UNIT$CONC TO 'CM-3' ;* Carriers.Cubic Centimeter
|
|
EQU UNIT$STRESS TO 'dyne/cm-2' ;* Dyne/Square Centimeter
|
|
EQU UNIT$BOW TO CHAR(230):'m' ;* Microns
|
|
EQU UNIT$TRANS TO CHAR(230):'m' ;* Microns
|
|
*/
|
|
|
|
IF NOT(ASSIGNED(ReturnCode)) THEN ReturnCode = ''
|
|
|
|
BEGIN CASE
|
|
CASE ConvType = 'ICONV'
|
|
|
|
Vals = XLATE('SYSREPOSPOPUPS','LSL2**MET_PROPERTY',8,'X')
|
|
|
|
LOOP
|
|
Val = Vals[1,@VM]
|
|
Code = Vals<1,1,1> ;* 1st column
|
|
InConv = Vals<1,1,3> ;* 3rd column
|
|
UNTIL Code = ReturnCode OR Vals = ''
|
|
Vals = DELETE(Vals,1,1,0)
|
|
REPEAT
|
|
|
|
ReturnedValue = ICONV(DataIo,InConv)
|
|
|
|
|
|
CASE ConvType = 'OCONV'
|
|
|
|
Vals = XLATE('SYSREPOSPOPUPS','LSL2**MET_PROPERTY',8,'X')
|
|
|
|
LOOP
|
|
Val = Vals[1,@VM]
|
|
Code = Vals<1,1,1> ;* 1st column
|
|
OutConv = Vals<1,1,4> ;* 4th column
|
|
UNTIL Code = ReturnCode OR Vals = ''
|
|
Vals = DELETE(Vals,1,1,0)
|
|
REPEAT
|
|
|
|
ReturnedValue = OCONV(DataIo,OutConv)
|
|
|
|
CASE otherwise$
|
|
status() = invalid_msg$
|
|
|
|
END CASE
|
|
|
|
RETURN
|