COMPILE FUNCTION obj_Labels(Method,Parms) /* Methods common to all Zebra labels 09/12/2003 JCH - Initial Coding Properties: Methods: VerifyParms(DataStruct) ;* Values to be printed @FM delimited (see Lables insert) */ DECLARE FUNCTION Get_Status, Msg DECLARE FUNCTION Utility DECLARE SUBROUTINE Set_Status, Msg $INSERT MSG_EQUATES $INSERT LABELS ErrTitle = 'Error in Stored Procedure "obj_Labels"' 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 Methods = 'VerifyParms' Result = '' LOCATE Method IN Methods USING @FM SETTING Pos THEN ON Pos GOSUB VerifyParms END IF ErrorMsg NE '' THEN Set_Status(-1,ErrTitle:@SVM:ErrorMsg) RETURN '' END RETURN Result * * * * * * * VerifyParms: * * * * * * * DataVals = Parms[1,@RM] IF DataVals NE '' THEN CustPartNo = DataVals ;* 18 alphanumeric IF LEN(CustPartNo) > 18 THEN ErrorMsg = 'Customer Part Number ':QUOTE(CustPartNo):' exceeds 18 characters.' END END IF DataVals NE '' THEN PartQty = DataVals ;* 6 numeric IF LEN(PartQty) > 6 THEN ErrorMsg = 'Customer Part Number ':QUOTE(PartQty):' exceeds 6 characters.' END IF NOT(NUM(PartQty)) THEN ErrorMsg = 'Customer Part Number ':QUOTE(PartQty):' is not a number.' END END IF DataVals NE '' THEN RevLvl = DataVals ;* 3 alphanumeric IF LEN(RevLvl) > 3 THEN ErrorMsg = 'Customer Part Rev Level ':QUOTE(RevLvl):' exceeds 3 characters.' END END IF DataVals NE '' THEN SerialNo = DataVals ;* 9 alphanumeric IF LEN(SerialNo) > 9 THEN ErrorMsg = 'EDI Transaction Serial No ':QUOTE(SerialNo):' exceeds 9 characters.' END END IF DataVals NE '' THEN SupplierCd = DataVals ;* 12 alphanumeric IF LEN(SupplierCd) > 12 THEN ErrorMsg = 'Supplier Code ':QUOTE(SupplierCd):' exceeds 12 characters.' END END IF DataVals NE '' THEN DeliveryLoc = DataVals ;* 8 alphanumeric ('VARIOUS' is OK) IF LEN(DeliveryLoc) > 8 THEN ErrorMsg = 'Delivery Location ':QUOTE(DeliveryLoc):' exceeds 8 characters.' END END IF DataVals NE '' THEN PONo = DataVals ;* 12 alphanumeric IF LEN(PONo) > 12 THEN ErrorMsg = 'Purchase Order No ':QUOTE(PONo):' exceeds 12 characters.' END END IF DataVals NE '' THEN LotNo = DataVals ;* 10 alphanumeric IF LEN(LotNo) > 10 THEN ErrorMsg = 'Vendor Lot No ':QUOTE(LotNo):' exceeds 10 characters.' END END IF DataVals NE '' THEN PlantDock = DataVals ;* 7 alphanumeric IF LEN(PlantDock) > 7 THEN ErrorMsg = 'Plant & Dock designator ':QUOTE(PlantDock):' exceeds 7 characters.' END END IF DataVals NE '' THEN StorageBin = DataVals ;* 30 alphanumeric IF LEN(StorageBin) > 30 THEN ErrorMsg = 'Storage Bin description ':QUOTE(StorageBin):' exceeds 30 characters.' END END IF DataVals NE '' THEN PlantName = DataVals ;* 30 alphanumeric IF LEN(PlantName) > 30 THEN ErrorMsg = 'Plant Name description ':QUOTE(PlantName):' exceeds 30 characters.' END END IF DataVals NE '' THEN PlantCity = DataVals ;* 30 alphanumeric IF LEN(PlantCity) > 30 THEN ErrorMsg = 'Plant City description ':QUOTE(PlantCity):' exceeds 30 characters.' END END IF DataVals NE '' THEN ShipDt = DataVals ;* 30 alphanumeric IF NOT(ShipDt MATCHES "2A'/'2A'/'4A") THEN ErrorMsg = 'Ship Date in incorrect format ':QUOTE(ShipDt):' should be MM/DD/YYYY' END END IF DataVals NE '' THEN PartDesc = DataVals ;* 25 alphanumeric IF LEN(PartDesc) > 25 THEN ErrorMsg = 'Part description ':QUOTE(PartDesc):' exceeds 25 characters.' END END IF DataVals NE '' THEN Manufacturer = DataVals ;* 30 alphanumeric IF LEN(Manufacturer) > 30 THEN ErrorMsg = 'Manufacturer description ':QUOTE(Manufacturer):' exceeds 30 characters.' END END IF DataVals NE '' THEN City = DataVals ;* 20 alphanumeric IF LEN(City) > 20 THEN ErrorMsg = 'Manufacturer City ':QUOTE(City):' exceeds 20 characters.' END END IF DataVals NE '' THEN ST = DataVals ;* 2 characters IF NOT( ST MATCHES '2A' ) THEN ErrorMsg = 'Manufacturer State Code incorrect ':QUOTE(ST):' should be 2 letters.' END END IF DataVals NE '' THEN ZIP = DataVals ;* 7 alphanumeric IF LEN(ZIP) > 7 THEN ErrorMsg = 'Manufacturer ZIP ':QUOTE(ZIP):' exceeds 7 characters.' END END IF DataVals NE '' THEN Country = DataVals ;* 10 alphanumeric IF LEN(Country) > 10 THEN ErrorMsg = 'Manufacturer Country of origin ':QUOTE(Country):' exceeds 10 characters.' END END IF DataVals NE '' THEN MfgDt = DataVals ;* 30 alphanumeric IF NOT(MfgDt MATCHES "2A'/'2A'/'4A") THEN ErrorMsg = 'Mfg Date in incorrect format ':QUOTE(MfgDt):' should be MM/DD/YYYY' END END IF DataVals NE '' THEN ShipToName = DataVals ;* 25 alphanumeric IF LEN(ShipToName) > 25 THEN ErrorMsg = 'Ship To Name ':QUOTE(ShipToName):' exceeds 25 characters.' END END IF DataVals NE '' THEN ShipToAddr = DataVals ;* 25 alphanumeric IF LEN(ShipToAddr) > 25 THEN ErrorMsg = 'Ship To Addr ':QUOTE(ShipToAddr):' exceeds 25 characters.' END END IF DataVals NE '' THEN ShipToCity = DataVals ;* 25 alphanumeric IF LEN(ShipToCity) > 25 THEN ErrorMsg = 'Ship To City ':QUOTE(ShipToCity):' exceeds 25 characters.' END END IF DataVals NE '' THEN ShipToST = DataVals ;* 2 characters IF NOT( ShipToST MATCHES '2A' ) THEN ErrorMsg = 'Ship To State Code incorrect ':QUOTE(ShipToST):' should be 2 letters.' END END IF DataVals NE '' THEN ShipToZIP = DataVals ;* 7 alphanumeric IF LEN(ShipToZIP) > 7 THEN ErrorMsg = 'Ship To ZIP ':QUOTE(ShipToZIP):' exceeds 7 characters.' END END IF DataVals NE '' THEN CustPartNos = DataVals CPNCnt = COUNT(CustPartNos,@VM) + (CustPartNos NE '') FOR I = 1 TO CPNCnt CustPartNo = CustPartNos<1,I> ;* 18 Alphanumeric IF LEN(CustPartNo) > 18 THEN ErrorMsg = 'Customer Part Number ':QUOTE(CustPartNo):' exceeds 18 characters.' END NEXT I END IF DataVals NE '' THEN CustPartQtys = DataVals CPNCnt = COUNT(CustPartQtys,@VM) + (CustPartQtys NE '') FOR I = 1 TO CPNCnt CustPartQty = CustPartQtys<1,I> ;* 6 numeric IF LEN(CustPartQty) > 6 THEN ErrorMsg = 'Customer Part Qty ':QUOTE(CustPartQty):' exceeds 6 characters.' END IF NOT(NUM(CustPartQty)) THEN ErrorMsg = 'Customer Part Qty ':QUOTE(CustPartQty):' is not a number.' END NEXT I END