Symptom
Two successive validity periods in a conditions overlap.

In this case, "overlap" means that the validity period with the smaller valid-from date (D_VALIDFROM) has an explicit valid-to date (D_VALIDTO) and this valid-to date is after the valid-from date of the following validity period. The system interprets this as a data inconsistency (even if the first validity period has the valid-to date 31-DEC-9999). Correctly, the first validity period should have an initial valid-to date in this case. A program-specific logic usually ensures that a previously explicit valid-to date of a validity period is deleted as soon as a following validity period is created whose validity starts within the validity of the first period. In the present case - for example, due to errors during the legacy data transfer - this was obviously not the case, which may lead to the incorrect application of validity periods in the financial calculator.

Reason and Prerequisites
This problem is due to a program error or an error during the legacy data transfer.

Solution
This note provides an analysis and correction program for the determination and, if required, correction of overlapping validity periods. The correction consists of the deletion of the valid-to date of the previous period. The analysis and correction can either be executed for buffered (in general default conditions) and unbuffered conditions (in general: individual conditions).

Import the specified Support Package for your release. You can implement the correction instructions in advance using transaction SNOTE. Manual postprocessing steps are required when you implement the advance correction.

Run the report RFICO_OVERLAPPED_PERIODS in simulation mode in all relevant systems; first run it for the table FICOT_CONDI and then for the table FICOT_CONDI_BUFF. Check the conditions saved in the log to see whether there is an actual overlap.

You can either correct the incorrect validity periods manually (by deleting the valid-to date) or run the report RFICO_OVERLAPPED_PERIODS in real mode (also for the tables FICOT_CONDI and FICOT_CONDI_BUFF).

Then use transaction SE16 to check whether the validity periods specified in the log are now correct, in other words, if there are no overlaps. The only difference to the previously analyzed data records is the deletion of incorrect values of the valid-to date (D_VALIDTO).

------------------------------------------------------------------------
|Manual Post-Implement. |
------------------------------------------------------------------------
|VALID FOR |
|Software Component SAP_ABA SAP Application...|
| Release 710 SAPKA71004 - SAPKA71013 |
| Release 711 SAPKA71101 - SAPKA71108 |
| Release 731 Until SAPKA73102 |
------------------------------------------------------------------------

After the implementation of the correction instructions, call transaction SE38 and create the following text elements for the report RFICO_OVERLAPPED_PERIODS:

004 "Simulation mode (without database change)"
005 "The buffered table FICOT_CONDI_BUFF is checked (default conditions)"
009 "otherwise, the unbuffered table FICOT_CONDI (individual conditions)"

In addition, the enter the following selection texts for the two parameters used by the report:
P_BUFFER "Buffer indicator 'X' means"
P_SIMU "Simulation indicator means"

activate the report RFICO_OVERLAPPED_PERIODS.