Tuesday, October 1, 2013

Overlapping Dates

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;

No comments: