Lesen eines Infotyps einer Person in einem Zeitraum

Verwendung

Um alle Datensätze eines Infotyps einer Person in einem gegebenen Zeitraum in eine interne Infotyp-Tabelle zu stellen, können Sie folgende Programmierhilfe verwenden:

Makro: RP_READ_INFOTYPE

Das Makro definieren Sie mit Hilfe des Sprachelements INFOTYPES.

Sie können das Makro in allen Programmen zu beliebigen Zeitpunkten oder auch in Funktionsbausteinen verwenden.

Hinweis Hinweis

In der Datenbank PNP sollte normalerweise ein Infotyp mit GET PERNR gelesen werden. Das Lesen mit Hilfe des Makros RP_READ_INFOTYPE stellt eine Ausnahme dar.

Ende des Hinweises

Darüber hinaus können Sie den Funktionsbaustein HR_READ_INFOTYPE benutzen. Wie Sie den Funktionsbaustein einsetzen, lesen Sie in der Dokumentation zum Funktionsbaustein.

Voraussetzungen

  • Der Gültigkeitsbeginn des Zeitraumes muß kleiner oder gleich dem Gültigkeitsende des Zeitraumes sein.

  • Gültigkeitsbeginn und -ende sind korrekte Datumsangaben (am besten vom Type DATE).

  • Die Infotyp-Tabelle muß zur Infotypnummer passen.

  • Das das Makro verwendende Programm muß das Include DBPNPMAC beinhalten.

Funktionsumfang

Das Makro RP_READ_INFOTYPE sorgt dafür, daß alle Datensätze eines Infotyps einer Person in einem gegebenen Zeitraum in eine interne Infotyp-Tabelle gestellt werden.

Parameter

RP_READ_INFOTYPE pernr infty inftytab beg end

IN :

1)

Personalnummer der gewünschten Person

 

2)

Infotypnummer des gewünschten Infotyps

 

3)

Name der internen Infotyp-Tabelle

 

4)

Gültigkeitsbeginn des Zeit-Intervalls

 

5)

Gültigkeitsende des Zeit-Intervalls

OUT:

1)

PNP-SW-FOUND = 0 , falls kein passender Datensatz im Datenbestand gefunden wird

   

PNP-SW-FOUND = 1 , falls mindestens ein passender Datensatz im Datenbestand gefunden wird

 

2)

PNP-SW-AUTH-SKIPPED-RECORD = 0 , falls die HR-Berechtigungsprüfung keinen Datensatz wegen fehlender Berechtigung zurückgehalten hat

   

PNP-SW-AUTH-SKIPPED-RECORD = 1 , falls die HR-Berechtigungsprüfung mindestens einen Datensatz wegen fehlender Berechtigung zurückgehalten hat

 

3)

interne Infotyp-Tabelle, gefüllt mit allen passenden Datensätzen, für die der Benutzer Berechtigung hat (evtl. leer)

Prüfung

keine

Beispiel

(RP_READ_INFOTYPE pernr infty inftytab beg end)

   INFOTYPES: 0001.

   RP-LOWDATE-HIGHDATE.

   DATA: PERNR LIKE P0001-PERNR.

   DATA: BEGDA LIKE P0001-BEGDA, ENDDA LIKE P0001-ENDDA.

   PERNR = '12345678'.

   BEGDA = LOW-DATE + 15.

   ENDDA = HIGH-DATE - 5.

   RP-READ-INFOTYPE PERNR 0001 P0001 BEGDA ENDDA.

   IF PNP-SW-AUT-SKIPPED-RECORD EQ '1'.

      WRITE: / 'keine ausreichende Berechtigung'. STOP.

   ENDIF.

   IF PNP-SW-FOUND EQ '0'.

      WRITE: / 'Informationstyp 0001 fehlt'. STOP.

   ENDIF.