post build:
import ZIN_COMMON:*;
import ECL_COMMON:*;
Component string &Approver_id, &ClaimStatus;
Component number &BackupApprovedTotalCost;
<*
/**************************ABHINAV***********************/
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
/**************************ABHINAV***********************/
*>
Local Rowset &STARowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_STA);
Local Rowset &BusnRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
ScrollFlush(Scroll.ECL_CLAIMS_STA);
ScrollSelect(1, Record.ECL_CLAIMS_STA, Record.ECL_CLAIMS_STA, "WHERE ECL_CLAIM_REQ_ID = :1 AND (CURRENT_STEP = 1 OR ACTION_DTTM <> '')", ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value); /* Abhinav 25-Aug-2011 */
ECL_DERIVED.ECL_CHECK_FLG1.Visible = False; /* ABHINAV */
If %Menu = "ROLE_EMPLOYEE" Then
ECL_DERIVED.ECL_STATUS.Visible = False;
ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.DisplayOnly = True;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.DisplayOnly = True;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.DisplayOnly = True;
ECL_CLAIMS_HDR.ECL_APV_REIMBR_AMT.DisplayOnly = True;
ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.DisplayOnly = True;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.DisplayOnly = True;
REM ECL_CLAIMS_HDR.COMMENTS.DisplayOnly = True; /* KONDAL 18-04-2011*/
ECL_DERIVED.ECL_CHECK_FLG1.Visible = False;
&STARowset.HideAllRows();
If &ClaimStatus = "RT" Or
&ClaimStatus = "QY" Or
&ClaimStatus = "HD" Then
HR_LINK_WRK.SUBMIT_PB.Enabled = False;
&BusnRowset.InsertEnabled = False;
&BusnRowset.DeleteEnabled = False;
For &i = 1 To &BusnRowset.ActiveRowCount
&BusnRowset(&i).HR_LBL_WRK.LANG_NATIVE_LBL.Visible = True; /*Layeeque*/
&BusnRowset(&i).FILE_ATTACH_WRK.ATTACHDELETE.Visible = False;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_GL_CODE.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_ATTACHUSER.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_DETAIL1.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_DETAIL2.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_DETAIL3.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_DETAIL4.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_DETAIL5.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_NOOF_PERSON.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.PURPOSE1.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.COMPANY_DESCR.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_NAME.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.CITY.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_BILL_NO.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_LOCATION_FROM.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_LOCATION_TO.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_VEHICLE_TYPE.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_KM_TRAVEL.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_RENT_AMT.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_OFFICIAL_CALLS.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_PERS_CALLS.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.MOBILE_PHONE.DisplayOnly = True;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_LATE_REASON.DisplayOnly = True;
&BusnRowset(&i).FILE_ATTACH_WRK.ATTACHADD.Visible = False;
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TOT_CLAIM_AMT.DisplayOnly = True;
End-For;
End-If;
End-If;
If %Menu = "ROLE_MANAGER" Then
&BackupApprovedTotalCost = ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value;
ECL_DERIVED.ECL_STATUS.Visible = False;
If ECL_CLAIMS_HDR.ECL_DEVIATION.Value = "Y" Then
HR_LINK_WRK.APPROVE_BTN.Enabled = False;
rem ECL_DERIVED.ECL_CHECK_FLG1.Visible = True;
Else
HR_LINK_WRK.APPROVE_BTN.Enabled = True;
ECL_DERIVED.ECL_CHECK_FLG1.Visible = False;
End-If;
End-If;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
<*
/**************************ABHINAV***********************/
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
HR_LBL_WRK.LANG_NATIVE_LBL.Value = MsgGetExplainText(27000, 105, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_NATIVE_LBL.Value = "";
HR_LBL_WRK.LANG_NATIVE_LBL.DisplayOnly = True;
End-If;
End-If;
/**************************ABHINAV***********************/
*>
pre build
Component string &ClType, &Approver_id, &ClaimStatus, &DelegateEmplid, &ActualEmplid;
Component number &Seqno;
Component number &Max_Seqno;
Component array of any &Seqno_Array;
&ClType = %Request.GetParameter("ECL_CATEGORY");
&Approver_id = %Request.GetParameter("ECL_APPROVER_ID");
&ClaimStatus = %Request.GetParameter("ECL_STATUS");
&ActualEmplid = %Request.GetParameter("EMPLID");
&Seqno = 0;
&Max_Seqno = 0;
&Seqno_Array = CreateArrayAny();
SQLExec("SELECT MAX(SEQNO) FROM PS_ECL_ATACH_SEQNO WHERE ECL_CLAIM_REQ_ID = :1", ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Max_Seqno);
save post change
Declare Function RunWFSavePostChange PeopleCode FUNCLIB_WF.WF_RUN_SAVE_OPTION FieldFormula;
Component string &Action;
If &Action = "SAV" Then
Else
RunWFSavePostChange("EO_SUBMIT_CONFIRM");
End-If;
&Action = " ";
save prechange
import ECL_COMMON:OnlineBase:*;
import ZIN_COMMON:ReportBase:*;
Component string &Action, &DepartmentId, &BudgetAction, &TempFlag, &ApprovalLevel, &Flag;
Component string &Temp;
Component boolean &Approve_Yes;
Component number &BackupApprovedTotalCost, &TailoredTravelCost, &AdjustableBudgetAmount, &Appr_Step;
Component string &DelegatedApprover, &DelegateFlag, &ActualEmplid; /*Layeeque*/
Component array of any &Seqno_Array;
Local number &SeqNo;
Local SQL &SQL;
Local Rowset &ROWSET;
Local ECL_COMMON:OnlineBase &STA = create ECL_COMMON:OnlineBase();
Local ZIN_COMMON:ReportBase &Value1 = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
Local Rowset &ClaimRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
Local Rowset &STARowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_STA);
Local Rowset &BusnRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
For &i = 1 To &ClaimRowset.ActiveRowCount
&ClaimRowset(&i).ECL_CLAIMS_BUSN.ECL_CATEGORY.Value = ECL_CLAIMS_HDR.ECL_CATEGORY.Value;
End-For;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "SB" And
ECL_CLAIMS_HDR.EMPLID.Value = &ActualEmplid Then
rem ECL_CLAIMS_HDR.EMPLID.Value = %EmployeeId Then;
/******************** Delegation ********************/
If &DelegateFlag = "N" Then
&DelegatedApprover = ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value;
End-If;
/******************** Delegation ********************/
&SeqNo = 0;
&Currentstep = 0;
&STA.AdjustDepartmentBudget(&DepartmentId, &BudgetAction, &AdjustableBudgetAmount); /*Layeeque*/
&Deviation = &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value);
&STA.InsertClaimSTA(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Deviation, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value, ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, &SeqNo, "SUB", &Currentstep, &DelegatedApprover, ECL_CLAIMS_HDR.ECL_STATUS.Value); /*Layeeque Included one more parameter 'DelegatedApprover' for delegation purpose*/
End-If;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "MAP" And
ECL_CLAIMS_HDR.EMPLID.Value = &ActualEmplid And
ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value = "Y" Then
rem ECL_CLAIMS_HDR.EMPLID.Value = %EmployeeId Then;
/******************** Delegation ********************/
If &DelegateFlag = "N" Then
&DelegatedApprover = ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value;
End-If;
/******************** Delegation ********************/
&SeqNo = 0;
&Currentstep = 0;
&STA.AdjustDepartmentBudget(&DepartmentId, &BudgetAction, &AdjustableBudgetAmount); /*Layeeque*/
&Deviation = &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value);
&STA.InsertClaimSTA(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Deviation, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value, ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, &SeqNo, "SUB", &Currentstep, &DelegatedApprover, ECL_CLAIMS_HDR.ECL_STATUS.Value); /*Layeeque Included one more parameter 'DelegatedApprover' for delegation purpose*/
End-If;
If &Action = "MAP" Then
For &i = 1 To &STARowset.ActiveRowCount
&SeqNo = &STARowset(&i).ECL_CLAIMS_STA.SEQNO.Value;
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 0;
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Then
&Appr_Step = &STARowset(&i).ECL_CLAIMS_STA.APPR_STEP.Value;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "MAP";
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
End-If;
End-For;
&STA.InsertClaimNextApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value);
End-If;
If &Action = "DAP" Then
For &i = 1 To &STARowset.ActiveRowCount
&SeqNo = &STARowset(&i).ECL_CLAIMS_STA.SEQNO.Value;
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 0;
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Then
&Appr_Step = &STARowset(&i).ECL_CLAIMS_STA.APPR_STEP.Value;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "DAP";
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
End-If;
End-For;
&STA.InsertClaimNextApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value);
End-If;
If (&Action = "DNY" Or
ECL_CLAIMS_HDR.ECL_STATUS.Value = "RJ") Then
rem WinMessage("ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value : " | ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value, 0);
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "REC" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "HCR") And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&Appr_Step = &STARowset(&i).ECL_CLAIMS_STA.APPR_STEP.Value;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "DNY";
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
End-If;
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 0;
End-For;
REM SQLExec("UPDATE PS_ECL_TRAVEL_HDR SET ECL_CLAIM_SETTLE = '' WHERE ECL_TRVL_REQ_ID = :1", ECL_CLAIMS_HDR.ECL_TRVL_REQ_ID.Value);
REM SQLExec("UPDATE PS_ECL_TRAVEL_STA SET ECL_WF_ACTION = 'TAV' WHERE ECL_TRVL_REQ_ID = :1 AND ROLENAME = 'Travel Agent'", ECL_CLAIMS_HDR.ECL_TRVL_REQ_ID.Value);
If &TempFlag = "Y" Then
rem WinMessage("&AdjustableBudgetAmount : " | &AdjustableBudgetAmount, 0);
&STA.AdjustDepartmentBudget(&DepartmentId, &BudgetAction, &AdjustableBudgetAmount); /*Layeeque*/
&TempFlag = "N";
End-If;
End-If;
If &Action = "SAV" Then
Else
Evaluate ECL_CLAIMS_HDR.ECL_STATUS.Value
When = "RC"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "REC";
End-If;
End-For;
When = "RT"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "REC") And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "RET";
End-If;
End-For;
When = "RL"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "HCR") And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "RTL";
End-If;
End-For;
When = "QY"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "REC") And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "QRY";
End-If;
End-For;
When = "QC"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "QCL";
End-If;
End-For;
When = "RE"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "RSB";
End-If;
End-For;
When = "CR"
&STA.AdjustDepartmentBudget(&DepartmentId, &BudgetAction, &AdjustableBudgetAmount); /*Layeeque*/
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "REC") And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "CLR";
End-If;
End-For;
When = "HD"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "HCR") And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "HLD";
End-If;
End-For;
When = "HC"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" And
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 1 Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "HCR";
End-If;
End-For;
When = "PT"
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId And
(&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PND" Or
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "HCR") Then
&STARowset(&i).ECL_CLAIMS_STA.ACTION_DTTM.Value = %Datetime;
&STARowset(&i).ECL_CLAIMS_STA.ECL_WF_ACTION.Value = "PST";
End-If;
End-For;
When = "RC"
When = "RT"
When = "RL"
When = "QY"
When = "QC"
When = "RE"
When = "HD"
When = "HC"
When = "CR"
For &i = 1 To &STARowset.ActiveRowCount
&SeqNo = &STARowset(&i).ECL_CLAIMS_STA.SEQNO.Value;
&Appr_Step = &STARowset(&i).ECL_CLAIMS_STA.APPR_STEP.Value;
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 0;
End-For;
When = "RC"
&STA.InsertReceivedHoldApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step - 1, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value, "REC");
Break;
When = "RT"
When = "QY"
When = "HD"
&Appr_Step = 0;
&Currentstep = 1;
&STAAction = "PND";
&STA.InsertClaimSTA(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value, "", &SeqNo, &STAAction, &Currentstep, &DelegatedApprover, ECL_CLAIMS_HDR.ECL_STATUS.Value);
Break;
When = "QC"
When = "RE"
If ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value = "Y" Then
&Appr_Step = &Appr_Step;
Else
If ECL_CLAIMS_HDR.ECL_DEVIATION.Value = "Y" Then
&Appr_Step = &Appr_Step + 2;
Else
&Appr_Step = &Appr_Step + 1;
End-If;
End-If;
&STA.InsertClaimNextApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value);
Break;
When = "HC"
If ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value = "Y" Then
&Appr_Step = &Appr_Step + 1;
Else
If ECL_CLAIMS_HDR.ECL_DEVIATION = "Y" Then
&Appr_Step = &Appr_Step + 3;
Else
&Appr_Step = &Appr_Step + 2;
End-If;
End-If;
&STA.InsertClaimNextApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value);
Break;
When = "CR"
&STA.InsertClaimNextApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value);
Break;
<*When = "HD"
&STA.InsertReceivedHoldApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value), &Appr_Step - 1, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value, "HLD");
Break;*>
<*When = "HC"
&STA.InsertReceivedHoldApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value), &Appr_Step - 1, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value, "HCR");
Break;*>
When = "RL"
&Appr_Step = &Appr_Step - 2;
&STA.InsertClaimNextApprover(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step, &SeqNo, ECL_CLAIMS_HDR.EMPLID.Value, ECL_CLAIMS_HDR.EMPL_RCD.Value, ECL_CLAIMS_HDR.ECL_CATEGORY.Value, ECL_CLAIMS_HDR.ECL_REQUEST_DT.Value);
Break;
When = "RJ"
&STA.AdjustDepartmentBudget(&DepartmentId, &BudgetAction, &AdjustableBudgetAmount); /*Layeeque*/
Break;
When = "PT"
For &i = 1 To &STARowset.ActiveRowCount
&SeqNo = &STARowset(&i).ECL_CLAIMS_STA.SEQNO.Value;
&Appr_Step = &STARowset(&i).ECL_CLAIMS_STA.APPR_STEP.Value;
&STARowset(&i).ECL_CLAIMS_STA.CURRENT_STEP.Value = 0;
End-For;
&STA.AdjustDepartmentBudget(&DepartmentId, &BudgetAction, &AdjustableBudgetAmount); /*Layeeque*/
Break;
When-Other
Break;
End-Evaluate;
/* Insert into Sequence record*/
&SQL = GetSQL(SQL.ECL_ATCH_SEQNO_INSERT);
For &i = 1 To &Seqno_Array.Len
&SQL.Execute(ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Seqno_Array [&i]);
End-For;
&SQL.Close();
/*end*/
End-If;
/*kondal IB testing*/
&msg = CreateMessage(Operation.ECL_INSERT_HDR_SOP, %IntBroker_Request);
If &msg.IsActive Then
&ROWSET = GetLevel0();
&Emplid = &ROWSET(1).ECL_CLAIMS_HDR.EMPLID.Value;
&empl_rcd = &ROWSET(1).ECL_CLAIMS_HDR.EMPL_RCD.Value;
&CLAIM_REQ_ID = &ROWSET(1).ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value;
&ECL_CATEGORY = &ROWSET(1).ECL_CLAIMS_HDR.ECL_CATEGORY.Value;
&ECL_TRVL_REQ_ID = &ROWSET(1).ECL_CLAIMS_HDR.ECL_TRVL_REQ_ID.Value;
&ECL_ARF_REQ_ID = &ROWSET(1).ECL_CLAIMS_HDR.ECL_ARF_REQ_ID.Value;
&ECL_STATUS = &ROWSET(1).ECL_CLAIMS_HDR.ECL_STATUS.Value;
&DEPTID = &ROWSET(1).ECL_CLAIMS_HDR.DEPTID.Value;
&ECL_APPROVER_ID = &ROWSET(1).ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value;
&ECL_RAISED_ID = &ROWSET(1).ECL_CLAIMS_HDR.ECL_RAISED_ID.Value;
&ECL_TOTAL_EXPENSE = &ROWSET(1).ECL_CLAIMS_HDR.ECL_TOTAL_EXPENSE.Value;
&ECL_APV_EXPENSE = &ROWSET(1).ECL_CLAIMS_HDR.ECL_APV_EXPENSE.Value;
&COMMENTS = &ROWSET(1).ECL_CLAIMS_HDR.COMMENTS.Value;
&COMMENTS_LONG = &ROWSET(1).ECL_CLAIMS_HDR.COMMENTS_LONG.Value;
&COMMENTS_2000 = &ROWSET(1).ECL_CLAIMS_HDR.COMMENTS_2000.Value;
&msg.CopyRowset(&ROWSET);
&msg.Publish();
End-If;
/*kondal IB testing*/
workflow
import ZIN_COMMON:*;
import ECL_COMMON:OnlineBase:*;
Component string &Action, &ActualEmplid;
Component number &Appr_Step;
Local ZIN_COMMON:AppEngineBase &AppEngine = create ZIN_COMMON:AppEngineBase();
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &STA = create ECL_COMMON:OnlineBase();
Local string &TO = "";
Local string &CC = "";
Local string &Subject = "";
Local string &Text = "";
Local string &NextEmailid = "";
Local string &Approver_ID = "";
Local string &Raise_ID = "";
Local string &Delegation = "";
&NextEmailid = &STA.GetNextApproverEmailid(&STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step);
If &Action = "SAV" Then
Else
SQLExec("SELECT APPROVER_OPRID FROM PS_ECL_CLAIMS_STA WHERE ECL_CLAIM_REQ_ID = :1 AND SEQNO = 1", ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Raise_ID);
Evaluate ECL_CLAIMS_HDR.ECL_STATUS.Value
When = "SB"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, "BUS", "", "", "");
&Delegation = &STA.CheckDelegation(ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, "APPR", %Component);
&Delegation = &STA.Check_Next_Approver_Delagation("SB", ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step);
If &Delegation = "Y" Then
&STA.Send_Mail_To_Delegated_Id(ECL_CLAIMS_HDR.ECL_STATUS.Value, ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step);
Else
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, "BUS", "", "", "");
&CC = %EmailAddress;
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ROLE_MANAGER", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
&Subject = MsgGetText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
If All(&TO) Then
&AppEngine.SendEmail(&TO, &CC, &Subject, &Text, "", "");
End-If;
End-If;
Break;
When = "RC"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.EMPLID.Value, "BUS", "", "", "");
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", &Raise_ID, "BUS", "", "", "");
&CC = "";
&Subject = MsgGetText(27000, 121, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 121, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "RT"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.EMPLID.Value, "BUS", "", "", "");
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", &Raise_ID, "BUS", "", "", "");
&CC = "";
&Subject = MsgGetText(27000, 122, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 122, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "RE"
&TO = &NextEmailid;
&CC = "";
&Subject = MsgGetText(27000, 123, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 123, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "RJ"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.EMPLID.Value, "BUS", "", "", "");
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", &Raise_ID, "BUS", "", "", "");
&CC = "";
&Subject = MsgGetText(27000, 124, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 124, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Value.GetName(%EmployeeId), %EmployeeId, %Date);
rem &Text = MsgGetExplainText(27000, 124, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "QY"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.EMPLID.Value, "BUS", "", "", "");
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", &Raise_ID, "BUS", "", "", "");
&CC = "";
&Subject = MsgGetText(27000, 244, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
&Text = MsgGetExplainText(27000, 244, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "QC"
&TO = &NextEmailid;
&CC = "";
&Subject = MsgGetText(27000, 126, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
&Text = MsgGetExplainText(27000, 126, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "HD"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.EMPLID.Value, "BUS", "", "", "");
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", &Raise_ID, "BUS", "", "", "");
&CC = "";
&Subject = MsgGetText(27000, 245, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
&Text = MsgGetExplainText(27000, 245, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When = "HC"
&TO = &NextEmailid;
&CC = "";
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ECLAIMS_MANAGE", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
&Subject = MsgGetText(27000, 132, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
&Text = MsgGetExplainText(27000, 132, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
Break;
When = "RL"
&TO = &NextEmailid;
&CC = "";
&Subject = MsgGetText(27000, 127, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
&Text = MsgGetExplainText(27000, 127, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Value.GetName(%EmployeeId), %EmployeeId, %Date);
rem &Text = MsgGetExplainText(27000, 127, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Value.GetName(&ActualEmplid), &ActualEmplid, %Date);
Break;
/*When = "CR"
&TO = &NextEmailid;
&CC = "";
&Subject = MsgGetText(27000, 120, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
&Text = MsgGetExplainText(27000, 120, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Value.GetName(%EmployeeId), %EmployeeId, %Date);
rem &Text = MsgGetExplainText(27000, 120, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Value.GetName(&ActualEmplid), &ActualEmplid, %Date);
Break;*/
When = "PT"
rem &TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", ECL_CLAIMS_HDR.EMPLID.Value, "BUS", "", "", "");
&TO = &Value.GetFieldValue("PSUSEREMAIL", "EMAILID", &Raise_ID, "BUS", "", "", "");
&CC = "";
&Subject = MsgGetText(27000, 128, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, ECL_CLAIMS_HDR.ECL_STATUS.LongTranslateValue);
rem &Text = MsgGetExplainText(27000, 128, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &Value.GetName(%EmployeeId), %EmployeeId, %Date);
&Text = MsgGetExplainText(27000, 128, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, %Date);
Break;
When-Other
Break;
End-Evaluate;
If &Action = "MAP" Then
If &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value) = "CLAIMS-DEVIATION" Then
rem &TO = &NextEmailid; /*Abhinav*/
&Delegation = &STA.Check_Next_Approver_Delagation("MAP", "", &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step);
If &Delegation = "Y" Then
&STA.Send_Mail_To_Delegated_Id("MAP", "", &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value), &Appr_Step);
Else
&TO = &NextEmailid;
&CC = "";
If &Appr_Step = 2 Then
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ROLE_MANAGER", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
End-If;
/* If &Appr_Step = 3 Then
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ECLAIMS_MANAGE", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
End-If; */
&Subject = MsgGetText(27000, 117, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 117, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
If All(&TO) Then
&AppEngine.SendEmail(&TO, &CC, &Subject, &Text, "", "");
End-If;
End-If;
End-If;
/* If &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value) = "CLAIMS" Then
&TO = &NextEmailid;
&CC = "";
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ECLAIMS_MANAGE", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
&Subject = MsgGetText(27000, 120, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 120, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
End-If;*/
If &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value) = "CLAIMS" Then
&TO = &NextEmailid; /*Abhinav*/
&CC = "";
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ECLAIMS_MANAGE", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
&Subject = MsgGetText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
/*Send Mail*/
If All(&TO) Then
&AppEngine.SendEmail(&TO, &CC, &Subject, &Text, "", "");
End-If;
End-If;
End-If;
If &Action = "DAP" Then
If &STA.ApprovaRuleSet(ECL_CLAIMS_HDR.ECL_DEVIATION.Value, ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value) = "CLAIMS-DEVIATION" Then
&TO = &NextEmailid;
&CC = "";
If &Appr_Step = 3 Then
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ECLAIMS_MANAGE", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
&href = EncodeURL(&url);
End-If;
&Subject = MsgGetText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
End-If;
End-If;
End-If;
If &Action = "MAP" Or
ECL_CLAIMS_HDR.ECL_STATUS.Value = "SB" Then
&Dont_Send_Common_MAil = "Y";
Else
&Dont_Send_Common_MAil = "N";
End-If;
If (All(&TO) And
&Dont_Send_Common_MAil = "N") Then
&AppEngine.SendEmail(&TO, &CC, &Subject, &Text, "", "");
End-If;
add attachments
<******************************************************************************************
Developer Name:Kondal
Date:25-05-11
********************************************************************************************>
<*
REM Declare Function display_attachment_buttons PeopleCode ECL_ATTACH_SBR.ATTACHADD RowInit;
Declare Function Add_ER_attachment PeopleCode DERIVED_TR_ATCH.TERMINATION_DT FieldFormula;
Local string &P1, &P2;
Local string &ATTACHSYSFILENAME, &ATTACH_URL, &ATTACHUSERFILE;
Local string &File_Extn;
&URL_ID = "ZIN_TER_REC";
&URL_ID = "URL." | &URL_ID;
&ATTACH_URL = GetURL(@&URL_ID);
If All(&ATTACH_URL) Then
&P1 = "sample";
&P2 = "data";
&ATTACHSYSFILENAME = &P1 | "_" | &P2 | "_";
Add_ER_attachment(&ATTACH_URL, &ATTACHSYSFILENAME, "*", &ATTACHUSERFILE, 0, &retcode);*>
/*PeopleCode added to validate the file extension - Starts here*/
<*&File_Extn = Upper(Substring(&ATTACHUSERFILE, Find(".", &ATTACHUSERFILE, 1) + 1, Len(&ATTACHUSERFILE) - Find(".", &ATTACHUSERFILE, 1) + 1));
If Not None(&File_Extn) Then
Evaluate &File_Extn
When = "DOC"
Break;
When-Other
Error MsgGet(27000, 208, "", &ATTACHUSERFILE, &File_Extn);
Break;
End-Evaluate;
End-If;*>
/*PeopleCode added to validate the file extension - Ends here*/
<* If (&retcode = %Attachment_Success) Then
ECL_CLAIMS_HDR.ATTACHUSERFILE.Value = &ATTACHUSERFILE;
ECL_CLAIMS_HDR.ATTACHSYSFILENAME.Value = &ATTACHSYSFILENAME | &ATTACHUSERFILE;
End-If;
Else
Error MsgGetText(1116, 9203, "Message Not Found");
End-If;
/*PeopleCode added to validate the file extension - Ends here*/
If (&ATTACHUSERFILE <> "") Then
Hide(ECL_ATTACH_WRK.ATTACHADD);
UnHide(ECL_ATTACH_WRK.ATTACHVIEW);
UnHide(ECL_ATTACH_WRK.ATTACHDELETE);
Else
UnHide(ECL_ATTACH_WRK.ATTACHADD);
Hide(ECL_ATTACH_WRK.ATTACHVIEW);
Hide(ECL_ATTACH_WRK.ATTACHDELETE);
End-If;
*>
import ECL_COMMON:ReportBase:*;
Declare Function display_attachment_buttons PeopleCode FILE_ATTACH_WRK.ATTACHADD RowInit;
Declare Function add_attachment PeopleCode ECL_FILE_WRK.ATTACHADD FieldFormula;
Local string &attach = ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value | "_" | "L2" | "_";
&Check = create ECL_COMMON:ReportBase();
rem &ftpsite = "ftp://Admin:Mphasis123@10.32.16.26";
&ftpsite = &Check.ftpfile_path();
add_attachment(&ftpsite, "", "/", 0, False, "", "", &ATTACHUSERFILE, 1, &retcode, &attach);
If (&retcode = %Attachment_Success) Then
ECL_CLAIMS_HDR.ATTACHUSERFILE.Value = &ATTACHUSERFILE;
ECL_CLAIMS_HDR.ATTACHSYSFILENAME.Value = &attach | &ATTACHUSERFILE;
End-If;
REM display_attachment_buttons(ECL_CLAIMS_HDR.ECL_ATTACHUSER.Value);
If (ECL_CLAIMS_HDR.ATTACHUSERFILE.Value <> "") Then
Hide(ECL_ATTACH_WRK.ATTACHADD);
UnHide(ECL_ATTACH_WRK.ATTACHVIEW);
UnHide(ECL_ATTACH_WRK.ATTACHDELETE);
Else
UnHide(ECL_ATTACH_WRK.ATTACHADD);
Hide(ECL_ATTACH_WRK.ATTACHVIEW);
Hide(ECL_ATTACH_WRK.ATTACHDELETE);
End-If;
delete attqachment
<******************************************************************************************
Developer Name:Kondal
Date:25-05-11
********************************************************************************************>
<*
REM Declare Function display_attachment_buttons PeopleCode ECL_ATTACH_SBR.ATTACHADD RowInit;
Declare Function delete_attachment PeopleCode ECL_ATTACH_SBR.ATTACHDELETE FieldChange;
Local string &ATTACH_URL;
&URL_ID = "ZIN_TER_REC";
&URL_ID = "URL." | &URL_ID;
&ATTACH_URL = GetURL(@&URL_ID);
If All(&ATTACH_URL) Then
If None(ECL_CLAIMS_HDR.ECL_ATTACHUSER.Value) Then
delete_attachment(&ATTACH_URL, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, 2, &retcode);
Else
delete_attachment(&ATTACH_URL, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, ECL_CLAIMS_HDR.ATTACHUSERFILE, 2, &retcode);
End-If;
End-If;
If (&ATTACHUSERFILE <> "") Then
Hide(ECL_ATTACH_WRK.ATTACHADD);
UnHide(ECL_ATTACH_WRK.ATTACHVIEW);
UnHide(ECL_ATTACH_WRK.ATTACHDELETE);
Else
UnHide(ECL_ATTACH_WRK.ATTACHADD);
Hide(ECL_ATTACH_WRK.ATTACHVIEW);
Hide(ECL_ATTACH_WRK.ATTACHDELETE);
End-If;
*>
import ECL_COMMON:ReportBase:*;
Declare Function delete_attachment PeopleCode FILE_ATTACH_WRK.ATTACHDELETE FieldChange;
rem Local string &ATTACH_URL = "ftp://Admin:Mphasis123@10.32.16.26";
&Check = create ECL_COMMON:ReportBase();
rem &ftpsite = "ftp://Admin:Mphasis123@10.32.16.26";
&ftpsite = &Check.ftpfile_path();
delete_attachment(&ftpsite, ECL_CLAIMS_HDR.ATTACHSYSFILENAME.Value, ECL_CLAIMS_HDR.ATTACHUSERFILE.Value, 2, &retcode);
If (ECL_CLAIMS_HDR.ATTACHUSERFILE.Value <> "") Then
Hide(ECL_ATTACH_WRK.ATTACHADD);
UnHide(ECL_ATTACH_WRK.ATTACHVIEW);
UnHide(ECL_ATTACH_WRK.ATTACHDELETE);
Else
UnHide(ECL_ATTACH_WRK.ATTACHADD);
Hide(ECL_ATTACH_WRK.ATTACHVIEW);
Hide(ECL_ATTACH_WRK.ATTACHDELETE);
End-If;
view attachments
<******************************************************************************************
Developer Name:Kondal
Date:25-05-11
********************************************************************************************>
<*
Declare Function View_Attachment PeopleCode ECL_ATTACH_SBR.ATTACHVIEW FieldChange;
Local string &ATTACH_URL;
&URL_ID = "ZIN_TER_REC";
&URL_ID = "URL." | &URL_ID;
&ATTACH_URL = GetURL(@&URL_ID);
If All(&ATTACH_URL) Then
If None(ECL_CLAIMS_HDR.ECL_ATTACHUSER.Value) Then
View_Attachment(&ATTACH_URL, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, 2, &retcode);
Else
View_Attachment(&ATTACH_URL, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, ECL_CLAIMS_HDR.ATTACHSYSFILENAME, 2, &retcode);
End-If;
End-If;
*>
import ECL_COMMON:ReportBase:*;
Declare Function View_Attachment PeopleCode FILE_ATTACH_WRK.ATTACHVIEW FieldChange;
rem Local string &ATTACH_URL = "ftp://Admin:Mphasis123@10.32.16.26";
&Check = create ECL_COMMON:ReportBase();
rem &ftpsite = "ftp://Admin:Mphasis123@10.32.16.26";
&ftpsite = &Check.ftpfile_path();
View_Attachment(&ftpsite, ECL_CLAIMS_HDR.ATTACHSYSFILENAME.Value, ECL_CLAIMS_HDR.ATTACHSYSFILENAME.Value, 2, &retcode);
/*************************** ABHINAV Begin ***********************************/
import ZIN_COMMON:*;
import ECL_COMMON:*;
Local ZIN_COMMON:ReportBase &Value_1 = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
/*************************** ABHINAV End***********************************/
ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value - ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value - ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value - ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
/*Bug Fix 14-10-2011*/
rem ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value;
rem ECL_CLAIMS_HDR.ECL_APV_REIMBR_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value;
rem ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value;
/*************************** ABHINAV Begin ***********************************/
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &i <> CurrentRowNumber() Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value_1.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-If;
End-For;
&DevFlag = 0;
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_TO_DT.Value = "";
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value = "";
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "";
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &i <> CurrentRowNumber() Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <> "" Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-If;
End-If;
End-For;
<*Code Commented On 11/15/2011 By Nishanth
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
End-If;
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Value = "";
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
End-If;
End-If;
*>
/*************************** ABHINAV End ***********************************/
/*Nishanth*/
&fromflag = 0;
For &f = 1 To &RS_Claims_Buss.ActiveRowCount
If &f <> CurrentRowNumber() Then
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <> "" Then
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) And
&RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&fromflag = &fromflag + 1;
End-If;
End-If;
End-If;
End-For;
/*Nishanth-120 Days Deviation Check */
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If;
End-If;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
End-If;
End-If;
/*Nishanth*/
/*Nishanth*/
WinMessage("&Count_Mob-->" | &Count_Mob | "&DevFlag-->" | &DevFlag | "&fromflag-->" | &fromflag, 0);
import ZIN_COMMON:*;
import ECL_COMMON:*;
Component string &Value;
rem Component number &DevFlag;
Local ZIN_COMMON:ReportBase &Value_1 = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
If &Value = "Y" Then
ECL_DERIVED.GROUPBOX1.Visible = True;
ECL_DERIVED.GROUPBOX2.Visible = False;
Else
ECL_DERIVED.GROUPBOX2.Visible = True;
ECL_DERIVED.GROUPBOX1.Visible = False;
End-If;
ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.DisplayOnly = False;
SQLExec("SELECT ALLOWEDIT FROM PS_ECL_GL_CODE_TBL WHERE ECL_CATEGORY = :1 AND ECL_CLAIM_TYP = :2", ECL_CLAIMS_BUSN.ECL_CATEGORY.Value, ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, &Edit);
If &Edit = "Y" Then
ECL_CLAIMS_BUSN.ECL_COST_CENTER.DisplayOnly = False;
Else
ECL_CLAIMS_BUSN.ECL_COST_CENTER.DisplayOnly = True;
End-If;
Evaluate ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value
When = "09"
HR_LBL_WRK.GROUPBOX8.Visible = False;
HR_LBL_WRK.GROUPBOX7.Visible = False;
HR_LBL_WRK.GROUPBOX6.Visible = False;
HR_LBL_WRK.GROUPBOX5.Visible = False;
HR_LBL_WRK.GROUPBOX4.Visible = True;
ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.DisplayOnly = True; /*kondal 14-04-2011*/
HR_LBL_WRK.LANG_NATIVE_LBL.Visible = True; /*Layeeque*/
rem HR_LBL_WRK.LANG_NATIVE_LBL.Value = MsgGetExplainText(27000, 105, "", ""); /*Layeeque*/
Break;
When = "04"
HR_LBL_WRK.GROUPBOX7.Visible = False;
HR_LBL_WRK.GROUPBOX8.Visible = False;
HR_LBL_WRK.GROUPBOX6.Visible = False;
HR_LBL_WRK.GROUPBOX5.Visible = True;
HR_LBL_WRK.GROUPBOX4.Visible = False;
Break;
When = "10"
HR_LBL_WRK.GROUPBOX7.Visible = False;
HR_LBL_WRK.GROUPBOX8.Visible = False;
HR_LBL_WRK.GROUPBOX6.Visible = True;
HR_LBL_WRK.GROUPBOX5.Visible = False;
HR_LBL_WRK.GROUPBOX4.Visible = False;
Break;
When = "08"
/*Abhinav - Begin*/
&Con_Attachment_Count = 0;
&Convey = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &i <> CurrentRowNumber() Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "08" Then
&Convey = 1;
If None(&RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_ATTACHUSER.Value) Then
&Con_Attachment_Count = 1;
End-If;
End-If;
End-If;
End-For;
If &Convey = 1 Then
If &Con_Attachment_Count = 0 Then
WinMessage("Please enter the Conveyance Expenses details in a single attachment. Use the file attached to the Conveyance Expenses line item previously.", 0);
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "";
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value = "";
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_TO_DT.Value = "";
HR_LBL_WRK.GROUPBOX7.Visible = False;
End-If;
If &Con_Attachment_Count = 1 Then
WinMessage("Please add an attachment to the Conveyance Expenses line item entered earlier. Add in all the conveyance expense details in this file.", 0);
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "";
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value = "";
&RS_Claims_Buss(CurrentRowNumber()).ECL_CLAIMS_BUSN.ECL_TO_DT.Value = "";
HR_LBL_WRK.GROUPBOX7.Visible = False;
End-If;
Else
/*Abhinav - End*/
HR_LBL_WRK.GROUPBOX7.Visible = True;
End-If;
HR_LBL_WRK.GROUPBOX8.Visible = False;
HR_LBL_WRK.GROUPBOX6.Visible = False;
HR_LBL_WRK.GROUPBOX5.Visible = False;
HR_LBL_WRK.GROUPBOX4.Visible = False;
Break;
When = ""
HR_LBL_WRK.GROUPBOX7.Visible = False;
HR_LBL_WRK.GROUPBOX8.Visible = False;
HR_LBL_WRK.GROUPBOX6.Visible = False;
HR_LBL_WRK.GROUPBOX5.Visible = False;
HR_LBL_WRK.GROUPBOX4.Visible = False;
Break;
When-Other
HR_LBL_WRK.GROUPBOX4.Visible = False;
HR_LBL_WRK.GROUPBOX5.Visible = False;
HR_LBL_WRK.GROUPBOX6.Visible = False;
HR_LBL_WRK.GROUPBOX7.Visible = False;
HR_LBL_WRK.GROUPBOX8.Visible = True;
Break;
End-Evaluate;
SetDefault(ECL_CLAIMS_BUSN.ECL_FROM_DT);
SetDefault(ECL_CLAIMS_BUSN.ECL_TO_DT);
SetDefault(ECL_CLAIMS_BUSN.ECL_GL_CODE);
SetDefault(ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT);
SetDefault(ECL_CLAIMS_BUSN.ECL_GL_CODE);
SetDefault(ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT);
SetDefault(ECL_CLAIMS_BUSN.ECL_TOTAL_AMT);
SetDefault(ECL_CLAIMS_BUSN.ECL_DETAIL1);
SetDefault(ECL_CLAIMS_BUSN.ECL_DETAIL2);
SetDefault(ECL_CLAIMS_BUSN.COMMENTS1);
SetDefault(ECL_CLAIMS_BUSN.ECL_DETAIL3);
SetDefault(ECL_CLAIMS_BUSN.ECL_DETAIL4);
SetDefault(ECL_CLAIMS_BUSN.ECL_DETAIL5);
SetDefault(ECL_CLAIMS_BUSN.ECL_NOOF_PERSON);
SetDefault(ECL_CLAIMS_BUSN.PURPOSE1);
SetDefault(ECL_CLAIMS_BUSN.COMPANY_DESCR);
SetDefault(ECL_CLAIMS_BUSN.ECL_NAME);
SetDefault(ECL_CLAIMS_BUSN.CITY);
SetDefault(ECL_CLAIMS_BUSN.ECL_BILL_NO);
SetDefault(ECL_CLAIMS_BUSN.ECL_LOCATION_FROM);
SetDefault(ECL_CLAIMS_BUSN.ECL_LOCATION_TO);
SetDefault(ECL_CLAIMS_BUSN.ECL_VEHICLE_TYPE);
SetDefault(ECL_CLAIMS_BUSN.ECL_KM_TRAVEL);
SetDefault(ECL_CLAIMS_BUSN.ECL_RENT_AMT);
SetDefault(ECL_CLAIMS_BUSN.ECL_OFFICIAL_CALLS);
SetDefault(ECL_CLAIMS_BUSN.ECL_PERS_CALLS);
SetDefault(ECL_CLAIMS_BUSN.MOBILE_PHONE);
SetDefault(ECL_CLAIMS_BUSN.ECL_LATE_REASON);
SetDefault(HR_LBL_WRK.LANG_TRANS_LBL);
/*************************** ABHINAV ***********************************/
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value_1.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-For;
&DevFlag = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <> "" Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-If;
End-For;
<*Nishanth - Code Commented On 15/11/2011
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
End-If;
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
End-If;
End-If;
*>
/*************************** ABHINAV ***********************************/
/*Nishanth*/
&fromflag = 0;
For &f = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <> "" Then
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) Then
&fromflag = &fromflag + 1;
End-If;
End-If;
End-For;
/*Nishanth-120 Days Deviation Check */
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If;
End-If;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
End-If;
End-If;
/*Nishanth*/
&Corp_Amount = 0;
&Reim_Amount = 0;
&total_amt = 0;
Local Rowset &rs = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value + ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value = ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_CLAIM_AMT.Value = ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
For &i = 1 To &rs.ActiveRowCount
&Corp_Amount = &Corp_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&Reim_Amount = &Reim_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&total_amt = &total_amt + &rs(&i).ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
End-For;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value = &total_amt;
ECL_CLAIMS_HDR.ECL_APV_REIMBR_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value = &total_amt;
import ZIN_COMMON:*;
import ECL_COMMON:*;
Local Rowset &BusnRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
For &i = 1 To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value > %Date Or
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > %Date Then
rem Error "Entered Date is Greater than the current date";
Error MsgGetText(27000, 167, "Message Not Found");
End-If;
/* kondal 18-04-2011 commented
If All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value = &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "Entered From date and To Date as same";
Error MsgGetText(27000, 168, "Message Not Found");
Else
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "From Date is Greater than the To Date";
Error MsgGetText(27000, 169, "Message Not Found");
End-If;
End-If;
End-If;*/
End-For;
For &i = 1 To &BusnRowset.ActiveRowCount
For &j = (&i + 1) To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value Then
If All(&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) Or
All(&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value And
&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value >= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value Then
rem Error "Invalid date";
Error MsgGetText(27000, 170, "Message Not Found");
End-If;
If &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value >= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value And
&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "Invalid date3";
Error MsgGetText(27000, 170, "Message Not Found");
End-If;
End-If;
End-If;
End-For;
End-For;
/***************************************************************************
Developer : Nishanth
Date : 01/11/2011
Customize Purpose : Claims Policy is deviated when the From Date is entered above 120 Days
***************************************************************************/
/*********************************90 Days Deviation ***********************************/
&DevFlag = 0;
For &i = 1 To &BusnRowset.ActiveRowCount
If All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-If;
End-For;
/* 90 Days Deviation Check*/
/*************************** ABHINAV ***********************************/
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-For;
&fromflag = 0;
For &f = 1 To &BusnRowset.ActiveRowCount
If All(&BusnRowset(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) Then
If &BusnRowset(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) And
&BusnRowset(&f).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&fromflag = &fromflag + 1;
End-If;
End-If;
End-For;
/*Nishanth-120 Days Deviation Check */
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If;
End-If;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
End-If;
End-If;
rem WinMessage("&Count_Mob-->" | &Count_Mob | "&DevFlag-->" | &DevFlag | "&fromflag -->" | &fromflag, 0);
/*Nishanth*/
import ZIN_COMMON:*;
import ECL_COMMON:*;
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
&Corp_Amount = 0;
&Reim_Amount = 0;
&total_amt = 0;
Local Rowset &rs = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value = ECL_CLAIMS_BUSN.ECL_RENT_AMT.Value + ECL_CLAIMS_BUSN.ECL_OFFICIAL_CALLS.Value; /* kondal 18-04-2011*/
ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value + ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_CLAIM_AMT.Value = ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
For &i = 1 To &rs.ActiveRowCount
&Corp_Amount = &Corp_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&Reim_Amount = &Reim_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&total_amt = &total_amt + &rs(&i).ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
End-For;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value = &total_amt;
ECL_CLAIMS_HDR.ECL_APV_REIMBR_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value = &total_amt;
If ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
WinMessage("Your are eligible for a Mobile Entitilement amount of Rs : " | &Limit_Amount | "/-. To avoide deviation of your expense request, please ensure that sum of Rental Amount and Office Calls is less the Rs. " | &Limit_Amount | "/-.", 0);
HR_LBL_WRK.LANG_NATIVE_LBL.Value = MsgGetExplainText(27000, 105, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_NATIVE_LBL.Value = "";
HR_LBL_WRK.LANG_NATIVE_LBL.DisplayOnly = True;
End-If;
End-If;
/************************* ABHINAV ****************************/
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-For;
&DevFlag = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <> "" Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-If;
End-For;
/************************* ABHINAV ****************************/
<* Code Commented By Nishanth
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
End-If;
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
End-If;
End-If;
*>
/*Nishanth*/
&fromflag = 0;
For &f = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <> "" Then
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) And
&RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&fromflag = &fromflag + 1;
End-If;
End-If;
End-For;
/*Nishanth-120 Days Deviation Check */
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If;
End-If;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
End-If;
End-If;
/*Nishanth*/
import ZIN_COMMON:*;
import ECL_COMMON:*;
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
&Corp_Amount = 0;
&Reim_Amount = 0;
&total_amt = 0;
Local Rowset &rs = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value + ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value; /*KONDAL 18-04-2011*/
ECL_CLAIMS_BUSN.ECL_TOT_CLAIM_AMT.Value = ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
For &i = 1 To &rs.ActiveRowCount
&Corp_Amount = &Corp_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&Reim_Amount = &Reim_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&total_amt = &total_amt + &rs(&i).ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
rem &rs(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value = &rs(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value; /*KONDAL 18-04-2011*/
End-For;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value = &total_amt;
ECL_CLAIMS_HDR.ECL_APV_REIMBR_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value = &total_amt;
If ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
rem WinMessage("&Limit_Amount : " | &Limit_Amount, 0);
If ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT > &Limit_Amount Then
WinMessage("Your are eligible for a Mobile Entitilement amount of Rs : " | &Limit_Amount | "/-. To avoide deviation of your expense request, please ensure that sum of Rental Amount and Office Calls is less the Rs. " | &Limit_Amount | "/-.", 0);
HR_LBL_WRK.LANG_NATIVE_LBL.Value = MsgGetExplainText(27000, 105, "", ""); /*Layeeque*/
End-If;
End-If;
<*
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-For;
If &Count_Mob > 0 Or
&DateDeviationFlag = "Y" Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True; /* ABHINAV*/
Else
ECL_CLAIMS_HDR.COMMENTS.Visible = False; /* ABHINAV*/
ECL_CLAIMS_HDR.COMMENTS.Value = ""; /* ABHINAV*/
End-If;
*>
If &DeviationFlag = "Y" Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
Else
If &DeviationFlag = "N" Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
End-If;
End-If;
import ZIN_COMMON:*;
import ECL_COMMON:*;
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
&Corp_Amount = 0;
&Reim_Amount = 0;
&total_amt = 0;
Local Rowset &rs = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value = ECL_CLAIMS_BUSN.ECL_RENT_AMT.Value + ECL_CLAIMS_BUSN.ECL_OFFICIAL_CALLS.Value; /* kondal 18-04-2011*/
ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value + ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value = ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
ECL_CLAIMS_BUSN.ECL_TOT_CLAIM_AMT.Value = ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
For &i = 1 To &rs.ActiveRowCount
&Corp_Amount = &Corp_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&Reim_Amount = &Reim_Amount + &rs(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&total_amt = &total_amt + &rs(&i).ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value;
End-For;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_TOT_REIMBU_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value = &total_amt;
ECL_CLAIMS_HDR.ECL_APV_REIMBR_AMT.Value = &Reim_Amount;
ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value = &Corp_Amount;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value = &total_amt;
If ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
WinMessage("Your are eligible for a Mobile Entitilement amount of Rs : " | &Limit_Amount | "/-. To avoide deviation of your expense request, please ensure that sum of Rental Amount and Office Calls is less the Rs. " | &Limit_Amount | "/-.", 0);
HR_LBL_WRK.LANG_NATIVE_LBL.Value = MsgGetExplainText(27000, 105, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_NATIVE_LBL.Value = "";
HR_LBL_WRK.LANG_NATIVE_LBL.DisplayOnly = True;
End-If;
End-If;
/*************************** ABHINAV ***********************************/
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-For;
&DevFlag = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <> "" Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-If;
End-For;
/*************************** ABHINAV ***********************************/
/*Code Commented By Nishanth*/
<*If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
End-If;
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
End-If;
End-If;
*>
/*Nishanth*/
&fromflag = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <> "" Then
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) And
&RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&fromflag = &fromflag + 1;
End-If;
End-If;
End-For;
/*Nishanth-120 Days Deviation Check */
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If;
End-If;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
End-If;
End-If;
/*Nishanth*/
import ZIN_COMMON:*;
import ECL_COMMON:*;
Component number &DevFlag;
Local Rowset &BusnRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
For &i = 1 To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value > %Date Or
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > %Date Then
rem Error "Greater than the current date";
Error MsgGetText(27000, 167, "Message Not Found");
End-If;
/* kondal 18-04-2011 commented
If All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value = &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "Entered From date and To Date as same";
Error MsgGetText(27000, 168, "Message Not Found");
Else
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "From Date is Greater than the To Date";
Error MsgGetText(27000, 169, "Message Not Found");
End-If;
End-If;
End-If;*/
End-For;
For &i = 1 To &BusnRowset.ActiveRowCount
For &j = (&i + 1) To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value Then
If All(&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) Or
All(&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value And
&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value >= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value Then
rem Error "Invalid date";
Error MsgGetText(27000, 170, "Message Not Found");
End-If;
If &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value >= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value And
&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "Invalid date";
Error MsgGetText(27000, 170, "Message Not Found");
End-If;
End-If;
End-If;
End-For;
End-For;
/*********************************90 Days Deviation ***********************************/
&DevFlag = 0;
For &i = 1 To &BusnRowset.ActiveRowCount
If All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-If;
End-For;
/* 90 Days Deviation Check*/
/*************************** ABHINAV ***********************************/
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
End-If;
End-If;
End-For;
<*
If &Count_Mob > 0 Or
&DateDeviationFlag = "Y" Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True; /* ABHINAV*/
Else
ECL_CLAIMS_HDR.COMMENTS.Visible = False; /* ABHINAV*/
ECL_CLAIMS_HDR.COMMENTS.Value = ""; /* ABHINAV*/
End-If;
*>
/*************************** ABHINAV ***********************************/
/*Nishanth - 120 Days Deviation Check - 15/11/2011*/
/* COde Commented on 15/11/2011 By Nishanth - Code BackUp*/
<*If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
End-If;
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
End-If;
End-If;
*>
/*Nishanth*/
&fromflag = 0;
For &f = 1 To &BusnRowset.ActiveRowCount
If All(&BusnRowset(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) Then
If &BusnRowset(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) And
&BusnRowset(&f).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&fromflag = &fromflag + 1;
End-If;
End-If;
End-For;
/*Nishanth-120 Days Deviation Check */
If &Count_Mob > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 227, "", ""); /*Layeeque*/
If &DevFlag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 228, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If;
End-If;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 253, "", ""); /*Layeeque*/
End-If
Else
If &DevFlag > 0 Then
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 217, "", ""); /*Layeeque*/
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
Else
HR_LBL_WRK.LANG_TRANS_LBL.Visible = False;
ECL_CLAIMS_HDR.COMMENTS.Visible = False;
If &fromflag > 0 Then
HR_LBL_WRK.LANG_TRANS_LBL.Visible = True;
ECL_CLAIMS_HDR.COMMENTS.Visible = True;
HR_LBL_WRK.LANG_TRANS_LBL.Value = MsgGetExplainText(27000, 251, "", ""); /*Nishanth*/
End-If;
End-If;
End-If;
rem WinMessage("&Count_Mob-->" | &Count_Mob | "&DevFlag-->" | &DevFlag | "&fromflag -->" | &fromflag, 0);
/*Nishanth*/
Local Rowset &STARowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_STA);
&FLD = GetRecord(Record.ECL_DERIVED).GetField(Field.ECL_STATUS);
&FLD.ClearDropDownList();
If %Menu = "ROLE_EMPLOYEE" Then
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "RT" Then
&FLD.AddDropDownItem("RE", "ReSubmit");
End-If;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "QY" Then
&FLD.AddDropDownItem("QC", "Query Cleared");
End-If;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "HD" Then
&FLD.AddDropDownItem("HC", "Hold Clear");
End-If;
End-If;
If &STARowset(&STARowset.ActiveRowCount).ECL_CLAIMS_STA.ROLENAME.Value = "Level1 Approver" Then
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "MAP" Or
ECL_CLAIMS_HDR.ECL_STATUS.Value = "DAP" Then
&FLD.AddDropDownItem("RC", "Received");
Else
&FLD.AddDropDownItem("RT", "Returned");
&FLD.AddDropDownItem("QY", "Query");
&FLD.AddDropDownItem("CR", "Clear");
&FLD.AddDropDownItem("RJ", "Reject");
End-If;
End-If;
If &STARowset(&STARowset.ActiveRowCount).ECL_CLAIMS_STA.ROLENAME.Value = "Level2 Approver" Then
&FLD.AddDropDownItem("HD", "Hold");
&FLD.AddDropDownItem("PT", "Post");
&FLD.AddDropDownItem("RL", "Return to Level 1");
&FLD.AddDropDownItem("RJ", "Reject");
End-If;
import ECL_COMMON:*;
import ZIN_COMMON:*;
Component string &Value;
Component string &DepartmentId, &BudgetAction, &ApproverRole, &ApprovalLevel, &Flag;
Component number &BackupApprovedTotalCost, &AdjustableBudgetAmount, &TailoredTravelCost;
Local ECL_COMMON:ClaimFormat &Claimformat = create ECL_COMMON:ClaimFormat();
Local ZIN_COMMON:ReportBase &FieldValue = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
Local ZIN_COMMON:ReportBase &Value1 = create ZIN_COMMON:ReportBase();
Local Rowset &STARowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_STA);
Local Rowset &RSBUSN = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
/*
If ECL_DERIVED.ECL_STATUS.Value = "QY" Or
ECL_DERIVED.ECL_STATUS.Value = "HD" Then
&Claimformat.Queryinsertupdate(%Menu, "QY", %OperatorId);
For &i = 1 To &QRYRowset.ActiveRowCount
If None(&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) Then
rem Error ("Please select the Query code");
Error MsgGetText(27000, 173, "Message Not Found");
End-If;
End-For;
End-If;
*/
If ECL_DERIVED.ECL_STATUS.Value = "QY" Or
ECL_DERIVED.ECL_STATUS.Value = "HD" Then
&Claimformat.Queryinsertupdate(%Menu, ECL_DERIVED.ECL_STATUS.Value, %OperatorId);
For &i = 1 To &QRYRowset.ActiveRowCount
If None(&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) Then
rem Error ("Please select the Query code");
Error MsgGetText(27000, 173, "Message Not Found");
End-If;
End-For;
End-If;
/*Nishanth*/
For &i = 1 To &RSBUSN.ActiveRowCount
If None(&RSBUSN(&i).ECL_CLAIMS_BUSN.COMMENTS1.Value) Then
Error MsgGetText(27000, 196, "Message Not Found");
End-If;
If &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value > &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value Then
rem Error "Entered Approved reimb amount is greater than the self Rreimb amount ";
Error MsgGetText(27000, 172, "Message Not Found");
End-If;
If &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value > &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value Then
rem Error "Entered Aproved CORPCD amount is greater than the selfCORPCD amount ";
Error MsgGetText(27000, 171, "Message Not Found");
End-If;
End-For;
If None(ECL_DERIVED.ECL_STATUS.Value) Then
rem Error ("Please select the status");
Error MsgGetText(27000, 174, "Message Not Found");
End-If;
<*
If ECL_DERIVED.ECL_STATUS.Value = "PT" Then
/****************************************************************************************************/
/* Developer : Layeeque Abdal Palli [MphasiS] */
/* Date : 06-April-2011 */
/* Descr : Dept Budget */
/****************************************************************************************************/
&TotalReimbursementAmount = 0;
&TotalTravelCost = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value;
&AppTotalTravelCost = ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value;
&DepartmentId = &Value1.getjobfieldvalue("DEPTID", ECL_CLAIMS_HDR.EMPLID.Value);
&InsignificantAmount = 0;
&CorporateCardAmount = 0;
&AppSelfReimbursementAmount = 0;
&AppInsignificantAmount = 0;
&AppCorporateCardAmount = 0;
For &i = 1 To &RSBUSN.ActiveRowCount
Evaluate &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value
/*01 Prizes & Awards
02 Agents Training Expenses
03 Vehicle Running Cost
04 Late Working Claim
05 Staff Relocation Expenses
06 Utility Expense
07 Repairs & Maintenance
08 Conveyance Expense
09 Mobile Expense
10 Entertainment Expense
11 Membership & Subscription
12 Seminar & Conferences
13 Books & Periodicals
14 Misc Expenses */
When = "01"
When = "02"
When = "03"
When = "04"
When = "05"
When = "06"
When = "07"
When = "09"
When = "11"
When = "12"
When = "13"
When = "14"
&SelfReimbursementAmount = 0;
&SelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&CorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&InsignificantAmount = &InsignificantAmount + &SelfReimbursementAmount + &CorporateCardAmount;
&AppSelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value;
&AppCorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value;
&AppInsignificantAmount = &AppInsignificantAmount + &AppSelfReimbursementAmount + &AppCorporateCardAmount;
Break;
End-Evaluate;
End-For;
&TailoredTravelCost = &TotalTravelCost - &InsignificantAmount;
&AppTailoredTravelCost = &AppTotalTravelCost - &AppInsignificantAmount;
&AdjustableBudgetAmount = &AppTailoredTravelCost;
If &AdjustableBudgetAmount <> 0 Then
&BudgetAction = "A";
End-If;
End-If;
*>
If ECL_DERIVED.ECL_STATUS.Value = "CR" Then
For &i = 1 To &RSBUSN.ActiveRowCount
If All(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value) Then
If None(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value) Then
rem Error ("Please fill the Approved Self Reimbrusement amount");
rem Error MsgGetText(27000, 175, "Message Not Found");
End-If;
End-If;
If &Value = "Y" Then
If All(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value) Then
If None(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value) Then
rem Error ("Please fill the Approved Corporate Card amount");
rem Error MsgGetText(27000, 176, "Message Not Found");
End-If;
End-If;
End-If;
If All(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value) And
All(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value) Then
If &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value < &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value Then
If None(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REDUCE_REASON.Value) Then
rem Error ("Please fill the Reason For Reducing Amount");
Error MsgGetText(27000, 177, "Message Not Found");
End-If;
End-If;
End-If;
If &Value = "Y" Then
If All(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value) And
All(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value) Then
If &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value < &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value Then
If None(&RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REDUCE_REASON.Value) Then
rem Error ("Please fill the Reason For Reducing Amount");
Error MsgGetText(27000, 177, "Message Not Found");
End-If;
End-If;
End-If;
End-If;
/******************************************************************************************************/
/* Developer : Layeeque Abdal Palli [MphasiS] */
/* Date : 06-April-2011 */
/* Descr : Dept Budget */
/******************************************************************************************************/
&TotalReimbursementAmount = 0;
&TotalTravelCost = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value;
&AppTotalTravelCost = ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value;
&DepartmentId = &Value1.getjobfieldvalue("DEPTID", ECL_CLAIMS_HDR.EMPLID.Value);
&InsignificantAmount = 0;
&CorporateCardAmount = 0;
&AppSelfReimbursementAmount = 0;
&AppInsignificantAmount = 0;
&AppCorporateCardAmount = 0;
Evaluate &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value
/*01 Prizes & Awards
02 Agents Training Expenses
03 Vehicle Running Cost
04 Late Working Claim
05 Staff Relocation Expenses
06 Utility Expense
07 Repairs & Maintenance
08 Conveyance Expense
09 Mobile Expense
10 Entertainment Expense
11 Membership & Subscription
12 Seminar & Conferences
13 Books & Periodicals
14 Misc Expenses */
When = "01"
When = "02"
When = "03"
When = "04"
When = "05"
When = "06"
When = "07"
When = "09"
When = "11"
When = "12"
When = "13"
When = "14"
&SelfReimbursementAmount = 0;
&SelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&CorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&InsignificantAmount = &InsignificantAmount + &SelfReimbursementAmount + &CorporateCardAmount;
&AppSelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value;
&AppCorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value;
&AppInsignificantAmount = &AppInsignificantAmount + &AppSelfReimbursementAmount + &AppCorporateCardAmount;
Break;
End-Evaluate;
End-For;
&TailoredTravelCost = &TotalTravelCost - &InsignificantAmount;
&AppTailoredTravelCost = &AppTotalTravelCost - &AppInsignificantAmount;
&AdjustableBudgetAmount = &TailoredTravelCost - &AppTailoredTravelCost;
If &AdjustableBudgetAmount <> 0 Then
&BudgetAction = "A";
End-If;
/********************************************* Dept Budget ******************************************/
<*If None(ECL_CLAIMS_HDR.COMMENTS.Value) Then /*kondal 25-04-2011*/
rem Error ("Please fill the Remarks");
Error MsgGetText(27000, 178, "Message Not Found");
End-If;*>
<*If None(ECL_CLAIMS_HDR.COMMENTS_LONG.Value) Then /*kondal 25-04-2011*/
rem Error ("Please fill the Expence Narration");
Error MsgGetText(27000, 196, "Message Not Found");
End-If;*>
End-If;
If (ECL_DERIVED.ECL_STATUS.Value = "RT" Or
ECL_DERIVED.ECL_STATUS.Value = "RJ") And
None(ECL_CLAIMS_HDR.COMMENTS_2000.Value) Then
Error MsgGetText(27000, 202, "Message Not Found");
End-If;
If ECL_DERIVED.ECL_STATUS.Value = "RJ" Then
For &i = 1 To &STARowset.ActiveRowCount
&ApproverOprid = &STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value;
&RoleName = &STARowset(&i).ECL_CLAIMS_STA.ROLENAME.Value;
End-For;
If &RoleName = "Level2 Approver" Then
&ApprovalLevel = "2";
rem WinMessage("&ApprovalLevel", 0);
End-If;
If &RoleName = "Level1 Approver" Then
&ApprovalLevel = "1";
rem WinMessage("&ApprovalLevel", 0);
End-If;
If &ApprovalLevel = "1" Then
&AdjustableBudgetAmount = 0;
&InsignificantAmount = 0;
&TotalTravelCost = 0;
&TotalReimbursementAmount = 0;
&TotalTravelCost = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value;
&DepartmentId = &Value1.getjobfieldvalue("DEPTID", ECL_CLAIMS_HDR.EMPLID.Value);
For &i = 1 To &RSBUSN.ActiveRowCount
Evaluate &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value
/*01 Prizes & Awards
02 Agents Training Expenses
03 Vehicle Running Cost
04 Late Working Claim
05 Staff Relocation Expenses
06 Utility Expense
07 Repairs & Maintenance
08 Conveyance Expense
09 Mobile Expense
10 Entertainment Expense
11 Membership & Subscription
12 Seminar & Conferences
13 Books & Periodicals
14 Misc Expenses */
When = "01"
When = "02"
When = "03"
When = "04"
When = "05"
When = "06"
When = "07"
When = "09"
When = "11"
When = "12"
When = "13"
When = "14"
&SelfReimbursementAmount = 0;
&SelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&CorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&InsignificantAmount = &InsignificantAmount + &SelfReimbursementAmount + &CorporateCardAmount;
Break;
End-Evaluate;
End-For;
&TailoredTravelCost = &TotalTravelCost - &InsignificantAmount;
&DeptBudgetFlag = &EstimatedCost.CheckDepartmentBudget(&DepartmentId, &TailoredTravelCost);
&AdjustableBudgetAmount = &TailoredTravelCost;
&BudgetAction = "A";
&Flag = "Y";
End-If;
If &ApprovalLevel = "2" Then
&TotalReimbursementAmount = 0;
&TotalTravelCost = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value;
&AppTotalTravelCost = ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value;
&DepartmentId = &Value1.getjobfieldvalue("DEPTID", ECL_CLAIMS_HDR.EMPLID.Value);
&InsignificantAmount = 0;
&CorporateCardAmount = 0;
&AppSelfReimbursementAmount = 0;
&AppInsignificantAmount = 0;
&AppCorporateCardAmount = 0;
For &i = 1 To &RSBUSN.ActiveRowCount
Evaluate &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value
/*01 Prizes & Awards
02 Agents Training Expenses
03 Vehicle Running Cost
04 Late Working Claim
05 Staff Relocation Expenses
06 Utility Expense
07 Repairs & Maintenance
08 Conveyance Expense
09 Mobile Expense
10 Entertainment Expense
11 Membership & Subscription
12 Seminar & Conferences
13 Books & Periodicals
14 Misc Expenses */
When = "01"
When = "02"
When = "03"
When = "04"
When = "05"
When = "06"
When = "07"
When = "09"
When = "11"
When = "12"
When = "13"
When = "14"
rem &SelfReimbursementAmount = 0;
rem &SelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
rem &CorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
rem &InsignificantAmount = &InsignificantAmount + &SelfReimbursementAmount + &CorporateCardAmount;
&AppSelfReimbursementAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_REIMBU_AMT.Value;
&AppCorporateCardAmount = &RSBUSN(&i).ECL_CLAIMS_BUSN.ECL_TOT_CORPCD_AMT.Value;
&AppInsignificantAmount = &AppInsignificantAmount + &AppSelfReimbursementAmount + &AppCorporateCardAmount;
Break;
End-Evaluate;
End-For;
rem &TailoredTravelCost = &TotalTravelCost - &InsignificantAmount;
&AppTailoredTravelCost = &AppTotalTravelCost - &AppInsignificantAmount;
&AdjustableBudgetAmount = &AppTailoredTravelCost;
&BudgetAction = "A";
&Flag = "Y";
End-If;
End-If;
ECL_CLAIMS_HDR.ECL_STATUS.Value = ECL_DERIVED.ECL_STATUS.Value;
&msg = MsgGetText(27000, 79, "", " The action once done could not be reverted.");
&Approve_Yes = WinMessage(&msg);
If &Approve_Yes = True Then
DoSave();
End-If;
import ECL_COMMON:*;
import ZIN_COMMON:*;
Component string &Value;
Component boolean &Approve_Yes;
Component string &DepartmentId, &BudgetAction;
Component number &AdjustableBudgetAmount;
Component string &DelegatedApprover, &DelegateFlag, &ActualEmplid;
Component number &DevFlag;
Local ECL_COMMON:ClaimFormat &Claimformat = create ECL_COMMON:ClaimFormat();
Local ZIN_COMMON:ReportBase &Value1 = create ZIN_COMMON:ReportBase();
Local ECL_COMMON:OnlineBase &EstimatedCost = create ECL_COMMON:OnlineBase();
Local Rowset &BusnRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
Local Rowset &Rowset = CreateRowset(Record.ECL_CLAIMS_BUSN);
&DelegateFlag = "N";
For &i = 1 To &BusnRowset.ActiveRowCount
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value) Then
rem Error ("Select The Claim Type");
Error MsgGetText(27000, 179, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) Then
rem Error ("Select The Expense Incurred Date From");
Error MsgGetText(27000, 180, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
rem Error ("Select The Expense Incurred Date To");
Error MsgGetText(27000, 181, "Message Not Found");
End-If;
If All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) And
All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
Error MsgGetText(27000, 169, "Message Not Found");
End-If;
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.COMMENTS1.Value) Then
rem Error ("Please fill the Remarks");
Error MsgGetText(27000, 196, "Message Not Found");
End-If;
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "08" Then /*KONDAL 25-04-2011*/
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_LOCATION_FROM.Value) Then
rem Error ("Please Enter The Travel From Location");
Error MsgGetText(27000, 191, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_LOCATION_TO.Value) Then
rem Error ("Please Enter The Travel To Location");
Error MsgGetText(27000, 192, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_VEHICLE_TYPE.Value) Then
rem Error ("Please Enter The Vehicle Type");
Error MsgGetText(27000, 193, "Message Not Found");
End-If;
End-If;
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "04" Then /*KONDAL 25-04-2011*/
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_LATE_REASON.Value) Then /*KONDAL 25-04-2011*/
rem Error ("Please Enter The Reson For Lateworking");
Error MsgGetText(27000, 194, "Message Not Found");
End-If;
End-If;
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "10" Then /*KONDAL 25-04-2011*/
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.PURPOSE1.Value) Then
rem Error ("Please Enter the Purpose and Outcome");
Error MsgGetText(27000, 199, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_NAME.Value) Then
rem Error ("Please Enter The Name of the Person Entertained");
Error MsgGetText(27000, 198, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.CITY.Value) Then
rem Error ("Please Enter the Place");
Error MsgGetText(27000, 197, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_BILL_NO.Value) Then
rem Error ("Please Enter the Bill No");
Error MsgGetText(27000, 190, "Message Not Found");
End-If;
End-If;
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TOTAL_AMT.Value > &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_RENT_AMT.Value + &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_OFFICIAL_CALLS.Value Then
rem Error ("Sum of Rental Amount and Office Calls is Greater than the Total Claim Amount ");
Error MsgGetText(27000, 182, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_RENT_AMT.Value) Then
rem Error ("Enter The Rental");
Error MsgGetText(27000, 183, "Message Not Found");
End-If;
<*If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_OFFICIAL_CALLS.Value) Then /*KONDAL 25-04-2011*/
rem Error ("Enter The Office Calls");
Error MsgGetText(27000, 184, "Message Not Found");
End-If;
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_PERS_CALLS.Value) Then
rem Error ("Enter The Personal Calls");
Error MsgGetText(27000, 185, "Message Not Found");
End-If;*>
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.MOBILE_PHONE.Value) Then
rem Error ("Enter The Mobile Number");
Error MsgGetText(27000, 186, "Message Not Found");
End-If;
End-If;
/*Kondal 15-02-2012*/
&Value2 = "";
SQLExec("SELECT 'Y' FROM PSROLEUSER WHERE ROLEUSER = :1 AND ROLENAME = 'ECL_CORPORATE_CARD'", ECL_CLAIMS_HDR.EMPLID.Value, &Corp_Role);
If &Corp_Role = "Y" Then
/* If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value) Then
rem Error ("Please Enter The Self CorporateCard Amount");
Error MsgGetText(27000, 195, "Message Not Found");
End-If;*/
Else
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value) Then
rem Error ("Enter The Self Reimbursement Amount");
Error MsgGetText(27000, 187, "Message Not Found");
End-If;
End-If;
If &Value = "Y" Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "09" Then /*KONDAL 25-04-2011*/
If None(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value) Then
rem Error ("Please Enter The Self CorporateCard Amount");
rem Error MsgGetText(27000, 195, "Message Not Found");
End-If;
End-If;
End-If;
<*
/*************************************************************************************/
/* Developer : Layeeque Abdal Palli [MphasiS] */
/* Date : 05-April-2011 */
/* Descr : Deviation Check for Mobile Expense Claims */
/*************************************************************************************/
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
ECL_CLAIMS_HDR.ECL_DEVIATION.Value = "Y";
End-If;
*>
End-For;
For &i = 1 To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value > %Date Or
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > %Date Then
rem Error "Greater than the current date";
Error MsgGetText(27000, 167, "Message Not Found");
End-If;
/* kondal 18-04-2011 Commented
If All(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) AND ALL(&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value = &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "Entered From date adn To Date as same";
Error MsgGetText(27000, 168, "Message Not Found");
Else
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value > &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
rem Error "From Date is Greater than the To Date";
Error MsgGetText(27000, 169, "Message Not Found");
End-If;
End-If;
End-If;*/
End-For;
For &i = 1 To &BusnRowset.ActiveRowCount
For &j = (&i + 1) To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value Then
If All(&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value) Or
All(&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value) Then
If &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value And
&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value >= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value Then
Error MsgGetText(27000, 170, "Message Not Found");
End-If;
If &BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value >= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value And
&BusnRowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <= &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
Error MsgGetText(27000, 170, "Message Not Found");
End-If;
End-If;
End-If;
End-For;
End-For;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "SA" Then
For &i = 1 To &BusnRowset.ActiveRowCount
&Rowset.Flush();
&Rowset.Fill("WHERE ECL_CLAIM_REQ_ID <> :1 AND EMPLID = :2 AND ECL_CATEGORY = :3 AND ECL_CLAIM_TYP = :4", &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_REQ_ID.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.EMPLID.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CATEGORY.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value);
For &j = 1 To &Rowset.ActiveRowCount
SQLExec("SELECT ECL_STATUS FROM PS_ECL_CLAIMS_HDR WHERE ECL_CLAIM_REQ_ID = :1 AND EMPLID = :2 AND ECL_CATEGORY = :3 ", &Rowset(&j).ECL_CLAIMS_BUSN.ECL_CLAIM_REQ_ID.Value, &Rowset(&j).ECL_CLAIMS_BUSN.EMPLID.Value, &Rowset(&j).ECL_CLAIMS_BUSN.ECL_CATEGORY.Value, &Status);
If All(&Status) Then
If &Status <> "RJ" Then
If &Status <> "CL" Then
rem WinMessage(&Status, 0);
rem WinMessage(&Status | &Rowset(&j).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value | &Rowset(&j).ECL_CLAIMS_BUSN.ECL_CLAIM_REQ_ID.Value | &Rowset(&j).ECL_CLAIMS_BUSN.EMPLID.Value | &Rowset(&j).ECL_CLAIMS_BUSN.ECL_CATEGORY.Value, 0);
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value <= &Rowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value And
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value >= &Rowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value Then
&DESCR = "";
rem WinMessage("1", 0);
SQLExec("SELECT DESCR FROM PS_ECL_CLAIM_TYP WHERE ECL_CATEGORY = :1 AND ECL_CLAIM_TYP =:2", &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CATEGORY.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, &DESCR);
Error MsgGetText(27000, 211, "", &DESCR);
End-If;
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value >= &Rowset(&j).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value And
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value <= &Rowset(&j).ECL_CLAIMS_BUSN.ECL_TO_DT.Value Then
&DESCR = "";
rem WinMessage("2", 0);
SQLExec("SELECT DESCR FROM PS_ECL_CLAIM_TYP WHERE ECL_CATEGORY = :1 AND ECL_CLAIM_TYP = :2", &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CATEGORY.Value, &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, &DESCR);
Error MsgGetText(27000, 211, "", &DESCR);
End-If;
End-If;
End-If;
End-If;
End-For;
End-For;
End-If;
For &i = 1 To &QRYRowset.ActiveRowCount
If All(&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) And
None(&QRYRowset(&i).ECL_CLAIMS_QRY.COMMENTS.Value) Then
rem Error ("Please fill the answer for the Query");
Error MsgGetText(27000, 188, "Message Not Found");
End-If;
End-For;
/******************************** Check for Approval Delegation ***************************************/
&DelegatedApprover = "";
&Delegation = create ECL_COMMON:OnlineBase();
&DelegationTo = &Delegation.ApprovalDelegationCheck(ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value, "DC");
/******************************** Nishanth ***************************************/
/*If the Manager has delagetd his acces to reportee then that request should not come to the reportee*/
If All(&DelegationTo) Then
If &DelegationTo = %EmployeeId Then
&Supervisorid = &Value1.getjobfieldvalue("SUPERVISOR_ID", &ActualEmplid); /*Nishanth*/
&DelegatedApprover = &Supervisorid;
Else
&DelegatedApprover = &DelegationTo;
End-If;
&DelegateFlag = "Y";
End-If;
If &DelegationTo = "" Then
&DelegatedApprover = ECL_CLAIMS_HDR.ECL_APPROVER_ID.Value;
End-If;
/******************************** End - Check for Approval Delegation ***************************************/
/****************************************************************************************************/
/* Developer : Layeeque Abdal Palli [MphasiS] */
/* Date : 06-April-2011 */
/* Descr : Dept Budget */
/****************************************************************************************************/
&TotalReimbursementAmount = 0;
&TotalTravelCost = ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value;
&DepartmentId = &Value1.getjobfieldvalue("DEPTID", ECL_CLAIMS_HDR.EMPLID.Value);
&InsignificantAmount = 0;
&CorporateCardAmount = 0;
For &i = 1 To &BusnRowset.ActiveRowCount
Evaluate &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value
/*01 Prizes & Awards
02 Agents Training Expenses
03 Vehicle Running Cost
04 Late Working Claim
05 Staff Relocation Expenses
06 Utility Expense
07 Repairs & Maintenance
08 Conveyance Expense
09 Mobile Expense
10 Entertainment Expense
11 Membership & Subscription
12 Seminar & Conferences
13 Books & Periodicals
14 Misc Expenses */
When = "01"
When = "02"
When = "03"
When = "04"
When = "05"
When = "06"
When = "07"
When = "09"
When = "11"
When = "12"
When = "13"
When = "14"
&SelfReimbursementAmount = 0;
&SelfReimbursementAmount = &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value;
&CorporateCardAmount = &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CORPCARD_AMT.Value;
&InsignificantAmount = &InsignificantAmount + &SelfReimbursementAmount + &CorporateCardAmount;
Break;
End-Evaluate;
End-For;
&TailoredTravelCost = &TotalTravelCost - &InsignificantAmount;
&DeptBudgetFlag = &EstimatedCost.CheckDepartmentBudget(&DepartmentId, &TailoredTravelCost);
&AdjustableBudgetAmount = &TailoredTravelCost;
&BudgetAction = "D";
If &DeptBudgetFlag = "Y" Then
Error MsgGet(27000, 52, "Message Not Found");
End-If;
/********************************************* Dept Budget ******************************************/
<*
If None(ECL_CLAIMS_HDR.COMMENTS.Value) Then
rem Error ("Please fill the Remarks");
Error MsgGetText(27000, 178, "Message Not Found");
End-If;
*>
/*90 Days Deviation Check for any Claim type based on the Expense Incured from Date*/
/****/
Local Rowset &RS_Claims_Buss = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_BUSN);
&Count_Mob = 0;
For &i = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value = "09" Then
&Grade = &Value1.getjobfieldvalue("GRADE", ECL_CLAIMS_HDR.EMPLID.Value);
&Limit_Amount = &EstimatedCost.GetEntitledCost(&Grade, &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value, "", "");
If &RS_Claims_Buss(&i).ECL_CLAIMS_BUSN.ECL_REIMBURSE_AMT.Value > &Limit_Amount Then
&Count_Mob = &Count_Mob + 1;
rem WinMessage(&Count_Mob, 0);
End-If;
End-If;
End-For;
/*90 Days Deviation Check for any Claim type based on the Expense Incured To Date - Start */
&DevFlag = 0;
For &i = 1 To &BusnRowset.ActiveRowCount
If &BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_TO_DT.Value < (%Date - 90) And
&BusnRowset(&i).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&DevFlag = &DevFlag + 1;
End-If;
End-For;
/*90 Days Deviation Check for any Claim type based on the Expense Incured To Date - Ends -Nishanth*/
/*120 Days Deviation Check for any Claim type based on the Expense Incured From Date - Start - Nishanth - 16/11/2011 */
&fromflag = 0;
For &f = 1 To &RS_Claims_Buss.ActiveRowCount
If &RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_FROM_DT.Value < (%Date - 120) And
&RS_Claims_Buss(&f).ECL_CLAIMS_BUSN.ECL_CLAIM_TYP.Value <> "" Then
&fromflag = &fromflag + 1;
End-If;
End-For;
/*120 Days Deviation Check for any Claim type based on the Expense Incured From Date -End - Nishanth - 16/11/2011*/
/*************************** ABHINAV ***********************************/
If &Count_Mob > 0 Or
&DevFlag > 0 Or
&fromflag > 0 Then
ECL_CLAIMS_HDR.ECL_DEVIATION.Value = "Y";
Else
ECL_CLAIMS_HDR.ECL_DEVIATION.Value = "";
End-If;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "RT" Then
ECL_CLAIMS_HDR.ECL_STATUS.Value = "RE";
End-If;
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "QY" Then
ECL_CLAIMS_HDR.ECL_STATUS.Value = "QC";
&Claimformat.Queryinsertupdate(%Menu, ECL_DERIVED.ECL_STATUS.Value, %OperatorId);
End-If;
/*
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "HD" Then
ECL_CLAIMS_HDR.ECL_STATUS.Value = "HC";
&Claimformat.Queryinsertupdate(%Menu, "QC", %OperatorId);
End-If;
*/
If ECL_CLAIMS_HDR.ECL_STATUS.Value = "HD" Then
ECL_CLAIMS_HDR.ECL_STATUS.Value = "HC";
&Claimformat.Queryinsertupdate(%Menu, ECL_CLAIMS_HDR.ECL_STATUS.Value, %OperatorId);
End-If;
rem If %EmployeeId = ECL_CLAIMS_HDR.EMPLID.Value And;
If &ActualEmplid = ECL_CLAIMS_HDR.EMPLID.Value And
ECL_CLAIMS_HDR.ECL_STATUS.Value = "SA" Then
If ECL_CLAIMS_HDR.ECL_CHECK_FLG.Value = "Y" Then
ECL_CLAIMS_HDR.ECL_STATUS.Value = "MAP";
Else
ECL_CLAIMS_HDR.ECL_STATUS.Value = "SB";
End-If;
End-If;
/********Mandatory reason if policy deviated - ABHINAV ********/
If ECL_CLAIMS_HDR.COMMENTS.Visible = True And
ECL_CLAIMS_HDR.COMMENTS.Value = "" Then
Error (MsgGetText(27000, 221, "", ""));
End-If;
/**********************END*************************************/
&MSG = MsgGetText(27000, 76, "", " The action once done could not be reverted.");
&Approve_Yes = WinMessage(&MSG);
If &Approve_Yes = True Then
DoSave();
End-If;
app package
class ClaimFormat
method ClaimFormat();
method TravelFormat(&Menu As string);
method ReturnQueryTravelFormat(&Menu As string, &Status As string);
method Queryinsertupdate(&Menu As string, &Status As string, &Oprid As string);
method Queryshowhide(&Menu As string, &Status As string);
method QueryDelete(&Menu As string, &Status As string);
method ViewTravelFormat(&Component As string);
method GridColumnTravelFormat();
method DisplayTravelFormat();
end-class;
method ClaimFormat
end-method;
method TravelFormat
/+ &Menu as String +/
Local Rowset &TrvlSTARowset = GetLevel0()(1).GetRowset(Scroll.ECL_TRAVEL_STA);
Local Rowset &ClSumRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_SUMM);
Local Rowset &TrotRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_TROT);
Local Rowset &TrvlRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_TRAG_VW);
Local Rowset &CreditRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_CREDTVW);
Local Rowset &BTCCarRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTC_VW);
Local Rowset &BTCCarCredit = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTCR_VW);
Local Rowset &EMHRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EMH_VW);
Local Rowset &GuestRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_GUH_VW);
Local Rowset &SelfRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_SELF_VW);
Local Rowset &BTCHotelRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTCH_VW);
Local Rowset &BTCHotelCredit = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTHC_VW);
Local Rowset &SWRRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_STR_VW);
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
Local Rowset &ClaimSTARowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_STA);
Local Rowset &EmpRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EH_VW); /*Nishanth*/
Local number &i;
Local Record &HdrRec = GetRecord(Record.ECL_CLAIMS_HDR);
Local boolean &Travel, &SelfTravel, &BTCCar, &BTCHotel, &Guest, &Emphotel; /*Nishanth*/
If None(&TrvlSTARowset(1).ECL_TRAVEL_STA.ROLEUSER.Value) Then
&TrvlSTARowset.HideAllRows();
End-If;
If None(&TrvlRowset(1).ECL_CLM_TRAG_VW.ECL_TRVL_REQ_ID.Value) Then
&TrvlRowset.HideAllRows();
End-If;
If None(&CreditRowset(1).ECL_CLM_CREDTVW.ECL_TRVL_REQ_ID.Value) Then
&CreditRowset.HideAllRows();
End-If;
If None(&BTCCarRowset(1).ECL_CLM_BTC_VW.ECL_TRVL_REQ_ID.Value) Then
&BTCCarRowset.HideAllRows();
End-If;
If None(&BTCCarCredit(1).ECL_CLM_BTCR_VW.ECL_TRVL_REQ_ID.Value) Then
&BTCCarCredit.HideAllRows();
End-If;
If None(&EMHRowset(1).ECL_CLM_EMH_VW.ECL_TRVL_REQ_ID.Value) Then
&EMHRowset.HideAllRows();
End-If;
If None(&SelfRowset(1).ECL_CLM_SELF_VW.ECL_TRVL_REQ_ID.Value) Then
&SelfRowset.HideAllRows();
End-If;
If None(&GuestRowset(1).ECL_CLM_GUH_VW.ECL_TRVL_REQ_ID.Value) Then
&GuestRowset.HideAllRows();
End-If;
If None(&BTCHotelRowset(1).ECL_CLM_BTCH_VW.ECL_TRVL_REQ_ID.Value) Then
&BTCHotelRowset.HideAllRows();
End-If;
If None(&BTCHotelCredit(1).ECL_CLM_BTHC_VW.ECL_TRVL_REQ_ID.Value) Then
&BTCHotelCredit.HideAllRows();
End-If;
If None(&SWRRowset(1).ECL_CLM_STR_VW.ECL_TRVL_REQ_ID.Value) Then
&SWRRowset.HideAllRows();
End-If;
If None(&ClSumRowset(1).ECL_CLAIMS_SUMM.ECL_TRVL_REQ_ID.Value) Then
&ClSumRowset.HideAllRows();
End-If;
/*Nishanth*/
If None(&EmpRowset(1).ECL_CLM_EH_VW.ECL_TRVL_REQ_ID.Value) Then
&EmpRowset.HideAllRows();
End-If;
/*Nishanth*/
For &i = 1 To &SelfRowset.ActiveRowCount
If None(&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.Value) Then
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_PNR_NUMBER.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICKET_COST.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_REIMBURSE_AMT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_DT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_CHARGE.DisplayOnly = True;
End-If;
If None(&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.Value) Then
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_CHARGE.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_DT.DisplayOnly = True;
End-If;
If &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.Value = "NR" Then
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_CHARGE.DisplayOnly = True;
End-If;
If &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.Value = "NA" Or
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.Value = "RCE" Then
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_PNR_NUMBER.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICKET_COST.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_REIMBURSE_AMT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_DT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_CHARGE.DisplayOnly = True;
End-If;
If &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.Value = "CB" Then
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NUM.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NAM.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_PNR_NUMBER.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICKET_COST.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_REIMBURSE_AMT.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.DisplayOnly = False;
End-If;
If &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.Value = "IN" Then
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NUM.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NAM.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_PNR_NUMBER.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICKET_COST.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_REIMBURSE_AMT.DisplayOnly = False;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.DisplayOnly = True;
End-If;
End-For;
/* Hide/Unhide the deviation column in the travel agent grid */
&Travel = True;
For &i = 1 To &TrvlRowset.ActiveRowCount
If &TrvlRowset(&i).ECL_CLM_TRAG_VW.ECL_ESTIMATED_COST.Value < &TrvlRowset(&i).ECL_CLM_TRAG_VW.ECL_TOT_TCKT_COST.Value Then
&Travel = False;
End-If;
End-For;
If &Travel = True Then
REM GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_TRAG_VW").GetColumn("TRAGENT_DEVIATE").Visible = False;
End-If;
/* Hide/Unhide the deviation column in the self booking grid */
&SelfTravel = True;
For &i = 1 To &SelfRowset.ActiveRowCount
If &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_ESTIMATED_COST.Value < &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TOT_TCKT_COST.Value Then
&SelfTravel = False;
End-If;
End-For;
If &SelfTravel = True Then
REM GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_SELF_VW").GetColumn("SELF_DEVIATE").Visible = False;
End-If;
/* Hide/Unhide the deviation column in the BTC car booking grid */
&BTCCar = True;
For &i = 1 To &BTCCarRowset.ActiveRowCount
If &BTCCarRowset(&i).ECL_CLM_BTC_VW.ECL_ESTIMATED_COST.Value < &BTCCarRowset(&i).ECL_CLM_BTC_VW.ECL_TOT_TCKT_COST.Value Then
&BTCCar = False;
End-If;
End-For;
If &BTCCar = True Then
REM GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTC_VW").GetColumn("BTCCAR_DEVIATE").Visible = False;
End-If;
/* Hide/Unhide the deviation column in the BTC hotel booking grid */
&BTCHotel = True;
For &i = 1 To &BTCHotelRowset.ActiveRowCount
If &BTCHotelRowset(&i).ECL_CLM_BTCH_VW.ECL_ESTIMATED_COST.Value < &BTCHotelRowset(&i).ECL_CLM_BTCH_VW.ECL_TOT_TCKT_COST.Value Then
&BTCHotel = False;
End-If;
End-For;
If &BTCHotel = True Then
REM GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTCH_VW").GetColumn("BTCHOTEL_DEVIATE").Visible = False;
End-If;
/* Hide/Unhide the deviation column in the BTC hotel booking grid */
&Guest = True;
For &i = 1 To &GuestRowset.ActiveRowCount
If &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_ESTIMATED_COST.Value < &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_TOT_TCKT_COST.Value Then
&Guest = False;
End-If;
End-For;
If &Guest = True Then
REM GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_GUH_VW").GetColumn("GUEST_DEVIATE").Visible = False;
End-If;
/*Nishanth*/
/* Hide/Unhide the deviation column in the Empanelled Hotel grid */
&Emphotel = True;
For &i = 1 To &EmpRowset.ActiveRowCount
If &EmpRowset(&i).ECL_CLM_EH_VW.ECL_ESTIMATED_COST.Value < &EmpRowset(&i).ECL_CLM_EH_VW.ECL_TOT_TCKT_COST.Value Then
&Emphotel = False;
End-If;
End-For;
If &Emphotel = True Then
REM GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_GUH_VW").GetColumn("GUEST_DEVIATE").Visible = False;
End-If;
/*Nishanth*/
If &Menu = "ROLE_EMPLOYEE" Then
REM &ClaimSTARowset.HideAllRows();
End-If;
<*If &Menu = "ROLE_EMPLOYEE" Then
&ClaimSTARowset.HideAllRows();
REM &HdrRec.ECL_TOT_CORPCD_AMT.DisplayOnly = True;
REM &HdrRec.ECL_TOT_REIMBU_AMT.DisplayOnly = True;
REM &HdrRec.ECL_AMT_PAY_EMPL.DisplayOnly = True;
REM &HdrRec.ECL_TOTAL_EXPENSE.DisplayOnly = True;
REM &HdrRec.ECL_TOT_CLAIM_AMT.DisplayOnly = True;
End-If;
If &Menu = "ROLE_MANAGER" Then
&HdrRec.ECL_AMT_PAY_EMPL.DisplayOnly = True;
&HdrRec.ECL_TOTAL_EXPENSE.DisplayOnly = True;
&HdrRec.ECL_TOT_CLAIM_AMT.DisplayOnly = True;
End-If;
If &Menu = "ECLAIMS_MANAGE" Then
&HdrRec.ECL_AMT_PAY_EMPL.DisplayOnly = False;
&HdrRec.ECL_TOTAL_EXPENSE.DisplayOnly = False;
&HdrRec.ECL_TOT_CLAIM_AMT.DisplayOnly = False;
End-If; *> /*To be removed after UAT-Clarification*/
Evaluate &Menu
When = "ROLE_MANAGER"
When = "ECLAIMS_MANAGE"
For &i = 1 To &TrotRowset.ActiveRowCount
&TrotRowset(&i).ECL_CLAIMS_TROT.ATTACHDELETE.Visible = False;
&TrotRowset(&i).ECL_CLAIMS_TROT.ATTACHADD.Visible = False;
End-For;
<*
For &i = 1 To &TrvlSTARowset.ActiveRowCount
&TrvlSTARowset(&i).ECL_TRAVEL_STA.ECL_FEEDBACK.DisplayOnly = True;
End-For;
For &i = 1 To &SelfRowset.ActiveRowCount
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_PNR_NUMBER.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_ESTIMATED_COST.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICKET_COST.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_REIMBURSE_AMT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CORPCARD_AMT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_DT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_CHARGE.DisplayOnly = True;
End-For;
For &i = 1 To &EMHRowset.ActiveRowCount
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_HOTEL_NAME.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKIN_DT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKIN_TIME.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKOUT_TIME.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_ESTIMATED_COST.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_DAYS_COUNT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TICKET_COST.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CORPCARD_AMT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_REIMBURSE_AMT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TOT_TCKT_COST.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
End-For;
For &i = 1 To &SWRRowset.ActiveRowCount
&SWRRowset(&i).ECL_CLM_STR_VW.CITY.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_CHECKIN_DT.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_CHECKOUT_DT.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_DAYS_COUNT.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_TICKET_COST.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_TOT_TCKT_COST.DisplayOnly = True;
End-For;
If None(&TrotRowset(1).ECL_CLAIMS_TROT.ECL_CLAIM_TYP.Value) Then
&TrotRowset.HideAllRows();
End-If;
&TrotRowset.InsertEnabled = False;
&TrotRowset.DeleteEnabled = False;
For &i = 1 To &TrotRowset.ActiveRowCount
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_CLAIM_TYP.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_FROM_DT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_TO_DT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_GL_CODE.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_REQUEST_DT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_REIMBURSE_AMT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_CORPCARD_AMT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_TOTAL_AMT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.COMMENTS1.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_NOOF_PERSON.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.PURPOSE1.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.COMPANY_DESCR.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_NAME.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.CITY.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_BILL_NO.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_LOCATION_FROM.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_LOCATION_TO.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_VEHICLE_TYPE.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_KM_TRAVEL.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL1.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL2.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL3.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL4.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL5.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ATTACHDELETE.Visible = False;
&TrotRowset(&i).ECL_CLAIMS_TROT.ATTACHADD.Visible = False;
End-For;
*>
%This.DisplayTravelFormat();
%This.GridColumnTravelFormat();
Break;
When-Other
Break
End-Evaluate;
end-method;
method ReturnQueryTravelFormat
/+ &Menu as String, +/
/+ &Status as String +/
If %Menu = "ROLE_EMPLOYEE" Then
If &Status = "RT" Or
&Status = "QY" Or
&Status = "HD" Then
HR_LINK_WRK.SUBMIT_PB.Enabled = False;
%This.DisplayTravelFormat();
End-If;
End-If;
end-method;
method ViewTravelFormat
/+ &Component as String +/
<*Local Rowset &TrotRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_TROT);
Local Rowset &TrvlRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_TRAG_VW);
Local Rowset &CreditRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_CREDTVW);
Local Rowset &BTCCarRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTC_VW);
Local Rowset &BTCCarCredit = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTCR_VW);
Local Rowset &EMHRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EMH_VW);
Local Rowset &GuestRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_GUH_VW);
Local Rowset &SelfRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_SELF_VW);
Local Rowset &BTCHotelRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTCH_VW);
Local Rowset &BTCHotelCredit = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTHC_VW);
Local Rowset &SWRRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_STR_VW);*>
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
Local Record &HdrRec = GetRecord(Record.ECL_CLAIMS_HDR);
Local number &i;
If &Component = "ECL_CLAIMS_VIEW" Then
&HdrRec.COMMENTS_LONG.DisplayOnly = True;
&HdrRec.ECL_APV_PAY_EMPL.DisplayOnly = True;
&HdrRec.ECL_APV_CORPCD_AMT.DisplayOnly = True;
&QRYRowset.InsertEnabled = False;
&QRYRowset.DeleteEnabled = False;
For &i = 1 To &QRYRowset.ActiveRowCount
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.DisplayOnly = True;
&QRYRowset(&i).ECL_CLAIMS_QRY.COMMENTS.DisplayOnly = True;
End-For;
%This.DisplayTravelFormat();
%This.GridColumnTravelFormat();
End-If;
If &Component = "ECL_CLAIMS_TRVL" Then
If (%Menu = "ROLE_EMPLOYEE" Or
%Menu = "ROLE_MANAGER") Then
ECL_CLAIMS_HDR.ECL_APV_PAY_EMPL.Visible = False;
ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Visible = False;
ECL_CLAIMS_HDR.ECL_APV_EXPENSE.Visible = False;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Visible = False;
End-If;
End-If;
end-method;
method Queryinsertupdate
/+ &Menu as String, +/
/+ &Status as String, +/
/+ &Oprid as String +/
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
Local number &i;
Local number &Seq = 1;
If &Menu = "ECLAIMS_MANAGE" Then
For &i = 1 To &QRYRowset.ActiveRowCount
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_CATEGORY.Value = ECL_CLAIMS_HDR.ECL_CATEGORY.Value;
&QRYRowset(&i).ECL_CLAIMS_QRY.SEQNO.Value = &Seq;
If &QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "" Then
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = &Status;
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_REQUEST_DT.Value = %Date;
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_RAISED_ID.Value = &Oprid;
&QRYRowset(&i).ECL_CLAIMS_QRY.LASTUPDOPRID.Value = &Oprid;
&QRYRowset(&i).ECL_CLAIMS_QRY.LASTUPDDTTM.Value = %Datetime;
End-If;
&Seq = &Seq + 1;
End-For;
End-If;
If &Menu = "ROLE_EMPLOYEE" Then
For &i = 1 To &QRYRowset.ActiveRowCount
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = &Status;
End-For;
End-If;
end-method;
method Queryshowhide
/+ &Menu as String, +/
/+ &Status as String +/
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
Local number &i;
/*
If All(&QRYRowset(1).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) Then
&QRYRowset.ShowAllRows();
Else
&QRYRowset.HideAllRows();
End-If;
*/
For &i = 1 To &QRYRowset.ActiveRowCount
If None(&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) Then
HideRow(Record.ECL_CLAIMS_QRY, &i);
End-If;
End-For;
If &Menu = "ROLE_EMPLOYEE" Then
&QRYRowset.InsertEnabled = False;
&QRYRowset.DeleteEnabled = False;
For &i = 1 To &QRYRowset.ActiveRowCount
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.DisplayOnly = True;
If &QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "QC" Or
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "HC" Then
&QRYRowset(&i).ECL_CLAIMS_QRY.COMMENTS.DisplayOnly = True;
End-If;
End-For;
End-If;
If &Menu = "ECLAIMS_MANAGE" Then
For &i = 1 To &QRYRowset.ActiveRowCount
<*If All(&QRYRowset(1).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) Then
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.DisplayOnly = True;
Else
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.DisplayOnly = False;
End-If;*>
If &QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "QC" Or
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "HC" Then
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.DisplayOnly = True;
Else
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.DisplayOnly = False;
End-If;
End-For;
If &Status = "QY" Or
&Status = "HD" Then
&QRYRowset.ShowAllRows();
If %Component <> "ECL_CLAIMS_VIEW" Then
If All(&QRYRowset(1).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value) Then
&QRYRowset.InsertRow(&QRYRowset.ActiveRowCount);
End-If;
End-If;
<*Else
For &i = &QRYRowset.ActiveRowCount To 1 Step - 1
If &QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value = "" Then
&QRYRowset.DeleteRow(&i);
End-If;
End-For;*>
End-If;
End-If;
end-method;
method QueryDelete
/+ &Menu as String, +/
/+ &Status as String +/
Local Rowset &QRYRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_QRY);
Local number &i, &Count_Qry_Raise, &Count_Qry_Clear;
&Count_Qry_Raise = 0;
&Count_Qry_Clear = 0;
If &Menu = "ECLAIMS_MANAGE" Then
If &Status = "QY" Or
&Status = "HD" Then
&Count_Qry_Raise = 1;
End-If;
If &Count_Qry_Raise = 0 Then
For &i = &QRYRowset.ActiveRowCount To 1 Step - 1
&Count_Qry_Clear = 0;
If &QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "QC" Or
&QRYRowset(&i).ECL_CLAIMS_QRY.ECL_STATUS.Value = "HC" Then
&Count_Qry_Clear = 1;
End-If;
If &QRYRowset(&i).ECL_CLAIMS_QRY.ECL_QSTN_CD.Value <> "" And
&Count_Qry_Clear = 0 Then
&QRYRowset.DeleteRow(&i);
End-If;
End-For;
End-If;
End-If;
end-method;
method GridColumnTravelFormat
If %Component = "ECL_CLAIMS_TRVL" Then
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_TRAG_VW").GetColumn("TRAGENT_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_TRAG_VW").GetColumn("TRAGENT_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_CREDTVW").GetColumn("AGENTCREDIT_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_CREDTVW").GetColumn("AGENTCREDIT_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_SELF_VW").GetColumn("SELF_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_SELF_VW").GetColumn("SELF_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTC_VW").GetColumn("BTCCAR_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTC_VW").GetColumn("BTCCAR_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTCR_VW").GetColumn("BTCCARCRDT_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTCR_VW").GetColumn("BTCCARCRDT_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTCH_VW").GetColumn("BTCHOTEL_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTCH_VW").GetColumn("BTCHOTEL_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTHC_VW").GetColumn("BTCHTLCDT_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_BTHC_VW").GetColumn("BTCHTLCDT_DELETE").Visible = False;
/*Nishanth*/
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_EH_VW").GetColumn("EMP_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_EH_VW").GetColumn("EMP_DELETE").Visible = False;
/*Nishanth*/
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_GUH_VW").GetColumn("GUEST_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_GUH_VW").GetColumn("GUEST_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_EMH_VW").GetColumn("NONEMP_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_EMH_VW").GetColumn("NONEMP_DELETE").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_STR_VW").GetColumn("STAY_ADD").Visible = False;
GetGrid(Page.ECL_CLAIMS_TRVL, "ECL_CLM_STR_VW").GetColumn("STAY_DELETE").Visible = False;
End-If;
end-method;
method DisplayTravelFormat
Local Rowset &TrvlSTARowset = GetLevel0()(1).GetRowset(Scroll.ECL_TRAVEL_STA);
Local Rowset &TrotRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_TROT);
Local Rowset &EMHRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EMH_VW);
Local Rowset &SelfRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_SELF_VW);
Local Rowset &SWRRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_STR_VW);
Local Rowset &GuestRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_GUH_VW);
Local Rowset &EmpRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EH_VW); /*Nishanth*/
Local Record &HdrRec = GetRecord(Record.ECL_CLAIMS_HDR);
Local number &i;
&HdrRec.COMMENTS.DisplayOnly = True;
For &i = 1 To &TrvlSTARowset.ActiveRowCount
&TrvlSTARowset(&i).ECL_TRAVEL_STA.ECL_FEEDBACK.DisplayOnly = True;
End-For;
If None(&TrotRowset(1).ECL_CLAIMS_TROT.ECL_CLAIM_TYP.Value) Then
&TrotRowset.HideAllRows();
End-If;
&TrotRowset.InsertEnabled = False;
&TrotRowset.DeleteEnabled = False;
For &i = 1 To &SelfRowset.ActiveRowCount
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICK_STATUS.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_PNR_NUMBER.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TICKET_COST.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_REIMBURSE_AMT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CORPCARD_AMT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_TYPE.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_DT.DisplayOnly = True;
&SelfRowset(&i).ECL_CLM_SELF_VW.ECL_CANCEL_CHARGE.DisplayOnly = True;
End-For;
For &i = 1 To &EMHRowset.ActiveRowCount
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_HOTEL_NAME.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKIN_DT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKOUT_DT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKIN_TIME.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CHECKOUT_TIME.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_DAYS_COUNT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_CORPCARD_AMT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_REIMBURSE_AMT.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TICKET_COST.DisplayOnly = True;
&EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TICK_STATUS.DisplayOnly = True;
End-For;
For &i = 1 To &SWRRowset.ActiveRowCount
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_CHECKIN_DT.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_CHECKOUT_DT.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_DAYS_COUNT.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_TICKET_COST.DisplayOnly = True;
&SWRRowset(&i).ECL_CLM_STR_VW.ECL_TICK_STATUS.DisplayOnly = True;
End-For;
For &i = 1 To &GuestRowset.ActiveRowCount
&GuestRowset(&i).ECL_CLM_GUH_VW.ECL_CHECKIN_DT.DisplayOnly = True;
&GuestRowset(&i).ECL_CLM_GUH_VW.ECL_CHECKOUT_DT.DisplayOnly = True;
&GuestRowset(&i).ECL_CLM_GUH_VW.ECL_CHECKIN_TIME.DisplayOnly = True;
&GuestRowset(&i).ECL_CLM_GUH_VW.ECL_CHECKOUT_TIME.DisplayOnly = True;
&GuestRowset(&i).ECL_CLM_GUH_VW.ECL_DAYS_COUNT.DisplayOnly = True;
&GuestRowset(&i).ECL_CLM_GUH_VW.ECL_TICK_STATUS.DisplayOnly = True;
End-For;
/*Nishanth*/
For &i = 1 To &EmpRowset.ActiveRowCount
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_CHECKIN_DT.DisplayOnly = True;
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_CHECKOUT_DT.DisplayOnly = True;
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_CHECKIN_TIME.DisplayOnly = True;
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_CHECKOUT_TIME.DisplayOnly = True;
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_DAYS_COUNT.DisplayOnly = True;
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_TICK_STATUS.DisplayOnly = True;
&EmpRowset(&i).ECL_CLM_EH_VW.ECL_TICKET_COST.DisplayOnly = True;
End-For;
/*Nishanth*/
For &i = 1 To &TrotRowset.ActiveRowCount
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_CLAIM_TYP.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_FROM_DT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_TO_DT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_REIMBURSE_AMT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_GL_CODE.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_CORPCARD_AMT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_TOTAL_AMT.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL1.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL2.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL3.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL4.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_DETAIL5.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_NOOF_PERSON.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.PURPOSE1.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.COMPANY_DESCR.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_NAME.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.CITY.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_BILL_NO.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_LOCATION_FROM.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_LOCATION_TO.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_VEHICLE_TYPE.DisplayOnly = True;
&TrotRowset(&i).ECL_CLAIMS_TROT.ECL_KM_TRAVEL.DisplayOnly = True;
End-For;
end-method;
class ClaimIdCreation
method ClaimIdCreation();
method CreateClaimId(&TravelReqId As string, &ClaimType As string, &Approver_id As string, &Id As string, &MDVariable As string) Returns string;
method InsertBusnClaim(&Emplid As string, &Empl_Rcd As number, &Approver_id As string, &ClaimType As string, &Id As string, &Deptid As string, &MDVariable As string) Returns string;
method InsertBusnSummary(&ClaimreqId As string, &Emplid As string, &Empl_rcd As number, &TravelReqId As string, &ClaimType As string);
method InsertARFClaim(&Emplid As string, &Empl_Rcd As number, &ARF_id As string, &Approver_id As string, &ClaimType As string, &Advamount As number, &Id As string, &Deptid As string, &MDVariable As string) Returns string;
method ClaimCalculation();
property string ClaimId;
private
method InsertClaimHeader(&TravelReqId As string, &ClaimType As string, &Approver_id As string, &Id As string, &MDVariable As string);
method InsertClaimTravel(&TravelReqId As string, &ClaimType As string);
method InsertClaimSummary(&TravelReqId As string, &ClaimType As string);
instance string &Status;
instance string &ClaimIdFound;
instance string &ClaimKeyOverrides;
instance string &ClaimIdInUse;
instance number &nbrRowsInserted;
instance SQL &sqlInsert;
end-class;
method ClaimIdCreation
end-method;
method CreateClaimId
/+ &TravelReqId as String, +/
/+ &ClaimType as String, +/
/+ &Approver_id as String, +/
/+ &Id as String, +/
/+ &MDVariable as String +/
/+ Returns String +/
&ClaimId = "EXP" | GetNextNumberWithGapsCommit(ECL_INSTALL.ECL_CLAIM_REQ_ID, 99999999, 1);
/* be positive */
&Status = "SUCC";
<*If &ClaimId <= 0 Then
&Status = "APID";
Return &Status;
End-If;*>
&ClaimIdInUse = &ClaimId;
/* make sure there is no duplicate Claim id */
REM SQLExec(SQL.ECL_CLAIM_DUP_CLAIM_ID_SEL, &ClaimId, &ClaimIdFound);
If &ClaimIdFound = "Y" Then
&Status = "DPID";
Return &Status;
End-If;
/* set the appraisal key overrides */
&ClaimKeyOverrides = ExpandSqlBinds("ECL_CLAIM_REQ_ID = :1", &ClaimId);
/* populate Travel Claim table */
%This.InsertClaimTravel(&TravelReqId, &ClaimType);
If &nbrRowsInserted = 0 Then
/* Couldn't insert any sections */
&Status = "FAIL";
Return &Status;
End-If;
/* populate Claim header table (only one row) */
%This.InsertClaimHeader(&TravelReqId, &ClaimType, &Approver_id, &Id, &MDVariable);
%This.InsertClaimSummary(&TravelReqId, &ClaimType);
&Status = String(&ClaimId);
Return &Status
end-method;
method InsertClaimHeader
/+ &TravelReqId as String, +/
/+ &ClaimType as String, +/
/+ &Approver_id as String, +/
/+ &Id as String, +/
/+ &MDVariable as String +/
Local string &strStartSQL, &strBuildSQL;
&strStartSQL = GetSQL(SQL.ECL_CLAIMS_HEADER_INSERT).Value;
&strBuildSQL = Substitute(&strStartSQL, "ECL_CLAIM_REQ_ID = 0", &ClaimKeyOverrides);
&sqlInsert = CreateSQL(&strBuildSQL);
/* insert role rows */
&sqlInsert.Execute(&TravelReqId, &ClaimType, &Approver_id, &Id, &MDVariable);
&sqlInsert.Close();
end-method;
method InsertClaimTravel
/+ &TravelReqId as String, +/
/+ &ClaimType as String +/
Local string &strStartSQL, &strBuildSQL;
&strStartSQL = GetSQL(SQL.ECL_CLAIMS_TRAVEL_INSERT).Value;
&strBuildSQL = Substitute(&strStartSQL, "ECL_CLAIM_REQ_ID = 0", &ClaimKeyOverrides);
&sqlInsert = CreateSQL(&strBuildSQL);
/* insert role rows */
&sqlInsert.Execute(&TravelReqId);
&nbrRowsInserted = &sqlInsert.RowsAffected;
&sqlInsert.Close();
end-method;
method InsertClaimSummary
/+ &TravelReqId as String, +/
/+ &ClaimType as String +/
Local string &strStartSQL, &strBuildSQL;
&strStartSQL = GetSQL(SQL.ECL_CLAIMS_SUMMARY_INSERT).Value;
&sqlInsert = CreateSQL(&strStartSQL);
&sqlInsert.Execute(&TravelReqId, &ClaimType, &ClaimId);
&sqlInsert.Close();
end-method;
method InsertBusnClaim
/+ &Emplid as String, +/
/+ &Empl_Rcd as Number, +/
/+ &Approver_id as String, +/
/+ &ClaimType as String, +/
/+ &Id as String, +/
/+ &Deptid as String, +/
/+ &MDVariable as String +/
/+ Returns String +/
Local string &strStartSQL, &strBuildSQL;
&ClaimId = "EXP" | GetNextNumberWithGapsCommit(ECL_INSTALL.ECL_CLAIM_REQ_ID, 99999999, 1);
&strStartSQL = GetSQL(SQL.ECL_CLAIMS_BUSN_HEADER_INSERT).Value;
&sqlInsert = CreateSQL(&strStartSQL);
&sqlInsert.Execute(&Emplid, &ClaimType, "SA", &Approver_id, &ClaimId, &Id, &Deptid, &MDVariable);
&sqlInsert.Close();
&Status = String(&ClaimId);
Return &Status
end-method;
method InsertARFClaim
/+ &Emplid as String, +/
/+ &Empl_Rcd as Number, +/
/+ &ARF_id as String, +/
/+ &Approver_id as String, +/
/+ &ClaimType as String, +/
/+ &Advamount as Number, +/
/+ &Id as String, +/
/+ &Deptid as String, +/
/+ &MDVariable as String +/
/+ Returns String +/
Local string &strStartSQL, &strBuildSQL;
&ClaimId = "EXP" | GetNextNumberWithGapsCommit(ECL_INSTALL.ECL_CLAIM_REQ_ID, 99999999, 1);
&strStartSQL = GetSQL(SQL.ECL_CLAIMS_ARF_HEADER_INSERT).Value;
&sqlInsert = CreateSQL(&strStartSQL);
&sqlInsert.Execute(&Emplid, &ClaimType, &ARF_id, "SA", &Approver_id, &Advamount, &ClaimId, &Id, &Deptid, &MDVariable);
&sqlInsert.Close();
&Status = String(&ClaimId);
Return &Status
end-method;
method InsertBusnSummary
/+ &ClaimreqId as String, +/
/+ &Emplid as String, +/
/+ &Empl_rcd as Number, +/
/+ &TravelReqId as String, +/
/+ &ClaimType as String +/
Local string &strStartSQL, &strBuildSQL;
&strStartSQL = GetSQL(SQL.ECL_CLAIMS_BUSN_INSERT_SUMMARY).Value;
&sqlInsert = CreateSQL(&strStartSQL);
&sqlInsert.Execute(&ClaimreqId, &Emplid, &Empl_rcd, &TravelReqId, &ClaimType);
&sqlInsert.Close();
end-method;
method ClaimCalculation
Local Rowset &ClSumRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_SUMM);
Local Rowset &TrotRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLAIMS_TROT);
Local Rowset &TrvlRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_TRAG_VW);
Local Rowset &CreditRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_CREDTVW);
Local Rowset &BTCCarRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTC_VW);
Local Rowset &BTCCarCredit = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTCR_VW);
Local Rowset &EMHRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EMH_VW);
Local Rowset &GuestRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_GUH_VW);
Local Rowset &SelfRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_SELF_VW);
Local Rowset &BTCHotelRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTCH_VW);
Local Rowset &BTCHotelCredit = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_BTHC_VW);
Local Rowset &SWRRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_STR_VW);
Local Rowset &EMPRowset = GetLevel0()(1).GetRowset(Scroll.ECL_CLM_EH_VW); /*Nishanth*/
Local number &i;
Local number &SelfBook = 0;
Local number &EmpHotel = 0;
Local number &StayRelative = 0;
Local number &Trothself = 0;
Local number &Trothcorp = 0;
Local number &TRAgentSum = 0;
Local number &Credit = 0;
Local number &CarCredit = 0;
Local number &BTCCar = 0;
Local number &GuestHouse = 0;
Local number &BTCHotel = 0;
Local number &HotelCredit = 0;
Local number &Amntpayable = 0;
Local number &Claimexpense = 0;
Local number &Emphotelexpense = 0; /*Nishanth*/
For &i = 1 To &SelfRowset.ActiveRowCount
&SelfBook = &SelfBook + &SelfRowset(&i).ECL_CLM_SELF_VW.ECL_TOT_TCKT_COST.Value;
End-For;
For &i = 1 To &EMHRowset.ActiveRowCount
&EmpHotel = &EmpHotel + &EMHRowset(&i).ECL_CLM_EMH_VW.ECL_TOT_TCKT_COST.Value;
End-For;
For &i = 1 To &SWRRowset.ActiveRowCount
&StayRelative = &StayRelative + &SWRRowset(&i).ECL_CLM_STR_VW.ECL_TOT_TCKT_COST.Value;
End-For;
For &i = 1 To &TrotRowset.ActiveRowCount
&Trothself = &Trothself + &TrotRowset(&i).ECL_CLAIMS_TROT.ECL_REIMBURSE_AMT.Value;
&Trothcorp = &Trothcorp + &TrotRowset(&i).ECL_CLAIMS_TROT.ECL_CORPCARD_AMT.Value;
End-For;
For &i = 1 To &TrvlRowset.ActiveRowCount
&TRAgentSum = &TRAgentSum + &TrvlRowset(&i).ECL_CLM_TRAG_VW.ECL_TOT_TCKT_COST.Value;
End-For;
For &i = 1 To &CreditRowset.ActiveRowCount
&Credit = &Credit + &CreditRowset(&i).ECL_CLM_CREDTVW.ECL_CREDIT_AMOUNT.Value;
End-For;
For &i = 1 To &BTCCarRowset.ActiveRowCount
rem &BTCCarRowset(&i).ECL_CLM_BTC_VW.ECL_TOT_TCKT_COST.Value = &BTCCarRowset(&i).ECL_CLM_BTC_VW.ECL_TICKET_COST.Value;
&BTCCar = &BTCCar + &BTCCarRowset(&i).ECL_CLM_BTC_VW.ECL_TOT_TCKT_COST.Value;
End-For;
For &i = 1 To &BTCCarCredit.ActiveRowCount
&CarCredit = &CarCredit + &BTCCarCredit(&i).ECL_CLM_BTCR_VW.ECL_CREDIT_AMOUNT.Value;
End-For;
For &i = 1 To &GuestRowset.ActiveRowCount
REM &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_TOT_TCKT_COST.Value = &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_ESTIMATED_COST.Value;
&GuestHouse = &GuestHouse + &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_TOT_TCKT_COST.Value;
End-For;
/*Nishanth*/
For &i = 1 To &EMPRowset.ActiveRowCount
REM &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_TOT_TCKT_COST.Value = &GuestRowset(&i).ECL_CLM_GUH_VW.ECL_ESTIMATED_COST.Value;
&Emphotelexpense = &Emphotelexpense + &EMPRowset(&i).ECL_CLM_EH_VW.ECL_TOT_TCKT_COST.Value;
End-For;
/*Nishanth*/
For &i = 1 To &BTCHotelRowset.ActiveRowCount
rem &BTCHotelRowset(&i).ECL_CLM_BTCH_VW.ECL_TOT_TCKT_COST.Value = &BTCHotelRowset(&i).ECL_CLM_BTCH_VW.ECL_TICKET_COST.Value;
&BTCHotel = &BTCHotel + &BTCHotelRowset(&i).ECL_CLM_BTCH_VW.ECL_TOT_TCKT_COST.Value;
End-For;
For &i = 1 To &BTCHotelCredit.ActiveRowCount
&HotelCredit = &HotelCredit + &BTCHotelCredit(&i).ECL_CLM_BTHC_VW.ECL_CREDIT_AMOUNT.Value;
End-For;
For &i = 1 To &ClSumRowset.ActiveRowCount
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "TA" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &TRAgentSum;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_CREDIT_AMOUNT.Value = &Credit;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &TRAgentSum - &Credit;
End-If;
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TRVL_REQ_TYP.Value = "TR" And
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "BT" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &BTCCar;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_CREDIT_AMOUNT.Value = &CarCredit;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &BTCCar - &CarCredit;
End-If;
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "NE" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_REIMBURSE_AMT.Value = &EmpHotel;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &EmpHotel;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &EmpHotel;
End-If;
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "SE" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_REIMBURSE_AMT.Value = &SelfBook;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &SelfBook;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &SelfBook;
End-If;
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TRVL_REQ_TYP.Value = "LB" And
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "BT" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &BTCHotel;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_CREDIT_AMOUNT.Value = &HotelCredit;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &BTCHotel - &HotelCredit;
End-If;
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TRVL_REQ_TYP.Value = "LB" And
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "ST" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_REIMBURSE_AMT.Value = &StayRelative;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &StayRelative;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &StayRelative;
End-If;
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TRVL_REQ_TYP.Value = "LB" And
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "GH" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &GuestHouse;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &GuestHouse;
End-If;
/*Nishanth*/
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TRVL_REQ_TYP.Value = "LB" And
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "EH" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &Emphotelexpense;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &Emphotelexpense;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_REIMBURSE_AMT.Value = &Emphotelexpense;
End-If;
/*Nishanth*/
If &ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_BOOKING_TYP.Value = "OT" Then
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_REIMBURSE_AMT.Value = &Trothself;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_CORPCARD_AMT.Value = &Trothcorp;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOTAL_AMT.Value = &Trothself + &Trothcorp;
&ClSumRowset(&i).ECL_CLAIMS_SUMM.ECL_TOT_CLAIM_AMT.Value = &Trothself + &Trothcorp;
End-If;
End-For;
ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value = &Trothcorp;
ECL_CLAIMS_HDR.ECL_AMT_PAY_EMPL.Value = &SelfBook + &EmpHotel + &StayRelative + &Trothself + &Emphotelexpense; /*Nishanth*/
&Amntpayable = ECL_CLAIMS_HDR.ECL_AMT_PAY_EMPL.Value;
ECL_CLAIMS_HDR.ECL_TOTAL_EXPENSE.Value = &Trothcorp + &Amntpayable;
&Claimexpense = ECL_CLAIMS_HDR.ECL_TOTAL_EXPENSE.Value;
ECL_CLAIMS_HDR.ECL_TOT_CLAIM_AMT.Value = (&Claimexpense + &TRAgentSum + &BTCCar + &GuestHouse + &BTCHotel) - (&Credit + &HotelCredit + &CarCredit);
REM ECL_CLAIMS_HDR.ECL_APV_PAY_EMPL.Value = ECL_CLAIMS_HDR.ECL_AMT_PAY_EMPL.Value;
REM ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value = ECL_CLAIMS_HDR.ECL_TOT_CORPCD_AMT.Value;
ECL_CLAIMS_HDR.ECL_APV_EXPENSE.Value = ECL_CLAIMS_HDR.ECL_APV_PAY_EMPL.Value + ECL_CLAIMS_HDR.ECL_APV_CORPCD_AMT.Value;
ECL_CLAIMS_HDR.ECL_APV_CLAIM_AMT.Value = (ECL_CLAIMS_HDR.ECL_APV_EXPENSE.Value + &TRAgentSum + &BTCCar + &GuestHouse + &BTCHotel) - (&Credit + &HotelCredit + &CarCredit);
end-method;
import ZIN_COMMON:*;
class OnlineBase
method getreqno() Returns number;
method OnlineBase();
method AssignNextId(&Recname As string, &Fieldname As string, &Length As number, &Prefix As string) Returns string;
method InsertSTA(&Employeeid As string, &Empl_rcd As number, &TravelReqID As string, &TravelReqDate As date, &RoleUser As string, &DelegatedApprover As string, &Comments As string, &UserRole As string);
method InsertNextApprover(&Employeeid As string, &Empl_rcd As number, &TravelReqID As string, &TravelReqDate As date, &Seqno As number, &ApprStep As number, &TravelType As string, &DeviationFlag As string, &CurrentRoleName As string);
method GetNextUserEmail(&Ecode As string) Returns string;
method GetNextApprover();
REM METHOD assign_employee_id(&EMPLID AS STRING);
method InsertClaimSTA(&ReqID As string, &Approval_Type As string, &Employeeid As string, &Empl_rcd As number, &Category As string, &TravelReqDate As date, &ApproverID As string, &Seqno As number, &Action As string, &Currentstep As number, &DelegatedApprover As string, &Status As string);
method Bulk_Insert_Claim_STA(&ReqID As string, &Approval_Type As string, &Employeeid As string, &Empl_rcd As number, &Category As string, &TravelReqDate As date, &ApproverID As string, &Seqno As number, &Action As string, &Currentstep As number, &DelegatedApprover As string, &Status As string, &Check_Flag As string);
method InsertClaimNextApprover(&ReqID As string, &Approval_Type As string, &ApprStep As number, &Seqno As number, &Employeeid As string, &Empl_rcd As number, &Category As string, &ClaimReqDate As date);
method InsertReceivedHoldApprover(&ReqID As string, &Approval_Type As string, &ApprStep As number, &Seqno As number, &Employeeid As string, &Empl_rcd As number, &Category As string, &ClaimReqDate As date, &Action As string);
method DeviationCheck(&CurrentGrade As string, &DeviationType As string, &CityGrade As string, &EstimatedCost As number) Returns string;
method GetEntitledCost(&EmployeeGrade As string, &BookingType As string, &CityGrade As string, &GuestHouseID As string) Returns number;
method CheckDepartmentBudget(&DepartmentId As string, &OverAllExpense As number) Returns string;
method GetCostCenter(&DepartmentId As string) Returns string;
method GetAvailableBudget(&CostCenter As string) Returns number;
method AdjustDepartmentBudget(&DepartmentId As string, &BudgetAction As string, &OverAllExpense As number);
method GetBudgetApprover(&CostCenter As string) Returns string;
method InsertInterimBudget(&CostCenter As string, &InterimBudgetCost As number);
method ApprovalDelegationCheck(&Ecode As string, &Delegationtype As string) Returns string;
method ApprovalDelegation(&Ecode As string, &DelegateTo As string, &DelegationType As string, &DelegationAction As string);
method CheckDelegation(&Ecode As string, &DelegationAction As string, &Component As string) Returns string;
method RevokeDelegation(&EmplCode As string, &DelegationAction As string, &DelegationType As string, &Seqno As number, &DelegatedId As string, &FromDate As date, &ToDate As date);
method GetMaxSequence(&TravelRequestId As string) Returns number;
method InsertArfSta(&ReqID As string, &Employeeid As string, &Empl_rcd As number, &TravelReqDate As date, &ApproverID As string, &Seqno As number, &Action As string, &CurrentStep As number, &UserRole As string);
method InsertArfNextApprover(&ReqID As string, &Approval_Type As string, &ApprStep As number, &Seqno As number, &Employeeid As string, &Empl_rcd As number, &ArfReqDate As date);
method ApprovaRuleSet(&Deviation As string, &MDCheck As string) Returns string;
method GetOverallExpense(&TravelReqId As string) Returns number;
method GetNextApproverEmailid(&Approvalset As string, &Apprstep As number) Returns string;
method DelegationOprid(&Emplid As string, &Action As string, &Type As string) Returns string;
method InitiateDelegationCheck(&Ecode As string, &From_date As date, &To_date As date, &DelegationAction As string, &DelegationType As string) Returns string;
method UpdateClaims(&TicketCost As number, &AgentBill As string, &AgentBillDate As date, &ServiceCharge As number, &Tax As number, &TotalTicketCost As number, &SystemFileName As string, &UserFile As string, &AttachSys As string, &AttachUser As string, &TravelReqId As string, &TravelSeq As number, &InvoiceStatus As string);
method GetTravelBTC(&TravelReqId As string) Returns string;
method GetBTCEstimatedCost(&TravelReqId As string) Returns number;
method GetOtherCancelledEstimatedCost(&TravelReqId As string) Returns number;
method BudgetAdjustmentAmount(&TravelReqId As string, &ClaimReqId As string, &Category As string);
method UpdateBudgetSTA(&WFAction As string, &ActionDate As datetime, &Comments As string, &Emplid As string, &BudgetID As string, &RoleName As string, &ApproverId As string);
method grade_check(&emplid As string) Returns string;
method RowCount(&Record As string, &Key As string) Returns number;
method UpdateDelegation(&Approverid As string, &Lastapproverid As string, &Lastuddtm As datetime, &Emplid As string, &delgaction As string, &Seqno As number);
method Check_Duplicacy(&View As string, &Input_Claim_Id As string) Returns string;
method UpdateRecieved(&Claim_ID As string);
method Get_Attachment_Seqno(&Claim_Id As string) Returns number;
method Update_Received_Header(&Claim_Id As string);
method Update_STA(&Claim_ID As string, &Oprid As string, &Action As string);
method Update_LV1(&Claim_ID As string);
method Insert_New_L1_L2_STA(&Claim_ID As string);
method Check_Next_Approver_Delagation(&Status As string, &Approver_Id As string, &Approvalset As string, &Apprstep As number) Returns string;
method Send_Mail_To_Delegated_Id(&Status As string, &Approver_Id As string, &Approvalset As string, &Apprstep As number);
method GetCityDistance(&DepartureCity As string, &ArrivalCity As string, &DistanceMode As string) Returns string;
end-class;
method GetTravelBTC
/+ &TravelReqId as String +/
/+ Returns String +/
Local Rowset &Rowset;
Local number &i;
Local string &BTC, &BTCFlag;
&BTCFlag = "N";
&Rowset = GetLevel0()(1).GetRowset(Scroll.ECL_TRAVEL_REQ);
rem WinMessage(&Rowset.ActiveRowCount, 0);
For &i = 1 To &Rowset.ActiveRowCount
&BTC = &Rowset(&i).ECL_TRAVEL_REQ.ECL_BOOKING_TYP.Value;
If &BTC = "BT" Then
&BTCFlag = "Y";
End-If;
End-For;
Return &BTCFlag;
end-method;
method getreqno
/+ Returns Number +/
Local number &ECL_TRVL_REQ_ID;
SQLExec("SELECT ECL_TRVL_REQ_ID PS_ECL_INSTALL", &ECL_TRVL_REQ_ID);
Return &ECL_TRVL_REQ_ID;
end-method;
method AssignNextId
/+ &Recname as String, +/
/+ &Fieldname as String, +/
/+ &Length as Number, +/
/+ &Prefix as String +/
/+ Returns String +/
/* Assigns the next available ID according to Recname.Fieldname. */
/* Ensures that this ID (with Prefix) does not exist in PERSON table. */
/* If a match is found in PERSON, then that ID is "reserved" and we */
/* keep trying until we get an ID that does not already exist. */
Local number &NextIdNbr, &MaxId;
Local string &NextId, &DuplicateId, &RecFieldName;
&RecFieldName = &Recname | "." | &Fieldname;
&MaxId = Value(Rept("9", &Length));
&DuplicateId = "X";
While All(&DuplicateId)
&NextIdNbr = GetNextNumberWithGapsCommit(@(&RecFieldName), &MaxId, 1);
If &NextIdNbr < 0 Then
If &NextIdNbr = - 2 Then
/* Highest Id already assigned. */
Error MsgGet(1000, 74, "Message Not Found.", &MaxId);
Else
/* General PeopleCode Error */
Error "GetNextNumberWithGapsCommit() ErrorCode: " | &NextIdNbr;
End-If;
End-If;
&NextId = String(&NextIdNbr);
&NextId = &Prefix | Rept("0", &Length - Len(&NextId)) | &NextId;
SQLExec("SELECT EMPLID FROM PS_PERSON WHERE EMPLID = :1", &NextId, &DuplicateId);
End-While;
Return &NextId;
end-method;
/* ! Assign Employee ID. Length of the ID comes from the INSTALLATION table*/
<* METHOD assign_employee_id
&EMPLID = AssignNextId("INSTALLATION", "EMPLID_LAST_EMPL", INSTALLATION.EMPLID_LENGTH, "");
End-METHOD;
*>
method OnlineBase
end-method;
method InsertSTA
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &TravelReqID as String, +/
/+ &TravelReqDate as Date, +/
/+ &RoleUser as String, +/
/+ &DelegatedApprover as String, +/
/+ &Comments as String, +/
/+ &UserRole as String +/
Local Rowset &Rowset;
Local Record &Rec;
Local number &j;
Local string &CancelFlag, &RoleFlag;
Local string &RoleName, &RoleNameDescr, &ApproverId, &ActionedEmpCode;
&Rec = CreateRecord(Record.ECL_TRAVEL_STA);
&Rowset = GetLevel0()(1).GetRowset(Scroll.ECL_TRAVEL_REQ);
&RoleFlag = "";
rem SQLExec("INSERT INTO PS_ECL_TRAVEL_STA VALUES(&Employeeid,&Empl_rcd,&TravelReqID,&TravelReqDate,'','','','',NULL,''");
If &RoleUser = &DelegatedApprover Then
&ApproverId = &RoleUser;
Else
&ApproverId = &DelegatedApprover;
End-If;
If &Employeeid <> %UserId Then
&ActionedEmpCode = %UserId;
Else
&ActionedEmpCode = &Employeeid;
End-If;
SQLExec("SELECT 'Y' FROM PSROLEUSER WHERE ROLEUSER = :1 AND ROLENAME = 'TATA-ECL-MD'", &Employeeid, &RoleFlag);
If &RoleFlag = "Y" Then
&UserRole = "MD";
End-If;
If &UserRole = "MD" Then
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_TRVL_REQ_ID.Value = &TravelReqID;
&Rec.ECL_TRVL_REQ_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = 1;
&Rec.APPR_STEP.Value = 1;
&Rec.ROLENAME.Value = "MD";
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = %UserId;
&Rec.APPROVER_OPRID.Value = &ActionedEmpCode;
&Rec.ECL_WF_ACTION.Value = "APV";
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = &Comments;
&Rec.Insert();
%This.InsertNextApprover(&Employeeid, &Empl_rcd, &TravelReqID, &TravelReqDate, 1, 1, "", "", "MD");
End-If;
If &UserRole <> "MD" Then
For &j = 1 To 2
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_TRVL_REQ_ID.Value = &TravelReqID;
&Rec.ECL_TRVL_REQ_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = &j;
If &j = 1 Then
If &UserRole = "CFO" Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET = 'IN-CFO-REQUEST' AND APPR_STEP=:1 ", &j, &RoleName, &RoleNameDescr);
Else
If &UserRole = "CFOApp" Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES where APPR_RULE_SET='IN-APPROVER-CFO' AND APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
Else
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES where APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
End-If;
End-If;
rem WinMessage(&Employeeid | " = " | &ApproverId | " = " | &ActionedEmpCode);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = %UserId;
&Rec.APPROVER_OPRID.Value = &ActionedEmpCode;
&Rec.ECL_WF_ACTION.Value = "SUB";
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = &Comments;
Else
If &UserRole = "CFO" Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET = 'IN-CFO-REQUEST' AND APPR_STEP=:1 ", &j, &RoleName, &RoleNameDescr);
REM SQLExec("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME='TATA-ECL-MD'", &ApproverId);
Else
If &UserRole = "CFOApp" Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES where APPR_RULE_SET='IN-APPROVER-CFO' AND APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
Else
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES where APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
End-If;
End-If;
/*If the approver is MD then restrict CFO for International -Starts*/
If &ApproverId = "3935313" Then
&RoleNameDescr = "MD";
Else
If &RoleUser <> &DelegatedApprover And
&RoleUser = "3935313" Then
&RoleNameDescr = "MD";
End-If;
End-If;
/*If the approver is MD then restrict CFO for International -Ends*/
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &RoleUser;
&Rec.ECL_DELEGATE_ID.Value = &DelegatedApprover;
&Rec.APPROVER_OPRID.Value = &ApproverId;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
End-If;
&Rec.Insert();
End-For;
End-If;
end-method;
method InsertNextApprover
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &TravelReqID as String, +/
/+ &TravelReqDate as Date, +/
/+ &Seqno as Number, +/
/+ &ApprStep as Number, +/
/+ &TravelType as String, +/
/+ &DeviationFlag as String, +/
/+ &CurrentRoleName as String +/
Local Record &Rec, &AgentRecord;
Local number &NextApprStep, &MAXSTEP, &j, &k, &TASequence;
Local string &RoleName, &RoleNameDescr, &Approvers, &agents, &ApprovalSet, &btc, &btc_agents;
Local SQL &SQL, &agent, &btc_agent;
Local string &Id = "";
Local string &Appr_Id = "";
Local Rowset &Rowset, &rs;
Local Row &row1, &row2;
Local number &i, &AgentCounter, &r, &r1;
Local string &TravelAgent, &TravelAgentFlag, &MDFlag;
Local array of string &TravelAgentArray, &TAArray;
&MDFlag = "";
&TravelAgentFlag = "N";
&ApprovalSet = ""; /*LAYEEQUE - ADDED ON 06-MAY-2011*/
&MAXSTEP = 0; /*LAYEEQUE - ADDED ON 06-MAY-2011*/
&Rec = CreateRecord(Record.ECL_TRAVEL_STA);
Evaluate &DeviationFlag
When "Y"
If &TravelType = "DO" Then
&ApprovalSet = "Do-Deviation";
End-If;
If &TravelType = "IN" Then
&ApprovalSet = "IN-Deviation";
End-If;
Break;
When "N"
If &TravelType = "DO" Then
&ApprovalSet = "Do-Normal";
End-If;
If &TravelType = "IN" Then
&ApprovalSet = "IN-Normal";
End-If;
Break;
End-Evaluate;
If &ApprStep = 2 And
&CurrentRoleName = "CFO" Then
&ApprovalSet = "IN-APPROVER-CFO";
End-If;
/* If the Current role is MD then Insert the Travel Agent,BTC Items - Starts*/
If &ApprStep = 2 And
&CurrentRoleName = "MD" Then
&ApprovalSet = "";
End-If;
If &ApprStep = 3 And
&CurrentRoleName = "MD" Then
&ApprovalSet = "";
End-If;
/* If the Current role is MD then Insert the Travel Agent,BTC Items - Ends */
&ApprStep = &ApprStep + 1;
SQLExec("SELECT MAX(APPR_STEP) FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET=:1", &ApprovalSet, &MAXSTEP);
SQLExec("SELECT APPR_STEP,ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET=:1 AND APPR_STEP=:2", &ApprovalSet, &ApprStep, &NextApprStep, &RoleName, &RoleNameDescr);
&SQL = CreateSQL("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME=:1", &RoleName, &Approvers);
SQLExec("SELECT MAX(SEQNO) FROM PS_ECL_TRAVEL_STA WHERE ECL_TRVL_REQ_ID=:1 ", &TravelReqID, &Seqno);
If &MAXSTEP < &ApprStep Then
&btc = "";
SQLExec("SELECT 'X' FROM PS_ECL_TRAVEL_REQ WHERE ECL_TRVL_REQ_ID=:1 AND ECL_BOOKING_TYP='BT' AND ECL_TICK_STATUS<>'RCE'", &TravelReqID, &btc);
rem WinMessage(&btc, 0);
If IsUserInRole("TATA-ECL-MD") Then
&MDFlag = "Y";
Else
&MDFlag = "N";
End-If;
If &CurrentRoleName = "MD" Then
&MDFlag = "Y";
Else
&MDFlag = "N";
End-If;
If &MDFlag = "Y" Then
&Rowset = GetLevel0()(1).GetRowset(Scroll.ECL_TRAVEL_REQ);
&TravelAgentArray = CreateArrayRept("", 0);
&TAArray = CreateArrayRept("", 0);
For &i = 1 To &Rowset.ActiveRowCount
&TravelAgent = &Rowset(&i).ECL_TRAVEL_REQ.ECL_BOOKING_TYP.Value;
If &TravelAgent = "TA" Then
If &TravelAgentArray.Find(&Rowset(&i).ECL_TRAVEL_REQ.ECL_AGENT_ID.Value) > 0 Then
/*Do Nothing*/
Else
&TravelAgentArray [&i] = &Rowset(&i).ECL_TRAVEL_REQ.ECL_AGENT_ID.Value;
&Seqno = &Seqno + 1;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_TRVL_REQ_ID.Value = &TravelReqID;
&Rec.ECL_TRVL_REQ_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = &Seqno;
&Rec.APPR_STEP.Value = &ApprStep;
&Rec.ROLENAME.Value = "Travel Agent";
&Rec.ROLEUSER.Value = &TravelAgentArray [&i];
&Rec.ECL_DELEGATE_ID.Value = &TravelAgentArray [&i];
&Rec.APPROVER_OPRID.Value = &TravelAgentArray [&i];
&Rec.ECL_WF_ACTION.Value = "TAP";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-If;
End-If;
End-For;
If &btc = "" Then
&btc = %This.GetTravelBTC(&TravelReqID);
End-If;
End-If;
If &MDFlag = "N" Then
&agent = CreateSQL("SELECT DISTINCT ECL_AGENT_ID FROM PS_ECL_TRAVEL_REQ WHERE ECL_TRVL_REQ_ID=:1 AND ECL_BOOKING_TYP='TA'", &TravelReqID);
While &agent.Fetch(&agents)
&Seqno = &Seqno + 1;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_TRVL_REQ_ID.Value = &TravelReqID;
&Rec.ECL_TRVL_REQ_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = &Seqno;
&Rec.APPR_STEP.Value = &ApprStep;
&Rec.ROLENAME.Value = "Travel Agent";
&Rec.ROLEUSER.Value = &agents;
&Rec.ECL_DELEGATE_ID.Value = &agents;
&Rec.APPROVER_OPRID.Value = &agents;
&Rec.ECL_WF_ACTION.Value = "TAP";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
End-If;
End-If;
/*to Insert BTC Agent in STA*/
If &MAXSTEP < &ApprStep Then
If &btc = "X" Or
&btc = "Y" Then
rem WinMessage("inside btc " | &btc, 0);
&btc_agent = CreateSQL("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME='TATA-ECL-BTC'");
While &btc_agent.Fetch(&btc_agents)
&Seqno = &Seqno + 1;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_TRVL_REQ_ID.Value = &TravelReqID;
&Rec.ECL_TRVL_REQ_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = &Seqno;
&Rec.APPR_STEP.Value = &ApprStep;
&Rec.ROLENAME.Value = "ZIPU/CIPU";
&Rec.ROLEUSER.Value = &btc_agents;
&Rec.ECL_DELEGATE_ID.Value = &btc_agents;
&Rec.APPROVER_OPRID.Value = &btc_agents;
&Rec.ECL_WF_ACTION.Value = "BTC";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
End-If;
End-If;
While &SQL.Fetch(&Approvers)
/*Code included for delegation check and fetching the delegated oprid for all the next approvers in travel including CFO, MD*/
&Id = %This.DelegationOprid(&Approvers, "APPR", "DT");
If All(&Id) Then
&Appr_Id = &Id;
Else
&Appr_Id = &Approvers;
End-If;
REM WinMessage(&Id, 0);
REM WinMessage(&Appr_Id, 0);
/*Code ends*/
&Seqno = &Seqno + 1;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_TRVL_REQ_ID.Value = &TravelReqID;
&Rec.ECL_TRVL_REQ_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = &Seqno;
&Rec.APPR_STEP.Value = &NextApprStep;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Approvers;
&Rec.ECL_DELEGATE_ID.Value = &Appr_Id;
&Rec.APPROVER_OPRID.Value = &Appr_Id;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
end-method;
method InsertClaimSTA
/+ &ReqID as String, +/
/+ &Approval_Type as String, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &Category as String, +/
/+ &TravelReqDate as Date, +/
/+ &ApproverID as String, +/
/+ &Seqno as Number, +/
/+ &Action as String, +/
/+ &Currentstep as Number, +/
/+ &DelegatedApprover as String, +/
/+ &Status as String +/
Local Record &Rec;
Local number &j;
Local string &RoleName = "";
Local string &RoleNameDescr = "";
Local string &ActualApprover = "";
Local string &ActionedEmpCode = "";
Local number &Rowcount = 0;
Local string &App_Id = "";
Local Record &HdrRec = GetRecord(Record.ECL_CLAIMS_HDR);
Local date &ClaimReqDate;
If &ApproverID = &DelegatedApprover Then
&ActualApprover = &ApproverID;
Else
&ActualApprover = &DelegatedApprover;
End-If;
If &Status = "MAP" And
&HdrRec.ECL_CHECK_FLG.Value = "Y" Then
If &Employeeid <> %UserId Then
&ActionedEmpCode = %UserId;
Else
&ActionedEmpCode = &Employeeid;
End-If;
Else
If &Status = "SB" Then
If &Employeeid <> %UserId Then
&ActionedEmpCode = %UserId;
Else
&ActionedEmpCode = &Employeeid;
End-If;
Else
&App_Id = %This.DelegationOprid(&Employeeid, "RAIS", "DC");
If All(&App_Id) Then
&ActionedEmpCode = &App_Id;
Else
&ActionedEmpCode = &Employeeid;
End-If;
&HdrRec.ECL_RAISED_ID.Value = &ActionedEmpCode;
End-If;
End-If;
rem Error (0);
WinMessage(&Approval_Type, 0);
If &Approval_Type = "CLAIMS-DEVIATION" Or
&Approval_Type = "CLAIMS" Or
&Approval_Type = "CLAIMS-MD" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "ARF" Then
&Rec = CreateRecord(Record.ECL_ARF_STA);
End-If;
rem WinMessage("&ApproverID" | &ApproverID, 0);
If All(&ApproverID) Then
&Rowcount = 2;
Else
&Rowcount = 1;
End-If;
<*
If &Approval_Type = "CLAIMS-MD" Then
&Rowcount = 1;
End-If;
*>
For &j = 1 To &Rowcount
If &Approval_Type = "CLAIMS-DEVIATION" Or
&Approval_Type = "CLAIMS" Or
&Approval_Type = "CLAIMS-MD" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "ARF" Then
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
End-If;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_CATEGORY.Value = &Category;
&Rec.ECL_REQUEST_DT.Value = &TravelReqDate;
&Seqno = &Seqno + 1;
&Rec.SEQNO.Value = &Seqno;
If &j = 1 Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1 AND APPR_RULE_SET=:2", &j, &Approval_Type, &RoleName, &RoleNameDescr);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = &ActionedEmpCode;
&Rec.APPROVER_OPRID.Value = &ActionedEmpCode;
&Rec.ECL_WF_ACTION.Value = &Action;
&Rec.CURRENT_STEP.Value = &Currentstep;
&Rec.ECL_COMMENTS.Value = "";
If &RoleNameDescr = "Originator" And
&Currentstep = 0 Then
&Rec.ACTION_DTTM.Value = %Datetime;
Else
&Rec.ACTION_DTTM.Value = "";
End-If;
<*If IsUserInRole("TATA-ECL-MD") Then
&ClaimReqDate = %Date;
%This.InsertClaimNextApprover(&ReqID, &Approval_Type, 1, 1, &Employeeid, &Empl_rcd, &Category, &ClaimReqDate);
End-If;*>
Else
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1 AND APPR_RULE_SET=:2", &j, &Approval_Type, &RoleName, &RoleNameDescr);
If &RoleNameDescr = "Level1 Approver" Then
%This.InsertClaimNextApprover(&ReqID, &Approval_Type, 1, 1, &Employeeid, &Empl_rcd, &Category, %Date);
Else
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &ApproverID;
&Rec.ECL_DELEGATE_ID.Value = &DelegatedApprover;
&Rec.APPROVER_OPRID.Value = &ActualApprover;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
End-If;
End-If;
&Rec.Insert();
End-For;
end-method;
method InsertClaimNextApprover
/+ &ReqID as String, +/
/+ &Approval_Type as String, +/
/+ &ApprStep as Number, +/
/+ &Seqno as Number, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &Category as String, +/
/+ &ClaimReqDate as Date +/
Local Record &Rec;
Local SQL &SQL;
Local string &NextApprStep, &RoleName, &RoleNameDescr, &Approvers;
Local string &Id = "";
Local string &Appr_Id = "";
If &Approval_Type = "CLAIMS-DEVIATION" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "CLAIMS" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "ARF" Then
&Rec = CreateRecord(Record.ECL_ARF_STA);
End-If;
If &Approval_Type = "CLAIMS-MD" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
&ApprStep = &ApprStep + 1;
SQLExec("SELECT APPR_STEP, ROLENAME, DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET=:1 AND APPR_STEP=:2", &Approval_Type, &ApprStep, &NextApprStep, &RoleName, &RoleNameDescr);
&SQL = CreateSQL("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME=:1", &RoleName, &Approvers);
While &SQL.Fetch(&Approvers)
&Seqno = &Seqno + 1;
If &Approval_Type = "CLAIMS-DEVIATION" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "CLAIMS" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "ARF" Then
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "CLAIMS-MD" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
&Id = %This.DelegationOprid(&Approvers, "APPR", "DC");
If All(&Id) Then
&Appr_Id = &Id;
Else
&Appr_Id = &Approvers;
End-If;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_CATEGORY.Value = &Category;
&Rec.SEQNO.Value = &Seqno;
&Rec.ECL_REQUEST_DT.Value = &ClaimReqDate;
&Rec.APPR_STEP.Value = &NextApprStep;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Approvers;
rem &Rec.ECL_DELEGATE_ID.Value = &Approvers; /*commented by layeeque for delegation issue on 10-Oct-2011*/
&Rec.ECL_DELEGATE_ID.Value = &Appr_Id; /*Included by layeeque for delegation issue on 10-Oct-2011*/
rem &Rec.APPROVER_OPRID.Value = &Approvers; /*commented by layeeque for delegation issue on 10-Oct-2011*/
&Rec.APPROVER_OPRID.Value = &Appr_Id;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
end-method;
method InsertReceivedHoldApprover
/+ &ReqID as String, +/
/+ &Approval_Type as String, +/
/+ &ApprStep as Number, +/
/+ &Seqno as Number, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &Category as String, +/
/+ &ClaimReqDate as Date, +/
/+ &Action as String +/
Local Record &Rec;
Local SQL &SQL;
Local string &NextApprStep, &RoleName, &RoleNameDescr, &Approvers;
If &Approval_Type = "CLAIMS-DEVIATION" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "CLAIMS" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "CLAIMS-MD" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "ARF" Then
&Rec = CreateRecord(Record.ECL_ARF_STA);
End-If;
&ApprStep = &ApprStep + 1;
SQLExec("SELECT APPR_STEP, ROLENAME, DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET=:1 AND APPR_STEP=:2", &Approval_Type, &ApprStep, &NextApprStep, &RoleName, &RoleNameDescr);
&SQL = CreateSQL("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME=:1", &RoleName, &Approvers);
While &SQL.Fetch(&Approvers)
&Seqno = &Seqno + 1;
If &Approval_Type = "CLAIMS-DEVIATION" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "CLAIMS-MD" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "CLAIMS" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "ARF" Then
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
End-If;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_CATEGORY.Value = &Category;
&Rec.SEQNO.Value = &Seqno;
&Rec.ECL_REQUEST_DT.Value = &ClaimReqDate;
&Rec.APPR_STEP.Value = &NextApprStep;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Approvers;
&Rec.ECL_DELEGATE_ID.Value = &Approvers;
&Rec.APPROVER_OPRID.Value = &Approvers;
&Rec.ECL_WF_ACTION.Value = &Action;
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
end-method;
method DeviationCheck
/+ &CurrentGrade as String, +/
/+ &DeviationType as String, +/
/+ &CityGrade as String, +/
/+ &EstimatedCost as Number +/
/+ Returns String +/
Local string &EligibiityFlag, &Eligibilty;
Local string &FieldValue;
Local number &EntitlementAmount;
If &DeviationType = "AR" Then
SQLExec("SELECT ECL_TRVL_MOD_ELIG FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &CurrentGrade, &Eligibilty);
If &Eligibilty = "AN" Then
&EligibiityFlag = "OFF";
End-If;
If &Eligibilty = "ALL" Then
&EligibiityFlag = "ON";
End-If;
End-If;
If &DeviationType = "NE" Then
If &CityGrade = "A" Then
SQLExec("SELECT A.ECL_ACITY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &CurrentGrade, &EntitlementAmount);
End-If;
If &CityGrade = "B" Then
SQLExec("SELECT A.ECL_BCITY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &CurrentGrade, &EntitlementAmount);
End-If;
If (&EntitlementAmount - &EstimatedCost) >= 0 Then
&EligibiityFlag = "ON";
Else
&EligibiityFlag = "OFF";
End-If;
End-If;
Return &EligibiityFlag;
end-method;
method GetEntitledCost
/+ &EmployeeGrade as String, +/
/+ &BookingType as String, +/
/+ &CityGrade as String, +/
/+ &GuestHouseID as String +/
/+ Returns Number +/
Local number &Amount, &GHAmount, &GHDialyExpense;
If &BookingType = "ST" Then
SQLExec("SELECT A.ECL_RELATV_STY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &EmployeeGrade, &Amount);
End-If;
If &BookingType = "NE" Then
If &CityGrade = "A" Then
SQLExec("SELECT A.ECL_ACITY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &EmployeeGrade, &Amount);
End-If;
If &CityGrade = "B" Then
SQLExec("SELECT A.ECL_BCITY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &EmployeeGrade, &Amount);
End-If;
End-If;
If &BookingType = "GH" Then
SQLExec("SELECT A.ECL_DLY_GH_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &EmployeeGrade, &GHDialyExpense);
SQLExec("SELECT G.ECL_DLY_GH_AMT FROM PS_ECL_GUEST_HOUSE G WHERE G.SETID='TALIC' AND G.ECL_BOOKING_TYP = :1 AND G.ECL_GUEST_ID=:2 AND G.EFFDT = (SELECT MAX(G1.EFFDT) FROM PS_ECL_GUEST_HOUSE G1 WHERE G.SETID=G1.SETID AND G.ECL_BOOKING_TYP=G1.ECL_BOOKING_TYP AND G.ECL_GUEST_ID=G1.ECL_GUEST_ID AND G1.EFFDT <=GETDATE())", &BookingType, &GuestHouseID, &GHAmount);
&Amount = &GHAmount + &GHDialyExpense;
End-If;
/*Nishanth*/
If &BookingType = "EH" Then
If &CityGrade = "A" Then
SQLExec("SELECT A.ECL_ACITY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &EmployeeGrade, &Amount);
End-If;
If &CityGrade = "B" Then
SQLExec("SELECT A.ECL_BCITY_AMT FROM PS_ECL_HR_LIMITS A WHERE A.SETID='TALIC' AND A.GRADE=:1 AND A.EFFDT=(SELECT MAX(A1.EFFDT) FROM PS_ECL_HR_LIMITS A1 WHERE A.SETID=A1.SETID AND A.GRADE=A1.GRADE AND A.EFFDT<=GETDATE()) AND A.EFF_STATUS='A'", &EmployeeGrade, &Amount);
End-If;
End-If;
/*Nishanth*/
If &BookingType = "09" Then
SQLExec("SELECT ECL_MOB_EXP_AMT FROM PS_ECL_HR_LIMITS WHERE GRADE = :1", &EmployeeGrade, &Amount);
End-If;
Return &Amount;
end-method;
method CheckDelegation
/+ &Ecode as String, +/
/+ &DelegationAction as String, +/
/+ &Component as String +/
/+ Returns String +/
Local string &IsDelegated = "";
If &Component = "ECL_CLAIM_REQ_HOME" Or
&Component = "ECL_CLAIMS_TRVL" Or
&Component = "ECL_CLAIM_BUSINESS" Or
&Component = "ECL_CLAIMS_ARF" Then
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION=:2 AND ECL_DELEGATE_TYPE IN ('DC','DB') AND CONVERT(VARCHAR(10),getdate(),111) BETWEEN FROM_DT AND TO_DT AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DelegationAction, &IsDelegated);
End-If;
If &Component = "ECL_TRVL_REQ_HOME" Or
&Component = "ECL_DEL_MGR_TR_APR" Or
&Component = "ECL_TRVL_TRGT_APPR" Then /*Nishanth*/
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION=:2 AND ECL_DELEGATE_TYPE IN ('DT','DB') AND CONVERT(VARCHAR(10),getdate(),111) BETWEEN FROM_DT AND TO_DT AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DelegationAction, &IsDelegated);
End-If;
Return &IsDelegated;
end-method;
method ApprovalDelegationCheck
/+ &Ecode as String, +/
/+ &Delegationtype as String +/
/+ Returns String +/
Local string &DelegateTo = "";
SQLExec("SELECT ECL_DELEGATE_TO FROM PS_ECL_DELEGATION WHERE EMPLID = :1 AND ECL_DELEG_ACTION = 'APPR' AND ECL_DELEGATE_TYPE IN(:2, 'DB') AND FROM_DT <= CONVERT(VARCHAR(10),GETDATE(),111) AND TO_DT >= CONVERT(VARCHAR(10),GETDATE(),111) AND ECL_DELEGAT_STATUS = 'APV' AND ECL_DELEG_RVK_FLG = 'N'", &Ecode, &Delegationtype, &DelegateTo);
<*If &DBoth <> "Y" Then
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE='DT' AND FROM_DT <=CONVERT(VARCHAR(10),getdate(),111) AND TO_DT >=CONVERT(VARCHAR(10),getdate(),111) AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DTravel);
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE='DC' AND FROM_DT <=CONVERT(VARCHAR(10),getdate(),111) AND TO_DT >=CONVERT(VARCHAR(10),getdate(),111) AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DClaims);
End-If;
If &DBoth = "Y" Then
&DType = "DB";
End-If;
If &DClaims = "Y" Then
&DType = "DC";
End-If;
If &DTravel = "Y" Then
&DType = "DT";
End-If;
SQLExec("SELECT ECL_DELEGATE_TO FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE=:2 AND FROM_DT <=CONVERT(VARCHAR(10),getdate(),111) AND TO_DT >=CONVERT(VARCHAR(10),getdate(),111) AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DType, &DelegateTo);*>
Return &DelegateTo;
end-method;
method RevokeDelegation
/+ &EmplCode as String, +/
/+ &DelegationAction as String, +/
/+ &DelegationType as String, +/
/+ &Seqno as Number, +/
/+ &DelegatedId as String, +/
/+ &FromDate as Date, +/
/+ &ToDate as Date +/
If &DelegationType = "DT" Then
rem SQLExec("UPDATE PS_ECL_DELEGATION SET ECL_DELEGAT_STATUS='RVK',LASTUPDOPRID=:1,LASTUPDDTTM=:2,ECL_DELEG_RVK_FLG='Y' WHERE EMPLID=:3 AND EMPL_RCD=0 AND ECL_DELEG_ACTION=:4 AND ECL_DELEGATE_TYPE=:5 AND SEQNO=:6", %OperatorId, %Datetime, &EmplCode, &DelegationAction, &DelegationType, &Seqno);
<*If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_TRAVEL_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND APPROVER_OPRID=:2 AND ECL_DELEGATE_ID=:2 AND ROLENAME='Originator' AND ECL_TRVL_REQ_DT >=:3 AND ECL_TRVL_REQ_DT<=:4", &EmplCode, &DelegatedId, &FromDate, &ToDate);
End-If; - Commented on 19/4/2011 - basis discussion on the claims scenario revoke concept*>
If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_TRAVEL_HDR SET ECL_RAISED_BY = :1 WHERE EMPLID = :1 AND ECL_TR_STATUS = 'S' AND ECL_RAISED_BY = :2", &EmplCode, &DelegatedId);
End-If;
If &DelegationAction = "APPR" Then
SQLExec("UPDATE PS_ECL_TRAVEL_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND ECL_DELEGATE_ID=:2 AND APPROVER_OPRID=:2 AND CURRENT_STEP=1", &EmplCode, &DelegatedId);
End-If;
End-If;
If &DelegationType = "DC" Then
If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND APPROVER_OPRID=:2 AND ECL_DELEGATE_ID=:2 AND ROLENAME='Originator' AND CURRENT_STEP=1", &EmplCode, &DelegatedId);
SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_RAISED_ID = :1 WHERE EMPLID = :1 AND ECL_STATUS IN ('SA', 'RT', 'QY') AND ECL_RAISED_ID = :2", &EmplCode, &DelegatedId);
End-If;
If &DelegationAction = "APPR" Then
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND ECL_DELEGATE_ID=:2 AND APPROVER_OPRID=:2 AND CURRENT_STEP=1 AND ROLENAME IN ('Approver','Deviation Approver')", &EmplCode, &DelegatedId);
End-If;
End-If;
If &DelegationType = "DB" Then
If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_TRAVEL_HDR SET ECL_RAISED_BY = :1 WHERE EMPLID = :1 AND ECL_TR_STATUS = 'S' AND ECL_RAISED_BY = :2", &EmplCode, &DelegatedId);
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND APPROVER_OPRID=:2 AND ECL_DELEGATE_ID=:2 AND ROLENAME='Originator' AND CURRENT_STEP=1", &EmplCode, &DelegatedId);
SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_RAISED_ID = :1 WHERE EMPLID = :1 AND ECL_STATUS IN ('SA', 'RT', 'QY') AND ECL_RAISED_ID = :2", &EmplCode, &DelegatedId);
End-If;
If &DelegationAction = "APPR" Then
SQLExec("UPDATE PS_ECL_TRAVEL_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND ECL_DELEGATE_ID=:2 AND APPROVER_OPRID=:2 AND CURRENT_STEP=1", &EmplCode, &DelegatedId);
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1 WHERE ROLEUSER=:1 AND ECL_DELEGATE_ID=:2 AND APPROVER_OPRID=:2 AND CURRENT_STEP=1", &EmplCode, &DelegatedId);
End-If;
End-If;
end-method;
method ApprovalDelegation
/+ &Ecode as String, +/
/+ &DelegateTo as String, +/
/+ &DelegationType as String, +/
/+ &DelegationAction as String +/
If &DelegationType = "DT" Then
If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_TRAVEL_HDR SET ECL_RAISED_BY = :1 WHERE EMPLID = :2 AND ECL_TR_STATUS = 'S' AND ECL_RAISED_BY = :2", &DelegateTo, &Ecode);
End-If;
If &DelegationAction = "APPR" Then
SQLExec("UPDATE PS_ECL_TRAVEL_STA SET APPROVER_OPRID=:1, ECL_DELEGATE_ID=:1 WHERE APPROVER_OPRID=:2 AND ROLEUSER=:2 AND ECL_WF_ACTION='PND' AND CURRENT_STEP=1", &DelegateTo, &Ecode);
End-If;
End-If;
If &DelegationType = "DC" Then
If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1, ECL_DELEGATE_ID=:1 WHERE ROLEUSER=:2 AND APPROVER_OPRID=:2 AND ECL_DELEGATE_ID=:2 AND ROLENAME='Originator' AND CURRENT_STEP=1", &DelegateTo, &Ecode);
SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_RAISED_ID = :1 WHERE EMPLID = :2 AND ECL_STATUS IN ('SA', 'RT', 'QY') AND ECL_RAISED_ID = :2", &DelegateTo, &Ecode);
End-If;
If &DelegationAction = "APPR" Then
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1, ECL_DELEGATE_ID=:1 WHERE APPROVER_OPRID=:2 AND ROLEUSER=:2 AND ECL_WF_ACTION='PND' AND CURRENT_STEP=1 AND ROLENAME IN ('Approver','Deviation Approver')", &DelegateTo, &Ecode);
End-If;
End-If;
If &DelegationType = "DB" Then
If &DelegationAction = "RAIS" Then
SQLExec("UPDATE PS_ECL_TRAVEL_HDR SET ECL_RAISED_BY = :1 WHERE EMPLID = :2 AND ECL_TR_STATUS = 'S' AND ECL_RAISED_BY = :2", &DelegateTo, &Ecode);
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1, ECL_DELEGATE_ID=:1 WHERE ROLEUSER=:2 AND APPROVER_OPRID=:2 AND ECL_DELEGATE_ID=:2 AND ROLENAME = 'Originator' AND CURRENT_STEP=1", &DelegateTo, &Ecode);
SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_RAISED_ID = :1 WHERE EMPLID = :2 AND ECL_STATUS IN ('SA', 'RT', 'QY') AND ECL_RAISED_ID = :2", &DelegateTo, &Ecode);
End-If;
If &DelegationAction = "APPR" Then
SQLExec("UPDATE PS_ECL_TRAVEL_STA SET APPROVER_OPRID=:1, ECL_DELEGATE_ID=:1 WHERE APPROVER_OPRID=:2 AND ROLEUSER=:2 AND ECL_WF_ACTION='PND' AND CURRENT_STEP=1", &DelegateTo, &Ecode);
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET APPROVER_OPRID=:1, ECL_DELEGATE_ID=:1 WHERE APPROVER_OPRID=:2 AND ROLEUSER=:2 AND ECL_WF_ACTION='PND' AND CURRENT_STEP=1 AND ROLENAME IN ('Approver','Deviation Approver')", &DelegateTo, &Ecode);
End-If;
End-If;
end-method;
method GetMaxSequence
/+ &TravelRequestId as String +/
/+ Returns Number +/
Local number &SEQNO;
SQLExec("Select MAX(ECL_TICKET_SEQ) From PS_ECL_TRAVEL_REQ Where ECL_TRVL_REQ_ID=:1", &TravelRequestId, &SEQNO);
Return &SEQNO;
end-method;
method CheckDepartmentBudget
/+ &DepartmentId as String, +/
/+ &OverAllExpense as Number +/
/+ Returns String +/
Local string &CostCenter;
Local number &AvailableBudget, &AmountUtilized;
Local string &BudgetExceedFlag = "N";
SQLExec("SELECT DISTINCT DESCRSHORT FROM PS_DEPT_TBL D WHERE D.EFFDT=(SELECT MAX(EFFDT) FROM PS_DEPT_TBL D_ED WHERE D_ED.SETID=D.SETID AND D_ED.DEPTID=D.DEPTID AND D_ED.EFFDT<=GETDATE()) AND SETID='TALIC' AND EFF_STATUS='A' AND DEPTID =:1", &DepartmentId, &CostCenter);
SQLExec("SELECT D.BUDGET_ACTUAL_AMT FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:1 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D1.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &CostCenter, &AvailableBudget);
rem MessageBox(0, "", 0, 0, "&OverAllExpense => " | &OverAllExpense | " &AvailableBudget = " | &AvailableBudget | " &DepartmentId = " | &DepartmentId);
If &OverAllExpense > &AvailableBudget Then
&BudgetExceedFlag = "Y";
rem MessageBox(0, "", 0, 0, "&BudgetExceedFlag => " | &BudgetExceedFlag);
End-If;
/*If &BudgetExceedFlag = "N" Then
&AmountUtilized = &AvailableBudget - &OverAllExpense;
REM SQLExec("UPDATE D SET ECL_BUDGET_UTILIZE = :1 FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:2 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &AmountUtilized, &CostCenter);
End-If;*/
Return &BudgetExceedFlag;
end-method;
method AdjustDepartmentBudget
/+ &DepartmentId as String, +/
/+ &BudgetAction as String, +/
/+ &OverAllExpense as Number +/
Local string &CostCenter;
Local number &AvailableBudget, &AmountUtilized;
Local number &TotalUtilizedAmount, &OpeningAmount;
&AvailableBudget = 0;
&AmountUtilized = 0;
&TotalUtilizedAmount = 0;
&OpeningAmount = 0;
rem MessageBox(0, "", 0, 0, "&OverAllExpense = " | &OverAllExpense);
rem WinMessage("&OverAllExpense = " | &OverAllExpense, 0);
SQLExec("SELECT DISTINCT DESCRSHORT FROM PS_DEPT_TBL D WHERE D.EFFDT=(SELECT MAX(EFFDT) FROM PS_DEPT_TBL D_ED WHERE D_ED.SETID=D.SETID AND D_ED.DEPTID=D.DEPTID AND D_ED.EFFDT<=GETDATE()) AND SETID='TALIC' AND EFF_STATUS='A' AND DEPTID =:1", &DepartmentId, &CostCenter);
SQLExec("SELECT D.ECL_BUDGET_OPENING,D.BUDGET_ACTUAL_AMT, D.ECL_BUDGET_UTILIZE FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:1 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D1.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &CostCenter, &OpeningAmount, &AvailableBudget, &AmountUtilized);
If &BudgetAction = "D" Then
&AvailableBudget = &AvailableBudget - &OverAllExpense;
&AmountUtilized = &AmountUtilized + &OverAllExpense;
rem MessageBox(0, "", 0, 0, "&AvailableBudget = " | &AvailableBudget | " &AmountUtilized = " | &AmountUtilized);
SQLExec("UPDATE D SET ECL_BUDGET_UTILIZE = :1,BUDGET_ACTUAL_AMT=:2 FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:3 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &AmountUtilized, &AvailableBudget, &CostCenter);
End-If;
If &BudgetAction = "A" Then
REM WinMessage("inside add budget - &OverAllExpense = " | &OverAllExpense, 0);
&AvailableBudget = &AvailableBudget + &OverAllExpense;
&AmountUtilized = &AmountUtilized - &OverAllExpense;
REM WinMessage("inside add budget - &OverAllExpense = " | &OverAllExpense, 0);
rem MessageBox(0, "", 0, 0, "&AvailableBudget = " | &AvailableBudget | " &AmountUtilized = " | &AmountUtilized);
REM Error (0);
SQLExec("UPDATE D SET ECL_BUDGET_UTILIZE = :1,BUDGET_ACTUAL_AMT=:2 FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:3 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &AmountUtilized, &AvailableBudget, &CostCenter);
End-If;
end-method;
method GetCostCenter
/+ &DepartmentId as String +/
/+ Returns String +/
Local string &CostCenter;
SQLExec("SELECT DISTINCT DESCRSHORT FROM PS_DEPT_TBL D WHERE D.EFFDT=(SELECT MAX(EFFDT) FROM PS_DEPT_TBL D_ED WHERE D_ED.SETID=D.SETID AND D_ED.DEPTID=D.DEPTID AND D_ED.EFFDT<=GETDATE()) AND SETID='TALIC' AND EFF_STATUS='A' AND DEPTID =:1", &DepartmentId, &CostCenter);
Return &CostCenter;
end-method;
method GetAvailableBudget
/+ &CostCenter as String +/
/+ Returns Number +/
Local number &AvailableBudget;
SQLExec("SELECT D.BUDGET_ACTUAL_AMT FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:1 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D1.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &CostCenter, &AvailableBudget);
Return &AvailableBudget;
end-method;
method GetBudgetApprover
/+ &CostCenter as String +/
/+ Returns String +/
Local string &Approver;
SQLExec("SELECT D.ECL_BUDGET_OWNER FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:1 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D1.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &CostCenter, &Approver);
Return &Approver;
end-method;
method InsertInterimBudget
/+ &CostCenter as String, +/
/+ &InterimBudgetCost as Number +/
Local Record &Record;
Local number &EffSeq, &BudgetCost, &BudgetOpening, &BudgetUtilized, &BudgetBalance, &IterimBudgetOpening;
Local date &EffDate;
Local string &BudgetPeriod, &BudgetOwner;
SQLExec("SELECT D.EFFDT,D.EFFSEQ,D.ECL_BUDGET_OWNER,D.ECL_BUDGET_OPENING,D.ECL_BUDGET_UTILIZE,D.BUDGET_ACTUAL_AMT FROM PS_ECL_BUDGET_DEPT D WHERE D.DESCRSHORT =:1 AND D.EFFDT = (SELECT MAX(D1.EFFDT) FROM PS_ECL_BUDGET_DEPT D1 WHERE D.DESCRSHORT = D1.DESCRSHORT AND D1.EFFDT<=GETDATE()) AND D.EFFSEQ = (SELECT MAX(D2.EFFSEQ) FROM PS_ECL_BUDGET_DEPT D2 WHERE D.DESCRSHORT = D2.DESCRSHORT AND D.EFFDT=D2.EFFDT)", &CostCenter, &EffDate, &EffSeq, &BudgetOwner, &BudgetOpening, &BudgetUtilized, &BudgetBalance);
&Record = CreateRecord(Record.ECL_BUDGET_DEPT);
If &EffDate = %Date Then
&EffSeq = &EffSeq + 1;
Else
&EffSeq = 0;
End-If;
REM &IterimBudgetOpening = &InterimBudgetCost + &BudgetBalance;
REM &IterimBudgetOpening = &InterimBudgetCost;
&IterimBudgetOpening = &BudgetOpening + &InterimBudgetCost;
&Record.DESCRSHORT.Value = &CostCenter;
&Record.EFFDT.Value = %Date;
&Record.EFFSEQ.Value = &EffSeq;
&Record.ECL_PERIODS.Value = "Interim";
&Record.ECL_BUDGET_OWNER.Value = &BudgetOwner;
&Record.BUDGETED_COST.Value = &InterimBudgetCost;
REM &Record.ECL_BUDGET_OPENING.Value = &IterimBudgetOpening;
&Record.ECL_BUDGET_OPENING.Value = &BudgetOpening + &InterimBudgetCost;
REM &Record.ECL_BUDGET_UTILIZE.Value = 0;
&Record.ECL_BUDGET_UTILIZE.Value = &BudgetUtilized;
REM &Record.BUDGET_ACTUAL_AMT.Value = &IterimBudgetOpening;
&Record.BUDGET_ACTUAL_AMT.Value = &IterimBudgetOpening - &BudgetUtilized;
&Record.LASTUPDOPRID.Value = %OperatorId;
&Record.LASTUPDDTTM.Value = %Datetime;
&Record.Insert();
end-method;
method GetNextUserEmail
/+ &Ecode as String +/
/+ Returns String +/
Return "";
end-method;
method GetNextApprover
end-method;
<*method InsertArfSta
/+ &ReqID as String, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &TravelReqDate as Date, +/
/+ &ApproverID as String, +/
/+ &Seqno as Number, +/
/+ &Action as String, +/
/+ &CurrentStep as Number, +/
/+ &UserRole as String +/
Local Record &Rec;
Local number &j;
Local string &RoleName, &RoleNameDescr;
Local number &Rowcount = 0;
&Rec = CreateRecord(Record.ECL_ARF_STA);
If All(&ApproverID) Then
&Rowcount = 2;
Else
&Rowcount = 1;
End-If;
If &UserRole = "MD" Then
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
&Rec.ECL_REQUEST_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = 1;
&Rec.APPR_STEP.Value = 1;
&Rec.ROLENAME.Value = "MD";
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = %UserId;
&Rec.APPROVER_OPRID.Value = &Employeeid;
&Rec.ECL_WF_ACTION.Value = "APV";
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
%This.InsertArfNextApprover(&ReqID, "ARF", 1, 1, &Employeeid, &Empl_rcd, %Date);
End-If;
If &UserRole <> "MD" Then
For &j = 1 To &Rowcount
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_REQUEST_DT.Value = &TravelReqDate;
&Seqno = &Seqno + 1;
&Rec.SEQNO.Value = &Seqno;
If &j = 1 Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = &Employeeid;
&Rec.APPROVER_OPRID.Value = &Employeeid;
&Rec.ECL_WF_ACTION.Value = &Action;
&Rec.CURRENT_STEP.Value = &CurrentStep;
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = "";
Else
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &ApproverID;
&Rec.ECL_DELEGATE_ID.Value = &ApproverID;
&Rec.APPROVER_OPRID.Value = &ApproverID;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
End-If;
&Rec.Insert();
End-For;
End-If;
end-method;
method InsertArfNextApprover
/+ &ReqID as String, +/
/+ &Approval_Type as String, +/
/+ &ApprStep as Number, +/
/+ &Seqno as Number, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &ArfReqDate as Date +/
Local Record &Rec;
Local SQL &SQL;
Local string &NextApprStep, &RoleName, &RoleNameDescr, &Approvers, &deptid;
Local string &setid = "TALIC";
&Rec = CreateRecord(Record.ECL_ARF_STA);
&ApprStep = &ApprStep + 1;
SQLExec("SELECT APPR_STEP, ROLENAME, DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET=:1 AND APPR_STEP=:2", &Approval_Type, &ApprStep, &NextApprStep, &RoleName, &RoleNameDescr);
&SQL = CreateSQL("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME=:1", &RoleName, &Approvers);
While &SQL.Fetch(&Approvers)
&Seqno = &Seqno + 1;
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.SEQNO.Value = &Seqno;
&Rec.ECL_REQUEST_DT.Value = &ArfReqDate;
&Rec.APPR_STEP.Value = &NextApprStep;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Approvers;
&Rec.ECL_DELEGATE_ID.Value = &Approvers;
&Rec.APPROVER_OPRID.Value = &Approvers;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
end-method;
*>
method InsertArfSta
/+ &ReqID as String, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &TravelReqDate as Date, +/
/+ &ApproverID as String, +/
/+ &Seqno as Number, +/
/+ &Action as String, +/
/+ &CurrentStep as Number, +/
/+ &UserRole as String +/
Local Record &Rec;
Local number &j;
Local string &RoleName, &RoleNameDescr;
Local number &Rowcount = 0;
&Rec = CreateRecord(Record.ECL_ARF_STA);
If All(&ApproverID) Then
&Rowcount = 2;
Else
&Rowcount = 1;
End-If;
If &UserRole = "MD" Then
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
&Rec.ECL_REQUEST_DT.Value = &TravelReqDate;
&Rec.SEQNO.Value = 1;
&Rec.APPR_STEP.Value = 1;
&Rec.ROLENAME.Value = "MD";
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = %UserId;
&Rec.APPROVER_OPRID.Value = &Employeeid;
&Rec.ECL_WF_ACTION.Value = "APV";
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
%This.InsertArfNextApprover(&ReqID, "ARF-MD", 1, 1, &Employeeid, &Empl_rcd, %Date);
End-If;
If &UserRole <> "MD" Then
For &j = 1 To &Rowcount
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_REQUEST_DT.Value = &TravelReqDate;
&Seqno = &Seqno + 1;
&Rec.SEQNO.Value = &Seqno;
If &j = 1 Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = &Employeeid;
&Rec.APPROVER_OPRID.Value = &Employeeid;
&Rec.ECL_WF_ACTION.Value = &Action;
&Rec.CURRENT_STEP.Value = &CurrentStep;
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = "";
Else
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1", &j, &RoleName, &RoleNameDescr);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &ApproverID;
&Rec.ECL_DELEGATE_ID.Value = &ApproverID;
&Rec.APPROVER_OPRID.Value = &ApproverID;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
End-If;
&Rec.Insert();
End-For;
End-If;
end-method;
method InsertArfNextApprover
/+ &ReqID as String, +/
/+ &Approval_Type as String, +/
/+ &ApprStep as Number, +/
/+ &Seqno as Number, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &ArfReqDate as Date +/
Local Record &Rec;
Local SQL &SQL;
Local string &NextApprStep, &RoleName, &RoleNameDescr, &Approvers, &deptid;
Local string &setid = "TALIC";
If &Approval_Type = "ARF" Or
&Approval_Type = "ARF-MD" Then
&Rec = CreateRecord(Record.ECL_ARF_STA);
End-If;
&ApprStep = &ApprStep + 1;
SQLExec("SELECT APPR_STEP, ROLENAME, DESCR FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET=:1 AND APPR_STEP=:2", &Approval_Type, &ApprStep, &NextApprStep, &RoleName, &RoleNameDescr);
&SQL = CreateSQL("SELECT ROLEUSER FROM PSROLEUSER WHERE ROLENAME=:1", &RoleName, &Approvers);
While &SQL.Fetch(&Approvers)
&Seqno = &Seqno + 1;
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.SEQNO.Value = &Seqno;
&Rec.ECL_REQUEST_DT.Value = &ArfReqDate;
&Rec.APPR_STEP.Value = &NextApprStep;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Approvers;
&Rec.ECL_DELEGATE_ID.Value = &Approvers;
&Rec.APPROVER_OPRID.Value = &Approvers;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-While;
end-method;
method ApprovaRuleSet
/+ &Deviation as String, +/
/+ &MDCheck as String +/
/+ Returns String +/
Local string &Approvalset = "";
If &MDCheck = "Y" Then
&Approvalset = "CLAIMS-MD";
Else
If &Deviation = "Y" Then
&Approvalset = "CLAIMS-DEVIATION";
Else
&Approvalset = "CLAIMS";
End-If;
End-If;
Return &Approvalset;
end-method;
method GetOverallExpense
/+ &TravelReqId as String +/
/+ Returns Number +/
Local number &TravelExpense;
SQLExec("SELECT ECL_TOTAL_EXPENSE FROM PS_ECL_TRAVEL_HDR WHERE ECL_TRVL_REQ_ID = :1", &TravelReqId, &TravelExpense);
Return &TravelExpense;
end-method;
method GetNextApproverEmailid
/+ &Approvalset as String, +/
/+ &Apprstep as Number +/
/+ Returns String +/
Local string &Emailid = "";
Local number &NextApprStep;
Local string &RoleName = "";
Local string &RoleNameDescr = "";
Local SQL &SQL;
Local string &NotifyApprover = "";
&Apprstep = &Apprstep + 1;
SQLExec("SELECT ROLENAME FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET = :1 AND APPR_STEP = :2", &Approvalset, &Apprstep, &RoleName);
&SQL = CreateSQL("SELECT EMAILID FROM PS_ROLEUSER_VW WHERE ROLENAME = :1", &RoleName, &Emailid);
While &SQL.Fetch(&Emailid)
If None(&NotifyApprover) Then
&NotifyApprover = &Emailid;
Else
&NotifyApprover = &NotifyApprover | ";" | &Emailid;
End-If;
End-While;
Return &NotifyApprover
end-method;
method DelegationOprid
/+ &Emplid as String, +/
/+ &Action as String, +/
/+ &Type as String +/
/+ Returns String +/
Local string &App_Id = "";
SQLExec("SELECT ECL_DELEGATE_TO FROM PS_ECL_DELEGATION WHERE EMPLID = :1 AND ECL_DELEG_ACTION = :2 AND (ECL_DELEGATE_TYPE = :3 OR ECL_DELEGATE_TYPE = 'DB') AND ECL_DELEGAT_STATUS='APV' AND CONVERT(CHAR(10),GETDATE(), 121) BETWEEN FROM_DT AND TO_DT", &Emplid, &Action, &Type, &App_Id);
Return &App_Id;
end-method;
method InitiateDelegationCheck
/+ &Ecode as String, +/
/+ &From_date as Date, +/
/+ &To_date as Date, +/
/+ &DelegationAction as String, +/
/+ &DelegationType as String +/
/+ Returns String +/
Local string &IsDelegated = "";
If &DelegationType = "DC" Or
&DelegationType = "DT" Then
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID = :1 AND ECL_DELEG_ACTION = :2 AND ECL_DELEGATE_TYPE IN (:3,'DB') AND (:4 < FROM_DT AND :5 > TO_DT OR ((:4 BETWEEN FROM_DT AND TO_DT) OR (:5 BETWEEN FROM_DT AND TO_DT))) AND ECL_DELEGAT_STATUS NOT IN ('RVK', 'DNY') AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DelegationAction, &DelegationType, &From_date, &To_date, &IsDelegated);
End-If;
If &DelegationType = "DB" Then
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION=:2 AND ECL_DELEGATE_TYPE IN (:3,'DC', 'DT') AND (:4 < FROM_DT AND :5 > TO_DT OR ((:4 BETWEEN FROM_DT AND TO_DT) OR (:5 BETWEEN FROM_DT AND TO_DT))) AND ECL_DELEGAT_STATUS NOT IN ('RVK', 'DNY') AND ECL_DELEG_RVK_FLG='N'", &Ecode, &DelegationAction, &DelegationType, &From_date, &To_date, &IsDelegated);
End-If;
Return &IsDelegated;
end-method;
/*Update the Claims record by ZIPU/CIPU */
method UpdateClaims
/+ &TicketCost as Number, +/
/+ &AgentBill as String, +/
/+ &AgentBillDate as Date, +/
/+ &ServiceCharge as Number, +/
/+ &Tax as Number, +/
/+ &TotalTicketCost as Number, +/
/+ &SystemFileName as String, +/
/+ &UserFile as String, +/
/+ &AttachSys as String, +/
/+ &AttachUser as String, +/
/+ &TravelReqId as String, +/
/+ &TravelSeq as Number, +/
/+ &InvoiceStatus as String +/
SQLExec("UPDATE PS_ECL_CLAIMS_TRVL SET ECL_TICKET_COST = :1, ECL_TRVL_AGNT_BILL = :2, ECL_TR_AGT_BILL_DT = :3,ECL_SERVICE_CHARGE = :4, ECL_TAX = :5, ECL_TOT_TCKT_COST = :6, ATTACHSYSFILENAME = :7, ATTACHUSERFILE = :8, ECL_ATTACHSYS = :9, ECL_ATTACHUSER = :10, ECL_INVOICE_STATUS=:11 WHERE ECL_TRVL_REQ_ID =:12 AND ECL_TICKET_SEQ =:13", &TicketCost, &AgentBill, &AgentBillDate, &ServiceCharge, &Tax, &TotalTicketCost, &SystemFileName, &UserFile, &AttachSys, &AttachUser, &InvoiceStatus, &TravelReqId, &TravelSeq);
end-method;
method GetBTCEstimatedCost
/+ &TravelReqId as String +/
/+ Returns Number +/
Local number &BTCCost;
&BTCCost = 0;
SQLExec("select SUM(ECL_ESTIMATED_COST) from PS_ECL_TRAVEL_REQ where ECL_TRVL_REQ_ID = :1 and ECL_INVOICE_STATUS NOT IN ('CA') AND ECL_BOOKING_TYP='BT'", &TravelReqId, &BTCCost);
Return &BTCCost;
end-method;
method GetOtherCancelledEstimatedCost
/+ &TravelReqId as String +/
/+ Returns Number +/
Local number &EstimatedCost;
SQLExec("select SUM(ECL_ESTIMATED_COST) from PS_ECL_TRAVEL_REQ where ECL_TRVL_REQ_ID = :1 and ECL_CANCEL_FLAG = 'Y' AND ECL_BOOKING_TYP NOT IN ('BT','TA')", &TravelReqId, &EstimatedCost);
Return &EstimatedCost;
end-method;
method BudgetAdjustmentAmount
/+ &TravelReqId as String, +/
/+ &ClaimReqId as String, +/
/+ &Category as String +/
<*
Local number &Estimated_Amount, &Ticket_Cost_Diff, &Adjustment_Amount;
Local string &Deptid;
SQLExec("SELECT SUM(A.ECL_ESTIMATED_COST) ,(SUM(A.ECL_TOT_TCKT_COST)-(SELECT (SUM(B.ECL_TOT_TCKT_COST) - SUM(B.ECL_ESTIMATED_COST)) FROM PS_ECL_TRAVEL_REQ B WHERE B.ECL_TRVL_REQ_ID = :1 AND B.ECL_BOOKING_TYP = 'BT' AND B.ECL_INVOICE_STATUS <> 'CA')) FROM PS_ECL_TRAVEL_REQ A WHERE A.ECL_TRVL_REQ_ID =:1 AND A.ECL_TICK_STATUS NOT IN ('RC','RCE') AND A.ECL_INVOICE_STATUS <> 'CA'", &TravelReqId, &Estimated_Amount, &Ticket_Cost_Diff);
SQLExec("select DEPTID from PS_ECL_TRAVEL_HDR where ECL_TRVL_REQ_ID =:1", &TravelReqId, &Deptid);
If &Estimated_Amount > &Ticket_Cost_Diff Then
&Adjustment_Amount = &Estimated_Amount - &Ticket_Cost_Diff;
%This.AdjustDepartmentBudget(&Deptid, "A", &Adjustment_Amount);
End-If;
If &Estimated_Amount < &Ticket_Cost_Diff Then
&Adjustment_Amount = &Ticket_Cost_Diff - &Estimated_Amount;
%This.AdjustDepartmentBudget(&Deptid, "A", &Adjustment_Amount);
End-If;
*>
If &Category = "EC" Then
Local number &TotalClaimReimbursementAmount, &InsignificantAmount, &ActualDeductibleAmount;
rem Local number &InsignificantAmount;
rem local number &ActualClaimAmount,&ActualDeductibleAmount;
Local string &Deptid_Claim;
&InsignificantAmount = 0;
&TotalClaimReimbursementAmount = 0;
&ActualDeductibleAmount = 0;
SQLExec("SELECT SUM(ECL_REIMBURSE_AMT)+SUM(ECL_CORPCARD_AMT) FROM PS_ECL_CLAIMS_BUSN WHERE ECL_CLAIM_REQ_ID = :1", &ClaimReqId, &TotalClaimReimbursementAmount);
SQLExec("SELECT SUM(ECL_REIMBURSE_AMT)+SUM(ECL_CORPCARD_AMT) FROM PS_ECL_CLAIMS_BUSN WHERE ECL_CLAIM_REQ_ID = :1 AND ECL_CLAIM_TYP NOT IN ('08','10')", &ClaimReqId, &InsignificantAmount);
SQLExec("select DEPTID from PS_ECL_CLAIMS_HDR where ECL_CLAIM_REQ_ID =:1", &ClaimReqId, &Deptid_Claim);
&ActualDeductibleAmount = &TotalClaimReimbursementAmount - &InsignificantAmount;
%This.AdjustDepartmentBudget(&Deptid_Claim, "A", &ActualDeductibleAmount);
End-If;
If &Category = "TR" Then
Local number &EH_EstimatedCost, &EH_TotalExpense, &Self_EstimatedCost, &Self_TotalExpense, &SWR_TotalExpense, &SWR_EstimatedCost, &TRVL_TotalExpense, &TRVL_EstimatedCost, &GH_TotalExpense, &GH_EstimatedCost, &TRVL_ClaimAmount, &Self_ClaimAmount, &GH_ClaimAmount, &EH_ClaimAmount, &TravelIncidentCost, &OtherIncidentCost, &ActualIncidentCost, &ActualEstimatedCost, &AdjustableBudgetAmount, &ActualClaimAmount, &TotalReimbursementAmount, &CorporateCardAmount, &TotalIncidentCost;
Local string &DeptBudgetFlag, &Deptid;
&EH_EstimatedCost = 0;
&EH_TotalExpense = 0;
&Self_EstimatedCost = 0;
&Self_TotalExpense = 0;
&SWR_TotalExpense = 0;
&SWR_EstimatedCost = 0;
&TRVL_TotalExpense = 0;
&TRVL_EstimatedCost = 0;
&GH_TotalExpense = 0;
&GH_EstimatedCost = 0;
&TRVL_ClaimAmount = 0;
&Self_ClaimAmount = 0;
&GH_ClaimAmount = 0;
&EH_ClaimAmount = 0;
&TravelIncidentCost = 0;
&OtherIncidentCost = 0;
&ActualIncidentCost = 0;
&ActualEstimatedCost = 0;
&AdjustableBudgetAmount = 0;
&ActualClaimAmount = 0;
&TotalReimbursementAmount = 0;
&CorporateCardAmount = 0;
&TotalIncidentCost = 0;
SQLExec("SELECT SUM(ECL_ESTIMATED_COST),SUM(ECL_TOT_TCKT_COST) FROM PS_ECL_CLM_TRAG_VW WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &TRVL_EstimatedCost, &TRVL_TotalExpense);
rem &TRVL_ClaimAmount = &TRVL_TotalExpense - &TRVL_EstimatedCost;
REM WinMessage("&TRVL_EstimatedCost : " | &TRVL_EstimatedCost | " &TRVL_TotalExpense : " | &TRVL_TotalExpense, 0);
rem WinMessage("&TRVL_ClaimAmount : " | &TRVL_ClaimAmount, 0);
SQLExec("SELECT SUM(ECL_ESTIMATED_COST),SUM(ECL_TOT_TCKT_COST) FROM PS_ECL_CLM_SELF_VW WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &Self_EstimatedCost, &Self_TotalExpense);
rem &Self_ClaimAmount = &Self_TotalExpense - &Self_EstimatedCost;
REM WinMessage("&Self_EstimatedCost : " | &Self_EstimatedCost | " &Self_TotalExpense : " | &Self_TotalExpense, 0);
rem WinMessage("&Self_ClaimAmount : " | &Self_ClaimAmount, 0);
SQLExec("SELECT SUM(ECL_ESTIMATED_COST),SUM(ECL_TOT_TCKT_COST) FROM PS_ECL_CLM_GUH_VW WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &GH_EstimatedCost, &GH_TotalExpense);
rem &GH_ClaimAmount = &GH_TotalExpense - &GH_EstimatedCost;
REM WinMessage("&GH_EstimatedCost : " | &EH_EstimatedCost | " &GH_TotalExpense : " | &GH_TotalExpense, 0);
rem WinMessage("&GH_ClaimAmount : " | &GH_ClaimAmount, 0);
SQLExec("SELECT SUM(ECL_ESTIMATED_COST),SUM(ECL_TOT_TCKT_COST) FROM PS_ECL_CLM_EMH_VW WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &EH_EstimatedCost, &EH_TotalExpense);
rem &EH_ClaimAmount = &EH_TotalExpense - &EH_EstimatedCost;
REM WinMessage("&EH_EstimatedCost : " | &EH_EstimatedCost | " &EH_TotalExpense : " | &EH_TotalExpense, 0);
rem WinMessage("&EH_ClaimAmount : " | &EH_ClaimAmount, 0);
SQLExec("SELECT SUM(ECL_ESTIMATED_COST),SUM(ECL_TOT_TCKT_COST) FROM PS_ECL_CLM_STR_VW WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &SWR_EstimatedCost, &SWR_TotalExpense);
rem &SWR_ClaimAmount = &SWR_TotalExpense - &SWR_EstimatedCost;
REM WinMessage("&SWR_EstimatedCost : " | &SWR_EstimatedCost | " &SWR_TotalExpense : " | &SWR_TotalExpense, 0);
rem WinMessage("&SWR_ClaimAmount : " | &SWR_ClaimAmount, 0);
SQLExec("SELECT ECL_INCIDENT_COST FROM PS_ECL_CLAIMS_HDR WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &TravelIncidentCost);
REM WinMessage("&TravelIncidentCost : " | &TravelIncidentCost, 0);
rem SQLExec("SELECT SUM(ECL_TOT_CLAIM_AMT) FROM PS_ECL_CLAIMS_SUMM WHERE ECL_TRVL_REQ_ID = :1 and ECL_CLAIM_REQ_ID = :2", &TravelReqId, &ClaimReqId, &OtherIncidentCost);
SQLExec("SELECT SUM(ECL_REIMBURSE_AMT),SUM(ECL_CORPCARD_AMT) FROM PS_ECL_CLAIMS_TROT WHERE ECL_CLAIM_REQ_ID = :1", &ClaimReqId, &OtherIncidentCost, &CorporateCardAmount);
REM WinMessage("&OtherIncidentCost : " | &OtherIncidentCost, 0);
rem SQLExec("SELECT SUM(ECL_CORPCARD_AMT) FROM PS_ECL_CLAIMS_TROT WHERE ECL_CLAIM_REQ_ID :1", &ClaimReqId, &CorporateCardAmount);
REM WinMessage("&CorporateCardAmount : " | &CorporateCardAmount, 0);
&TotalIncidentCost = &OtherIncidentCost + &CorporateCardAmount;
REM WinMessage("&TotalIncidentCost = &OtherIncidentCost + &CorporateCardAmount = " | &TotalIncidentCost, 0);
&ActualIncidentCost = &TotalIncidentCost - &TravelIncidentCost;
REM WinMessage("&ActualIncidentCost : " | &ActualIncidentCost, 0);
&ActualEstimatedCost = &TRVL_EstimatedCost + &Self_EstimatedCost + &GH_EstimatedCost + &EH_EstimatedCost + &SWR_EstimatedCost + &TravelIncidentCost;
REM WinMessage("&ActualEstimatedCost : " | &ActualEstimatedCost, 0);
rem &ActualClaimAmount = &TRVL_TotalExpense + &Self_TotalExpense + &GH_TotalExpense + &EH_TotalExpense + &SWR_TotalExpense + &OtherIncidentCost;
&ActualClaimAmount = &TRVL_TotalExpense + &Self_TotalExpense + &GH_TotalExpense + &EH_TotalExpense + &SWR_TotalExpense + &ActualIncidentCost;
REM WinMessage("&OverallClaimAmount : " | &ActualClaimAmount, 0);
SQLExec("select DEPTID from PS_ECL_TRAVEL_HDR where ECL_TRVL_REQ_ID =:1", &TravelReqId, &Deptid);
If &ActualEstimatedCost < &ActualClaimAmount Then
rem &AdjustableBudgetAmount = &ActualClaimExpense - &ActualEstimatedCost;
rem &AdjustableBudgetAmount = &ActualClaimAmount;
&AdjustableBudgetAmount = &ActualClaimAmount - &ActualEstimatedCost;
REM WinMessage("&AdjustableBudgetAmount Claim - Est : " | &AdjustableBudgetAmount, 0);
%This.AdjustDepartmentBudget(&Deptid, "A", &AdjustableBudgetAmount);
End-If;
If &ActualEstimatedCost > &ActualClaimAmount Then
&AdjustableBudgetAmount = &ActualEstimatedCost - &ActualClaimAmount;
REM WinMessage("&AdjustableBudgetAmount Est - Claim : " | &AdjustableBudgetAmount, 0);
&DeptBudgetFlag = %This.CheckDepartmentBudget(&Deptid, &AdjustableBudgetAmount);
If &DeptBudgetFlag = "Y" Then
Error MsgGetText(27000, 52, "Message Not Found");
End-If;
%This.AdjustDepartmentBudget(&Deptid, "D", &AdjustableBudgetAmount);
End-If;
End-If;
end-method;
method UpdateBudgetSTA
/+ &WFAction as String, +/
/+ &ActionDate as DateTime, +/
/+ &Comments as String, +/
/+ &Emplid as String, +/
/+ &BudgetID as String, +/
/+ &RoleName as String, +/
/+ &ApproverId as String +/
SQLExec("Update PS_ECL_BUDGET_STA set ECL_WF_ACTION = :1,CURRENT_STEP = 0,ACTION_DTTM = :2,ECL_COMMENTS = :3 where EMPLID = :4 and ECL_BUDGET_ID = :5 and ROLENAME = :6 and APPROVER_OPRID = :7", &WFAction, &ActionDate, &Comments, &Emplid, &BudgetID, &RoleName, &ApproverId);
end-method;
method grade_check
/+ &emplid as String +/
/+ Returns String +/
/*List Approver id for Grade greater than 401*/
Local string &sup_id;
SQLExec("SELECT A.EMPLID 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.GRADE >='401' AND A.HR_STATUS='A' AND A.BUSINESS_UNIT='TALIC' AND A.EMPLID=:1", &emplid, &sup_id);
Return &sup_id;
end-method;
method RowCount
/+ &Record as String, +/
/+ &Key as String +/
/+ Returns Number +/
Local number &Rowcount;
SQLExec("SELECT COUNT(*) FROM PS_" | &Record | " WHERE ECL_CLAIM_REQ_ID = :1", &Key, &Rowcount);
Return &Rowcount;
end-method;
method UpdateDelegation
/+ &Approverid as String, +/
/+ &Lastapproverid as String, +/
/+ &Lastuddtm as DateTime, +/
/+ &Emplid as String, +/
/+ &delgaction as String, +/
/+ &Seqno as Number +/
SQLExec("UPDATE PS_ECL_DELEGATION SET ECL_DELEGAT_STATUS = 'RVK',ECL_DELEG_RVK_FLG= 'Y',APPROVER_ID = :1,LASTUPDOPRID = :2,LASTUPDDTTM = :3 WHERE EMPLID = :4 AND ECL_DELEG_ACTION = :5 AND SEQNO = :6 AND ECL_DELEGATE_TYPE = 'DB'", &Approverid, &Lastapproverid, &Lastuddtm, &Emplid, &delgaction, &Seqno)
end-method;
method Check_Duplicacy
/+ &View as String, +/
/+ &Input_Claim_Id as String +/
/+ Returns String +/
Local string &ECL_CLAIM_REQ_ID;
Local string &Flag = "N";
Local string &Exist = "N";
SQLExec("SELECT 'Y' FROM PS_" | &View | " WHERE ECL_CLAIM_REQ_ID = :1", &Input_Claim_Id, &Flag);
If &Flag = "Y" Then
&Exist = "Y";
End-If;
Return &Exist;
end-method;
method UpdateRecieved
/+ &Claim_ID as String +/
SQLExec("UPDATE PS_ECL_CLM_LV1_UPD SET ECL_STATUS = 'RC' WHERE ECL_CLAIM_REQ_ID = :1 AND DESCR = 'Summary'", &Claim_ID);
end-method;
method Get_Attachment_Seqno
/+ &Claim_Id as String +/
/+ Returns Number +/
Local string ∃
Local number &Seqno;
Local SQL &SQL;
&Exists = "";
&Seqno = 0;
SQLExec("SELECT 'Y' FROM PS_ECL_ATACH_SEQNO WHERE ECL_CLAIM_REQ_ID = :1", &Claim_Id, &Exists);
If &Exists = "Y" Then
SQLExec("SELECT MAX(SEQNO)+1 FROM PS_ECL_ATACH_SEQNO WHERE ECL_CLAIM_REQ_ID = :1", &Claim_Id, &Seqno);
rem SQLExec("INSERT INTO PS_ECL_ATACH_SEQNO VALUES (:1,:2)", &Claim_Id, &Seqno);
Else
&Seqno = 1;
rem SQLExec("INSERT INTO PS_ECL_ATACH_SEQNO VALUES (:1,1)", &Claim_Id);
End-If;
&SQL = GetSQL(SQL.ECL_ATCH_SEQNO_INSERT);
&SQL.Execute(&Claim_Id, &Seqno);
&SQL.Close();
Return (&Seqno);
end-method;
method Update_Received_Header
/+ &Claim_Id as String +/
SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_STATUS = 'RC' WHERE ECL_CLAIM_REQ_ID = :1", &Claim_Id);
end-method;
method Update_STA
/+ &Claim_ID as String, +/
/+ &Oprid as String, +/
/+ &Action as String +/
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET CURRENT_STEP = 0, ACTION_DTTM = GETDATE(), ECL_WF_ACTION = :1 WHERE ECL_CLAIM_REQ_ID = :2 AND APPROVER_OPRID = :3 AND ECL_WF_ACTION = 'PND' AND CURRENT_STEP = 1", &Action, &Claim_ID, &Oprid);
SQLExec("UPDATE PS_ECL_CLAIMS_STA SET CURRENT_STEP = 0 WHERE ECL_CLAIM_REQ_ID = :1 AND ECL_WF_ACTION = 'PND' AND CURRENT_STEP = 1", &Claim_ID);
end-method;
method Insert_New_L1_L2_STA
/+ &Claim_ID as String +/
/* Abhinav : 23/09/2011*/
Local string &Approver_Present, &RoleName;
Local number &i, &Seqno, &j;
Local Rowset &STARowset = CreateRowset(Record.ECL_CLAIMS_STA);
Local Record &Rec;
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
&STARowset.Fill("WHERE ECL_CLAIM_REQ_ID = :1", &Claim_ID);
&Approver_Present = "N";
&j = &STARowset.ActiveRowCount;
&RoleName = &STARowset(&j).ECL_CLAIMS_STA.ROLENAME.Value;
For &i = 1 To &STARowset.ActiveRowCount
If &STARowset(&i).ECL_CLAIMS_STA.ROLENAME.Value = &RoleName And
&STARowset(&i).ECL_CLAIMS_STA.APPROVER_OPRID.Value = %OperatorId Then
&Approver_Present = "Y";
End-If;
End-For;
If &Approver_Present = "N" Then
&Seqno = &STARowset(&j).ECL_CLAIMS_STA.SEQNO.Value + 1;
&Rec.ECL_CLAIM_REQ_ID.Value = &Claim_ID;
&Rec.EMPLID.Value = &STARowset(&j).ECL_CLAIMS_STA.EMPLID.Value;
&Rec.EMPL_RCD.Value = &STARowset(&j).ECL_CLAIMS_STA.EMPL_RCD.Value;
&Rec.ECL_CATEGORY.Value = &STARowset(&j).ECL_CLAIMS_STA.ECL_CATEGORY.Value;
&Rec.SEQNO.Value = &Seqno;
&Rec.ECL_REQUEST_DT.Value = &STARowset(1).ECL_CLAIMS_STA.ECL_REQUEST_DT.Value;
&Rec.APPR_STEP.Value = &STARowset(&j).ECL_CLAIMS_STA.APPR_STEP.Value;
&Rec.ROLENAME.Value = &STARowset(&j).ECL_CLAIMS_STA.ROLENAME.Value;
&Rec.ROLEUSER.Value = %OperatorId;
&Rec.ECL_DELEGATE_ID.Value = %OperatorId;
&Rec.APPROVER_OPRID.Value = %OperatorId;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
&Rec.Insert();
End-If;
end-method;
method Bulk_Insert_Claim_STA
/+ &ReqID as String, +/
/+ &Approval_Type as String, +/
/+ &Employeeid as String, +/
/+ &Empl_rcd as Number, +/
/+ &Category as String, +/
/+ &TravelReqDate as Date, +/
/+ &ApproverID as String, +/
/+ &Seqno as Number, +/
/+ &Action as String, +/
/+ &Currentstep as Number, +/
/+ &DelegatedApprover as String, +/
/+ &Status as String, +/
/+ &Check_Flag as String +/
Local Record &Rec;
Local number &j;
Local string &RoleName = "";
Local string &RoleNameDescr = "";
Local string &ActualApprover = "";
Local string &ActionedEmpCode = "";
Local number &Rowcount = 0;
Local string &App_Id = "";
Local date &ClaimReqDate;
If &ApproverID = &DelegatedApprover Then
&ActualApprover = &ApproverID;
Else
&ActualApprover = &DelegatedApprover;
End-If;
If &Status = "MAP" And
&Check_Flag = "Y" Then
If &Employeeid <> %UserId Then
&ActionedEmpCode = %UserId;
Else
&ActionedEmpCode = &Employeeid;
End-If;
Else
If &Status = "SB" Then
If &Employeeid <> %UserId Then
&ActionedEmpCode = %UserId;
Else
&ActionedEmpCode = &Employeeid;
End-If;
Else
&App_Id = %This.DelegationOprid(&Employeeid, "RAIS", "DC");
If All(&App_Id) Then
&ActionedEmpCode = &App_Id;
Else
&ActionedEmpCode = &Employeeid;
End-If;
SQLExec("update PS_ECL_CLAIMS_HDR set ECL_RAISED_ID = :1 where ECL_CLAIM_REQ_ID = :2", &ActionedEmpCode, &ReqID);
End-If;
End-If;
rem Error (0);
If &Approval_Type = "CLAIMS-DEVIATION" Or
&Approval_Type = "CLAIMS" Or
&Approval_Type = "CLAIMS-MD" Then
&Rec = CreateRecord(Record.ECL_CLAIMS_STA);
End-If;
If &Approval_Type = "ARF" Then
&Rec = CreateRecord(Record.ECL_ARF_STA);
End-If;
If All(&ApproverID) Then
&Rowcount = 2;
Else
&Rowcount = 1;
End-If;
<*
If &Approval_Type = "CLAIMS-MD" Then
&Rowcount = 1;
End-If;
*>
For &j = 1 To &Rowcount
If &Approval_Type = "CLAIMS-DEVIATION" Or
&Approval_Type = "CLAIMS" Or
&Approval_Type = "CLAIMS-MD" Then
&Rec.ECL_CLAIM_REQ_ID.Value = &ReqID;
End-If;
If &Approval_Type = "ARF" Then
&Rec.ECL_ARF_REQ_ID.Value = &ReqID;
End-If;
&Rec.EMPLID.Value = &Employeeid;
&Rec.EMPL_RCD.Value = &Empl_rcd;
&Rec.ECL_CATEGORY.Value = &Category;
&Rec.ECL_REQUEST_DT.Value = &TravelReqDate;
&Seqno = &Seqno + 1;
&Rec.SEQNO.Value = &Seqno;
If &j = 1 Then
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1 AND APPR_RULE_SET=:2", &j, &Approval_Type, &RoleName, &RoleNameDescr);
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &Employeeid;
&Rec.ECL_DELEGATE_ID.Value = &ActionedEmpCode;
&Rec.APPROVER_OPRID.Value = &ActionedEmpCode;
&Rec.ECL_WF_ACTION.Value = &Action;
&Rec.CURRENT_STEP.Value = &Currentstep;
&Rec.ACTION_DTTM.Value = %Datetime;
&Rec.ECL_COMMENTS.Value = "";
<*If IsUserInRole("TATA-ECL-MD") Then
&ClaimReqDate = %Date;
%This.InsertClaimNextApprover(&ReqID, &Approval_Type, 1, 1, &Employeeid, &Empl_rcd, &Category, &ClaimReqDate);
End-If;*>
Else
SQLExec("SELECT ROLENAME,DESCR FROM PS_ECL_APPR_RULES WHERE APPR_STEP = :1 AND APPR_RULE_SET=:2", &j, &Approval_Type, &RoleName, &RoleNameDescr);
If &RoleNameDescr = "Level1 Approver" Then
%This.InsertClaimNextApprover(&ReqID, &Approval_Type, 1, 1, &Employeeid, &Empl_rcd, &Category, %Date);
Else;
&Rec.APPR_STEP.Value = &j;
&Rec.ROLENAME.Value = &RoleNameDescr;
&Rec.ROLEUSER.Value = &ApproverID;
&Rec.ECL_DELEGATE_ID.Value = &DelegatedApprover;
&Rec.APPROVER_OPRID.Value = &ActualApprover;
&Rec.ECL_WF_ACTION.Value = "PND";
&Rec.CURRENT_STEP.Value = 1;
&Rec.ACTION_DTTM.Value = "";
&Rec.ECL_COMMENTS.Value = "";
End-If;
End-If;
&Rec.Insert();
End-For;
end-method;
method Update_LV1
/+ &Claim_ID as String +/
SQLExec("UPDATE PS_ECL_CLM_LV1_UPD SET ECL_STATUS = 'RC',ECL_ACTUAL_STATUS='',ECL_WF_ACTION = '',OPRID='' WHERE ECL_CLAIM_REQ_ID = :1", &Claim_ID);
end-method;
method Check_Next_Approver_Delagation
/+ &Status as String, +/
/+ &Approver_Id as String, +/
/+ &Approvalset as String, +/
/+ &Apprstep as Number +/
/+ Returns String +/
Local string &RoleName = "";
Local string &RoleUser = "";
Local SQL &SQL;
Local string &Delegation = "";
Local number &Delegation_Count = 0;
Local string &Delegation_Flag = "";
Evaluate &Status
When = "SB"
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE IN ('DC','DB') AND CONVERT(VARCHAR(10),getdate(),111) BETWEEN FROM_DT AND TO_DT AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Approver_Id, &Delegation_Flag);
Break;
When = "MAP"
&Apprstep = &Apprstep + 1;
SQLExec("SELECT ROLENAME FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET = :1 AND APPR_STEP = :2", &Approvalset, &Apprstep, &RoleName);
&SQL = CreateSQL("SELECT ROLEUSER FROM PS_ROLEUSER_VW WHERE ROLENAME = :1", &RoleName, &RoleUser);
While &SQL.Fetch(&RoleUser)
&Delegation = "N";
SQLExec("SELECT 'Y' FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE IN ('DC','DB') AND CONVERT(VARCHAR(10),getdate(),111) BETWEEN FROM_DT AND TO_DT AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &RoleUser, &Delegation);
If &Delegation = "Y" Then
&Delegation_Count = &Delegation_Count + 1;
End-If;
End-While;
If &Delegation_Count > 0 Then
&Delegation_Flag = "Y";
End-If;
Break;
When-Other
&Delegation_Flag = "";
Break;
End-Evaluate;
Return &Delegation_Flag
end-method;
method Send_Mail_To_Delegated_Id
/+ &Status as String, +/
/+ &Approver_Id as String, +/
/+ &Approvalset as String, +/
/+ &Apprstep as Number +/
Local ZIN_COMMON:AppEngineBase &AppEngine = create ZIN_COMMON:AppEngineBase();
Local string &RoleName = "";
Local string &RoleUser = "";
Local SQL &SQL;
Local string &Delegated_Id = "";
Local number &Delegation_Count = 0;
Local string &Delegation_Flag = "";
Local string &TO = "";
Local string &CC = "";
Local string &url = "";
Local string &href = "";
Local string &Subject = "";
Local string &Text = "";
Local string &UserId = "";
Evaluate &Status
When = "SB"
SQLExec("SELECT ECL_DELEGATE_TO FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE IN ('DC','DB') AND CONVERT(VARCHAR(10),getdate(),111) BETWEEN FROM_DT AND TO_DT AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &Approver_Id, &Delegated_Id);
SQLExec("SELECT EMAILID FROM PS_ROLEUSER_VW WHERE ROLEUSER = :1", &Delegated_Id, &TO);
&CC = %EmailAddress;
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ROLE_MANAGER", "GBL", Component."ECL_DCLAIM_SCH_CMP", "", "");
&href = EncodeURL(&url);
&Subject = MsgGetText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 116, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
If All(&TO) Then
&AppEngine.SendEmail(&TO, &CC, &Subject, &Text, "", "");
End-If;
Break;
When = "MAP"
&Apprstep = &Apprstep + 1;
SQLExec("SELECT ROLENAME FROM PS_ECL_APPR_RULES WHERE APPR_RULE_SET = :1 AND APPR_STEP = :2", &Approvalset, &Apprstep, &RoleName);
&SQL = CreateSQL("SELECT ROLEUSER FROM PS_ROLEUSER_VW WHERE ROLENAME = :1", &RoleName, &RoleUser);
While &SQL.Fetch(&RoleUser)
SQLExec("SELECT ECL_DELEGATE_TO FROM PS_ECL_DELEGATION WHERE EMPLID=:1 AND ECL_DELEG_ACTION='APPR' AND ECL_DELEGATE_TYPE IN ('DC','DB') AND CONVERT(VARCHAR(10),getdate(),111) BETWEEN FROM_DT AND TO_DT AND ECL_DELEGAT_STATUS='APV' AND ECL_DELEG_RVK_FLG='N'", &RoleUser, &Delegated_Id);
If &Delegated_Id = "" Then
&UserId = &RoleUser;
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ROLE_MANAGER", "GBL", Component."ECL_CLAIM_SRCH_CMP", "", "");
Else
&UserId = &Delegated_Id;
&url = GenerateComponentPortalURL(Portal."EMPLOYEE", Node."HRMS", MenuName."ROLE_MANAGER", "GBL", Component."ECL_DCLAIM_SCH_CMP", "", "");
End-If;
SQLExec("SELECT EMAILID FROM PS_ROLEUSER_VW WHERE ROLEUSER = :1", &UserId, &TO);
&CC = "";
&href = EncodeURL(&url);
&Subject = MsgGetText(27000, 117, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value);
&Text = MsgGetExplainText(27000, 117, "", ECL_CLAIMS_HDR.ECL_CATEGORY.LongTranslateValue, ECL_CLAIMS_HDR.ECL_CLAIM_REQ_ID.Value, &href, %Date);
If All(&TO) Then
&AppEngine.SendEmail(&TO, &CC, &Subject, &Text, "", "");
End-If;
End-While;
Break;
When-Other
Break;
End-Evaluate;
end-method;
method GetCityDistance
/+ &DepartureCity as String, +/
/+ &ArrivalCity as String, +/
/+ &DistanceMode as String +/
/+ Returns String +/
Local string &Distance;
Evaluate &DistanceMode
When = "AR"
SQLExec("SELECT ECL_AIR_DISTANCE FROM PS_ECL_CITY_KM_TBL WHERE CITY = :1 AND CITY2=:2", &DepartureCity, &ArrivalCity, &Distance);
Break;
When = "RL"
SQLExec("SELECT ECL_RAIL_DISTANCE FROM PS_ECL_CITY_KM_TBL WHERE CITY = :1 AND CITY2=:2", &DepartureCity, &ArrivalCity, &Distance);
Break;
When = "BU"
When = "BC"
When = "CH"
SQLExec("SELECT ECL_ROAD_DISTANCE FROM PS_ECL_CITY_KM_TBL WHERE CITY = :1 AND CITY2=:2", &DepartureCity, &ArrivalCity, &Distance);
Break;
When-Other
Break;
End-Evaluate;
Return &Distance;
end-method;
import ECL_COMMON:*;
class ReportBase
method is_holiday(&X_EMPLID As string, &X_INPUT_DT As date) Returns boolean;
method TAT_DAYS(&X_EMPLID As string, &X_FROM_DT As date, &X_TO_DT As date) Returns number;
method OnlineBase();
method ftpfile_path() Returns string;
method Working_Days(&Emplid As string, &Date1 As date, &Date2 As date) Returns number;
end-class;
/*============================================================================
Developer : Mohammed Hussain - AIGSS
Name: is_holiday
Description: Returns the particular day is holiday or not
Parameters (in): &X_EMPLID
&X_INPUT_DT
Parameters (out): TRUE OR FALSE
============================================================================*/
method OnlineBase
end-method;
method is_holiday
/+ &X_EMPLID as String, +/
/+ &X_INPUT_DT as Date +/
/+ Returns Boolean +/
Local string &emplid = &X_EMPLID;
Local date &date = &X_INPUT_DT;
Local string &holiday = "";
Local string &work_tmpl;
Local string &String = DateTimeToLocalizedString(&date, "EEEEEEE");
SQLExec("SELECT 'Y' FROM PS_ABSW_SCHEDULE S, PS_HOLIDAY_DATE H WHERE S.BEGIN_DT =(SELECT MAX(S_ED.BEGIN_DT) FROM PS_ABSW_SCHEDULE S_ED WHERE S_ED.EMPLID = S.EMPLID AND S_ED.EMPL_RCD = S.EMPL_RCD AND S_ED.BEGIN_DT <= :2) AND S.HOLIDAY_SCHEDULE=H.HOLIDAY_SCHEDULE AND S.EMPLID=:1 AND H.HOLIDAY=:2", &emplid, &date, &holiday);
If &String = "Sunday" Or
&String = "Saturday" Then
&holiday = "Y";
End-If;
If All(&holiday) Then
Return True;
Else
Return False;
End-If;
end-method;
/*============================================================================
Developer : Krishna.C - [Mphasis]
Name : TAT_days
Description: Returns the number of days based on the from_dt and To_dt
============================================================================*/
method TAT_DAYS
/+ &X_EMPLID as String, +/
/+ &X_FROM_DT as Date, +/
/+ &X_TO_DT as Date +/
/+ Returns Number +/
Local ECL_COMMON:ReportBase &object = create ECL_COMMON:ReportBase();
Local string &emplid = &X_EMPLID;
Local date &from_date = &X_FROM_DT;
Local date &to_date = &X_TO_DT;
Local date &date, &run_day;
Local number &Diff_days;
Local number &hol_cnt, &I, &curr_day;
If &X_FROM_DT < &X_TO_DT Then
SQLExec("SELECT DATEDIFF(DAY,:1,:2) FROM PS_INSTALLATION", &X_FROM_DT, &X_TO_DT, &Diff_days);
Else
SQLExec("SELECT DATEDIFF(DAY,:1,:2) FROM PS_INSTALLATION", &X_TO_DT, &X_FROM_DT, &Diff_days);
End-If;
&hol_cnt = 0;
For &I = 1 To &Diff_days
If &X_FROM_DT < &X_TO_DT Then
&run_day = AddToDate(&X_FROM_DT, 0, 0, &I);
Else
&run_day = AddToDate(&X_TO_DT, 0, 0, &I);
End-If;
If &object.is_holiday(&X_EMPLID, &run_day) Then
&hol_cnt = &hol_cnt + 1;
End-If;
End-For;
Return &Diff_days - &hol_cnt;
end-method;
method ftpfile_path
/+ Returns String +/
Local string &ftpsite;
&ftpsite = "ftp://Admin:Mphasis123@10.32.16.26";
Return &ftpsite;
end-method;
method Working_Days
/+ &Emplid as String, +/
/+ &Date1 as Date, +/
/+ &Date2 as Date +/
/+ Returns Number +/
Local date &Date_In, &Date_1, &Date_2;
Local number &Date_Diff;
Local boolean &Holiday;
&Date_Diff = 0;
If &Date1 < &Date2 Then
&Date_1 = &Date1;
&Date_2 = &Date2;
Else
&Date_1 = &Date2;
&Date_2 = &Date1;
End-If;
rem &Date_In = AddToDate(&Date1, 0, 0, 1);
If &Date_1 = &Date_2 Then
Return (0);
Else
&Date_In = AddToDate(&Date_1, 0, 0, 1); /*Dont consider first day*/
While (&Date_In <= &Date_2)
&Holiday = %This.is_holiday(&Emplid, &Date_In);
If &Holiday = False Then
&Date_Diff = &Date_Diff + 1;
End-If;
&Date_In = AddToDate(&Date_In, 0, 0, 1);
End-While;
Return (&Date_Diff);
End-If;
end-method;
class UploadBase
method PendingFormat(&status As string, &agent As string, &trvl_req As string, &Wherestr As string);
method InvoiceFormat(&status As string, &agent As string, &trvl_req As string, &Wherestr As string);
method CreditFormat(&status As string, &agent As string, &trvl_req As string, &Wherestr As string);
method Pending_rowinit();
method Pending_status();
method Pending_ticket_status();
method Pending_validation(&status As string);
method invoice_validation(&status As string);
method invoice_calculation();
method invoice_status();
method Credit_rowinit();
method Credit_cancel_type();
method Credit_cancel_charge();
method Credit_status();
method Credit_validation(&status As string);
method btc_pending(&status As string, &userid As string, &trvl_req As string, &Wherestr As string);
method btc_rowinit();
method btc_tr_invoice_status();
method btc_lb_invoice_status();
method btc_calculation();
method btc_validation();
end-class;
method PendingFormat
/+ &status as String, +/
/+ &agent as String, +/
/+ &trvl_req as String, +/
/+ &Wherestr as String +/
Local string &default;
&default = "WHERE ECL_AGENT_ID = " | Quote(%UserId);
SQLExec(SQL.ECL_TR_UPD_SQL, &agent);
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
Local Rowset &inv = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_INVC_UPD);
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
If All(&trvl_req) Then
&pnd.Flush();
&pnd.Select(Record.ECL_TR_REQ_UPD, &Wherestr);
Else
&pnd.Flush();
&pnd.Select(Record.ECL_TR_REQ_UPD, &default);
End-If;
If All(&pnd(1).ECL_TR_REQ_UPD.ECL_TICKET_SEQ.Value) Then
&pnd.ShowAllRows();
ECL_DERIVED.SAVE_PB.Visible = True;
Else
&pnd.HideAllRows();
End-If;
&inv.HideAllRows();
&cr.HideAllRows();
end-method;
method Pending_ticket_status
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
If (&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "RC") Then
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_BOOK_COST.Value = 0.00;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_BOOK_COST.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_DEPARTURE_TIME.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_ARRIVAL_TIME.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_PNR_NUMBER.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_PREF_TIME.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.DisplayOnly = True;
End-If;
If &pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TB" Then
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_BOOK_COST.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_DEPARTURE_TIME.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_ARRIVAL_TIME.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NUM.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NAM.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_PNR_NUMBER.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_PREF_TIME.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.DisplayOnly = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.DisplayOnly = False;
End-If;
If (&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "CB") Or
(&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "BC") Then
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_BOOK_COST.DisplayOnly = True;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_DEPARTURE_TIME.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_ARRIVAL_TIME.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NUM.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NAM.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_PNR_NUMBER.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_PREF_TIME.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_TR_AGT_BILL_DT.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.Enabled = False;
&pnd(CurrentRowNumber()).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.Enabled = False;
End-If;
end-method;
method btc_pending
/+ &status as String, +/
/+ &userid as String, +/
/+ &trvl_req as String, +/
/+ &Wherestr as String +/
SQLExec(SQL.ECL_BTC_SQL, &userid);
Local Rowset &btc_tr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_BT_UP_VW);
Local Rowset &btc_lb = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_LB_BT_UP_VW);
If All(&trvl_req) Then
&btc_tr.Flush();
&btc_tr.Select(Record.ECL_TR_BT_UP_VW, &Wherestr);
Else
&btc_tr.Flush();
&btc_tr.Select(Record.ECL_TR_BT_UP_VW);
End-If;
If All(&trvl_req) Then
&btc_lb.Flush();
&btc_lb.Select(Record.ECL_LB_BT_UP_VW, &Wherestr);
Else
&btc_lb.Flush();
&btc_lb.Select(Record.ECL_LB_BT_UP_VW);
End-If;
If All(&btc_tr(1).ECL_TR_BT_UP_VW.ECL_TICKET_SEQ.Value) Then
&btc_tr.ShowAllRows();
ECL_DERIVED.SAVE_PB.Visible = True;
Else
&btc_tr.HideAllRows();
ECL_DERIVED.SAVE_PB.Visible = False;
End-If;
If All(&btc_lb(1).ECL_LB_BT_UP_VW.ECL_TICKET_SEQ.Value) Then
&btc_lb.ShowAllRows();
ECL_DERIVED.SAVE_PB.Visible = True;
Else
&btc_lb.HideAllRows();
End-If;
end-method;
method btc_validation
/*Travel*/
Local Rowset &btc_tr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_BT_UP_VW);
Local number &actual_cost, &tax, &i, &actual_cost_lb, &tax_lb;
Local string &Var;
For &i = 1 To &btc_tr.ActiveRowCount
If All(&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_SEQ.Value) Then
If None(&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value) Then
&Var = "Status";
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Style = "";
End-If;
End-If;
/*Validates only for Invoice*/
If (&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN") Then
If None(&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.Value) Then
&Var = "Bill Number";
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.Style = "";
End-If;
If None(&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.Value) Then
&Var = "Bill Date";
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.Style = "";
End-If;
/*If Ticket Cost is zero then throw error*/
If &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Value = "0" Then
&Var = "Actual Cost";
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_TR_BT_UP_VW.ECL_TICKET_COST, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Style = "";
End-If;
End-If;
&actual_cost = &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Value;
&tax = &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.Value + &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TAX.Value;
If &tax > &actual_cost Then
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS, &i);
Error MsgGetText(27000, 98, "Service Cost", &Var);
Else
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Style = "";
End-If;
End-For;
/*Lodging*/
Local Rowset &btc_lb = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_LB_BT_UP_VW);
For &i = 1 To &btc_lb.ActiveRowCount
/*Validates only for Invoice*/
If (&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN") Then
If None(&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.Value) Then
&Var = "Bill Number";
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.Style = "";
End-If;
If None(&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.Value) Then
&Var = "Bill Date";
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.Style = "";
End-If;
/*If Ticket Cost is zero then throw error*/
If &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Value = "0" Then
&Var = "Actual Cost";
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_LB_BT_UP_VW.ECL_TICKET_COST, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Style = "";
End-If;
End-If;
/*Service Tax Calculation*/
&actual_cost_lb = &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Value;
&tax_lb = &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.Value + &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TAX.Value;
If &tax_lb > &actual_cost_lb Then
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Style = "PSERROR";
SetCursorPos(Page.ECL_BTC_UPD, ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS, &i);
Error MsgGetText(27000, 98, "Service Cost", &Var);
Else
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Style = "";
End-If;
End-For;
end-method;
method btc_rowinit
Local number &i, &Xlat_cnt, &j;
Local string &CodeIn, &DescIn;
Local Rowset &Xlat;
Local Rowset &btc_tr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_BT_UP_VW);
For &i = 1 To &btc_tr.ActiveRowCount
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_INVOICE_STATUS' AND Fill.FIELDVALUE in ('CA','IN') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-For;
Local Rowset &btc_lb = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_LB_BT_UP_VW);
For &i = 1 To &btc_lb.ActiveRowCount
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_INVOICE_STATUS' AND Fill.FIELDVALUE in ('IN','CA') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-For;
end-method;
method btc_tr_invoice_status
Local number &i;
Local Rowset &btc_tr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_BT_UP_VW);
If &btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN" Then
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = False;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TICKET_COST.DisplayOnly = False;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.DisplayOnly = False;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TAX.DisplayOnly = False;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
End-If;
If &btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value = "" Then
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TICKET_COST.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TAX.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Value = 0;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.Value = 0;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TAX.Value = 0;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TOT_TCKT_COST.Value = 0;
End-If;
If &btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value = "CA" Then
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TRVL_AGNT_BILL.Value = "";
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.Value = "";
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TICKET_COST.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TAX.DisplayOnly = True;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Value = 0;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.Value = 0;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TAX.Value = 0;
&btc_tr(CurrentRowNumber()).ECL_TR_BT_UP_VW.ECL_TOT_TCKT_COST.Value = 0;
End-If;
For &i = 1 To &btc_tr.ActiveRowCount
If &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN" Then
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TOT_TCKT_COST.Value = &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Value + &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.Value + &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TAX.Value;
End-If;
End-For;
end-method;
method btc_lb_invoice_status
Local Rowset &btc_lb = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_LB_BT_UP_VW);
If &btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN" Then
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = False;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TICKET_COST.DisplayOnly = False;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.DisplayOnly = False;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TAX.DisplayOnly = False;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
End-If;
If &btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Value = "" Then
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TICKET_COST.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TAX.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Value = 0;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.Value = 0;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TAX.Value = 0;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TOT_TCKT_COST.Value = 0;
End-If;
If &btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Value = "CA" Then
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TRVL_AGNT_BILL.Value = "";
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.Value = "";
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TICKET_COST.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TAX.DisplayOnly = True;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Value = 0;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.Value = 0;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TAX.Value = 0;
&btc_lb(CurrentRowNumber()).ECL_LB_BT_UP_VW.ECL_TOT_TCKT_COST.Value = 0;
End-If;
end-method;
method btc_calculation
Local number &i;
Local Rowset &btc_tr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_BT_UP_VW);
For &i = 1 To &btc_tr.ActiveRowCount
If &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN" Then
&btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TOT_TCKT_COST.Value = &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TICKET_COST.Value + &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_SERVICE_CHARGE.Value + &btc_tr(&i).ECL_TR_BT_UP_VW.ECL_TAX.Value;
End-If;
End-For;
Local Rowset &btc_lb = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_LB_BT_UP_VW);
For &i = 1 To &btc_lb.ActiveRowCount
If &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_INVOICE_STATUS.Value = "IN" Then
&btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TOT_TCKT_COST.Value = &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TICKET_COST.Value + &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_SERVICE_CHARGE.Value + &btc_lb(&i).ECL_LB_BT_UP_VW.ECL_TAX.Value;
End-If;
End-For;
end-method;
method Pending_rowinit
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
Local number &i, &Xlat_cnt, &j;
Local date &journey_dt, &depart_dt;
Local Rowset &Xlat;
Local string &CodeIn, &DescIn;
For &i = 1 To &pnd.ActiveRowCount
&Xlat = CreateRowset(Record.PSXLATITEM);
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('TB','RC') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TB") Or
(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "RC") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('TB','RC') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
&journey_dt = &pnd(&i).ECL_TR_REQ_UPD.ECL_JOURNEY_DT.Value;
&depart_dt = &pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.Value;
If None(&depart_dt) Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.Value = &journey_dt;
End-If;
End-For;
<*
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TB") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('TB','BC','CB') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "BC") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('BC') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "RC") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('RC') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "CB") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('CB') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "CBT") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('CBT') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TBT") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_TICK_STATUS' AND Fill.FIELDVALUE in ('TBT') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
*>
end-method;
method Pending_status
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
Local number &i, &Xlat_cnt, &j;
Local Rowset &Xlat;
Local string &CodeIn, &DescIn;
For &i = 1 To &pnd.ActiveRowCount
If &pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.Value = "" Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_SAVE_STATUS' AND Fill.FIELDVALUE in ('SUB') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = "Submit";
&pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If &pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.Value = "SUB" Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.DisplayOnly = True;
End-If;
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.Value = "SUB") Then
&pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_TIME.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_ARRIVAL_TIME.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_PNR_NUMBER.DisplayOnly = True;
&pnd(&i).ECL_TR_REQ_UPD.ECL_BOOK_COST.DisplayOnly = True;
End-If;
End-For;
end-method;
method Pending_validation
/+ &status as String +/
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
Local number &i;
Local string &Var;
For &i = 1 To &pnd.ActiveRowCount
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_SAVE_STATUS.Value = "SUB") Then
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "BC") Or
(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TB") Or
(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TBT") Then
If None(&pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.Value) Then
&Var = "Departure Date";
&pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&pnd(&i).ECL_TR_REQ_UPD.ECL_DEPARTURE_DATE.Style = "";
End-If;
If None(&pnd(&i).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.Value) Then
&Var = "Arrival Date";
&pnd(&i).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&pnd(&i).ECL_TR_REQ_UPD.ECL_ARRIVAL_DATE.Style = "";
End-If;
End-If;
If None(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value) Then
&Var = "Ticket Status";
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_REQ_UPD.ECL_TICK_STATUS, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Style = "";
End-If;
If All(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value) Then
If (&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "BC") Or
(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TB") Or
(&pnd(&i).ECL_TR_REQ_UPD.ECL_TICK_STATUS.Value = "TBT") Then
If &pnd(&i).ECL_TR_REQ_UPD.ECL_BOOK_COST.Value = 0 Then
&Var = "Booking Cost";
&pnd(&i).ECL_TR_REQ_UPD.ECL_BOOK_COST.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_REQ_UPD.ECL_BOOK_COST, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&pnd(&i).ECL_TR_REQ_UPD.ECL_BOOK_COST.Style = "";
End-If;
End-If;
End-If;
End-If;
End-For;
end-method;
method InvoiceFormat
/+ &status as String, +/
/+ &agent as String, +/
/+ &trvl_req as String, +/
/+ &Wherestr as String +/
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
Local Rowset &inv = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_INVC_UPD);
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local string &default;
&default = "WHERE ECL_AGENT_ID = " | Quote(%UserId);
SQLExec(SQL.ECL_TR_INVC_UPD_SQL, &agent);
REM SQLExec(SQL.ECL_UPD_INVC_SQL, &agent);
If All(&trvl_req) Then
&inv.Flush();
&inv.Select(Record.ECL_TR_INVC_UPD, &Wherestr);
If None(&inv(1).ECL_TR_INVC_UPD.ECL_TICKET_SEQ.Value) Then
ECL_DERIVED.SAVE_PB.Visible = False;
End-If;
Else
&inv.Flush();
&inv.Select(Record.ECL_TR_INVC_UPD);
End-If;
If All(&inv(1).ECL_TR_INVC_UPD.ECL_TICKET_SEQ.Value) Then
&inv.ShowAllRows();
ECL_DERIVED.SAVE_PB.Visible = True;
Else
&inv.HideAllRows();
End-If;
&pnd.HideAllRows();
&cr.HideAllRows();
end-method;
method invoice_status
Local Rowset &inv = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_INVC_UPD);
If &inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "IN" Then
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICKET_COST.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TAX.DisplayOnly = False;
End-If;
If (&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CB" Or
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CBT" And
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value = "0") Then
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICKET_COST.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TAX.DisplayOnly = True;
End-If;
If (&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CB" Or
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CBT" And
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value <> "0") Then
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICKET_COST.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.DisplayOnly = False;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TAX.DisplayOnly = False;
End-If;
If &inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "" Then
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TICKET_COST.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.Value = 0;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TAX.DisplayOnly = True;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TAX.Value = 0;
&inv(CurrentRowNumber()).ECL_TR_INVC_UPD.ECL_TOT_TCKT_COST.Value = 0;
End-If;
end-method;
method invoice_validation
/+ &status as String +/
Local Rowset &inv = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_INVC_UPD);
Local number &i, &actual_cost, &tax, &cb, &raised;
Local string &Var;
Local SQL &sql;
Local string &travel_req, &req;
For &i = 1 To &inv.ActiveRowCount
/*If there is Cancel and Book Another Ticket then corresponding Ticket Should be booked*/
If (&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CBT" Or
&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CB") Then
&cb = &cb + 1;
End-If;
If (&inv(&i).ECL_TR_INVC_UPD.ECL_CB_STATUS.Value = "RA" Or
&inv(&i).ECL_TR_INVC_UPD.ECL_CB_STATUS.Value = "RA") Then
&raised = &raised + 1;
End-If;
End-For;
&sql = CreateSQL("SELECT DISTINCT ECL_TRVL_REQ_ID FROM PS_ECL_TRAVEL_REQ WHERE ECL_TICK_STATUS IN ('CB', 'CBT') AND ECL_CB_STATUS ='' AND ECL_AGENT_ID =:1", %UserId);
While &sql.Fetch(&req)
If None(&req) Then
Else
&travel_req = &req | " " | &travel_req;
End-If;
End-While;
If &cb <> &raised Then
Error MsgGetText(27000, 243, "", &travel_req);
End-If;
/*If there is Cancel and Book Another Ticket then corresponding Ticket Should be booked END-*/
For &i = 1 To &inv.ActiveRowCount
If (&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "IN") Then
If &inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value <> "0" Then
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_DATE.Value) Then
&Var = "Departure Date";
&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_DATE.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_DEPARTURE_DATE, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_DATE.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_DATE.Value) Then
&Var = "Arrival Date";
&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_DATE.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_ARRIVAL_DATE, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_DATE.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_TIME.Value) Then
&Var = "Departure Time";
&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_TIME.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_DEPARTURE_TIME, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_TIME.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_TIME.Value) Then
&Var = "Arrival Time";
&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_TIME.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_ARRIVAL_TIME, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_TIME.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NUM.Value) Then
&Var = "Train/Plane Number";
&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NUM.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NUM, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NUM.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NAM.Value) Then
&Var = "Train/Plane Name";
&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NAM.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NAM, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NAM.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_PNR_NUMBER.Value) Then
&Var = "PNR/Air Ticket Number";
&inv(&i).ECL_TR_INVC_UPD.ECL_PNR_NUMBER.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_PNR_NUMBER, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_PNR_NUMBER.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.Value) Then
&Var = "Travel Agent Bill No";
&inv(&i).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.Style = "";
End-If;
If None(&inv(&i).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.Value) Then
&Var = "Bill Date";
&inv(&i).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.Style = "";
End-If;
End-If;
/*If Ticket Cost is zero then throw error*/
If &inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value = "0" Then
&Var = "Ticket Cost";
&inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_TICKET_COST, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Style = "";
End-If;
End-If;
&actual_cost = &inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value;
&tax = &inv(&i).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.Value + &inv(&i).ECL_TR_INVC_UPD.ECL_TAX.Value;
If &tax > &actual_cost Then
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_INVC_UPD.ECL_INVOICE_STATUS, &i);
Error MsgGetText(27000, 98, "Service Cost", &Var);
Else
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Style = "";
End-If;
If &inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "IN" Then
&inv(&i).ECL_TR_INVC_UPD.ECL_TOT_TCKT_COST.Value = &inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value + &inv(&i).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.Value + &inv(&i).ECL_TR_INVC_UPD.ECL_TAX.Value;
End-If;
End-For;
end-method;
method invoice_calculation
Local Rowset &inv = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_INVC_UPD);
Local number &i, &Xlat_cnt, &j;
Local Rowset &Xlat;
Local string &CodeIn, &DescIn;
For &i = 1 To &inv.ActiveRowCount
If &inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "IN" Then
&inv(&i).ECL_TR_INVC_UPD.ECL_TOT_TCKT_COST.Value = &inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value + &inv(&i).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.Value + &inv(&i).ECL_TR_INVC_UPD.ECL_TAX.Value;
End-If;
If (&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "BC") Or
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "TB") Or
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "TBT") Or
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CBT") Or
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CB") Then
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_INVOICE_STATUS' AND Fill.FIELDVALUE in ('IN') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If ((&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CB") Or
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CBT")) And
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value = "0") Then
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_INVOICE_STATUS' AND Fill.FIELDVALUE in ('NA') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "NA";
End-For;
End-If;
If (&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "RC") Then
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_INVOICE_STATUS' AND Fill.FIELDVALUE in ('CA') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If (&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "NA") Then
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.ClearDropDownList();
&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ECL_INVOICE_STATUS' AND Fill.FIELDVALUE in ('NA') and EFFDT <= %CurrentDateIn");
&Xlat_cnt = &Xlat.ActiveRowCount;
For &j = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&j).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&j).GetRecord(1).XLATLONGNAME.Value;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.AddDropDownItem(&CodeIn, &DescIn);
End-For;
End-If;
If &inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.Value = "IN" Then
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.DisplayOnly = False;
&inv(&i).ECL_TR_INVC_UPD.ECL_TAX.DisplayOnly = False;
End-If;
/*If the Ticket Status is Cancel and Book Another and Ticket Cost is 0*/
If (&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CB" Or
&inv(&i).ECL_TR_INVC_UPD.ECL_TICK_STATUS.Value = "CBT") And
(&inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.Value = "0") Then
&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NUM.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_TRAIN_PLNE_NAM.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_PNR_NUMBER.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_INVOICE_STATUS.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_TRVL_AGNT_BILL.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_TR_AGT_BILL_DT.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_TICKET_COST.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_SERVICE_CHARGE.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_TAX.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_DATE.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_DEPARTURE_TIME.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_DATE.DisplayOnly = True;
&inv(&i).ECL_TR_INVC_UPD.ECL_ARRIVAL_TIME.DisplayOnly = True;
End-If;
End-For;
end-method;
method CreditFormat
/+ &status as String, +/
/+ &agent as String, +/
/+ &trvl_req as String, +/
/+ &Wherestr as String +/
Local Rowset &pnd = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_REQ_UPD);
Local Rowset &inv = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_INVC_UPD);
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local string &default;
&default = "WHERE ECL_AGENT_ID = " | Quote(%UserId);
SQLExec(SQL.ECL_TR_CR_UPD_SQL, &agent);
If All(&trvl_req) Then
&cr.Flush();
&cr.Select(Record.ECL_TR_CR_UPD, &Wherestr);
Else
&cr.Flush();
&cr.Select(Record.ECL_TR_CR_UPD, &default);
End-If;
If All(&cr(1).ECL_TR_CR_UPD.ECL_TICKET_SEQ.Value) Then
&cr.ShowAllRows();
ECL_DERIVED.SAVE_PB.Visible = True;
Else
&cr.HideAllRows();
End-If;
&pnd.HideAllRows();
&inv.HideAllRows();
end-method;
method Credit_rowinit
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local number &i;
For &i = 1 To &cr.ActiveRowCount
If &cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "NR" Then
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = True;
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = True;
&cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = True;
&cr(&i).ECL_TR_CR_UPD.ECL_CREDIT_AMOUNT.DisplayOnly = True;
End-If
End-For;
end-method;
method Credit_status
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local number &i;
If &cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CREDIT_STATUS.Value = "CR" Then
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL.DisplayOnly = False;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.DisplayOnly = False;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_DT.DisplayOnly = False;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = False;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = False;
End-If;
If &cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CREDIT_STATUS.Value = "" Then
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "";
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Value = 0;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.Value = 0;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_DT.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = True;
End-If;
If (&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_TICK_STATUS.Value = "CB" Or
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_TICK_STATUS.Value = "CBT") And
(&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_TICKET_COST.Value = "0") Then
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CREDIT_AMOUNT.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_DT.DisplayOnly = True;
End-If;
end-method;
method Credit_cancel_type
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local number &i;
&cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
If &cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "NR" Or
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "" Then
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = True;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Value = 0.00;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.Value = 0.00;
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CREDIT_AMOUNT.Value = 0.00;
End-If;
If &cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "RE" Then
&cr(CurrentRowNumber()).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.DisplayOnly = False;
End-If;
For &i = 1 To &cr.ActiveRowCount
If &cr(&i).ECL_TR_CR_UPD.ECL_CREDIT_STATUS.Value = "CR" Then
If &cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "RE" Then
&cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.Value = (&cr(&i).ECL_TR_CR_UPD.ECL_TOT_TCKT_COST.Value - &cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Value);
&cr(&i).ECL_TR_CR_UPD.ECL_CREDIT_AMOUNT.Value = &cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.Value;
&cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = True;
End-If;
End-If;
End-For;
end-method;
method Credit_cancel_charge
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local number &i;
For &i = 1 To &cr.ActiveRowCount
If &cr(&i).ECL_TR_CR_UPD.ECL_CREDIT_STATUS.Value = "CR" Then
If &cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value = "RE" Then
&cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.DisplayOnly = True;
&cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.Value = (&cr(&i).ECL_TR_CR_UPD.ECL_TOT_TCKT_COST.Value - &cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Value);
&cr(&i).ECL_TR_CR_UPD.ECL_CREDIT_AMOUNT.Value = &cr(&i).ECL_TR_CR_UPD.ECL_REFUND_AMOUNT.Value;
End-If;
End-If;
End-For;
end-method;
method Credit_validation
/+ &status as String +/
Local Rowset &cr = GetLevel0().GetRow(1).GetRowset(Scroll.ECL_TR_CR_UPD);
Local number &i;
Local string &Var;
Local number &cancel_charge, &ticket_cost;
For &i = 1 To &cr.ActiveRowCount
/*Validates only for Credit*/
If (&cr(&i).ECL_TR_CR_UPD.ECL_CREDIT_STATUS.Value = "CR") Then
If &cr(&i).ECL_TR_CR_UPD.ECL_TOT_TCKT_COST.Value <> "0" Then
If None(&cr(&i).ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL.Value) Then
&Var = "Credit Bill";
&cr(&i).ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&cr(&i).ECL_TR_CR_UPD.ECL_TRVL_CRDT_BILL.Style = "";
End-If;
If None(&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Value) Then
&Var = "Cancellation Type";
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_CR_UPD.ECL_CANCEL_TYPE, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_TYPE.Style = "";
End-If;
If None(&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_DT.Value) Then
&Var = "Credit Note Date";
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_DT.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_CR_UPD.ECL_CANCEL_DT, &i);
Error MsgGetText(27000, 41, "Please Enter the %1", &Var);
Else
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_DT.Style = "";
End-If;
End-If;
End-If;
&cancel_charge = &cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Value;
&ticket_cost = &cr(&i).ECL_TR_CR_UPD.ECL_TOT_TCKT_COST.Value;
If &cancel_charge > &ticket_cost Then
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Style = "PSERROR";
SetCursorPos(Page.ECL_TR_AGNT_UPD, ECL_TR_CR_UPD.ECL_CANCEL_CHARGE, &i);
Error MsgGetText(27000, 101, "Cancellation charge cannot be greater than Actual Cost", &Var);
Else
&cr(&i).ECL_TR_CR_UPD.ECL_CANCEL_CHARGE.Style = "";
End-If;
End-For;
end-method;
app engine
<*********************************************************************
Developer Name: Kondal Reddy
Date: 01-April-2011
Descr: Code handled for Writing the data into File
*****************************************************************>
Function RemoveSpecialChar(&Char As string) Returns string
For &m = 1 To Len(&Char)
If Substring(&Char, &m, 1) = Char(13) Or
Substring(&Char, &m, 1) = Char(10) Or
Substring(&Char, &m, 1) = Char(9) Or
Substring(&Char, &m, 1) = Char(22) Then
&ModifiedComments = &ModifiedComments | "";
Else
&ModifiedComments = &ModifiedComments | Substring(&Char, &m, 1);
End-If;
End-For;
Return (&ModifiedComments);
End-Function;
Local string &Delimiter;
Component File &OutFile_ARFS;
Component number &i;
Component string &id;
Component string &type_flag;
Component number &claim, &claim_tot_lines;
Local number &mincount = 0;
&Delimiter = Char(9);
&GLCode = "";
&Flag = "EC";
&Category = ECL_CLAIMS_AET.ECL_CATEGORY.Value;
&Claim_type = ECL_CLAIMS_AET.ECL_CLAIM_TYP.Value;
SQLExec("SELECT ECL_GL_CODE FROM PS_ECL_GL_CODE_TBL WHERE ECL_CATEGORY =:1 AND ECL_CLAIM_TYP =:2 ", &Category, &Claim_type, &GLCode);
&DATE = DateTimeToLocalizedString(%Date, "dd/MM/yyyy");
&DocDate = ECL_CLAIMS_AET.ECL_REQUEST_DT.Value;
&DDate = DateTimeToLocalizedString(&DocDate, "dd/MM/yyyy");
&Ref = ECL_CLAIMS_AET.ECL_CLAIM_REQ_ID.Value;
If &Ref <> &id Then
&claim = &claim + 1;
End-If;
&lenght = Len(&Ref);
For &j = 1 To (20 - &lenght)
&space = &space | " ";
End-For;
&Ref = &space | &Ref;
&TotAmount = ECL_CLAIMS_AET.ECL_DEPARTURE.Value;
&Emplid = ECL_CLAIMS_AET.EMPLID.Value;
&SelfReuAmount = ECL_CLAIMS_AET.ECL_LOCATION_FROM.Value;
&CorpCardAmount = ECL_CLAIMS_AET.ECL_LOCATION_TO.Value;
&Zone = ECL_CLAIMS_AET.ZIN_ZONE.Value;
&Branch = ECL_CLAIMS_AET.LOCATION.Value;
&CostCenter = ECL_CLAIMS_AET.ECL_COST_CENTER.Value;
&Narration = ECL_CLAIMS_AET.COMMENTS1.Value;
&ModNarration = RemoveSpecialChar(&Narration);
&Narr_len = Len(&ModNarration);
If &Narr_len > 50 Then
&ModNarration = Substring(&ModNarration, 1, 50);
End-If;
For &l = 1 To (50 - &Narr_len)
&space_1 = &space_1 | " ";
End-For;
&ModNarration = &space_1 | &ModNarration;
&CReqId = ECL_CLAIMS_AET.ECL_CLAIM_REQ_ID.Value;
&lenght = Len(&CReqId);
For &j = 1 To (12 - &lenght)
&Place = &Place | " ";
End-For;
&CReqId = &Place | &CReqId;
&Blen = Len(&Branch);
For &l = 1 To (4 - &Blen)
&BPlace = &BPlace | " ";
End-For;
&Branch = &BPlace | &Branch;
If ECL_CLAIMS_AET.ECL_CLAIM_REQ_ID.Value <> &id Then
&i = &i + 1;
End-If;
&len = &i;
&totLen = Len(&len);
If &totLen = 1 Then
&k = "000" | &i;
End-If;
If &totLen = 2 Then
&k = "00" | &i;
End-If;
If &totLen = 3 Then
&k = "0" | &i;
End-If;
If &totLen = 4 Then
&k = "" | &i;
End-If;
&id = ECL_CLAIMS_AET.ECL_CLAIM_REQ_ID.Value;
<* If &type_flag <> &Claim_type Then
&type_flag = &Claim_type;
MessageBox(0, "", 0, 0, "claim type " | &type_flag);
&claim_req_id = LTrim(&Ref);
SQLExec("SELECT SUM(ECL_TOT_REIMBU_AMT) FROM PS_ECL_CLAIMS_BUSN WHERE ECL_CLAIM_REQ_ID =:1 AND ECL_CATEGORY =:2 AND ECL_CLAIM_TYP =:3", &claim_req_id, &Category, &Claim_type, &sum_Reum_amt);
SQLExec("SELECT SUM(ECL_TOT_CORPCD_AMT) FROM PS_ECL_CLAIMS_BUSN WHERE ECL_CLAIM_REQ_ID =:1 AND ECL_CATEGORY =:2 AND ECL_CLAIM_TYP =:3", &claim_req_id, &Category, &Claim_type, &sum_corp_amt);
SQLExec("SELECT SUM(ECL_TOT_CLAIM_AMT) FROM PS_ECL_CLAIMS_BUSN WHERE ECL_CLAIM_REQ_ID =:1 AND ECL_CATEGORY =:2 AND ECL_CLAIM_TYP =:3", &claim_req_id, &Category, &Claim_type, &sum_tot_amt);
MessageBox(0, "", 0, 0, "claim id " | &claim_req_id);
MessageBox(0, "", 0, 0, "tot reimb " | &sum_Reum_amt);
MessageBox(0, "", 0, 0, "tot corp " | &sum_corp_amt);
MessageBox(0, "", 0, 0, "tot amt " | &sum_tot_amt);
rem &Eclaims = &k | &Flag | &DATE | &DDate | &Ref | &Empty | &GLCode | &TotAmount | &Emplid | &SelfReuAmount | &CorpCardAmount | &Zone | &Branch | &CostCenter | &Narration | &CReqId | &Empty | &Empty;
rem &Eclaims = &k | &Flag | &DATE | &DDate | &Ref | "0000000000000.00" | &GLCode | &TotAmount | &Emplid | &SelfReuAmount | &CorpCardAmount | &Zone | &Branch | &CostCenter | &Narration | &CReqId | "0000000000000.00" | "0000000000000.00";
&Eclaims = &k | &Flag | &DATE | &DDate | &Ref | "0000000000000.00" | &GLCode | &sum_tot_amt | &Emplid | &sum_Reum_amt | &sum_corp_amt | &Zone | &Branch | &CostCenter | &Narration | &CReqId | "0000000000000.00" | "0000000000000.00";
If &OutFile_ARFS.IsOpen Then
&OutFile_ARFS.WriteLine(&Eclaims);
End-If;
&req_id = &claim_req_id;
If &claim_req_id <> &req_id Then
&type_flag = "";
End-If;
End-If;*>
&Eclaims = &k | &Flag | &DATE | &DDate | &Ref | "0000000000000.00" | &GLCode | &TotAmount | &Emplid | &SelfReuAmount | &CorpCardAmount | &Zone | &Branch | &CostCenter | &ModNarration | &CReqId | "0000000000000.00" | "0000000000000.00";
If &OutFile_ARFS.IsOpen Then
&OutFile_ARFS.WriteLine(&Eclaims);
&claim_tot_lines = &claim_tot_lines + 1;
End-If;
sql
%SelectInit(ECL_CATEGORY,ECL_CLAIM_TYP,ECL_REQUEST_DT , ECL_CLAIM_REQ_ID ,ECL_GL_CODE ,ECL_DEPARTURE ,EMPLID ,ECL_LOCATION_FROM ,ECL_LOCATION_TO ,ZIN_ZONE ,LOCATION ,ECL_COST_CENTER ,COMMENTS1 ,ECL_CLAIM_REQ_ID)
SELECT A.ECL_CATEGORY
,A.ECL_CLAIM_TYP
,A.ECL_REQUEST_DT
, RIGHT(' '+ CONVERT(VARCHAR
, A.ECL_CLAIM_REQ_ID)
, 20) AS ECL_CLAIM_REQ_ID
, A.ECL_GL_CODE
, RIGHT(REPLICATE('0'
, 16)+ CAST(A.ECL_TOT_CLAIM_AMT AS nvarchar(16))
, 16) AS ECL_TOT_CLAIM_AMT
, A.EMPLID
, RIGHT(REPLICATE('0'
, 16)+ CAST(A.ECL_TOT_REIMBU_AMT AS nvarchar(16))
, 16) AS ECL_TOT_REIMBU_AMT
, RIGHT(REPLICATE('0'
, 16)+ CAST(A.ECL_TOT_CORPCD_AMT AS nvarchar(16))
, 16) AS ECL_TOT_CORPCD_AMT
,(
SELECT TOP 1 C.ZIN_ZONE
FROM PS_ZIN_JOB C
WHERE C.EMPLID =A.EMPLID
AND C.EFFDT =(
SELECT MAX(C1.EFFDT)
FROM PS_ZIN_JOB C1
WHERE C1.EMPLID=C.EMPLID
AND C1.EMPL_RCD = C.EMPL_RCD
AND C1.EFFDT <= GETDATE())
AND C.EFFSEQ = (
SELECT MAX(JOB_ES.EFFSEQ)
FROM PS_JOB JOB_ES
WHERE JOB_ES.EMPLID = C.EMPLID
AND JOB_ES.EMPL_RCD = C.EMPL_RCD
AND JOB_ES.EFFDT = C.EFFDT ) ) AS ZIN_ZONE ,(
SELECT TOP 1 C.LOCATION
FROM PS_ZIN_JOB C
WHERE C.EMPLID =A.EMPLID
AND C.EFFDT =(
SELECT MAX(C1.EFFDT)
FROM PS_ZIN_JOB C1
WHERE C1.EMPLID=C.EMPLID
AND C1.EMPL_RCD = C.EMPL_RCD
AND C1.EFFDT <= GETDATE())
AND C.EFFSEQ = (
SELECT MAX(JOB_ES.EFFSEQ)
FROM PS_JOB JOB_ES
WHERE JOB_ES.EMPLID = C.EMPLID
AND JOB_ES.EMPL_RCD = C.EMPL_RCD
AND JOB_ES.EFFDT = C.EFFDT ) ) AS LOCATION , A.ECL_COST_CENTER , A.COMMENTS1 , RIGHT(' '+ CONVERT (VARCHAR , A.ECL_CLAIM_REQ_ID) , 20) AS ECL_CLAIM_REQ_ID
FROM PS_ECL_CLAIMS_BUSN A , PS_ECL_CLAIMS_HDR B
WHERE A.ECL_CLAIM_REQ_ID = B.ECL_CLAIM_REQ_ID
AND A.EMPLID= B.EMPLID
AND A.EMPL_RCD = B.EMPL_RCD
AND A.ECL_CATEGORY = B.ECL_CATEGORY
AND B.ECL_STATUS = 'PT'
Component File &logFile;
&Delimiter = Char(9);
&logFile = GetFile(GetEnv("PSPRCSLOGDIR") | "\Upload logFile.XLS", "W", %FilePath_Absolute);
&logFile.WriteLine("Claim Req Id" | &Delimiter | "Claim Status" | &Delimiter | "Expense Document Number" | &Delimiter | "Expense Document Date" | &Delimiter | "Payment Document Number" | &Delimiter | "Payment Document Date");
import ZIN_COMMON:*;
Local File &APPL_FILE;
Local array of string &APP_ARY;
Local string &APPL_DATA;
Component File &logFile;
&Delimiter = Char(9);
Local ZIN_COMMON:AppEngineBase &AppEngine = create ZIN_COMMON:AppEngineBase();
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();
rem SQLExec("Select Z_FILE_PATH from PS_ECL_SAP_TBL WHERE OPRID = :1 AND RUN_CNTL_ID = :2", Z_DC_AET.OPRID, Z_DC_AET.RUN_CNTL_ID, &FILE_PATH);
REM &FILE_PATH = "d:\Files\INVC.csv";
rem &FILE_PATH = "C:\temp\SAP.txt";
REM &FILE_PATH = "C:\Documents and Settings\Admin\Desktop\SAP.txt";
rem MessageBox(0, "", 0, 0, "File Path :" | &FILE_PATH);
&Filepath = GetAttachment("ftp://Admin:Mphasis123@10.32.16.26/", "SAP.txt", "C:\temp\SAP.txt");
&APPL_FILE = GetFile("C:\temp\SAP.txt", "E", %FilePath_Absolute);
If &APPL_FILE.IsOpen Then
While &APPL_FILE.ReadLine(&APPL_DATA);
&APP_ARY = Split(&APPL_DATA, ";");
&id = &APP_ARY [1];
&empl_id = &APP_ARY [2];
&exp_doc_no = &APP_ARY [3];
&date = &APP_ARY [4];
&exp_doc_date = DateValue(&date);
&pay_doc_no = &APP_ARY [5];
&date_1 = &APP_ARY [6];
&pay_doc_date = DateValue(&date_1);
SQLExec("SELECT ECL_STATUS FROM PS_ECL_CLAIMS_HDR WHERE ECL_CLAIM_REQ_ID =:1", &id, &ecl_status);
SQLExec("SELECT ECL_STATUS FROM PS_ECL_ARF_HDR WHERE ECL_ARF_REQ_ID =:1", &id, &arf_status);
&id_type = Substring(&id, 1, 3);
MessageBox(0, "", 0, 0, &id_type);
<*
MessageBox(0, "", 0, 0, &id);
MessageBox(0, "", 0, 0, &empl_id);
MessageBox(0, "", 0, 0, &Sap_id);
MessageBox(0, "", 0, 0, &first_date);
MessageBox(0, "", 0, 0, &arf_id);
MessageBox(0, "", 0, 0, &second_date);
*>
Local Record &ECL_SAP = CreateRecord(Record.ECL_CLAIMS_HDR);
&ECL_SAP.SelectByKey();
If &id_type = "EXP" Then
If &ecl_status = "PT" Then
SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_EXP_DOC_NUM=:1,ECL_EXP_DOC_DATE=:2,ECL_PAY_DOC_NUM=:3,ECL_PAY_DOC_DATE=:4,ECL_STATUS='PD' WHERE ECL_CLAIM_REQ_ID=:5 AND EMPLID=:6", &exp_doc_no, &exp_doc_date, &pay_doc_no, &pay_doc_date, &id, &empl_id);
<*
&ECL_SAP.ECL_CLAIM_REQ_ID.Value = &id;
&ECL_SAP.EMPLID.Value = &empl_id;
&ECL_SAP.ECL_EXP_DOC_NUM.Value = &exp_doc_no;
&ECL_SAP.ECL_EXP_DOC_DATE.Value = &exp_doc_date;
&ECL_SAP.ECL_PAY_DOC_NUM.Value = &pay_doc_no;
&ECL_SAP.ECL_PAY_DOC_DATE.Value = &pay_doc_date;
&ECL_SAP.ECL_STATUS.Value = "PD";
&ECL_SAP.Update();
*>
End-If;
End-If;
If &id_type = "ARF" Then
If &arf_status = "PT" Then
SQLExec("UPDATE PS_ECL_ARF_HDR SET ECL_EXP_DOC_NUM=:1,ECL_EXP_DOC_DATE=:2,ECL_PAY_DOC_NUM=:3,ECL_PAY_DOC_DATE=:4,ECL_STATUS='PD' WHERE ECL_ARF_REQ_ID=:5 AND EMPLID=:6", &exp_doc_no, &exp_doc_date, &pay_doc_no, &pay_doc_date, &id, &empl_id);
End-If;
End-If;
If &id_type = "EXP" Then
SQLExec("SELECT XLATLONGNAME FROM PSXLATITEM A WHERE A.EFFDT = (SELECT MAX(A_ED.EFFDT) FROM PSXLATITEM A_ED WHERE A.FIELDNAME = A_ED.FIELDNAME AND A.FIELDVALUE = A_ED.FIELDVALUE AND A_ED.EFFDT <= GETDATE()) AND FIELDNAME='ECL_STATUS' AND FIELDVALUE =:1", &ecl_status, &Claim_Status);
End-If;
If &id_type = "ARF" Then
SQLExec("SELECT XLATLONGNAME FROM PSXLATITEM A WHERE A.EFFDT = (SELECT MAX(A_ED.EFFDT) FROM PSXLATITEM A_ED WHERE A.FIELDNAME = A_ED.FIELDNAME AND A.FIELDVALUE = A_ED.FIELDVALUE AND A_ED.EFFDT <= GETDATE()) AND FIELDNAME='ECL_STATUS' AND FIELDVALUE =:1", &arf_status, &Claim_Status);
End-If;
If &ecl_status = "PT" Then
&Claim_Status = "Paid";
End-If;
If &arf_status = "PT" Then
&Claim_Status = "Paid";
End-If;
If (&Claim_Status <> "Paid") Then
&exp_doc_no = "";
&exp_doc_date = "";
&pay_doc_no = "";
&pay_doc_date = "";
End-If;
&logFile.WriteLine(&id | &Delimiter | &Claim_Status | &Delimiter | &exp_doc_no | &Delimiter | &exp_doc_date | &Delimiter | &pay_doc_no | &Delimiter | &pay_doc_date);
End-While;
&APPL_FILE.Close();
Else
&Msg_Str = "File could not be opened. Please check the File Path";
MessageBox(0, "", 0, 0, &Msg_Str);
End-If;
<*########################################################################
Developer: Kondal
Date: 07-02-2012
Description:To Upload the Form16 letter
##########################################################################*>
Local array of string &FNAMES;
Local File &MYFILE, &logfile;
Local string &file_name;
&delimeter = Char(9);
&logfile = GetFile("test.xls", "W", %FilePath_Absolute);
&logfile.WriteLine("Employee ID" | &delimeter | "Year" | &delimeter | "Status");
SQLExec("Select SETID,ZIN_FIELD7 from PS_ZIN_FORM16_RCR WHERE OPRID = :1 AND RUN_CNTL_ID = :2", %OperatorId, Z_DC_AET.RUN_CNTL_ID, &Bsn, &FILE_PATH);
MessageBox(0, "", 0, 0, "&FILE_PATH: " | &FILE_PATH);
&FNAMES = FindFiles(&FILE_PATH | "*" | "F16.pdf", %FilePath_Absolute);
MessageBox(0, "", 0, 0, "&FNAMES: " | &FNAMES);
While &FNAMES.Len > 0
&MYFILE = GetFile(&FNAMES.Shift(), "R", %FilePath_Absolute); /* Open each file */
/* Process the file contents */
&file_name = &MYFILE.Name;
MessageBox(0, "", 0, 0, &file_name);
&URL_ID = "ZIN_FORM16_UPL";
&URL_ID = "URL." | &URL_ID;
&URL = GetURL(@&URL_ID);
&ATTACHSYSFILENAME = &file_name;
&ATTACHUSERFILE = &file_name;
MessageBox(0, "", 0, 0, &ATTACHUSERFILE);
If FileExists(&ATTACHUSERFILE, %FilePath_Absolute) Then
&RETCODE = PutAttachment(&URL, &ATTACHSYSFILENAME, &ATTACHUSERFILE);
If (&RETCODE = %Attachment_Success) Then
MessageBox(0, "Letter Upload Status", 21000, 82, "Letter upload succeeded" | &file_name);
&emplid = Substring(&file_name, 17, 7); /*change the year field length*/
&year = Substring(&file_name, 25, 9); /*change the year field length*/
&logfile.WriteLine(&emplid | &delimeter | &year | &delimeter | "Success");
End-If;
If (&RETCODE = %Attachment_Cancelled) Then
MessageBox(0, "Letter Upload Status", 21000, 83, "Letter upload cancelled" | &file_name);
&emplid = Substring(&file_name, 17, 7); /*change the year field length*/
&year = Substring(&file_name, 25, 9); /*change the year field length*/
&logfile.WriteLine(&emplid | &delimeter | &year | &delimeter | "Failure");
End-If;
Else
MessageBox(0, "Letter Upload Status", 21000, 84, "Letter does not exists" | &file_name);
End-If;
&MYFILE.Close();
End-While;