added LSL2 stored procedures
This commit is contained in:
131
LSL2/STPROC/TEST_CONVERT_PO.txt
Normal file
131
LSL2/STPROC/TEST_CONVERT_PO.txt
Normal file
@ -0,0 +1,131 @@
|
||||
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
|
Reference in New Issue
Block a user