null

Skip to end of banner
Go to start of banner

Reporting API

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 2 Next »

There is a very flexible high-performance reporting API available. These APIs are called readers. Currently three different reader exist:

Class

Description

/PCH/CL_BPF_RD_RPROCESS

The Process Reader is used to read processes based on many different selection criteria.

/PCH/CL_BPF_RD_RPROCESS_LISTNG

The Enhanced Process Reader is based on the above mentioned Process Reader but extends the available fields for better readability (e.g. Name of the user, Status description, ...)

/PCH/CL_BPF_RD_RACTIVITY

The Activity Reader is used to read based on activities but also provides information about its parents objects (part process, process).

The usage of all the readers is quite simple (see example at the end of the chapter):

  • Create a result table based on data dictionary structures or tables or even create the results table based on local type definitions.
  • Create an instance of a reader.
  • Set selection criteria using various SET_ Methods.
  • Retrieve the result using the Method READ.

The readers automatically optimize the database access based on the selection criteria and only selects the necessary data according to the provided results table passed into the READ method. Optionally the fields to select can be restricted using the method SET_REQUESTED_FIELDS before the read if only a few fields of the results table should be filled up.
Selection criteria
The available selection criteria depends on the type of the reader. All the methods for setting selection criteria accept generic input values and will be automatically converted for the selection. The following types of criteria are supported:

  • Single value
  • List of values (table)
  • Range structure (single record)
  • Range table

    If just a single value or a list of values is set, they are meant to include these criteria. Use ranges if exclusion or different types of comparison is needed.

    Supported fields
    The supported tables and fields are described below.

    Field

    Description

    Process Reader


    /PCH/BPF_RPRC

    Contains all the runtime information about a process. Please refer to this structure to see the available fields.

    Enhanced Process Reader (in addition to the Process Reader)


    STATUS_DESC

    Description of the process status (e.g. Completed)

    PRIORITY_DESC

    Description of the priority (e.g. Low)

    OBJECT_TYPE_EXT

    Description of the object type (e.g. Material)

    BEZEI

    Description of the process

    PROCESS_ID

    External id of the process

    VERSION

    Version of the process

    INITIATOR_NAME

    Full name of the process initiator (e.g. Hans Müller)

    OBJECT_KEY_EXT

    Object key in external representation (e.g. without leading zeros)

    CREATED_NAME

    Full name of the user who has (technically) created the process

    STARTED_NAME

    Full name of the user who has (technically) started the process

    COMPLETED_NAME

    Full name of the user who has finished the process

    CANCELLED_NAME

    Full name of the user who has aborted the process

    OVERDUE_SINCE

    Overdue in days if a process is overdue

    Activity Reader


    /PCH/BPF_RACT

    Contains all the runtime information about an activity. Please refer to this structure to see the available fields.

    /PCH/BPF_RSPC

    Contains all the runtime information about the corresponding part process. Please refer to this structure to see the available fields.

    /PCH/BPF_RPRC

    Contains all the runtime information about the corresponding process. Please refer to this structure to see the available fields.

    TITLE

    Title of the corresponding workitem

    ACTIVITY_ID_EXT

    External id of the activity

    ACTIVITY_DESC

    Description of the activity

    PARTPROCESS_ID_EXT

    External id of the part process

    PARTPROCESS_DESC

    Description of the part process

    PROCESS_ID_EXT

    External id of the process

    PROCESS_DESC

    Description of the process

    PRIORITY_DESC

    Description of the priority (e.g. Low)

    Example
    TYPES: BEGIN OF ts_result , object_id TYPE /pch/bpf_rprc-object_id , object_key TYPE /pch/bpf_rprc-object_key , object_type TYPE /pch/bpf_rprc-object_type , status TYPE /pch/bpf_rprc-status , status_desc TYPE string , END OF ts_result , tt_results TYPE STANDARD TABLE OF ts_result WITH DEFAULT KEY , tt_status TYPE STANDARD TABLE OF /pch/bpf_rstatus WITH DEFAULT KEY . DATA: lo_reader TYPE REF TO /pch/cl_bpf_rd_rprocess_listng , lt_result TYPE tt_results . TRY. CREATE OBJECT lo_reader. lo_reader->set_process_state( VALUE tt_status( ( /pch/if_bpf_constants=>c_runtime_status-ready ) ( /pch/if_bpf_constants=>c_runtime_status-started ) ) ). lo_reader->set_activity_agents( ia_range = sy-uname iv_member_type = /pch/if_bpf_constants=>c_type-user ). lo_reader->read( IMPORTING et_data = lt_result ). CATCH /pronovia/cx_invalid_obj_type /pronovia/cx_invalid_para. RETURN. ENDTRY.

  • No labels