| Status | |
|---|---|
| Owner | FRUTEAU-ext, Sabrina |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | SAP S/4HANA - China instance SAP S/4HANA - Rest of World instance |
| Business Process Reference | 10.02.03.04. Manage Project Time Allocation |
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..
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.
Step | Description | Comment |
|---|---|---|
| 1 | WBS elements are created and released in one instance.
| |
| 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:
| 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:
| 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. |
Related Jiras:
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.
N/A
N/A
N/A
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.)
A batch program will be developed and scheduled to automatically populate and maintain the table.
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
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.
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
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, Lock Timesheet 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:
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.
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.
Include an overview of the source
| Table | Field Name | Comments/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 |
Include an overview of the data validation requirement
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
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.
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
| CATSWBS | Posting WBS element id | Similar 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. |
| CATSWBSDESC | Posting WBS element description | Similar to field POST1 in table PRPS | Taken from PRPS-POST1 |
| CATSCOMPCOD | Company code | Similar to field PBUKR in table PRPS. | Taken from PRPS-PBUKR |
| CATSPTYPE | Project Type | Similar to PRART in PRPS | |
| CATSRPROJ | Related project id | Similar to field PSPHI table PRPS | Taken from PRPS-PSPHI |
| CATSRPROJD | Related project description | Similar to field POST1 in table PROJ | Taken from PROJ-POST1 |
| CATSRESPPOS | Responsible position id | Similar 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. |
| CATSWERKS | Plant | Similar to field WERKS in table PRPS | Taken from WERKS in table PRPS |
| CATSPRCTR | Profit center | Similar to field PRCTR in table PRPS | Taken from PRCTR in table PRPS |
| CATSCOX | CAPEX/OPEX | Similar to field SYCAP_OPX in table PRPS | Taken from SYCAP_OPX in table PRPS |
| CATSITEM_TYPE | Item type | Similar 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_TYPED | Item type description | Similar 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 id | Similar 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. |
| CATSCLUSD | Cluster id Description | Similar to field TEXT1 in table CGPL_TEXT | Use FM /RPM/ITEM_DISPLAY to retrieve the Item Description |
| CATSXSTAT | Statistical | Similar to PRPS-XSTAT | Taken from PRPS XSTAT |
| CATSSTAT | System/User status | Text field - CHAR 80 | Obtain system and user statuses as described in Functional requirement section. All the active status retrieved are concatenated in the field. |
| CATSSTATLC | Status last changed | Date | Obtain the status last change date if status = Closed or Cancelled. |
| CATSINAC | Inactive flag | True / False type - Boolean ? | Set to yes if the status retrieved in CATSSTAT contains CLSD Closed, CNCL cancelled, LTIM Lock Timesheet or HOLD On-Hold |
| CATSCS | Cross System | Similar 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. |
| SOURSYS | Source 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. |
| LASTDATE | Last changed date | Date | The program will insert the current date at each updates. |
Title Configuration Table 1
Include an overview of the table and what it’s used for
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
This section will give the details on the selection screen parameters, parameter type and whether it’s obligatory or not. This section can be used to define the Import Export parameters for Function Module or User Exit or Screens.
| Field Name | Description | Select: Option or Parameter Check box or Radio button Import or Export | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
![]()
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 :
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 |
| POSID | CATSWBS | Posting WBS element id |
| POST1 | CATSWBSDESC | Posting WBS element description |
| PBUKR | CATSBUKR | Company code |
PSPHI | CATSRPROJ | Related project id |
| VERNR | CATSRESPPOS | Responsible position id |
| USR10 | CATSCS | Cross System |
| PRART | CATSPTYPE | Project Type |
| WERKS | CATSWERKS | Plant |
| PRCTR | CATSPRCTR | Profit center |
| SYCAP_OPX | CATSCOX | CAPEX/OPEX |
| XSTAT | CATSXSTAT | Statistical |
Update the field Source system SOURSYS = Current system and client id.
Update the field CATSRPROJD Related project description by:
| PRPS fields | /SYQ/T_CATSIC fields | /SYQ/T_CATSIC Field label |
| POST1 | CATSRPROJD | Related 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_TYPE | CATSITEM_TYPE | Item type |
| SYCLUSTER | CATSCLUS | Cluster 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 |
| CATSCLUSD | Cluster 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.
| PRPS fields | /SYQ/T_CATSIC fields | /SYQ/T_CATSIC Field label |
| POSID | CATSWBS | Posting WBS element id |
| POST1 | CATSWBSDESC | Posting WBS element description |
| PBUKR | CATSBUKR | Company code |
PSPHI | CATSRPROJ | Related project id |
| VERNR | CATSRESPPOS | Responsible position id |
| USR10 | CATSCS | Cross System |
| PRART | CATSPTYPE | Project Type |
| WERKS | CATSWERKS | Plant |
| PRCTR | CATSPRCTR | Profit center |
| SYCAP_OPX | CATSCOX | CAPEX/OPEX |
| XSTAT | CATSXSTAT | Statistical |
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.
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.
2.4 Update status and Inactive flag :
2.4.1 For all the entries in /SYQ/T_CATSIC with Source system = Current system
This includes:
Example: If for a given WBS element the FM BAPI_BUS2054_GET_STATUS returns the below statuses:
Then the field System/User status CATSSTAT will be updated with: REL AUC ON_HOLD
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
Remote enabled function module will be created for the synchronization.
The volume for WBS elements is currently unknown.
N/A
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
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.
Lists entries where attributes were updated, with old → new values per field.
Indicates whether each update succeeded; if not, shows the reason.
Lists entries removed due to retention rules or status (e.g., Closed/Cancelled beyond cutoff).
Confirms successful deletion or provides error details.
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).
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.
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Create a set of projects in SAP PS with WBS elements, if possible in the 3 instances:
| WBS element created. |
| 2 | Change the statuses on the WBS elements to obtain different cases:
| WBS element statuses updated. |
| 3 | Manually execute the program. | Check the custom table after execution:
|
| 5 | Change the below attributes on the WBS elements:
Manually execute the program. | The changes must be reflected in the custom table:
|
| 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. |
List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| Package Name | Parent Package |
|---|---|
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
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 | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.
