/**********************************************************************************************
Date :05/01/2010
Description : 1.To insert the SOH and checklist.
***********************************************************************************************/
Local ApiObject &oSession;
Local ApiObject &oZinJobCi;
Local ApiObject &oJobCollection;
Local ApiObject &oJob;
Local ApiObject &oPSMessageCollection;
Local ApiObject &oPSMessage;
Local File &LogFile;
Local Record &record;
Local number &i, &k, &j, &seq;
Local string &strErrMsgSetNum, &strErrMsgNum, &strErrMsgText, &strErrType;
Local array of string &MyArray, &myarray2;
Local array of number &myarray1;
Local string &array;
Function insertintochecklistcd(&Emplid As string, &action_dt As date)
SQLExec("DELETE FROM PS_EMPL_CHECKLIST WHERE EMPLID=:1 AND CHECKLIST_CD LIKE '%EXIT%'", &Emplid);
SQLExec("DELETE FROM PS_EMPL_CHKLST_ITM WHERE EMPLID=:1 AND CHECKLIST_CD LIKE '%EXIT%'", &Emplid);
&MyArray = CreateArray("EXIT01", "EXIT02", "EXIT03", "EXIT04", "EXIT05");
For &i = 1 To &MyArray.Len
&record = CreateRecord(Record.EMPL_CHECKLIST);
&record.EMPLID.Value = &Emplid;
&record.EMPL_RCD.Value = "0";
&record.CHECKLIST_DT.Value = %Date;
&record.CHECKLIST_CD.Value = &MyArray [&i];
&record.RESPONSIBLE_ID.Value = "";
&record.COMMENTS.Value = Null;
&record.Insert();
End-For;
For &i = 1 To &MyArray.Len
Evaluate &MyArray [&i]
When = "EXIT01"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700, 800, 900);
&myarray2 = CreateArray("EXIT01", "EXIT02", "EXIT03", "EXIT04", "EXIT05", "EXIT06", "EXIT47", "EXIT48", "EXIT49");
Break;
When = "EXIT02"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600);
&myarray2 = CreateArray("EXIT50", "EXIT51", "EXIT52", "EXIT53", "EXIT54", "EXIT55");
Break;
When = "EXIT03"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700);
&myarray2 = CreateArray("EXIT24", "EXIT25", "EXIT45", "EXIT46", "EXIT56", "EXIT57", "EXIT58");
Break;
When = "EXIT04"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100);
&myarray2 = CreateArray("EXIT14", "EXIT15", "EXIT16", "EXIT17", "EXIT18", "EXIT19", "EXIT20", "EXIT21", "EXIT22", "EXIT23", "EXIT44");
Break;
When = "EXIT05"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300);
&myarray2 = CreateArray("EXIT31", "EXIT32", "EXIT33", "EXIT34", "EXIT35", "EXIT36", "EXIT37", "EXIT38", "EXIT39", "EXIT40", "EXIT41", "EXIT42", "EXIT43");
Break;
When-Other;
End-Evaluate;
&k = 1;
For &j = 1 To &myarray1.Len
&grade_flag = "";
&array = &myarray2 [&k];
&record = CreateRecord(Record.EMPL_CHKLST_ITM);
&record.EMPLID.Value = &Emplid;
&record.EMPL_RCD.Value = "0";
&record.CHECKLIST_DT.Value = %Date;
&record.CHECKLIST_CD.Value = &MyArray [&i];
&record.CHECKLIST_SEQ.Value = &myarray1 [&j];
&record.CHKLST_ITEM_CD.Value = &array;
&record.ZIN_FWD_ACC_DT.Value = &action_dt;
/****Layeeque 11-Oct-2010****/
Evaluate &MyArray [&i]
When = "EXIT01"
Evaluate &array
When = "EXIT03"
When = "EXIT04";
&record.BRIEFING_STATUS.Value = "X";
Break;
When = "EXIT01"
When = "EXIT02"
When = "EXIT05"
When = "EXIT06"
When = "EXIT47"
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('102','104','105')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When = "EXIT48"
When = "EXIT49"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE NOT IN ('601','602','701','702','703')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
Break;
End-Evaluate;
When = "EXIT02"
Evaluate &array
When = "EXIT52"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('101','102','103','104','105','106','107')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When = "EXIT54"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE NOT IN ('601','602','701','702','703')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
Break;
End-Evaluate;
/****Layeeque 11-Oct-2010****/
rem If &MyArray [&i] = "EXIT03" Then /*Layeeque*/;
When = "EXIT03"
SQLExec("SELECT JOB.DEPTID FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT)", &Emplid, &DEPTID);
SQLExec("SELECT DEP.DESCR FROM PS_DEPT_TBL DEP WHERE DEP.DEPTID=:1 AND DEP.EFF_STATUS='A' AND DEP.SETID='TALIC' AND DEP.EFFDT=(SELECT MAX(DEPT.EFFDT) FROM PS_DEPT_TBL DEPT WHERE DEPT.SETID=DEP.SETID AND DEPT.DEPTID=DEP.DEPTID AND DEPT.EFFDT<=GETDATE())", &DEPTID, &dept_descr);
Evaluate &dept_descr
When = "Unit Manager Model (L0-L4)"
When = "Banca FSO -OSCB"
When = "Banca FSO-UBI"
When = "Broca FSO-Standard Composite I"
When = "Wealth Management / DBS Chola"
When = "Broca FSO Management Muthoot"
&record.BRIEFING_STATUS.Value = "X";
Break;
When-Other
&record.BRIEFING_STATUS.Value = "I";
Break;
End-Evaluate;
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('101','102','103','104','105','106','107')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
<*Else
&record.BRIEFING_STATUS.Value = "I";
End-If;*>
When = "EXIT04"
Evaluate &array
When = "EXIT14"
When = "EXIT16"
When = "EXIT17"
When = "EXIT18"
When = "EXIT19"
When = "EXIT22"
When = "EXIT23"
&record.BRIEFING_STATUS.Value = "X";
Break;
When = "EXIT15"
SQLExec("SELECT 'X' FROM PS_JOB A WHERE A.EFFDT = ( SELECT MAX(A_ED.EFFDT) FROM PS_JOB A_ED WHERE A.EMPLID = A_ED.EMPLID AND A.EMPL_RCD = A_ED.EMPL_RCD AND A_ED.EFFDT <= SUBSTRING(CONVERT(CHAR,GETDATE(),121), 1, 10)) AND A.EFFSEQ = ( SELECT MAX(A_ES.EFFSEQ) FROM PS_JOB A_ES WHERE A.EMPLID = A_ES.EMPLID AND A.EMPL_RCD = A_ES.EMPL_RCD AND A.EFFDT = A_ES.EFFDT) AND A.BUSINESS_UNIT='TALIC' AND A.EMPL_STATUS='A' AND A.EMPLID=:1 AND SUBSTRING(A.DEPTID,7,1)<>'H'", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When = "EXIT20"
When = "EXIT21"
When = "EXIT44"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('101','102','103','104','105','106','107')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
End-Evaluate;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
End-Evaluate;
&record.STATUS_DT.Value = %Date;
&record.Insert();
&k = &k + 1;
&grade_flag = "";
End-For;
End-For;
End-Function;
Date :05/01/2010
Description : 1.To insert the SOH and checklist.
***********************************************************************************************/
Local ApiObject &oSession;
Local ApiObject &oZinJobCi;
Local ApiObject &oJobCollection;
Local ApiObject &oJob;
Local ApiObject &oPSMessageCollection;
Local ApiObject &oPSMessage;
Local File &LogFile;
Local Record &record;
Local number &i, &k, &j, &seq;
Local string &strErrMsgSetNum, &strErrMsgNum, &strErrMsgText, &strErrType;
Local array of string &MyArray, &myarray2;
Local array of number &myarray1;
Local string &array;
Function insertintochecklistcd(&Emplid As string, &action_dt As date)
SQLExec("DELETE FROM PS_EMPL_CHECKLIST WHERE EMPLID=:1 AND CHECKLIST_CD LIKE '%EXIT%'", &Emplid);
SQLExec("DELETE FROM PS_EMPL_CHKLST_ITM WHERE EMPLID=:1 AND CHECKLIST_CD LIKE '%EXIT%'", &Emplid);
&MyArray = CreateArray("EXIT01", "EXIT02", "EXIT03", "EXIT04", "EXIT05");
For &i = 1 To &MyArray.Len
&record = CreateRecord(Record.EMPL_CHECKLIST);
&record.EMPLID.Value = &Emplid;
&record.EMPL_RCD.Value = "0";
&record.CHECKLIST_DT.Value = %Date;
&record.CHECKLIST_CD.Value = &MyArray [&i];
&record.RESPONSIBLE_ID.Value = "";
&record.COMMENTS.Value = Null;
&record.Insert();
End-For;
For &i = 1 To &MyArray.Len
Evaluate &MyArray [&i]
When = "EXIT01"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700, 800, 900);
&myarray2 = CreateArray("EXIT01", "EXIT02", "EXIT03", "EXIT04", "EXIT05", "EXIT06", "EXIT47", "EXIT48", "EXIT49");
Break;
When = "EXIT02"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600);
&myarray2 = CreateArray("EXIT50", "EXIT51", "EXIT52", "EXIT53", "EXIT54", "EXIT55");
Break;
When = "EXIT03"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700);
&myarray2 = CreateArray("EXIT24", "EXIT25", "EXIT45", "EXIT46", "EXIT56", "EXIT57", "EXIT58");
Break;
When = "EXIT04"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100);
&myarray2 = CreateArray("EXIT14", "EXIT15", "EXIT16", "EXIT17", "EXIT18", "EXIT19", "EXIT20", "EXIT21", "EXIT22", "EXIT23", "EXIT44");
Break;
When = "EXIT05"
&myarray1 = CreateArray(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300);
&myarray2 = CreateArray("EXIT31", "EXIT32", "EXIT33", "EXIT34", "EXIT35", "EXIT36", "EXIT37", "EXIT38", "EXIT39", "EXIT40", "EXIT41", "EXIT42", "EXIT43");
Break;
When-Other;
End-Evaluate;
&k = 1;
For &j = 1 To &myarray1.Len
&grade_flag = "";
&array = &myarray2 [&k];
&record = CreateRecord(Record.EMPL_CHKLST_ITM);
&record.EMPLID.Value = &Emplid;
&record.EMPL_RCD.Value = "0";
&record.CHECKLIST_DT.Value = %Date;
&record.CHECKLIST_CD.Value = &MyArray [&i];
&record.CHECKLIST_SEQ.Value = &myarray1 [&j];
&record.CHKLST_ITEM_CD.Value = &array;
&record.ZIN_FWD_ACC_DT.Value = &action_dt;
/****Layeeque 11-Oct-2010****/
Evaluate &MyArray [&i]
When = "EXIT01"
Evaluate &array
When = "EXIT03"
When = "EXIT04";
&record.BRIEFING_STATUS.Value = "X";
Break;
When = "EXIT01"
When = "EXIT02"
When = "EXIT05"
When = "EXIT06"
When = "EXIT47"
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('102','104','105')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When = "EXIT48"
When = "EXIT49"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE NOT IN ('601','602','701','702','703')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
Break;
End-Evaluate;
When = "EXIT02"
Evaluate &array
When = "EXIT52"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('101','102','103','104','105','106','107')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When = "EXIT54"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE NOT IN ('601','602','701','702','703')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
Break;
End-Evaluate;
/****Layeeque 11-Oct-2010****/
rem If &MyArray [&i] = "EXIT03" Then /*Layeeque*/;
When = "EXIT03"
SQLExec("SELECT JOB.DEPTID FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT)", &Emplid, &DEPTID);
SQLExec("SELECT DEP.DESCR FROM PS_DEPT_TBL DEP WHERE DEP.DEPTID=:1 AND DEP.EFF_STATUS='A' AND DEP.SETID='TALIC' AND DEP.EFFDT=(SELECT MAX(DEPT.EFFDT) FROM PS_DEPT_TBL DEPT WHERE DEPT.SETID=DEP.SETID AND DEPT.DEPTID=DEP.DEPTID AND DEPT.EFFDT<=GETDATE())", &DEPTID, &dept_descr);
Evaluate &dept_descr
When = "Unit Manager Model (L0-L4)"
When = "Banca FSO -OSCB"
When = "Banca FSO-UBI"
When = "Broca FSO-Standard Composite I"
When = "Wealth Management / DBS Chola"
When = "Broca FSO Management Muthoot"
&record.BRIEFING_STATUS.Value = "X";
Break;
When-Other
&record.BRIEFING_STATUS.Value = "I";
Break;
End-Evaluate;
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('101','102','103','104','105','106','107')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
<*Else
&record.BRIEFING_STATUS.Value = "I";
End-If;*>
When = "EXIT04"
Evaluate &array
When = "EXIT14"
When = "EXIT16"
When = "EXIT17"
When = "EXIT18"
When = "EXIT19"
When = "EXIT22"
When = "EXIT23"
&record.BRIEFING_STATUS.Value = "X";
Break;
When = "EXIT15"
SQLExec("SELECT 'X' FROM PS_JOB A WHERE A.EFFDT = ( SELECT MAX(A_ED.EFFDT) FROM PS_JOB A_ED WHERE A.EMPLID = A_ED.EMPLID AND A.EMPL_RCD = A_ED.EMPL_RCD AND A_ED.EFFDT <= SUBSTRING(CONVERT(CHAR,GETDATE(),121), 1, 10)) AND A.EFFSEQ = ( SELECT MAX(A_ES.EFFSEQ) FROM PS_JOB A_ES WHERE A.EMPLID = A_ES.EMPLID AND A.EMPL_RCD = A_ES.EMPL_RCD AND A.EFFDT = A_ES.EFFDT) AND A.BUSINESS_UNIT='TALIC' AND A.EMPL_STATUS='A' AND A.EMPLID=:1 AND SUBSTRING(A.DEPTID,7,1)<>'H'", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When = "EXIT20"
When = "EXIT21"
When = "EXIT44"
&grade_flag = "";
SQLExec("SELECT 'X' FROM PS_JOB JOB WHERE JOB.EMPLID=:1 AND JOB.EMPL_RCD='0' AND JOB.EFFDT=(SELECT MAX(JOB_ED.EFFDT) FROM PS_JOB JOB_ED WHERE JOB.EMPLID=JOB_ED.EMPLID AND JOB.EMPL_RCD=JOB_ED.EMPL_RCD AND JOB_ED.EFFDT<=GETDATE()) AND JOB.EFFSEQ=(SELECT MAX(JOB_EQ.EFFSEQ) FROM PS_JOB JOB_EQ WHERE JOB.EMPLID=JOB_EQ.EMPLID AND JOB.EMPL_RCD=JOB_EQ.EMPL_RCD AND JOB_EQ.EFFDT=JOB.EFFDT) AND JOB.GRADE IN ('101','102','103','104','105','106','107')", &Emplid, &grade_flag);
If &grade_flag = "X" Then
&record.BRIEFING_STATUS.Value = "X";
Else
&record.BRIEFING_STATUS.Value = "I";
End-If;
Break;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
End-Evaluate;
When-Other;
&record.BRIEFING_STATUS.Value = "I";
End-Evaluate;
&record.STATUS_DT.Value = %Date;
&record.Insert();
&k = &k + 1;
&grade_flag = "";
End-For;
End-For;
End-Function;
No comments:
Post a Comment