Show TOC

Creating Inversion RoutinesLocate this document in the navigation structure

Use

If you have defined routines in the transformation for a VirtualProvider, for performance reasons it may be useful to create inversion routines for these routines. In this way you can transform the selection criteria of a navigation step into selection criteria for the extractor. However, you do not require inversion routines to ensure the consistency of the data.

More information: Processing Selection Conditions

When you jump to a transaction in another SAP system using the report-report interface, you have to create an inversion routine for the transformation if you are using one, because otherwise the selections cannot be transferred to the source system.

You can create an inversion routine for all types of routine. The following rules apply:

  • With expert routines, there is no segmentation into conditions.

  • With start routines, the system performs segmentation into conditions. The system applies this to the complete source structure. The source structure is the start and end point.

  • With end routines, the target structure is the start and end point.

Prerequisites

You have already created a routine.

Procedure

You are in the routine editor. To create an inversion routine, enter the following:

  1. Between *$*$ begin of inverse routine ... and *$*$ end of inverse routine ... enter your program code to invert the routine.

    With an inversion routine for a VirtualProvider, it is sufficient if the value set is restricted in part. You do not need to specify an exact selection. The more exactly you restrict the selection, the better the system performance when you execute a query.

    With an inversion routine for a jump using the report-report interface, you have to make an exact inversion so that the selections can be transferred exactly.

    For more information about the parameters of the routine, see: Parameters of Inversion Routines

  2. Check the syntax of your routine.

  3. Save the routine. You end the maintenance session for the routine by leaving the editor.

Example

An example for an inversion routine: Example for Inversion Routine