Subject Description
Code example:
import SCC_FILE_PARSER:UTIL:FieldCalculationAbstract;
import SCC_FILE_PARSER:MODEL:Results:ResultsField;
import SCC_FILE_PARSER:MODEL:Results:ResultsRecord;
import SCC_FILE_PARSER:MODEL:Results:ResultsCollection;
import SCC_FILE_PARSER:UTIL:Exception:FileParserException;
/**
* class FetchSubjectDescr
*
* @version 1.0
* @author Campus Solutions
*
* Module: Recruiting and Admissions / Common App.
* Description:
*/
class FetchSubjectDescr extends SCC_FILE_PARSER:UTIL:FieldCalculationAbstract
/* public methods */
method FetchSubjectDescr();
method calculateValue(&ResultsFieldIn As
SCC_FILE_PARSER:MODEL:Results:ResultsField, &ResultsCollectionIn
As SCC_FILE_PARSER:MODEL:Results:ResultsCollection) Returns any;
private
method GetFileData();
method GetFieldReferences();
instance string &SubjectArea;
instance string &SubjectAreaDescrOut;
instance SCC_FILE_PARSER:MODEL:Results:ResultsField &ResultsField;
instance SCC_FILE_PARSER:MODEL:Results:ResultsCollection &ResultsCollection;
instance SCC_FILE_PARSER:MODEL:Results:ResultsField &SubjectAreaField;
end-class;
method FetchSubjectDescr
%Super = create SCC_FILE_PARSER:UTIL:FieldCalculationAbstract();
end-method;
method calculateValue
/+ &ResultsFieldIn as SCC_FILE_PARSER:MODEL:Results:ResultsField, +/
/+ &ResultsCollectionIn as SCC_FILE_PARSER:MODEL:Results:ResultsCollection +/
/+ Returns Any +/
/+ Extends/implements
SCC_FILE_PARSER:UTIL:FieldCalculationAbstract.CalculateValue +/
&ResultsCollection = &ResultsCollectionIn;
&ResultsField = &ResultsFieldIn;
%This.GetFileData();
Return &SubjectAreaDescrOut;
end-method;
method GetFileData
Local string &SubjectAreaDescr;
If &SubjectAreaField = Null Then
%This.GetFieldReferences();
End-If;
&SubjectArea = "";
If &SubjectAreaField <> Null Then
&SubjectArea = &SubjectAreaField.FieldValue;
SQLExec("SELECT A.DESCR FROM PS_EXT_SUBJECT_TBL A
WHERE A.EXT_SUBJECT_AREA =:1 AND A.EFF_STATUS = 'A'
AND A.EFFDT = (SELECT MAX(A1.EFFDT) FROM PS_EXT_SUBJECT_TBL A1
WHERE A1.EXT_SUBJECT_AREA = A.EXT_SUBJECT_AREA AND
A1.EFFDT <= %DateIn(:2))", &SubjectArea, %Date, &SubjectAreaDescr);
If &SubjectAreaDescr = "" Then
&SubjectAreaDescrOut = "NOT FOUND";
Else
&SubjectAreaDescrOut = &SubjectAreaDescr;
End-If;
End-If;
end-method;
method GetFieldReferences
Local integer &SegmentNbr;
Local integer &RecordRow;
Local SCC_FILE_PARSER:MODEL:Results:ResultsRecord &obj_SCC_STG_ADMINT;
&SegmentNbr = &ResultsField.ResultsRecord.SegmentNbr;
&RecordRow = &ResultsField.ResultsRecord.RecordRow;
&obj_SCC_STG_ADMINT = &ResultsCollection.GetResultsRecord(&SegmentNbr,
"SCC_STG_ADMINT", &RecordRow);
If &obj_SCC_STG_ADMINT <> Null Then
&SubjectAreaField = &obj_SCC_STG_ADMINT.GetResultsField("EXT_SUBJECT_AREA");
End-If;
end-method;