Tuesday, January 31, 2017

add applicant


REM Declare Function ER_Attachments PeopleCode FUNCLIB_ER.AUTOPOPULATE FieldFormula; /*Ilavarasu*/
import HRS_CANDIDATE_MANAGER:CMP_CAND_ADMIN:Util:*;

Local File &APPL_FILE;
Local array of string &APP_ARY;
Local boolean &Return_Flag;



Local Record &APP_DATA_EFF_REC;
Local Record &APPLICANT_REC;
Local Record &APPLICNT_PHONE_REC;
Local Record &APP_EMAIL_ADDRS_REC;
Local Record &ER_REFERRAL_REC;
Local Record &APPLICANT_DATA_REC;
Local Record &APP_ACCOMPS_DGR_REC;
Local Record &APP_ACCOMPS_LNG_REC;
Local Record &ZIN_RCTD005A_REC;
Local Record &APP_PRIWRK_EXPR_REC;
Local Record &APP_DATA_ADDR_REC;
Local Record &APP_HRS_RCMNT_REC;
Local Record &APP_HRS_APP_USA_REC;
Local date &Brth_Dt;
Local Rowset &RS;



Function Mandatory_Fields() Returns boolean;
  
   &Return_Flag = False;
  
   For &I = 1 To &numOfFld /*Get values from data file */
     
     
      &APP_ARY [&I] = LTrim(&APP_ARY [&I], &doublequote);
      &APP_ARY [&I] = RTrim(&APP_ARY [&I], &doublequote);
     
      Evaluate &I
      When 1
      When 2
      When 4
      When 5
      When 6
      When 7
      When 8
      When 9
      When 10
      When 11
      When 12
      When 13
      When 14
      When 19
      When 20
      When 21
      When 22
      When 23
      When 24
      When 25
      When 26
      When 27
      When 28
      When 29
      When 30
      When 31
      When 32
      When 33
      When 34
      When 35
      When 36
      When 37
      When 38
      When 39
      When 40
      When 41
         If Not All(&APP_ARY [&I]) Then
           
            &Return_Flag = True;
         End-If;
         Break;
      End-Evaluate;
     
   End-For;
  
   Return &Return_Flag;
  
End-Function;


Function Get_Date_Format(&Dt) Returns string;
  
   &a = Find("/", &Dt, 1);
   &To = &a - 1;
   &Month = Substring(&Dt, 1, &To);
  
   &b = Find("/", &Dt, &a + 1);
   &To = &b - &a - 1;
   &Day = Substring(&Dt, &a + 1, &To);
  
   &Year = Substring(&Dt, (Len(&Dt) - 3), 4);
   If &a = 0 Or
         &b = 0 Or
         Value(&Month) > 12 Then
      Return "INVALID";
   Else
      If Len(&Day) = 1 Then
         &Day = "0" | &Day;
      End-If;
     
      If Len(&Month) = 1 Then
         &Month = "0" | &Month;
      End-If;
     
      &Dt = &Year | "-" | &Month | "-" | &Day;
      Return &Dt;
   End-If;
  
End-Function;


Function Create_Date_Format(&DD, &MM, &YYYY) Returns string;
  
   If Value(&MM) > 12 Then
      Return "INVALID";
   End-If;
  
   If Len(&DD) = 1 Then
      &DD = "0" | ⅅ
   End-If;
  
   If Value(&DD) > 31 Then
      Return "INVALID";
   End-If;
   If Len(&MM) = 1 Then
      &MM = "0" | &MM;
   End-If;
  
   &Dt = &YYYY | "-" | &MM | "-" | ⅅ
   Return &Dt;
  
End-Function;

Function Check_Valid_Grade(&Grd) Returns boolean;
  
   &Grd_Exists = 0;
  
   &Msg_Str = "Grade " | &Grd; /*Layeeque*/
  
   SQLExec("SELECT JB.BUSINESS_UNIT FROM PS_JOB JB ,PSOPRDEFN OP WHERE OP.OPRID =:1 AND  JB.EMPLID = OP.EMPLID AND JB.EFFDT = (SELECT MAX(JB_ED.EFFDT) FROM PS_JOB JB_ED WHERE JB.EMPLID = JB_ED.EMPLID AND JB.EMPL_RCD = JB_ED.EMPL_RCD AND JB_ED.EFFDT <= GETDATE()) AND JB.EFFSEQ = (SELECT MAX(JB_ES.EFFSEQ) FROM PS_JOB JB_ES  WHERE JB.EMPLID = JB_ES.EMPLID AND JB.EMPL_RCD = JB_ES.EMPL_RCD AND JB.EFFDT = JB_ES.EFFDT)", %OperatorId, &SetID);
  
   SQLExec("SELECT COUNT(*) FROM PS_SAL_GRADE_TBL WHERE SETID = :1 AND GRADE  = :2", &SetID, &Grd, &Grd_Exists);
  
   If &Grd_Exists > 0 Then
      Return True;
   End-If;
  
   If &Grd_Exists = 0 Then
      Return False;
   End-If;
  
End-Function;

/*Abhishek*/
/* Function for cleaning all the special characters while fetching the data */
Function Cleandata(&val As string) Returns string
   Local string &SplString;
   Local string &CleanString;
  
   &SplString = &val;
   &CleanString = "";
   For &Counter = 1 To Len(&SplString)
      If Code(Substring(&SplString, &Counter, 1)) = 10 Then
         &CleanString = &CleanString | " ";
      Else
         &CleanString = &CleanString | Clean(Substring(&SplString, &Counter, 1));
      End-If;
   End-For;
   Return (&CleanString);
End-Function;

/*Abhishek*/
Function CleanSplChar(&val As string) Returns string
  
   Local string &SplString;
   Local string &AfterClean;
   Local string &CleanString;
   Local string &SpCharStr;
   Local string &InStrChar;
   Local number &AsciiNbr;
   Local string &CleanStr;
  
  
   &SplString = Cleandata(&val);
   &CleanStr = "";
   For &Counter = 1 To Len(&SplString)
      &InStrChar = Substring(&SplString, &Counter, 1);
      &AsciiNbr = Code(&InStrChar);
     
      Evaluate &AsciiNbr
      When = 9
      When = 33
      When = 35
      When = 36
      When = 37
      When = 38
      When = 40
      When = 41
      When = 42
      When = 43
      When = 45
      When = 47
      When = 63
      When = 92
      When = 94
        
         Break;
      When-Other
         &CleanStr = &CleanStr | &InStrChar;
         Break;
      End-Evaluate;
     
   End-For;
   Return (&CleanStr);
  
End-Function;



/*Program Start*/


SQLExec("Select Z_FILE_PATH from PS_ZIN_DC_RUNCNTL WHERE OPRID = :1 AND RUN_CNTL_ID = :2", Z_DC_AET.OPRID, Z_DC_AET.RUN_CNTL_ID, &FILE_PATH);


&path = &FILE_PATH | "applicant.csv";
&APPL_FILE = GetFile(&path, "E", %FilePath_Absolute);
&numOfFld = 42;
MessageBox(0, "", 0, 0, "Path" | &path);


&APP_DATA_EFF_REC = CreateRecord(Record.HRS_APP_NAMES);
&APPLICANT_REC = CreateRecord(Record.HRS_APPLICANT);
&ER_REFERRAL_REC = CreateRecord(Record.HRS_EE_REFERRAL);
&APPLICANT_DATA_REC = CreateRecord(Record.HRS_APP_PROFILE);
&APP_ACCOMPS_DGR_REC = CreateRecord(Record.HRS_APP_ACMP);
&APP_ACCOMPS_LNG_REC = CreateRecord(Record.HRS_APP_ACMP);
&APP_PRIWRK_EXPR_REC = CreateRecord(Record.HRS_APP_WRK_EXP);
&APPLICNT_PHONE_REC = CreateRecord(Record.HRS_APP_PHONE);
&APP_EMAIL_ADDRS_REC = CreateRecord(Record.HRS_APP_EMAIL);
&APP_DATA_ADDR_REC = CreateRecord(Record.HRS_APP_ADDRESS);
&APP_HRS_RCMNT_REC = CreateRecord(Record.HRS_RCMNT);
&APP_HRS_AL_LOG_SRCE = CreateRecord(Record.HRS_AL_LOG_SRCE);
&APP_HRS_APP_USA_REC = CreateRecord(Record.HRS_APP_USA);



If &APPL_FILE.IsOpen Then
  
   While &APPL_FILE.ReadLine(&APPL_DATA);
     
      &APP_ARY = Split(&APPL_DATA, ";");
     
      For &I = 1 To &numOfFld
         &APP_ARY [&I] = CleanSplChar(&APP_ARY [&I]);
      End-For;
     
      &First_Nm = &APP_ARY [2];
      &Last_Nm = &APP_ARY [4];
      &Name = &Last_Nm | ", " | &First_Nm;
     
      &First_Nm_Upr = Upper(&First_Nm);
      &Last_Nm_Upr = Upper(&Last_Nm);
     
      &Birth_Dt = "";
      &Birth_Dt_Flag = True;
      &Dup_Flag = 0;
     
      If All(&APP_ARY [5]) And
            All(&APP_ARY [6]) And
            All(&APP_ARY [7]) Then
         &Birth_Dt = Create_Date_Format(&APP_ARY [5], &APP_ARY [6], &APP_ARY [7]);
         If &Birth_Dt = "INVALID" Then
            &Birth_Dt_Flag = False;
            &Msg_Str = "Invalid Birth Date for Applicant " | &Name;
            MessageBox(0, "", 0, 0, &Msg_Str);
         End-If;
      Else
         &Birth_Dt_Flag = False;
         &Msg_Str = "Birth Date is Null for Applicant " | &Name;
         MessageBox(0, "", 0, 0, &Msg_Str);
      End-If;
     
     
      If &Birth_Dt_Flag = True Then
        
         SQLExec("SELECT COUNT(*) FROM PS_HRS_APP_NAMES A, PS_HRS_APPLICANT B WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID AND UPPER(A.FIRST_NAME) = :1 AND UPPER(A.LAST_NAME) = :2 AND B.BIRTHDATE = :3", &First_Nm_Upr, &Last_Nm_Upr, &Birth_Dt, &Dup_Flag);
        
         If &Dup_Flag > 0 Then
            &Msg_Str = "Duplicate record found for Applicant " | &Name;
            MessageBox(0, "", 0, 0, &Msg_Str);
         End-If;
      End-If;
      If &Dup_Flag = 0 And
            &Birth_Dt_Flag = True Then
        
         &Mand = Mandatory_Fields();
        
         If &Mand = True Then
            &Msg_Str = "Insufficient Data for the Applicant " | &Name;
            MessageBox(0, "", 0, 0, &Msg_Str);
         End-If;
        
        
         &Email_Flag = True;
        
        
        
         SQLExec("SELECT COUNT(*) FROM PS_HRS_APP_EMAIL WHERE EMAIL_ADDR = :1", &APP_ARY [10], &Email_Cnt);
        
         If &Email_Cnt > 0 Then
            &Email_Flag = False;
            &Email_ApplID = "";
            &Email_Nm = "";
           
           
           
            SQLExec("SELECT A.HRS_PERSON_ID, A.NAME FROM PS_HRS_APP_NAMES A, PS_HRS_APP_EMAIL B WHERE A.HRS_PERSON_ID = B.HRS_PERSON_ID AND B.EMAIL_ADDR = :1", &APP_ARY [10], &Email_ApplID, &Email_Nm);
           
            &Msg_Str = "Email Address of the Applicant " | &Name | " being uploaded already exists in the database (Applicant ID: " | &Email_ApplID | " Applicant Name: " | &Email_Nm;
            MessageBox(0, "", 0, 0, &Msg_Str);
         End-If;
        
         /* Abhishek */
         /* Condition for Employee Referral or Consulant reference */
         &Referral_Flag = True;
        
         SQLExec("SELECT HRS_AL_LOG_ID FROM PS_HRS_HROI_COUNT", &al_log_id);
         &al_log_id = &al_log_id + 1;
         SQLExec("SELECT HRS_AL_LOG_SRC_SEQ FROM PS_HRS_HROI_COUNT", &al_log_src_seq);
         &al_log_src_seq = &al_log_src_seq + 1;
        
         SQLExec("select HRS_PERSON_ID_LAST from PS_HRS_HRAM_COUNT", &LAST_APPID);
         &New_AppID_1 = &LAST_APPID + 1;
        
        
        
         Evaluate &APP_ARY [19]
         When = "1000"
            /*consultant*/
            SQLExec("SELECT HRS_SUBSOURCE_ID FROM PS_HRS_SUBSRC_VW_I WHERE HRS_SOURCE_ID=:1 AND HRS_SUBSOURCE_ID=:2", &APP_ARY [19], &APP_ARY [20], &Refsrc);
            If None(&Refsrc) Then
               &Referral_Flag = False;
               &Msg_Str = "INVALID Referral Source Detail " | &Refsrc;
               MessageBox(0, "", 0, 0, &Msg_Str);
              
            End-If;
            &APP_ARY [20] = &Refsrc;
           
            /*to display HRS_AL_LOG_ID in HRS_APP_PROFILE record*/
            &APPLICANT_DATA_REC.HRS_AL_LOG_ID.Value = &al_log_id;
            /*to diplay in HRS_AL_LOG_SRCE record*/
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_SRC_SEQ.value = &al_log_src_seq;
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_ID.value = &al_log_id;
            &APP_HRS_AL_LOG_SRCE.HRS_SOURCE_ID.VALUE = &APP_ARY [19];
            &APP_HRS_AL_LOG_SRCE.HRS_SUBSOURCE_ID.value = &APP_ARY [20];
           
           
            Break;
         When = "1024"
            /*Job Portal*/
           
            SQLExec("SELECT HRS_SUBSOURCE_ID FROM PS_HRS_SUBSRC_VW_I WHERE HRS_SOURCE_ID=:1 AND HRS_SUBSOURCE_ID=:2", &APP_ARY [19], &APP_ARY [20], &Refsrc);
           
            /*to display HRS_AL_LOG_ID in HRS_APP_PROFILE record*/
            &APPLICANT_DATA_REC.HRS_AL_LOG_ID.Value = &al_log_id;
            /*to diplay in HRS_AL_LOG_SRCE record*/
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_SRC_SEQ.value = &al_log_src_seq;
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_ID.value = &al_log_id;
            &APP_HRS_AL_LOG_SRCE.HRS_SOURCE_ID.VALUE = &APP_ARY [19];
            &APP_HRS_AL_LOG_SRCE.HRS_SUBSOURCE_ID.value = &APP_ARY [20];
            Break;
         When = "1006"
            /*Direct*/
           
            /*to display HRS_AL_LOG_ID in HRS_APP_PROFILE record*/
            &APPLICANT_DATA_REC.HRS_AL_LOG_ID.Value = &al_log_id;
            /*to diplay in HRS_AL_LOG_SRCE record*/
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_SRC_SEQ.value = &al_log_src_seq;
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_ID.value = &al_log_id;
            &APP_HRS_AL_LOG_SRCE.HRS_SOURCE_ID.VALUE = &APP_ARY [19];
            &APP_HRS_AL_LOG_SRCE.HRS_SUBSOURCE_ID.value = &APP_ARY [20];
           
            Break;
         When = "1007"
            /*Employee referral*/
            SQLExec("SELECT EMPLID FROM PS_PERS_SRCH_ALL WHERE EMPLID = :1", &APP_ARY [20], &Refid);
           
            If None(&Refid) Then
               &Referral_Flag = False;
               &Msg_Str = "INVALID Employee Referral ID" | &Refid;
               MessageBox(0, "", 0, 0, &Msg_Str);
              
            End-If;
            &APP_ARY [20] = &Refid;
            &ER_REFERRAL_REC.HRS_PERSON_ID.Value = &New_AppID_1;
            &ER_REFERRAL_REC.HRS_PROFILE_SEQ.Value = "1";
            &ER_REFERRAL_REC.EMPLID.Value = &APP_ARY [20];
            &ER_REFERRAL_REC.HRS_AL_LOG_SRC_SEQ.Value = &al_log_src_seq;
            &ER_REFERRAL_REC.Insert();
            /*to display HRS_AL_LOG_ID in HRS_APP_PROFILE record*/
            &APPLICANT_DATA_REC.HRS_AL_LOG_ID.Value = &al_log_id;
            /*to diplay in HRS_AL_LOG_SRCE record*/
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_SRC_SEQ.value = &al_log_src_seq;
            &APP_HRS_AL_LOG_SRCE.HRS_AL_LOG_ID.value = &al_log_id;
            &APP_HRS_AL_LOG_SRCE.HRS_SOURCE_ID.VALUE = &APP_ARY [19];
           
            Break;
         End-Evaluate; /*Abhishek*/
        
        
         If &Mand = False And
               &Email_Flag = True And
               &Referral_Flag = True Then /*Abhishek*/
           
            SQLExec("select HRS_PERSON_ID_LAST from PS_HRS_HRAM_COUNT", &LAST_APPID);
           
            &New_AppID = &LAST_APPID + 1;
           
            SQLExec("select HRS_RCMNT_ID from PS_HRS_HRAT_COUNT", &LAST_RCMNT_ID);
           
            &New_Rcmnt_id = &LAST_RCMNT_ID + 1;
           
           
            &APP_DATA_EFF_REC.HRS_PERSON_ID.Value = &New_AppID; /*Applicant ID*/
            &APP_DATA_EFF_REC.NAME_TYPE.Value = "PRI"; /*Eff Date*/
            &APP_DATA_EFF_REC.COUNTRY_NM_FORMAT.Value = "001";
           
            &APP_DATA_EFF_REC.GetField(4).Value = &Name;
            &APP_DATA_EFF_REC.LAST_NAME_SRCH.Value = Upper(&APP_ARY [4]);
            &APP_DATA_EFF_REC.FIRST_NAME_SRCH.Value = Upper(&APP_ARY [2]);
            &APP_DATA_EFF_REC.NAME_PREFIX.Value = &APP_ARY [1]; /*Prefix*/
            &APP_DATA_EFF_REC.FIRST_NAME.Value = &APP_ARY [2]; /*First Name*/
            &APP_DATA_EFF_REC.MIDDLE_NAME.Value = &APP_ARY [3]; /*Middle Name*/
            &APP_DATA_EFF_REC.LAST_NAME.Value = &APP_ARY [4]; /*Last Name*/
            &APP_DATA_EFF_REC.NAME_DISPLAY.Value = &Name;
           
            &APPLICANT_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APPLICANT_REC.BIRTHDATE.Value = &Birth_Dt; /*Birth Date*/
            &APPLICANT_REC.STATUS_CODE.Value = "010";
            &APPLICANT_REC.STATUS_DT.Value = %Date;
            &APPLICANT_REC.APP_PER_STATUS.Value = "A";
            &APPLICANT_REC.SEX.Value = Upper(&APP_ARY [8]); /*Gender*/
           
            &APPLICNT_PHONE_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APPLICNT_PHONE_REC.HRS_PHONE_TYPE.Value = "OTR"; /*Phone type*/
            &APPLICNT_PHONE_REC.PHONE.Value = &APP_ARY [9]; /*Phone Number*/
            &APPLICNT_PHONE_REC.PREF_PHONE_FLAG.Value = "Y";
           
            &APP_EMAIL_ADDRS_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APP_EMAIL_ADDRS_REC.HRS_E_ADDR_TYPE.Value = "HOME"; /*Email Type*/
            &APP_EMAIL_ADDRS_REC.EMAIL_ADDR.Value = &APP_ARY [10]; /*Email Address*/
            &APP_EMAIL_ADDRS_REC.PREF_EMAIL_FLAG.Value = "Y";
           
            &APP_DATA_ADDR_REC.ADDRESS1.Value = &APP_ARY [11];
            &APP_DATA_ADDR_REC.CITY.Value = &APP_ARY [12];
            &APP_DATA_ADDR_REC.STATE.Value = Upper(&APP_ARY [13]);
            &APP_DATA_ADDR_REC.POSTAL.Value = &APP_ARY [14];
            &APP_DATA_ADDR_REC.COUNTRY.Value = "IND";
            &APP_DATA_ADDR_REC.ADDRESS_TYPE.Value = "HOME";
            &APP_DATA_ADDR_REC.HRS_PERSON_ID.Value = &New_AppID;
           
           
           
            SQLExec("SELECT MAX(HRS_RESUME_ID) FROM PS_HRS_APP_RES", &resume_id);
            &resume_id = &resume_id + 1;
           
            &APPLICANT_DATA_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APPLICANT_DATA_REC.HRS_PROFILE_SEQ.Value = "1";
            &APPLICANT_DATA_REC.APPLIC_PURGE_DT.Value = AddToDate(%Date, 2, 0, 0);
            &APPLICANT_DATA_REC.BUSINESS_UNIT.Value = "TALIC";
            &APPLICANT_DATA_REC.HIGHEST_EDUC_LVL.Value = Upper(&APP_ARY [21]); /*Highest Educ Level*/
            &APPLICANT_DATA_REC.DESIRED_HOURS.Value = &APP_ARY [26]; /*Total Work Experience*/
            &APPLICANT_DATA_REC.HRS_CONTACT_ID.Value = &APP_ARY [27]; /*Domain*/
            &APPLICANT_DATA_REC.MIN_RATE.Value = &APP_ARY [37]; /*Current Ctc*/
            &APPLICANT_DATA_REC.LOCATION.Value = &APP_ARY [39]; /*Preffered Location*/
            &APPLICANT_DATA_REC.HRS_PRM_LOCATION.Value = &APP_ARY [40]; /*Preffered Location*/
            &APPLICANT_DATA_REC.LANG_CD.Value = "ENG";
            &APPLICANT_DATA_REC.HRS_ROW_UPD_DTTM.Value = %Datetime;
            &APPLICANT_DATA_REC.HRS_SUBMITTED_DTTM.Value = %Datetime;
            &APPLICANT_DATA_REC.HRS_ROW_UPD_OPRID.Value = "Applicant Upload";
            &APPLICANT_DATA_REC.HRS_SUBMITTED_BY.Value = "Applicant Upload";
            &APPLICANT_DATA_REC.HRS_RESUME_ID.Value = &resume_id;
           
            If All(&APP_ARY [22]) Then
               SQLExec("SELECT MAX(HRS_APP_ACMP_ID) FROM PS_HRS_APP_ACMP", &accmp_id);
               &accmp_id = &accmp_id + 1;
              
              
               &APP_ACCOMPS_DGR_REC.HRS_PERSON_ID.Value = &New_AppID;
               &APP_ACCOMPS_DGR_REC.HRS_PROFILE_SEQ.Value = "1";
               &APP_ACCOMPS_DGR_REC.HRS_APP_ACMP_ID.Value = &accmp_id;
               &APP_ACCOMPS_DGR_REC.ACCOMPLISHMENT.Value = Upper(&APP_ARY [22]);
               &APP_ACCOMPS_DGR_REC.GRADUATE_INDICATOR.Value = "Y";
               &Dt3 = "";
               If All(&APP_ARY [23]) And
                     All(&APP_ARY [24]) And
                     All(&APP_ARY [25]) Then
                  &Dt3 = Create_Date_Format(&APP_ARY [23], &APP_ARY [24], &APP_ARY [25]);
               End-If;
              
               &APP_ACCOMPS_DGR_REC.DT_ISSUED.Value = &Dt3;
               &APP_ACCOMPS_DGR_REC.Insert();
            End-If;
            &APP_PRIWRK_EXPR_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APP_PRIWRK_EXPR_REC.SEQUENCE_NBR.Value = 1;
            REM &APP_PRIWRK_EXPR_REC.ZIN_DOMAIN.Value = Upper(&APP_ARY [28]);
            &APP_PRIWRK_EXPR_REC.REL_WRK_EXPER.Value = "Y";
           
           
            &APP_HRS_APP_USA_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APP_HRS_APP_USA_REC.EFFDT.Value = %Date;
            &APP_HRS_APP_USA_REC.US_WORK_ELIGIBILTY.Value = Upper(&APP_ARY [28]); /*Previously interviewed by TATA-AIG*/
           
           
            &Dt1 = "";
            If All(&APP_ARY [29]) And
                  All(&APP_ARY [30]) And
                  All(&APP_ARY [31]) Then
               &Dt1 = Create_Date_Format(&APP_ARY [29], &APP_ARY [30], &APP_ARY [31]);
            End-If;
           
            &Dt2 = "";
            If All(&APP_ARY [32]) And
                  All(&APP_ARY [33]) And
                  All(&APP_ARY [34]) Then
               &Dt2 = Create_Date_Format(&APP_ARY [32], &APP_ARY [33], &APP_ARY [34]);
            Else
               &Dt2 = %Date;
            End-If;
            &APP_PRIWRK_EXPR_REC.HRS_PROFILE_SEQ.Value = "1";
           
            &APP_PRIWRK_EXPR_REC.START_DT.Value = &Dt1;
            &APP_PRIWRK_EXPR_REC.END_DT.Value = &Dt2;
            &APP_PRIWRK_EXPR_REC.EMPLOYER.Value = &APP_ARY [35];
            &APP_PRIWRK_EXPR_REC.CITY.Value = &APP_ARY [36];
            &APP_PRIWRK_EXPR_REC.COUNTRY.Value = "IND";
            &APP_PRIWRK_EXPR_REC.PAY_FREQ_ABBRV.Value = "Y";
            &APP_PRIWRK_EXPR_REC.CURRENCY_CD.Value = "INR";
            REM &APP_PRIWRK_EXPR_REC.ENDING_RATE.Value = &APP_ARY [39];
            &APP_PRIWRK_EXPR_REC.ENDING_TITLE.Value = &APP_ARY [38];
           
           
            &APPLICANT_DATA_REC.YEARS_OF_EXP.Value = &Yrs_Of_Exp;
            &APPLICANT_DATA_REC.BUSINESS_UNIT.Value = &SetID;
            /*Joseph --> HRS_RCMNT */
            &APP_HRS_RCMNT_REC.HRS_PERSON_ID.Value = &New_AppID;
            &APP_HRS_RCMNT_REC.HRS_RCMNT_ID.Value = &New_Rcmnt_id;
            &APP_HRS_RCMNT_REC.HRS_PROFILE_SEQ.Value = "1";
            &APP_HRS_RCMNT_REC.HRS_JOB_OPENING_ID.Value = "0";
            &APP_HRS_RCMNT_REC.STATUS_CODE.Value = "020";
            &APP_HRS_RCMNT_REC.ENTRY_SOURCE.Value = "A";
            &APP_HRS_RCMNT_REC.HRS_STATUS_DT.Value = %Date;
           
           
            &Lng1 = &APP_ARY [41];
            If All(&Lng1) Then
               SQLExec("SELECT MAX(HRS_APP_ACMP_ID) FROM PS_HRS_APP_ACMP", &accmp_id);
               &accmp_id = &accmp_id + 1;
               &APP_ACCOMPS_LNG_REC.HRS_PERSON_ID.Value = &New_AppID;
               &APP_ACCOMPS_LNG_REC.HRS_PROFILE_SEQ.Value = "1";
               &APP_ACCOMPS_LNG_REC.ACCOMPLISHMENT.Value = Upper(&APP_ARY [41]);
               &APP_ACCOMPS_LNG_REC.HRS_APP_ACMP_ID.Value = &accmp_id;
               &APP_ACCOMPS_LNG_REC.DT_ISSUED.Value = %Date;
               &APP_ACCOMPS_LNG_REC.GRADUATE_INDICATOR.Value = "Y";
               &APP_ACCOMPS_LNG_REC.PASSED.Value = "N";
               &APP_ACCOMPS_LNG_REC.COUNTRY.Value = "IND";
               &APP_ACCOMPS_LNG_REC.LICENSE_VERIFIED.Value = "N";
               &APP_ACCOMPS_LNG_REC.RENEWAL.Value = "N";
               &APP_ACCOMPS_LNG_REC.IPE_SW.Value = "N";
               &APP_ACCOMPS_LNG_REC.COUNTRY_OTHER.Value = "IND";
               &APP_ACCOMPS_LNG_REC.TERMINAL_DEGREE.Value = "N";
               &APP_ACCOMPS_LNG_REC.SPEAK_PROFICIENCY.Value = "3";
               &APP_ACCOMPS_LNG_REC.READ_PROFICIENCY.Value = "3";
               &APP_ACCOMPS_LNG_REC.WRITE_PROFICIENCY.Value = "3";
              
               &APP_ACCOMPS_LNG_REC.Insert();
              
            End-If;
           
            &Lng2 = &APP_ARY [42];
            If All(&Lng2) Then
               SQLExec("SELECT MAX(HRS_APP_ACMP_ID) FROM PS_HRS_APP_ACMP", &accmp_id);
               &accmp_id = &accmp_id + 1;
               &APP_ACCOMPS_LNG_REC.HRS_PERSON_ID.Value = &New_AppID;
               &APP_ACCOMPS_LNG_REC.HRS_PROFILE_SEQ.Value = "1";
               &APP_ACCOMPS_LNG_REC.ACCOMPLISHMENT.Value = Upper(&APP_ARY [42]);
               &APP_ACCOMPS_LNG_REC.HRS_APP_ACMP_ID.Value = &accmp_id;
               &APP_ACCOMPS_LNG_REC.DT_ISSUED.Value = %Date;
               &APP_ACCOMPS_LNG_REC.GRADUATE_INDICATOR.Value = "Y";
               &APP_ACCOMPS_LNG_REC.PASSED.Value = "N";
               &APP_ACCOMPS_LNG_REC.COUNTRY.Value = "IND";
               &APP_ACCOMPS_LNG_REC.LICENSE_VERIFIED.Value = "N";
               &APP_ACCOMPS_LNG_REC.RENEWAL.Value = "N";
               &APP_ACCOMPS_LNG_REC.IPE_SW.Value = "N";
               &APP_ACCOMPS_LNG_REC.COUNTRY_OTHER.Value = "IND";
               &APP_ACCOMPS_LNG_REC.TERMINAL_DEGREE.Value = "N";
               &APP_ACCOMPS_LNG_REC.SPEAK_PROFICIENCY.Value = "3";
               &APP_ACCOMPS_LNG_REC.READ_PROFICIENCY.Value = "3";
               &APP_ACCOMPS_LNG_REC.WRITE_PROFICIENCY.Value = "3";
              
               &APP_ACCOMPS_LNG_REC.Insert();
              
            End-If;
           
           
           
            &APP_DATA_EFF_REC.Insert();
            &APPLICANT_REC.Insert();
            &ER_REFERRAL_REC.Insert();
            &APPLICANT_DATA_REC.Insert();
            &APP_PRIWRK_EXPR_REC.Insert();
            &APPLICNT_PHONE_REC.Insert();
            &APP_EMAIL_ADDRS_REC.Insert();
            &APP_HRS_RCMNT_REC.Insert();
            &APP_DATA_ADDR_REC.Insert();
            &APP_HRS_AL_LOG_SRCE.Insert();
            &APP_HRS_APP_USA_REC.Insert();
           
            REM CommitWork();
           
            SQLExec("Update PS_HRS_HRAM_COUNT SET HRS_PERSON_ID_LAST = :1", &New_AppID);
            SQLExec("Update PS_HRS_APP_PROFILE SET BUSINESS_UNIT='TALIC' WHERE HRS_PERSON_ID= :1", &New_AppID);
           
            SQLExec("Update PS_HRS_HRAT_COUNT SET HRS_RCMNT_ID =:1", &New_Rcmnt_id);
           
            SQLExec("Update PS_HRS_HROI_COUNT SET  HRS_AL_LOG_ID =:1", &al_log_id);
           
            SQLExec("Update PS_HRS_HROI_COUNT set HRS_AL_LOG_SRC_SEQ =:1", &al_log_src_seq);
           
           
           
            &Msg_Str = "Successfully created Applicant ID " | &New_AppID | " for " | &Name;
            MessageBox(0, "Applicant ID:", 0, 0, &Msg_Str);
           
           
            &FileName = &APP_ARY [10] | ".doc";
            REM MessageBox(0, "", 0, 0, "File" | &APP_ARY [10]);
           
            &ATTACHSYSFILENAME = &FileName;
            &URL_ID = "HRS_APP_ATCH";
            &URL_ID = "URL." | &URL_ID;
            &URL = GetURL(@&URL_ID);
           
           
            &ATTACHUSERFILE = &FILE_PATH | &FileName;
            MessageBox(0, "Resume Attachment", 0, 0, "Resume Path:", &ATTACHUSERFILE);
           
           
            If FileExists(&ATTACHUSERFILE, %FilePath_Absolute) Then
              
               &RETCODE = PutAttachment(&URL, &ATTACHSYSFILENAME, &ATTACHUSERFILE);
              
               If (&RETCODE = %Attachment_Success) Then
                  MessageBox(0, "", 0, 0, "RETCODE:" | &RETCODE);
                  MessageBox(0, "Resume Attachment Status", 0, 0, "Resume upload succeeded:", &FileName);
                 
                  REM MessageBox(0, "", 0, 0, "Value" | &value);
                  SQLExec("SELECT MAX(HRS_RESUME_ID) FROM PS_HRS_APP_RES", &resume_id);
                  &resume_id = &resume_id + 1;
                  &Res_txt = "";
                  REM &attachsys = &New_AppID | &resume_id | &ATTACHSYSFILENAME;
                  &attachuser = &FileName;
                  SQLExec("INSERT INTO PS_HRS_APP_RES (HRS_PERSON_ID, HRS_RESUME_ID, HRS_RESUME_TITLE, LANG_CD, RESUME_TEXT, ATTACHSYSFILENAME, ATTACHUSERFILE, HRS_ROW_ADD_DTTM, HRS_ROW_ADD_OPRID, HRS_ROW_UPD_DTTM, HRS_ROW_UPD_OPRID) values (:1,:2,:3,:4,:5,:6,:7, :8, :9, :10, :11)", &New_AppID, &resume_id, "", "ENG", &Res_txt, &ATTACHSYSFILENAME, &attachuser, %Datetime, %OperatorId, %Datetime, %OperatorId);
                 
               End-If;
               If (&RETCODE = %Attachment_Cancelled) Then
                  MessageBox(0, "Resume Attachment Status", 0, 0, "Resume upload cancelled", &FileName);
               End-If;
            Else
               MessageBox(0, "Resume Attachment Status", 0, 0, "Resume does not exists", &FileName);
            End-If;
           
         End-If;
      End-If;
   End-While;
Else
   &Msg_Str = "File could not be opened.  Please check the File Path";
   MessageBox(0, "", 0, 0, &Msg_Str);
End-If;

No comments: