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

137 lines
2.6 KiB
Plaintext

COMPILE FUNCTION obj_Prod_Ver(Method,Parms)
/*
Methods for PROD_VER table
3/16/2011 JCH - Initial Coding
Properties:
Methods:
* Convert(OrderDetKey) ;* Create PROD_VER Record from Data in ORDER_DET records on ORDER_DET window write event
*/
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey
$INSERT PROD_SPEC_EQUATES
$INSERT ORDER_DET_EQU
$INSERT QUOTE_SPEC_EQU
$INSERT PROD_VER_EQUATES
$INSERT CUST_PART_EQUATES
ErrTitle = 'Error in Stored Procedure "obj_PROD_VER"'
ErrorMsg = ''
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
IF NOT(ASSIGNED(Parms)) THEN Parms = ''
IF ErrorMsg NE '' THEN
Set_Status(-1,ErrTitle:@SVM:ErrorMsg)
RETURN ''
END
Result = ''
BEGIN CASE
CASE Method = 'Convert' ; GOSUB Convert
CASE Method = 'SAPSubPartNos' ; GOSUB SAPSubPartNos
CASE Method = 'CustPartSpec' ; GOSUB CustPartSpec
CASE 1
ErrorMsg = 'Unknown Method ':Method:' passed to object routine.'
END CASE
IF ErrorMsg NE '' THEN
Set_Status(-1,ErrTitle:@SVM:ErrorMsg)
END
RETURN Result
* * * * * * *
CustPartSpec:
* * * * * * *
debug
ProdVerNo = Parms[1,@RM]
ProdVerRec = Parms[COL2()+1,@RM]
IF ProdVerNo = '' THEN RETURN
IF ProdVerRec = '' THEN
ProdVerRec = XLATE('PROD_VER',ProdVerNo,'','X')
IF ProdVerRec = '' THEN RETURN
END
CustNo = ProdVerRec<PROD_VER_CUST_NO$>
CustPartNo = ProdVerRec<PROD_VER_CUST_PART_NO$>
CustPartRec = XLATE('CUST_PART',CustNo:'*':CustPartNo,'','X')
IF CustPartRec = '' THEN RETURN
SpecDescs = CustPartRec<CUST_PART_SPEC_DESC$>
CONVERT @LOWER_CASE TO @UPPER_CASE IN SpecDescs
LOCATE 'TARGET' IN SpecDescs USING @VM SETTING Pos THEN
SpecNo = CustPartRec<CUST_PART_SPEC_NO$,Pos>
RevNo = CustPartRec<CUST_PART_SPEC_REV$,Pos>
Result = SpecNo:'*':RevNo
END ELSE
SpecNo = SpecNo[-1,'B':@VM]
DEBUG
END
RETURN
* * * * * * *
Convert:
* * * * * * *
RETURN
* * * * * * *
SAPSubPartNos:
* * * * * * *
ProdVerNo = Parms[1,@RM]
ProdVerRec = Parms[COL2()+1,@RM]
IF ProdVerNo = '' THEN RETURN
IF ProdVerRec = '' THEN
ProdVerRec = XLATE('PROD_VER',ProdVerNo,'','X')
END
CurrSubPartNo = ProdVerRec<PROD_VER_SUB_PART_NO$>
Ans = CurrSubPartNo
SPCnt = COUNT(SubPartNos,@VM) + (SubPartNos NE '')
FOR I = 1 TO SPCnt
SubPartNo = SubPartNos<1,I>
IF SubPartNo MATCHES "6N'-'1A'-'2A" THEN
LOCATE SubPartNo IN Ans BY 'AL' USING @VM SETTING Pos ELSE
Ans = INSERT(Ans,1,Pos,0,SubPartNo)
END
END
NEXT I
Result = Ans
RETURN