Activity 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 FetchActivityDescr
  *
  *  @version 1.0
  *  @author Campus Solutions	
  *
  *  Module: Recruiting and Admissions / Common App.
  *  Description: 
  */
class FetchActivityDescr extends SCC_FILE_PARSER:UTIL:FieldCalculationAbstract
   /* public methods */
   method FetchActivityDescr();
   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 &Setid;
   instance string &Activity;
   instance string &ActivityDescrOut;
   instance SCC_FILE_PARSER:MODEL:Results:ResultsField &ResultsField;
   instance SCC_FILE_PARSER:MODEL:Results:ResultsCollection &ResultsCollection;
   instance SCC_FILE_PARSER:MODEL:Results:ResultsField &ActivityField;
end-class;
method FetchActivityDescr
   %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 &ActivityDescrOut;
end-method;
method GetFileData
   Local string &ActivityDescr;
   If &ActivityField = Null Then
      %This.GetFieldReferences();
   End-If;
   &Setid = "PSUNV"; /* For now, the SetID is 
hard coded - need to add code to fetch from system. */
   &Activity = "";
   If &ActivityField <> Null Then
      &Activity = &ActivityField.FieldValue;
      SQLExec("select a.descr from ps_extr_actvty_tbl a 
where a.extra_activity =:1 and a.setid =:2 and 
a.eff_status = 'A' and a.effdt = (select max(a1.effdt) 
from ps_extr_actvty_tbl a1 where a1.setid = a.setid and 
a1.extra_activity = a.extra_activity and 
a1.effdt <= %DateIn(:3))", &Activity, 
&Setid, %Date, &ActivityDescr);
      If &ActivityDescr = "" Then
         &ActivityDescrOut = "NOT FOUND";
      Else
         &ActivityDescrOut = &ActivityDescr;
      End-If;
   End-If;
end-method;
method GetFieldReferences
   Local integer &SegmentNbr;
   Local integer &RecordRow;
   Local SCC_FILE_PARSER:MODEL:Results:ResultsRecord &obj_SCC_STG_EXTRACU;
   &SegmentNbr = &ResultsField.ResultsRecord.SegmentNbr;
   &RecordRow = &ResultsField.ResultsRecord.RecordRow;
   &obj_SCC_STG_EXTRACU = &ResultsCollection.GetResultsRecord(&SegmentNbr, 
"SCC_STG_EXTRACU", &RecordRow);
   If &obj_SCC_STG_EXTRACU <> Null Then
      &ActivityField = &obj_SCC_STG_EXTRACU.GetResultsField("EXTRA_ACTIVITY");
   End-If;
end-method;