Ansicht
Dokumentation

/EHR/SOL71_DOWN - Output Formats

/EHR/SOL71_DOWN - Output Formats

TXBHW - Original Tax Base Amount in Local Currency   BAL Application Log Documentation  
This documentation is copyright by SAP AG.
SAP E-Book

Depending on the individual requirements you can define various Output Formats. An Output

Format consists of:

  • An evaluation path to get all objects for this download
  • An Object Level assignment that describes the hierarchy of the output
  • The names and the properties of the output fields in the file for the OrgPublisher
  • An Output Structure with the definition what data will be extracted

Object level

Depending on the evaluation path the output will show a hierarchical structure of objects.

Example:

Using the standard evaluation path "O-S-P".

The Objects O, S, P will be extracted in the following order:

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

Assign the levels according to the order the objects will appear in the evaluation path:

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

The total number of levels required is determined by the number of different objects in the hierarchical relationship between these objects.
It is recommended to

  • Assign each object type a different level
  • In the order in which they appear in the evaluation path
  • Without gaps between the level numbers
  • Starting with level 1 for the "highest" object

Output fields

Each record in an OrgPublisher input file typically represents a Manager, Employee, Open position, Assistant, Partner or Contractor in the organizational chart. In addition, a record can represent a Normal box, an Assistant box, or a Partner box within the hierarchy of boxes in the chart. You can also define a custom Position Type using the Define dialog within Orgpublisher.

The File Layout defines the order of columns of the comma-separated text file that OrgPublisher opens to generate your org chart. It also specifies the order of fields to be send to OrgPublisher via the Orgpublisher for SAP solutions.

All this fields are filled by the interface logic. Depending on the customizing you can choose how to fill each output field. The order of fields in the Input File for OrgPublisher is shown here. For further information please see the OrgPublisher manual (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 and 19 are reserved
20 and up Here you can use names according to your own
requirements, this are the custom fields

To have a clear description, it's recommended to use the field names like in the table for columns 1 to 19.

Further you need to enter the length and the type of the field. The field length defines the maximum length of a field. If option "Show custom fields for all position types" is selected, then the field type is passed to the OrgPublisher. It's recommended to use only "Text" or "Numeric".

If the field definition are passed to the OrgPublisher, the checkboxes "Display" and "Show name" determine if and how the fields are to be shown in the OrgPublisher. This concerns only fields with column number > 19, e.g. custom fields.

Output Definitions

In the Output Structure table you can define Level Statements. The return value of the statements will fill the Output Fields of your Output Format.

The Level Statements can be grouped as

  • Value Assignments
  • Special functions to get values
  • Special functions to control the Level Statements
  • External routines

These (Below listed) are the fields of a level statement

  • Format Number (must)
  • Level(Output Level) (must): defines the level during the collection of the data (see level logic in "Object level")
  • Table position (must): used for sorting
  • Output field: defines the position in the CSV output file or the tagname in the XML output file for TimeVision's OrgPublisher.
  • Object type (must): says for which object type this statement is to be executed
  • Special functions: are used if a simple value assignment is not suitable
  • Infotype, Subtype and Input field: define the source of a value
  • Selection option: shows more about the selection of subtype = . . (all blank). If you want to extract only from subtype then please use .=.. The other scenario is that all subtypes of an infotype are read.
  • Prefix Output field: this field defines the character that will be used to connect several source fields into one output field. If no prefix is defined the target field will not be overwritten if it is already filled.
    Special definitions:'
    $' = space. Append result on field separated with blank.
    '$O' = (Dollar Oscar) the target field will be overwritten even if it is already filled. But only if the source field is not empty.
    "$$" = (Dollar Dollar). By using the Prefix .$$. the former (if existing) entry will not be deleted and the new entry will be appended without a blank to this field.
  • User Exit: defines a form routine coded in ABAP to handle a more complicated algorithm. Please note that there are exceptions for the special functions CONSTANT, TABNR, TEXT and IF.
  • Method Read Infotype: should only be used if there are performance problems during reading of infotypes (see also basis parameters .Standard Method Reading Infotype.)
    Logical Database - retrieve infotype via logical database PCH
    Function Module - read infotype with the function module RH_READ_INFTY

Level Statements for Value Assignments

With Object type, Infotype, Subtype und Input Fieldname you define the source of the value. The target is the Output Fieldname on a specific level.

Special functions to generate values

Instead defining an Infotype, Subtype and Input Fieldname you can use some special functions to generate a certain value:

CONSTANT

With the CONSTANT function you assign fixed values to the output fields. The value of the constant must be entered in the field "User Exit".

OBJID

Use this function to obtain the unique eight-digit numerical code that represents a specific object (for example, an organizational unit, position or employee). This means that the OBJID extracts the eight digits ObjID for the current OrgUnit if it is assigned to the object O.

OBJID_UP

This function determines the object ID of the superior object in the object hierarchy.

Example:

Evaluation path 'O-S-P'. The OBJID_UP for object type S (position) is the ID of the organizational unit.

ID

Each object gets an internal unique ID during reading from the HR database. This ID is better suitable to distinguish the objects if the OBJID can be the same for different object types (depending on SAP customizing).

ID_UP

Like the OBJID_UP this function defines the internal ID of the superior object in the object hierarchy.

NEWID

If you need more than one ID for an object, then use this function. With NEWID an internal program counter delivers a new number. This counter starts the value defined in the customizing table 'Basic Parameters'.

KOKRS/KOSTL

This function determines the cost area (KOKRS) or the cost center (KOSTL) of an organizational unit or a position. These are the account assignments defined with relationship A011 or through inheritance.

STRUC

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'.

Examples:

1. To get the staffing percentages of a person on a specific position use the field VPROZT.

2. The field VRELAT contains the relationship to the superior object in the hierarchy.

TABNR

This function reads values from table infotypes without additionally programming a user exit. Table infotypes are infotypes with a table HRPxxxx and HRTxxxx. The database table HRTxxxx can have more than one row for a specific object. You can define a specific row in the customizing field "User Exit".

Example:

Object type = O
Infotype = 1002
Subtype = 0003
Input field = TLINE
User Exit = 2

This definition reads the second row from the notes (Subtype 0003) in the descriptions of an organizational unit.

TEXT

This function reads information from a text table. This text table can be connected to the field of the infotype as check-table, but it is not necessary. In the customizing field you define the tablename and the fieldname of the source field, separated by a hyphen.

If the name key field in the text table differs from the fieldname in the infotype, then please add after a hyphen this fieldname.

If the text table contains a field with datatype LANG, then this field is also used to select a record with the language defined in the selection screen (default is the logon language).

Examples:

1.

Object type = P
Infotype = 0001
Input field = PERSG
User Exit = T501T-PTEXT

Gets the text of the Employee Group

2.

Object type = P
Infotype = 0001
Input field = WERKS
User Exit = T500P-NAME1-PERSA

Reads the text of the Personnel Area.

SPACE

creates blanks. The number of blank characters are taken from field "User Exit". If there is no number, one blank is assumed.

Example:

Output field Obj.type Function Prefix 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

The result in output field "Custom24":

A B C - D

This means:

A(one blank)B(three blanks)C(two blanks)-(one blank)D(two blanks)

IF - ELSE - ENDIF (Functions)

These statements control the execution of level statements. There are two kinds of conditions. First the value of an infotype field can be compared with a constant defined in the customizing field "User exit". The condition with an external routine is described in the next section.

IF, ELSE and ENDIF can be nested.

External routines

If the simple value assignment doesn't satisfy all requests, you can carry out the inquiry of the results also in an external routine that is coded in ABAP. Please don't use for that case the special functions CONSTANT, TABNR or TEXT.

You enter the name of a form routine in the customizing field "User Exit". The ABAP form routine itself is included in a module-pool. Please define the name of the module-pool in the basis parameters (see basis parameters "Name of module-pool for additional own user exits").

With the installation the module-pool /EHR/SOL71_EXT_FORMS is delivered with examples and a descriptions on how to program such a form routine.

Examples:

1. User Exit to get the object ID without leading zeros

,,WITHOUT_LEADING_ZEROS

2. User Exit to decide if a position is a manager position for an organizational unit. The return code of the form routine gives you the possibility to use it in an IF-Statement.

,,IS_MANAGER

Object Filter

With object filters single objects and all subordinated objects can be excluded from processing. Like in multiple selections several conditions can defined for infotype fields of objects (see also Output Field Filters) by objecttype, infotype, subtype and input field name.

Example:

Organizational units with values between 1 and 5 in infotype 1010 (Authorities/Resources) including all positions and employees should not processed.

Object type = 0
Infotype = 1010
Subtype = ZOPT
Input field name = HILFM
Selection = Exclude specified values
Option = Between: range of values
From = 1
To = 5

Output Field Filter

You can use filters to exclude records from the output file for the OrgPublisher.

Like in multiple selections several conditions can be defined for output fields:

  • Single Values
  • Range of values
  • Greater Than
  • Less Than
  • Greater or Equal
  • Lower or Equal
  • Search Pattern with special characters:
    + (stands for one character)
    % (stands for any number of characters)
  • Select or exclude specified values

Example

The employee subgroup is written to customer field CF_Persk. Employees with subgroup DU should not processed.

Unlike object filters position data will also not processed, if e.g. Jobtitle and JobID are in the same row.

Output field name = CF_Persk
Selection = Exclude specified values
Option = Equal: single value
From = DU






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   BAL_S_LOG - Application Log: Log header data  
This documentation is copyright by SAP AG.

Length: 19294 Date: 20240423 Time: 151951     sap01-206 ( 197 ms )