open-insight/LSL2/STPROC/CONV_CODE_DESC.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

59 lines
1.4 KiB
Plaintext

SUBROUTINE CONV_CODE_DESC(ConvType, DataIo, Branch, ReturnedValue)
/*
Used when small data sets are stored in a popup with the first 2 columns being CODE and DESCRIPTION
Pass the basic Popup ID in Branch
ItemDesc = OCONV(ItemCode,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
*/
$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$
PopupID = Branch
BEGIN CASE
CASE ConvType = 'ICONV'
Vals = XLATE('SYSREPOSPOPUPS','LSL2**':PopupID,8,'X')
Desc = ''
LOOP
Val = Vals[1,@VM]
Code = Val[1,@SVM]
Desc = Val[COL2()+1,@SVM]
UNTIL Desc = DataIO OR Vals = ''
Vals = DELETE(Vals,1,1,0)
REPEAT
ReturnedValue = Code
CASE ConvType = 'OCONV'
IF NUM(DataIo[1,1]) THEN DataIo[1,1] = ''
Vals = XLATE('SYSREPOSPOPUPS','LSL2**':PopupID,8,'X')
Desc = ''
LOOP
Val = Vals[1,@VM]
Code = Val[1,@SVM]
Desc = Val[COL2()+1,@SVM]
UNTIL Code = DataIO OR Vals = ''
Vals = DELETE(Vals,1,1,0)
REPEAT
ReturnedValue = Desc
CASE OTHERWISE$
status() = INVALID_MSG$
END CASE
RETURN