class generalIncludes.tableObjects.OProject inherits generalIncludes.tableObjects.TableInterface: DEFINE PUBLIC PROPERTY ProjectDescription AS CHARACTER NO-UNDO GET. SET. DEFINE PUBLIC PROPERTY ID AS INTEGER NO-UNDO GET. SET. DEFINE PUBLIC PROPERTY Name AS CHARACTER NO-UNDO GET. SET. DEFINE override PUBLIC PROPERTY pkName AS CHARACTER NO-UNDO GET: return "ID". end. method override public integer getPrimaryKey(): return ID. end method. method override public void setField(input f as character, input val as character): case f: when "ProjectDescription" then ProjectDescription = val. when "Name" then Name = val. otherwise MESSAGE "Value not good in OProject" VIEW-AS ALERT-BOX. end. end method. method override public void setField(input f as character, input val as integer): case f: when "ID" then ID = val. otherwise MESSAGE "Value not good in OProject" VIEW-AS ALERT-BOX. end. end method. method public override character toString(): if ID > 0 then return "ID|" + string(ID) + "|Name|" + Name + "|ProjectDescription|" + ProjectDescription. else return "Name|" + Name + "|ProjectDescription|" + ProjectDescription. end method. constructor OProject(): end constructor. constructor OProject(input ID as integer,input jobName as character, input ProjectDescription as character): this-object:ID = ID. this-object:Name = jobName. this-object:ProjectDescription = ProjectDescription. end constructor. constructor OProject(input jobName as character, input ProjectDescription as character): this-object:ID = -1. this-object:Name = jobName. this-object:ProjectDescription = ProjectDescription. end constructor. end class.