Ansicht
Dokumentation

/EHR/SOL71_DOWN - Ausgabeformate

/EHR/SOL71_DOWN - Ausgabeformate

CL_GUI_FRONTEND_SERVICES - Frontend Services   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Um die unterschiedlichen Anforderungen der Datenbereitstellung für den OrgPublisher zu definieren, werden Ausgabeformate verwendet. Ein Ausgabeformat besteht aus folgenden Festlegungen:

  • Einem Auswertungsweg, über den betreffenden Objekte gelesen werden sollen (Planstellenhierarchie, Organisationsstruktur etc).
  • Objekttypen, d.h. welche Objekte sollen berücksichtigt werden
  • Namen und Eigenschaften der Felder in den Übergabedaten für den OrgPublisher
  • Ausgabeanweisungen, die beschreiben welche Daten übergeben werden sollen.

Objekttypen und Objektlevel

In der Tabelle Objekttypen definieren Sie die hierarchische Reihenfolge der PD-Objekte. Diese Hierarchie hat Auswirkungen auf die spätere Ausgabe der Daten.

Wir empfehlen, die Level der Objekte in der gleichen Reihenfolge zu definieren, wie diese auch im Auswertungsweg erscheinen.

Beispiel:

Bei der Anwendung des Standardsauswertungswegs .O-S-P. werden die Objekte O, S, P in folgender Reihenfolge extrahiert:

1) O- S
2) S- P
3) O- O

Weisen Sie die Levels entsprechend der Reihenfolge der Objekte im Auswertungsweg zu.

O= Level 1
S= Level 2
P= Level 3

Die Reihenfolge der Level ist bei der Ausgabe der Daten von Bedeutung. Das Interfaceprogramm generiert immer dann einen neuen Datensatz, wenn das nächste Objekt das gleiche oder ein niedrigeres Level hat, als das gegenwärtig betrachtete Objekt. Kommt ein Objekt auf einem höheren Level, wird der Satz noch nicht abgeschlossen.

Ausgabefelder

Jeder Satz in den Übergabedaten für den OrgPublisher stellt typischerweise einen Leiter, einen Mitarbeiter, eine vakante Planstelle, einen Assistenten, einen Partner oder ein externen Mitarbeiter dar. Ein solcher Datensatz kann in verschiedenen Arten von Boxen dargestellt werden, z.B. normalen oder Assistentenboxen.

Die Struktur der Übergaben legt die Reihenfolge der Spalten und damit der Felder in einer kommagetrennten Datei (CSV) fest.

Diese Felder werden durch die OrgPublisher for SAP solutions gefüllt. Folgende Felder werden übergeben (weitergehende Informationen finden Sie in der Dokumentation des OrgPublishers unter Input File Layout):

Column number Fieldname
1 ParentBoxID
2 BoxID
3 BoxTitle
4 RecordType
5 ID
6 LastName
7 FirstName
8 MiddleName
9 JobID
10 JobTitle
12 BoxSequenceNumber
13 JobSequenceNumber
14 PositionSequenceNumber
15 PhotoURL
18 LevelNumber
11, 16, 17 und 19 sind reserviert
ab 20 können eigene Felder definiert werden, das sind die Kundenfelder

Empfehlenswert ist, für die Spalten 1 bis 19 die aus dem OrgPublisher bekannten Namen zu verwenden.

Weiterhin werden für die Ausgabefelder eine maximale Länge und der Typ benötigt. Der Typ des Felder wird an den OrgPublisher übergeben, wenn er mit der zusätzlichen Option "Kundenfelder für alle Positionstypen einblenden" aufgerufen wird. Nur die Typen Text und Numerisch können ohne weitergehende Einschränkungen verwendet werden.

Wenn die Felddefinitionen an den OrgPublisher übergeben werden, dann wird durch die Festlegungen in den Spalten "Anzeigen" und "Anzeigen Bezeichnungen" beschrieben, wie die Felder im OrgPublisher zu zeigen sind. Das betrifft nur Felder mit Spaltennummern größer als 19.

Besonderheiten

RecordType:

Im Feld RecordType können Sie einen Positionstyp für den Datensatz zuweisen. Anhand dieses Positionstyps können Sie die Formatierung, Farben, Ein- oder Ausblenden von Daten etc. definieren. Sie können für den RecordType beispielsweise den Positionstyp zuweisen. Wichtig ist, dass diese Einträge in spitze Klammern gesetzt werden.

LastName:

Bleibt das Feld Lastname und FirstName ungefüllt, wird dem Datensatz im OrgPublisher automatisch der Positionstyp .Open Position. zugewiesen.

Beispiel: HQ, ABC, .ABC Department., , 999-99-999,..,..,.., JOB001,.Supervisor.

Ausgabeanweisungen

Durch Abarbeitung der Ausgabeanweisungen werden die Ausgabefelder gefüllt.

Es gibt folgende Arten von Ausgabeanweisungen:

  • Wertezuzweisungen
  • Spezialfunktionen zur Bereitstellung spezieller Daten
  • Spezialfunktionen, um die Verarbeitung der Ausgabeanweisungen zu steuern
  • Externen Programmroutinen (User Exits)

Felder der Ausgabeanweisung

Ausgabeformat(muss)

Level(muss): Legt das Level fest, mit dem die Daten bei der Extraktion gesammlt werden (siehe auch Objektlevel)

Position in Tabelle (muss): die Tabellenposition wird benutzt, um mehrere Ausgabeanweisungen auf einem Level der Reihe nach abzuarbeiten. Die einzelnen Ausgabeanweisungen werden zunächst Level für Level abgearbeitet. Auf jedem Level werden die Ausgabeanweisungen nach aufsteigender Tabellenposition abgearbeitet.

Ausgabefeldname (muss): legt die Position innerhalb der Übergabedatei an den OrgPublisher (bzw. den XML-Elementnamen) fest.

Objekttyp (muss): gibt an, für welchen Objekttyp die Ausgabeanweisung gilt

Funktion: vereinfacht die Beschaffung von Daten oder steuert die logische Abarbeitung der Anweisungen. Wenn Sie nur ein Infotypfeld einlesen wollen, dann tragen Sie hier nichts ein.

Infotyp, Subtypund Quellfeld: liest den Wert eines Infotypfeldes aus. Soll dabei nur ein bestimmter Subtyp berücksichtigt werden, so kann dieser hier angegeben werden.

Selektionsoption: Diese Option ist nur dann von Bedeutung, wenn im Feld Subtyp nichts angegeben wird.
.=. Einzelwert bedeutet, dass nur Infotypsätze mit Subtyp = leer (space) gelesen werden. Ansonsten werden alle Subtypen gelesen und der Eintrag des letzten Subtyps übertragen.

Präfix:Dieses Feld definiert das Verknüpfungszeichen, wenn mehr als ein Quellfeld für das gleiche Zielfeld vorhanden ist. Wird kein Präfix definiert, so wird das Zielfeld nicht überschrieben, wenn es bereits durch vorhergehende Quellfelder gefüllt wurde.

Mögliche Einträge:

o $ = Leerzeichen

o $O = Das Zielfeld wird überschrieben, auch wenn es bereits gefüllt ist. Aber nur dann, wenn das Quellfeld nicht leer ist.

o $$ = Verknüpfen der Quellfelder ohne Trennzeichen

User Exit: ruft eine Routine als Userexit auf, um auch kompliziertere Werteermittlungen zu ermöglichen. Diese Routine ist eine in ABAP geschriebene Formroutine, die sich entweder in /EHR/SOL71_EXT_FORMS oder in einem eigenen Modulpool befindet (siehe dazu auch Basisparameter "Name Modulpool für Userexit"). Bitte beachten Sie, dass dieses Feld für die Spezialfunktionen CONSTANT, TABNR, TEXT, SPACE und IF eine andere Bedeutung hat.

Methode (zum Lesen der Infotypen): sollte nur in Ausnahmefällen bei Performanceproblemen verändert werden (siehe auch Basisparameter "Standardmethode Lesen Infotyp").

Logische Datenbank: ,,füllen der Infotypdaten über die logische Datenbank PCH

Funktionsbaustein:,,,,Lesen mit Funktionsbaustein RH_READ_INFTY

Ausgabeanweisung: Feldinhalte zuweisen

Mit Objekttyp, Infotyp, Subtyp und Quellfeld definieren Sie ein Quellfeld.

Beispiel:

Aus dem Kurztextfeld im Infotyp .Objekt. wird das Feld .Custom20. mit der Kurzbezeichnung der Organisationseinheit gefüllt.

Ausgabefeld:,,Custom20
Infotyp:,,,,1000
Subtyp:,,,,
Quellfeld:,,,,STEXT

Der Wert wird in das Ausgabefeld auf einem bestimmten Level geschrieben. Soll dasselbe Feld auf einem höheren Level nochmals gefüllt werden, entscheidet das Präfix, ob der alte Wert überschrieben wird oder der neue Wert angehängt wird.

Sonderfunktionen zur Wertezuweisung

Anstelle von Infotyp, Subtyp und Quellfeld kann auch eine der Spezialfunktionen genutzt werden, um Werte in das Ausgabefeld zu stellen.

CONSTANT

Mit der Sonderfunktion .CONSTANT. wird einem Ausgabefeld der Wert (oder eine Zeichenkette) aus dem Feld Userexit zugewiesen.

OBJID

Im SAP-System wird für jedes PD-Objekt eine eindeutige 8-stellige ID vergeben. Mit der Sonderfunktion OBJID kann diese 8-stellige Objekt-ID gelesen werden. Wenn Sie z.B. die Planstellen-ID benötigen, lesen Sie entsprechend die OBJID des Objekttyps .S..

OBJID_UP

Diese Funktion gibt die Objekt-ID des übergeordneten Objekts zurück.

Beispiel:

Auswertungsweg O-S-P. Die Sonderfunktion OBJID_UP für eine Planstelle liefert die ID der Organisationseinheit.

ID

Während des Lesens der PD-Objekte bekommt jedes Objekt eine interne eindeutige.Lesereihenfolge.-ID. Da die OBJID nicht unbedingt eindeutig sein muss, ist es besser diese ID für das Ausgabefeld"BoxID" zu nutzen. Gleichzeitig beschreibt sie die Reihenfolge, in welcher die Objekte gelesen wurde. Deshalb wird sie auch für die Ausgabefelder BoxSequenceNumber, JobSequenceNumber und PositionSequenceNumber verwendet.

ID_UP

Wie OBJID_UP bestimmt diese Funktion die interne ID des übergeordneten Objektes und wird deshalb für das Ausgabefeld "ParentBoxID" genommen.

NEWID

Wenn mehr als eine ID für ein Objekt benötigt werden, um z.B. mehr als eine Box zu erzeugen, dann liefert diese Funktion mit jedem Aufruf einen fortlaufenden Zähler. Diese Zähler startet standardmässig mit 1000000. Dieser Startwert kann in den Basisparametern geändert werden.

KOKRS/KOSTL

Diese Funktion bestimmt den Kostenrechungskreis (KOKRS) und die Kostenstelle (KOSTL) von einer Organisationseinheit oder einer Planstelle. Die Vererbung durch die Verknüpfung A011 wird dabei berücksichtigt.

STRUC

STRUC ist eine Struktur, die im Dictionary definiert ist und durch die logische Datenbank PCH automatisch gefüllt wird. Sie enthält Informationen über die Position des aktuellen Objekts innerhalb des Auswertungsweges. Sie müssen im Feld "Quellfeld" das Feld aus der Struktur STRUC angeben, aus dem der Wert übernommen werden soll.

STRUC is a structure defined in the data dictionary. This structure is filled with information about the position of the current object in the hierarchy. To get a value you must also define the field you want using the 'Input field'.

Beispiele:

1. Das Feld VPROZT aus STRUC enthält den Besetzungsprozentsatz.

2. Das Feld VRELAT wird mit der Verknüpfung zum übergeordneten Objekt gefüllt, die innerhalb des Auswertungsweges benutzt wurde.

TABNR

Diese Funktion liest Tabelleninfotypen ohne zusätzliche Programmierung eines Userexits. Tabelleninfotypen haben sowohl eine Tabelle HRPxxxx als auch eine weitere Tabelle HRTxxxx. Die Tabelle Tabelle HRTxxxx kann mehr als eine Zeile für ein Objekt haben.

Eine spezielle Zeile kann durch Angabe einer Zeilennummer im Feld "Userexit" addressiert werden.

Beispiel:

Zweite Zeile der Hinweise (Subtyp 0003) aus Infotyp 1002 (verbale Beschreibungen) einer Organisationsheit lesen

Objekttyp = O
Infotyp = 1002
Subtyp = 0003
Quellfeld = TLINE
Userexit = 2

TEXT

Diese Funktion liefert Daten aus einer Texttabelle. Diese Texttabelle kann die Prüftabelle eines Infotypfeldes sein. Es ist aber auch möglich, auf eine beliebige Tabelle zuzugreifen. Dazu gibt man im Feld Userexit getrennt durch einen Bindestrich den Tabellennamen und das zu lesende Feld der Texttabelle an.

Ist der Name des Schlüsselfeldes in der Texttabelle verschieden von dem Feldnamen im Infotyp, dann hängen Sie bitte den Schlüsselfeldnamen nach einem weiteren Bindestrich noch an Tabellen- und Feldname an.

Wenn die Texttabelle ein Feld vom Datentyp LANG hat, dann wird dieses Feld verwendet, um einen Satz einer bestimmten Sprache zu finden. Das kann je nach Wert im Selektionbild des Downlaodprogramms entweder eine Reihenfolge laut Tabelle T778L oder eine bestimmte Sprache sein.

Beispiele:

1.

Objekttyp = P
Funktion = TEXT
Infotyp = 0001
Quellfeld = PERSG
Userexit = T501T-PTEXT

Liefert den Text der Mitarbeitergruppe

2.

Objekttyp = P
Funktion = TEXT
Infotyp = 0001
Quellfeld = WERKS
Userexit = T500P-NAME1-PERSA

Liest den Text des Personalbereichs

SPACE

erzeugt Leezeichen. Die Anzahl wird im Feld Userexit angegeben (Standard: 1).

Beispiel:

Ausgabefeld Obj.typ Funktion   Präfix Userexit
Custom24 P CONSTANT   $O A
Custom24 P SPACE   $$
Custom24 P CONSTANT   $$ B
Custom24 P SPACE   $$ 3
Custom24 P CONSTANT   $$ C
Custom24 P SPACE   $
Custom24 P SPACE   -
Custom24 P CONSTANT   $$ D
Custom24 P SPACE   $$ 2

Das Ausgabefeld "Custom24" hat dann folgenden Inhalt:

A B C - D

Das bedeutet:

A(ein Leerzeichen)B(drei Leerzeichen)C(zwei Leerzeichen)-(ein Leerzeichen)D(zwei Leerzeichen)

Sonderfunktionen zur Steuerung

IF - ELSE - ENDIF

Diese Anweisungen steuern, ob nachfolgende Ausgabeanweisungen abgearbeitet werden sollen. IF, ELSE und ENDIF können geschachtelt werden.

Es gibt zwei Arten:

1. Ein Infotypfeld kann mit einem Wert verglichen werden, der im Feld Userexit steht.

Ausgabefeld Obj.typ Funktion Infotyp Quellfeld Präfix Userexit
S IF 1000 STEXT   Gruppenltr
RecordType S CONSTANT   $O
    ENDIF

2. Eine externe Routine, die im Feld Userexit angegeben ist, liefert einen Rückgabewert (z.B. Routine IS_MANAGER).

Ausgabefeld Obj.typ Funktion   Präfix Userexit
S IF   IS_MANAGER
RecordType S CONSTANT   $O
  S ELSE
RecordType   CONSTANT   E
  ENDIF

Externe Routinen - Userexits

Wenn eine einfache Wertezuweisung nicht die Anforderungen erfüllt, dann kann der Wert für das Ausgabefeld auch über eine in ABAP geschriebene Programmroutine bereitgestellt werden.

Diese ABAP-Formroutine muss entweder in dem ausgelieferten Modulpool /EHR/SOL71_EXT_FORMS oder ein einem eigenen Modulpool (im eigenen Namensraum) enthalten sein (siehe auch Basisparameter).

In dem mitgelieferten Modulpool /EHR/SOL71_EXT_FORMS finden Sie Beispiele und Beschreibungen, wie eine solche ABAP-Routine zu codieren ist.

Beispiele:

1. Entfernen von führenden Nullen, z.B. bei OBJID.

,,WITHOUT_LEADING_ZEROS

2. Prüfen, ob eine Planstelle eine Leiterplanstelle ist. Die Routine liefert einen Rückkehrcode, der in einer IF-Ausgabeanweisung ausgewertet werden kann.

,,IS_MANAGER

Objektfilter

Über diese Filter können einzelne Objekte einschließlich aller untergeordneten Objekte von der Verarbeitung ausgeschlossen werden.

Wie bei Mehrfachselektionen können mehrere Bedingungen für Infotypfelder des auszuschließenden Objekts definiert werden (siehe auch Filter Ausgabefeld). Die Infotypfelder werden über Objekttyp, Infotyp, Subtyp und Quellfeld bestimmt.

Beispiel:

Organisationseinheiten nicht im OrgPublisher darstellen, wenn im Infotyp 1010 (Hilfsmittel) die Werte 1 bis 5 stehen.

Objekttyp = 0
Infotyp = 1010
Subtyp = ZOPT
Quellfeldname = HILFM
Selektion = Nicht: die Werte sollen ausgeschlossen werden
Option = Between: Intervall
Von = 1
Bis = 5

Filter Ausgabefeld

Dieser Filter kann verwendet werden, wenn Datensätze in Abhängigkeit vom Inhalt der Ausgabefelder nicht an den OrgPublisher übergeben werden sollen.

Je Ausgabefeld können wie bei Mehrfachselektionen mehrere Bedingungen angegeben werden:

  • Einzelwerte
  • Intervalle
  • Größer als
  • Kleiner als
  • Größer oder gleich
  • Kleiner oder Gleich
  • Suchmuster mit den Suchzeichen + (genau ein Zeichen) und % (beliebig viele Zeichen)
  • Ein- oder auschließende Bedingung

Beispiel:

Der Mitarbeiterkreis von Personen (Objekttyp P) wird in das Kundenfeld CF_Persk ausgegeben. Personen aus dem Mitarbeiterkreis DU sollen nicht ausgegeben werden.

Im Gegensatz zu Objektfiltern wird dann auch die Planstelleninformation nicht übergeben, wenn z.B. der Jobtitel im gleichen Satz stehen.

Ausgabefeldname = CF_Persk
Selektion = Nicht: die Werte sollen ausgeschlossen werden
Option = Equal: Einzelwert
Von = DU






General Material Data   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 25328 Date: 20240420 Time: 060602     sap01-206 ( 255 ms )