General presentation

Objective of the application

To identify number of planned call vs actual call

MVPMCL01  = PM: Maintenance Plan Calls (Snapshot)

Dataflow overview

Functional and Technical rules on Workbench + Reporting


Datasource

DTS_ZBW_V_WARPL = table ZBW_V_WARPL

MHIS        MANDT        =        MHIO        MANDT

MHIS        WARPL        =        MHIO        WARPL

MHIS        ABNUM        =        MHIO        ABNUM

MPOS        MANDT        =        MHIO        MANDT

MPOS        WAPOS        =        MHIO        WPPOS


Sequence to DBPMCL03 (same as DBPMCL04)

  1. DTP: DBPMCL01 -> DBPMCL03 - Full - KPI 3.2 Calls Curr. Week |C_NPLDAT=20190729-20190804;
  2. DTP: DBPMCL01 -> DBPMCL03 - Full - KPI 3.2 Calls Next Week |C_NPLDAT=20190805-20190811;
  3. DTP: DBPMCL01 -> DBPMCL03 - Full - KPI 3.3 Portfolio  | C_EXEFLG=' ';C_NPLDAT(I/LT)20190812;

*NPLDAT = Next plan date

if c_duedt  is not initial and c_duedt  < v_snapshot_date (1st day of snapshot week.

C_NOTAGE = v_snapshot_date - c_duedt.


IB_PMCL_01/2

IB_PMCL_03/4

IB_PMCL_06/5

C_SNAPWK = Max c_snapwk

from DBPMCL03/4 -> Not use

Use loading date -> Week


=> Loading date -> week  +1


=> Loading date -> week +1

=> Loading date -> week

Filter on loading

C_PLANFLG = X

C_CLOSFLG = X

C_PLANFLG = X

C_NOTAGE (Delay of Notification)


 = snap date - c_duedt


KPI

3.2 Next week

3.3 Portfolio

3.2 Current week


Rules & Explanations

KPI 3.02 Planned Activity (Nb of Calls)

Planned Activity (Nb of Calls)                    = BW_RKF_MVPMCL01_0001

                                                                   = K_COUNTER with C_PLANFLG = X

Planned Activity Executed (Nb of Calls)     = BW_RKF_MVPMCL01_0002

                                                                   = K_COUNTER with C_PLANFLG = X and C_EXEFLG = X

C_EXEFLG : get from  transformation DBPMCL01 ->  DBPMCL01 (/BIC/C_EXEFLG=' ';), which lookup DBPMOR01

DBPMOR01 --> DBPMOR01  real location to determine C_EXEFLG 

C_INACFLG

1. Get from DTS_ZBW_V_MPLA --> C_MPLAN2

IF SOURCE_FIELDS-ZSTTXT CS 'INAC'

  or SOURCE_FIELDS-ZSTTXT CS 'DLFL'.

     RESULT = 'X'.

ENDIF.

ZSTTXT gets from class (SE24) ZDTS_ZBW_V_MPLA

      CALL FUNCTION 'STATUS_TEXT_EDIT'

        EXPORTING

          OBJNR                   = v_objnr

          SPRAS                   = 'E'

       IMPORTING

         LINE                     = V_STTXT

Table JEST keep the status and gets text from TJ02T, program in the class will delete I0001 and combine text

2. Get from DBPMCL01 -> DBPMCL01 (load only C_EXEFLG =  blank)

Start Routine

    select logsys

           /BIC/C_MPLAN2

           /BIC/C_INACFLG

      from /BIC/PC_MPLAN2 " Rhodia

      into corresponding fields of table itb_C_MPLAN2[]

      for all entries in itb_collect_C_MPLAN2[]

      where logsys        = itb_collect_C_MPLAN2-logsys

        and /bic/C_MPLAN2 = itb_collect_C_MPLAN2-/bic/c_mplan2

        and /BIC/C_INACFLG = 'X'.

End routine

read table itb_C_MPLAN2[] into s_C_MPLAN2

        with key logsys         = <result_fields>-logsys

                /bic/c_mplan2  = <result_fields>-/bic/c_mplan.

      if sy-subrc = 0.

           <result_fields>-/BIC/c_inacflg = s_C_MPLAN2-/BIC/c_inacflg.

      else.

           clear <result_fields>-/BIC/c_inacflg.

      endif.