Wednesday, 21 May 2025

Post Attachments

 

Global File &LogFile;


Global string &APPLIED_TERM;


Function ProcessAttachmentDetails(&emplid As string, &appliedTerm As string)

   Local SQL &sql;

   Local array of string &attachmentData;

   Local number &rowNum;

   Local string &output;

   Local number &FILE_SEQ = 1;

   Local Record &ApplAtch = CreateRecord(Record.SAD_APPL_ATCH);

   

   &sql = CreateSQL(SQL.ITS_GET_ATTACHMENT_DATA, &appliedTerm, &emplid);

   &ID = &emplid;

   While &sql.Fetch(&emplid, &ACAD_CAREER, &STDNT_CAR_NBR, &ADM_APPL_NBR, &ATTACHSYSFILENAME, &ATTACHUSERFILE, &DESCR254, &ext);

      

      &ApplAtch.EMPLID.Value = &emplid;

      &ApplAtch.ACAD_CAREER.Value = &ACAD_CAREER;

      &ApplAtch.STDNT_CAR_NBR.Value = &STDNT_CAR_NBR;

      &ApplAtch.ADM_APPL_NBR.Value = &ADM_APPL_NBR;

      &ApplAtch.ATTACH_SEQ_NBR.Value = &FILE_SEQ;

      &ApplAtch.ATTACHSYSFILENAME.Value = &ATTACHSYSFILENAME;

      &ApplAtch.ATTACHUSERFILE.Value = &ATTACHUSERFILE;

      /* Populate other required fields */

      &ApplAtch.SCC_DATE.Value = %Date;

      &ApplAtch.DESCR254.Value = &DESCR254;

      &ApplAtch.SCC_ROW_ADD_OPRID.Value = %OperatorId;

      &ApplAtch.SCC_ROW_ADD_DTTM.Value = %Datetime;

      &ApplAtch.SCC_ROW_UPD_OPRID.Value = %OperatorId;

      &ApplAtch.SCC_ROW_UPD_DTTM.Value = %Datetime;

      &ApplAtch.AV_ATCH_TYPE.Value = &ext;

      &ApplAtch.Insert();

      SQLExec("Commit");

      &FILE_SEQ = &FILE_SEQ + 1;

      

      

   End-While;

   

   REM &LogFile.WriteLine("Attachments have been processed successfully for ID: " | &ID);

   

   SQLExec("Update PS_ITS_POSTING_LOG SET ITS_APP_ATCH='P' WHERE EMPLID =:1", &ID);

   SQLExec("COMMIT");

   

   SQLExec("INSERT INTO PS_SAD_ATTACHMENTS (SELECT * FROM PS_ITS_ADM_FATTACH WHERE ATTACHSYSFILENAME IN (SELECT DISTINCT ATTACHSYSFILENAME FROM PS_SAD_APPL_ATCH WHERE EMPLID =:1 MINUS SELECT DISTINCT ATTACHSYSFILENAME FROM PS_SAD_ATTACHMENTS))", &ID);

   SQLExec("Commit");

End-Function;






&APPLIED_TERM = ITS_POSTPRC_AET.STRM.Value;

Local SQL &sql1 = CreateSQL("SELECT EMPLID FROM PS_ITS_POSTING_LOG WHERE ITS_APP_ATCH<>'P' ", &EMPLID);

While &sql1.Fetch(&EMPLID)

   ProcessAttachmentDetails(&EMPLID, &APPLIED_TERM);

End-While;


No comments:

Post a Comment