Load Multiple files into a PeopleSoft Peoplecode

Function ImportSegment(&RS2 As Rowset)
Local string &RecordName;
Local Record &REC2;
Local SQL &SQL1;
Local integer &I;
&SQL1 = CreateSQL("%Insert(:1)");
&RecordName = "RECORD." | &RS2.DBRecordName;
&REC2 = CreateRecord(@(&RecordName));
For &I = 1 To &RS2.ActiveRowCount
&RS2(&I).GetRecord(1).CopyFieldsTo(&REC2);
&SQL1.Execute(&REC2);
End-For;
End-Function;

rem *****************************************************************;
rem * PeopleCode to Import Data *;
rem *****************************************************************;
Local File &FILE1;
Local Record &REC1;
Local SQL &SQL1;
Local Rowset &RS1, &RS2;
Local integer &M;
Local string &FileLayoutName, &RecName, &FileName;

&I = 1;
While &I <= 6 Evaluate &I When 1 &FileLayoutName = "FileLayout.KZL_HEALTH_BEN"; &RecName = "RECORD.KZL_HEALTH_BEN"; &FileName = "Health_Benefits"; Break; When 2 &FileLayoutName = "FileLayout.KZL_LIFE_ADD_BN"; &RecName = "RECORD.KZL_LIFE_ADD_BN"; &FileName = "Life_Add_Ben"; Break; When 3 &FileLayoutName = "FileLayout.KZL_PENSION_PLN"; &RecName = "RECORD.KZL_PENSION_PLN"; &FileName = "Pension_Plan"; Break; When 4 &FileLayoutName = "FileLayout.KZL_SAVINGS_PLN"; &RecName = "RECORD.KZL_SAVINGS_PLN"; &FileName = "Savings_Plan"; Break; When 5 &FileLayoutName = "FileLayout.KZL_VACATION_BN"; &RecName = "RECORD.KZL_VACATION_BN"; &FileName = "Vacation_Ben"; Break; When 6 &FileLayoutName = "FileLayout.KZL_DISABLTY_BN"; &RecName = "RECORD.KZL_DISABLTY_BN"; &FileName = "Disability_Ben"; Break; When-Other Break; End-Evaluate; &FilePath = GetURL(URL.KZL_BASE_PATH); &FilePath_Benefits = &FilePath | "BENEFITS\"; &FILE1 = GetFile(&FilePath_Benefits | &FileName | ".csv", "r", %FilePath_Absolute); &LOGFILE = GetFile(&FilePath_Benefits | &FileName | ".err", "W", %FilePath_Absolute); &FILE1.SetFileLayout(@(&FileLayoutName)); &LOGFILE.SetFileLayout(@(&FileLayoutName)); &RS1 = &FILE1.CreateRowset(); &RS = CreateRowset(@(&RecName)); &SQL1 = CreateSQL("%Insert(:1)"); &RS1 = &FILE1.ReadRowset(); While &RS1 <> Null;
ImportSegment(&RS1);
&RS1 = &FILE1.ReadRowset();
End-While;

&FILE1.Close();
&LOGFILE.Close();
&I = &I + 1
End-While;