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

132 lines
2.2 KiB
Plaintext

COMPILE FUNCTION TEST_CONVERT_PO(RawPO,CompNo)
DECLARE SUBROUTINE Send_Dyn
DECLARE FUNCTION Get_Status
IF NOT(ASSIGNED(RawPO)) THEN RETURN ''
IF NOT(ASSIGNED(CompNo)) THEN RETURN ''
PONo = ''
LineNo = ''
RelNo = ''
POIn = TRIM(RawPO)
RawPO = POIn
IF POIn[1,3] = 'GG-' THEN
SWAP 'GG-' WITH 'GG' IN POIn
END
IF POIn[1,1] = '-' THEN
Result = POIn
GOTO Bail
END
CONVERT ' ' TO '' IN POIn
IF POIn[1,2] = 'S-' THEN
Result = POIn
GOTO Bail
END
IF INDEX(POIn,'-',1) AND NOT(INDEX(POIn,'-',2)) THEN
TestPOIn = POIn[1,'F-']
Suffix = POIn[-1,'B-']
IF LEN(POIn) = 1 OR NOT(NUM(Suffix)) OR LEN(Suffix) > LEN(TestPOIn) THEN
CONVERT ' ' TO '' IN RawPO
Result = RawPO
GOTO Bail
END
IF LEN(Suffix) < 5 AND Suffix[1,1] NE '0' THEN
POIn = POIn[1,'F-']
PONo = POIn
IF CompNo = '6495' OR CompNo = '506' THEN
RelNo = Suffix
END
END ELSE
BEGIN CASE
CASE LEN(Suffix) = 5
RelNo = '0':Suffix
Dummy = POIn[-1,'B-']
POIn[COL1()-1,99] = ''
CASE LEN(Suffix) = 7
RelNo = '0':Suffix
Dummy = POIn[-1,'B-']
POIn[COL1()-1,99] = ''
CASE LEN(Suffix) = 6
RelNo = Suffix
Dummy = POIn[-1,'B-']
POIn[COL1()-1,99] = ''
CASE LEN(Suffix) = 8
RelNo = Suffix
Dummy = POIn[-1,'B-']
POIn[COL1()-1,99] = ''
CASE 1
Null
END CASE
PONo = POIn
END
END ELSE
PONo = POIn
END
IF INDEX(POIn,'LINE',1) THEN
SWAP 'LINE' WITH @FM IN POIn
LineNo = POIn<2>
PONo = POIn<1>
END
IF INDEX(POIn,'Line#',1) THEN
SWAP 'Line#' WITH @FM IN POIn
LineNo = POIn<2>
PONo = POIn<1>
END
IF INDEX(POIn,'Line',1) THEN
SWAP 'Line' WITH @FM IN POIn
LineNo = POIn<2>
PONo = POIn<1>
END
IF INDEX(POIn,'Item',1) THEN
SWAP 'Item' WITH @FM IN POIn
LineNo = POIn<2>
PONo = POIn<1>
END
IF INDEX(POIn,'=L',1) THEN
SWAP '=L' WITH @FM IN POIn
LineNo = POIn<2>
PONo = POIn<1>
END
IF INDEX(POIn,'*L',1) THEN
SWAP '*L' WITH @FM IN POIn
LineNo = POIn<2>
PONo = POIn<1>
END
IF INDEX(POIn,'Rel',1) THEN
SWAP 'Rel' WITH @FM IN POIn
RelNo = POIn<2>
PONo = POIn<1>
END
Result = PONo:@vm:LineNo:@VM:RelNo
* * * * * * *
Bail:
* * * * * * *
RETURN Result