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

Compare with Current View Page History

« Previous Version 72 Current »

Status

  Revision in progress

OwnerFRUTEAU-ext, Sabrina 
Stakeholders
Jira Request ID

ERP-165 - Getting issue details... STATUS

Jira Development ID

ERP-126 - Getting issue details... STATUS

High- Level Specification

ParameterValue
Application System
SAP S/4HANA - China instance
SAP S/4HANA - Rest of World instance
Business Process Reference10.02.03.04. Manage Project Time Allocation

Functional Overview

The Functional Specification ERP-164 defines the requirements for enabling an additional WBS element fields to be used in My Timesheet and for time entry records to be saved in CATS.

This specification addresses the creation and management of the custom table that will serve as the source table for Posting WBS elements, the field used by users to book time in CATS..

Scope and Objectives

The objective of this document is to define the requirements for creating and maintaining a custom table that controls which WBS elements can be used for time posting in CATS. The table will contain WBS elements created locally and consolidate WBS elements from all three SAP instances flagged as Cross system. In addition to the WBS identifier, the table will be enriched with attributes which will be used to facilitate the time booking process.

3 major steps: 

  • Custom Table Creation: Designed based on WBS element' standard master data table (PRPS) and enriched with validation attributes.

  • Population & Maintenance Logic: A program , executed as a scheduled batch job, will regularly update, add, or remove WBS entries based on their current status and attributes.

  • Cross-System Synchronization: Ensures consistent replication of relevant WBS elements across the three SAP instances, including locally created and cross-system flagged entries.



Process Flow Diagram



Step

Description

Comment

1

WBS elements are created and released in one instance.

  • flagged as "Account Assignment assigned".
  • WBS system/User status is active
  • Project type is not: 11 Direct Asset Purchase, 35 Capital spares, 16 Capital lease, 15 Intercompany recharge, 20 Contingency, 25 Waste

2

The custom table Posting WBS element is updated with the WBS elements created locally. Additional WBS element information are copied along such as WBS element description, project type, Company code, Responsible person, Related project, Cross system flag ect... 

Cross system is a User field maintained on the WBS element. It is set to YES if the WBS element should welcome time entry postings from other instances. 

3

The WBS elements with Cross System = X will be replicated to the same custom table in the other instances. 


4

When booking time, user can select: 

  • the WBS elements created locally, eligible for time entry
  • the WBS elements created in different instances and flagged as Cross System. 

 

This allows the user to book time against a WBS element created in another instance. An IC recharge logic will the be applied, as explained in FS ERP-164. 

5

The custom table containing the Posting WBS elements is regularly updated:

  • WBS elements status (system and user status)
  • WBS element description
  • Related project description
  • Project type
  • Cross system
  • Plant
  • Profit center
  • CAPEX/OPEX
  • Item type id
  • Item type description
  • Cluster id/Description
  • Statistical
  • Update status last change date: 
  • Active/Inactive flag is also updated to prevent the WBS elements with status Closed, Cancelled, On Hold from being used for postings. 
  • Update status last change date: For statuses Closed and Cancelled, the status changed date is also recorded. The program will later delete these entries based on the closure/cancellation date.

 

These additional WBS element information allow the user to search for WBS element, based on various attributes. 

It is also used to control the WBS element selected and ensure that time is not posted on inactive WBS element. 

WBS elements that were previously flagged as Cross System and replicated to other instances, but later had their Cross System flag removed, will be set to inactive in all instances where they were not originally created.


6

Delete obsolete WBS elements:

The WBS elements with status = Closed and Cancelled with a status last changed date > a defined retention period are deleted from the custom table. 

 

The deleted entries in one instance with Cross System = X, should also delete the entry in other instances via synchronization (next step).


7

Entries which are copied from the local system and which have been flagged as Cross System = X are synchronized with other systems. 


WBS elements flagged as cross system can be used for time booking in all instances. 


Assumptions

  • WBS element and Project descriptions are maintained in a single language only and are not translated. The language used by the user to create or maintain the descriptions is the one that applies to the WBS element and project description.
  • WBS elements id number ranges are different on each instances. No duplication is possible. 

Dependencies

Related Jiras: 

Security, Integrity and Controls

The custom table /SYQ/T_CATSIC is maintained by a custom program. 

The CATS/My Timesheet and SAP PS support teams should have Business Configuration Maintenance in all instances to manually correct entries in the custom table when required.

Configuration Requirements

N/A

Language Requirements

N/A

Special Requirements

N/A


Design Rationale

Functional Requirements

To support intercompany (IC) recharge and enable time booking against WBS elements created in other SAP instances, without confusing end users, a custom table, a supporting programs and a synchronization between instances are required.

The CATS / My Timesheet application will reference this custom table when users select a WBS element for time booking, ensuring that only eligible and active WBS elements are available for selection.

1. Posting WBS Element Custom Table

The value help in CATS / My Timesheet will read exclusively from this custom table.

The table will contain the key information needed to:

  • Support search and selection of WBS elements in time entry,

  • Control time posting based on status,

  • Enable IC recharge based on company code logic described in FS ERP-164 UI - CATS Enhancement for Intercompany Recharge.

  • Synchronize WBS entries across SAP instances, using the Cross System flag. 

(Refer to the Custom Table Definition section for detailed field descriptions.)

2. Custom Program to Feed and Update the Custom Table

A batch program will be developed and scheduled to automatically populate and maintain the table.

2.1 Identify and Add New WBS Elements in the same instance

The program will compare the custom table with the standard table PRPS to identify new WBS elements that should be added to the local custom table. 

Selection criteria:

  • Account Assignment = X

  • System/User status is not Created, On Hold, Template locked, Closed, or Cancelled

  • Deletion Indicator set to X in PRPS
  • Project Type 11 (Direct Asset Purchase), 35 (Capital Spares), 16 (Capital Lease), 15 (Intercompany Recharge), 20 (Contingency), 25 (Waste)

Entries meeting these criteria will be copied to the custom table, with Source System = the system where the program is executed.

2.2 Update Existing Entries

The following fields will be updated when changes occur in the standard WBS data:

  • WBS Element Description

  • Related Project ID / Description

  • Cross-System Flag

  • Responsible Position ID

  • Project type
  • Plant
  • Profit center
  • CAPEX/OPEX
  • Item type id
  • Item type Description
  • Cluster id
  • Cluster description
  • Statistical

2.3 Update Status-Related Fields

For all entries where Source System = Current System, the program will:

  • Refresh System and User Status,

  • Set the Inactive Flag = X if the WBS status includes Closed, On Hold, Locked or Cancelled,

  • Capture the Last Status Change Date when the WBS status includes Closed or Cancelled, as these entries may later be deleted.

For all entries where Source System = NOT Current System and Cross System is not activated, the program will:

  • Set the Inactive Flag = X

2.4 Delete Obsolete Entries

The program will include an input parameter for the retention period.
If a WBS element is Closed or Cancelled and its Last Status Change Date is older than the retention period, the entry will be deleted from the custom table.

3. Synchronization Across Instances

  • Entries flagged as Cross-System = X will be replicated to the other SAP instances.

All attributes of the entry will be replicated to ensure consistency across systems. 
The Source System field identifies where each entry was originally created and determines the replication direction.

Target systems will reflect all changes in real time (or per scheduled synchronization), ensuring consistent data availability for time booking across all instances.

  • When the Cross System flag is updated in the source system from ‘X’ to blank, this change will be replicated to all other instances. The entry will then have Cross System = Blank in all the instances. 

Proposed Technology to Use




Data Source Considerations

TableField NameComments/Calculation/Field Manipulation
PRPS

POSID

OBJNR

POST1

PBUKR

PSPHI

VERNR

PRART

WERKS

PRCTR

SYCAP_OPX

XSTAT

Field values copied from PRPS to custom table by the program. 
/RPM/ITEM_D

ITEM_TYPE

SYCLUSTER

Obtain Item type id and cluster id for the Related project
/RPM/ITEM_TYPE

ITEM_TYPE_T 

Obtain Item type description
JEST

OBJNR

STAT

INACT

Table used by the FM BAPI_BUS2054_GET_STATUS to return currently active statuses for each WBS elements. The OBJNR is obtained from PRPS. 
JCDS

OBJNR

STAT

UDATE

Table used to retrieved WBS element status last change date. 
TJ30

ESTAT

TXT04

Table used to get the user status text.
TJ02

ISTAT

TXT04

Table used to get the system status text.
PROJ

POSID

POST1

Read the Related project description from this table



Data Validation Considerations

TableField NameComments/Calculation/Field Manipulation













Custom Tables


Master Data

Posting WBS element

The custom table will serve as the central repository of Posting WBS elements eligible for time posting in CATS. It contains all WBS element created locally as Account assigned, and it consolidates WBS elements from all three SAP instances flagged as Cross System, along with attributes needed for validation and reporting such as company code, system and user statuses, responsible person, and related project information. 

FieldDescriptionData Type/LengthValidation rule/ Value Help
CATSWBSPosting WBS element idSimilar to field POSID in table PRPS

Primary Key

Entries copied from PRPS with Account Assignment = YES 

The value help conditions are detailed in the Jira ERP-610 WBS element search help.

CATSWBSDESCPosting WBS element descriptionSimilar to field POST1 in table PRPSTaken from PRPS-POST1
CATSCOMPCODCompany codeSimilar to field PBUKR in table PRPS.Taken from PRPS-PBUKR
CATSPTYPEProject TypeSimilar to PRART in PRPS
CATSRPROJRelated project idSimilar to field PSPHI table PRPSTaken from PRPS-PSPHI
CATSRPROJDRelated project descriptionSimilar to field POST1 in table PROJTaken from PROJ-POST1
CATSRESPPOSResponsible position idSimilar to field VERNR in table PRPS

Taken from PRPS-VERNR

The search help will offer the possibility to search from the Responsible person name, derived from the position id. See Jira ERP- 511 Sync Project Person Responsible & Applicant with HR Positions, for additional details.

CATSWERKSPlantSimilar to field WERKS in table PRPS

Taken from WERKS in table PRPS

CATSPRCTRProfit centerSimilar to field PRCTR in table PRPS

Taken from PRCTR in table PRPS

CATSCOXCAPEX/OPEXSimilar to field SYCAP_OPX in table PRPS

Taken from SYCAP_OPX in table PRPS

CATSITEM_TYPEItem typeSimilar to field ITEM_TYPE in table /RPM/ITEM_D

Insert Related Project id CATSRPROJ in /RPM/ITEM_D field EXTERNAL_ID, and get ITEM_TYPE

CATSITEM_TYPEDItem type descriptionSimilar to field ITEM_TYPE_T  in table /RPM/ITEM_TYPE

Insert value obtained in CATSITEM_TYPE Item type id into /RPM/ITEM_TYPE to obtain ITEM_TYPE_T

CATSCLUS Cluster idSimilar to field SYCLUSTER in table /RPM/ITEM_D

Insert Related Project id CATSRPROJ in /RPM/ITEM_D field EXTERNAL_ID, and get SYCLUSTER Cluster id.

CATSCLUSDCluster id DescriptionSimilar to field TEXT1 in table CGPL_TEXT

Use FM  /RPM/ITEM_DISPLAY to retrieve the Item Description

CATSXSTATStatisticalSimilar to PRPS-XSTAT

Taken from PRPS XSTAT

CATSSTATSystem/User statusText field - CHAR 80Obtain system and user statuses as described in Functional requirement section. All the active status retrieved are concatenated in the field. 
CATSSTATLCStatus last changedDate Obtain the status last change date if status = Closed or Cancelled
CATSINACInactive flagTrue / False type - Boolean ?Set to yes if the status retrieved in CATSSTAT contains CLSD Closed, CNCL cancelled, or HOLD On-Hold
CATSCSCross SystemSimilar to field USR10 in table PRPS

Taken from PRPS-USR10. 

Only the entries with this field set to Yes will be synchronized with other systems. 

SOURSYSSource system

Logical system id - BD54 

LOGSYS

This field will hold the system id where the entry was originally created in PRPS and copied to the table. 

If the entry needs to be synchronized to other systems (Cross System = X) this field will be used to identify the systems it should be sent to.   

When Cross System flag is updated in the source system from ‘X’ to blank, this change will be replicated to all other instances. The entry will then have Cross System = Blank in all the instances. 


LASTDATELast changed date

Date

The program will insert the current date at each updates. 


Configuration Table

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

Field NameDescription

Select:

Data Type/LengthDefault Value/ Validation rule/ Value HelpSelection Logic













Processing Logic

  1. Create custom table
    • Table id: /SYQ/T_CATSIC
    • Table name: Posting WBS elements
    • Field catalog: see Custom table section below. 

2.  Custom program to maintain Posting WBS elements /SYQ/T_CATSIC table:

2.1 Add new entries:

The program will compare PRPS with /SYQ/T_CATSIC.

Identify the entries existing in PRPS but missing in /SYQ/T_CATSIC, responding to the below conditions :

    • the WBS elements with Account Assignment BELKZ activate
    • for each entries identified, check System/User status. The statuses retrieved must not contain Template Locked TLCK, Created CRTD, Closed CLSD, On Hold HOLD or Cancelled CANCELLED.
    • Exclude the WBS elements which are assigned to project type PRART = 11 Direct Asset Purchase, 35 Capital spares, 16 Capital lease, 15 Intercompany recharge, 20 Contingency, 25 Waste
    • Exclude WBS elements with deletion flag LOEVM (PRPS) set to X 
    • Last run date of the program is stored in DB (TBD by Development team). Select the WBS elements with Last changed date in PRPS field AEDAT > or = to Last run date. 

Entries identified responding to above conditions and which do not already existing in /SYQ/T_CATSIC are copied from PRPS to /SYQ/T_CATSIC. 

The copy includes the below fields from PRPS: 

PRPS fields/SYQ/T_CATSIC fields/SYQ/T_CATSIC Field label
POSIDCATSWBSPosting WBS element id
POST1CATSWBSDESCPosting WBS element description
PBUKRCATSBUKRCompany code

PSPHI

CATSRPROJRelated project id
VERNRCATSRESPPOSResponsible position id
USR10CATSCSCross System
PRARTCATSPTYPEProject Type
WERKSCATSWERKSPlant
PRCTRCATSPRCTRProfit center
SYCAP_OPXCATSCOXCAPEX/OPEX
XSTATCATSXSTATStatistical


Update the field Source system SOURSYS = Current system and client id. 

Update the field CATSRPROJD Related project description by: 

  • read value copied in CATSRPROJ Related Project id
  • insert in PROJ as POSID
  • the value for field POST1 is the Related project description - CATSRPROJD
PRPS fields/SYQ/T_CATSIC fields/SYQ/T_CATSIC Field label
POST1CATSRPROJDRelated project description

Update the fields Item type and Cluster id: 

In table /RPM/ITEM_D insert the Related Project id CATSRPROJ in /RPM/ITEM_D field EXTERNAL_ID. Then obtain the Item type and Cluster id:

/RPM/ITEM_D fields/SYQ/T_CATSIC fields/SYQ/T_CATSIC Field label
ITEM_TYPECATSITEM_TYPEItem type
SYCLUSTERCATSCLUSCluster id

Update CATSITEM_TYPED: Insert value obtained in CATSITEM_TYPE Item type id into /RPM/ITEM_TYPE to obtain ITEM_TYPE_T.

Update the field Cluster description using FM  /RPM/ITEM_DISPLAY

/SYQ/T_CATSIC fields/SYQ/T_CATSIC Field label
CATSCLUSDCluster id Description

2.2 Update attributes on existing entries

Some WBS attributes can be changed only before the WBS element gets released and some can be changed at any stage.

To ensure that we hold the latest information in /SYQ/T_CATSIC, the program will update the fields mentioned 2.1 for the existing entries, for which SOURSYS = Current system and client id. 

  • Update the existing WBS elements: Select the WBS elements with Last changed date in PRPS field AEDAT > or = to Last run date (date at which the program was last executed). Run the program on these WBS elements to update the below fields in /SYQ/T_CATSIC: 
PRPS fields/SYQ/T_CATSIC fields/SYQ/T_CATSIC Field label
POSIDCATSWBSPosting WBS element id
POST1CATSWBSDESCPosting WBS element description
PBUKRCATSBUKRCompany code

PSPHI

CATSRPROJRelated project id
VERNRCATSRESPPOSResponsible position id
USR10CATSCSCross System
PRARTCATSPTYPEProject Type
WERKSCATSWERKSPlant
PRCTRCATSPRCTRProfit center
SYCAP_OPXCATSCOXCAPEX/OPEX
XSTATCATSXSTATStatistical
  • Update the Related project description, if it has been changed: 

For all the project ids contained in /SYQ/T_CATSIC under the field CATSRPROJ Related project id:  Select the projects with Last changed date in PROJ field AEDAT > or = to Last run date (date at which the program was last executed). Update the field CATSRPROJD - Related project description.

  • Update Cluster id and description:

For all the PPM items ids contained in /SYQ/T_CATSIC under the field CATSCLUS Cluster id: table /RPM/ITEM_D insert the Related Project id CATSRPROJ in /RPM/ITEM_D field EXTERNAL_ID. Then obtain Cluster id CATSCLUS.

Cluster Description CATSCLUSD: from the value obtained CATSCLUS Cluster id, update the description with FM /RPM/ITEM_DISPLAY.

Since Item type cannot be changed once the item is created, there is no need to update the Item type once inserted in the custom table. 

 2.3 Update Posting WBS element status

For all the entries in /SYQ/T_CATSIC with Source system = Current system, the status fields below need to be updated. This update will cover new entries added in step 2.1 and existing entries. 

    • CATSSTAT - System/User status  
    • CATSSTATLC - Status last changed
    • CATSINAC - Inactive flag

2.4 Update status and Inactive flag :

2.4.1 For all the entries in /SYQ/T_CATSIC with Source system = Current system

    • For each Posting WBS element id, Get OBJNR from PRPS
    • Use FM BAPI_BUS2054_GET_STATUS to obtain System and User statuses assigned and currently valid. It returns a table of statuses for the requested objects.

This includes:

      • System statuses in format TXT04-TJ02 (e.g. CRTD, REL, CLSD, TECO, etc.)
      • User statuses TXT04-TJ30 ( e.g. “HOLD”, “”, etc.)
    • Concatenate all the statuses values received in the field CATSSTAT, with space in between. 

Example: If for a given WBS element the FM BAPI_BUS2054_GET_STATUS returns the below statuses:

      • System statuses : REL AUC
      • User status: ON_HOLD

Then the field System/User status CATSSTAT will be updated with: REL AUC ON_HOLD

    • If CATSSTAT contains CLSD, CNCL cancelled or HOLD On-Hold, then set the field CATSINAC to X.

2.4.2 For all entries in /SYQ/T_CATSIC where Source System ≠ Current System and the corresponding record in CATSCS has Cross System = blank

Set field CATSINAC to X.

2.5 Last change date

For all the entries in /SYQ/T_CATSIC with Source system = Current system

If the field System/User status CATSSTAT contain CLSD - Closed or Cancelled, the field CATSSTATLC - Status last changed date should be updated with:

Last change date for these statuses in table JCDS field UDATE. 

Entries with System/User status containing Closed or Cancelled entries are eligible for deletion, 1 year after their closure or cancelation date. This date will be used by the program to identify these entries.

2.6 Delete obsolete entries 

If the field System/User status CATSSTAT contain CLSD - Closed or Cancelled and CATSSTATLC - Status last changed date > Retention Period*, then delete the entry from /SYQ/T_CATSIC. If the entry is flagged as Cross System CATSCS = Yes, then it should also delete the entries in the other systems.  

*Retention Period = Instead of hardcoded, the retention period can be read by the program as an input parameter available in the selection screen. 

2.5 Synchronize entries with other instances

For all the entries in /SYQ/T_CATSIC with Source system = Current system

    • The entries with CATSCS Cross system = X, are to be synchronized with other systems. 
    • When the CATSCS Cross System flag is updated in the source system from ‘X’ to blank, this change will be replicated to all other instances. The entry will then have Cross System = Blank in all the instances. 

Remote enabled function module will be created for the synchronization. 


Volumetrics

The volume for WBS elements is currently unknown. 


Performance Considerations

N/A



Error Handling

Application Log

There will be an Application Log to monitor outcomes and diagnose issues, the job produces an execution summary after each run, highlighting new inserts, updates, deletions, replications triggered, and errors/skips.

Sections 

  • Inserted from PRPS
      • Shows WBS entries detected in PRPS but missing in the custom table.

      • Indicates whether each entry was successfully inserted into the custom table; if not, displays the reason.

  • Changed (Updates to Existing Records)
      • Lists entries where attributes were updated, with old → new values per field.

      • Indicates whether each update succeeded; if not, shows the reason.

  • Deleted Entries
      • Lists entries removed due to retention rules or status (e.g., Closed/Cancelled beyond cutoff).

      • Confirms successful deletion or provides error details.

  • Replications Triggered
      • Shows entries sent for cross-system synchronization with action type (Create/Update/Delete).

      • Records the message/queue/IDoc number (if relevant) and the result (Success/Failed/Pending).

  • Errors & Skips
      • For any entry where processing fails, logs the attempted action, error message, and standardized reason code.

      • The job skips to the next entry; the run continues without global termination.


Testing

How to Test

Test Conditions and Expected Results

IDConditionExpected Result
1

Create a set of projects in SAP PS with WBS elements, if possible in the 3 instances: 

  • WBS element with Cross system activated and some without
  • Account Assignment = yes
WBS element created.
2

Change the statuses on the WBS elements to obtain different cases: 

  • System status contains Closed 
  • User status contains Cancelled, On hold
  • WBS element only with active status
WBS element statuses updated. 
3Manually execute the program.

Check the custom table after execution: 

  • WBS elements not closed / cancelled are added to the table. 
  • All fields in custom tables correspond to the value in PRPS
  • WBS element statuses are updated 
  • If 3 instances are available, WBS elements with Cross System flagged are replicated to other systems
5

Change the below attributes on the WBS elements: 

  • Related project description
  • system status to Closed
  • user status to Cancelled
  • Responsible person 
  • Cross system flag

Manually execute the program.

The changes must be reflected in the custom table: 

  •  Inactive flag is set on WBS elements which status has been changed to Closed, Cancelled or On hold
  • Other fields are updated according to changes
  • Changes on WBS elements with Cross system flagged are replicated to other instances
6

Remove the Cross System flag on a WBS element already replicated to other instances.

Check that the Posting WBS element is inactive (after executing the program) and that it does not appear in search help. 


Test Considerations/Dependencies


Other Information


Development Details

Package

Package NameParent Package




Enhancement Implementation

Enhancement TypeStandard Definition NameCustom Implementation NameDesign Rationale Reference









Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference








Appendix

Custom Authorization Group Naming Convention

This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.

ABAP

ZFIZMMZPSZCOZSDZBCZFIZCA
TABLESZFITZMMTZPSTZCOTZSDTZBCTZFITZCAT

See also


No files shared here yet.

Change log

Version Published Changed By Comment
CURRENT (v. 72) Apr 14, 2026 07:00 FRUTEAU-ext, Sabrina
v. 72 Feb 11, 2026 08:46 FRUTEAU-ext, Sabrina
v. 71 Feb 04, 2026 10:43 TORRES-ext, Benedict
v. 70 Feb 04, 2026 10:38 TURAN-ext, Mert
v. 69 Feb 04, 2026 10:37 TURAN-ext, Mert
v. 68 Feb 04, 2026 09:04 FRUTEAU-ext, Sabrina
v. 67 Feb 02, 2026 12:29 TORRES-ext, Benedict
v. 66 Jan 30, 2026 09:48 FRUTEAU-ext, Sabrina
v. 65 Jan 30, 2026 09:09 FRUTEAU-ext, Sabrina
v. 64 Jan 30, 2026 08:20 FRUTEAU-ext, Sabrina

Go to Page History

  • No labels