| Status | Revision in progress |
|---|---|
| Owner | FRUTEAU-ext, Sabrina |
| Stakeholders | |
| Jira Request ID | ERP-165 - Getting issue details... STATUS |
| Jira Development ID | ERP-126 - Getting issue details... STATUS |
High- Level Specification
| Parameter | Value |
|---|---|
| Application System | |
| Business Process Reference |
Functional Overview
The Functional Specification ERP-164 defines the requirements for enabling 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 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 such as company code, system and user status, responsible project and other information which will be used to facilitate the time booking process. This central repository will also support the IC recharge process.
3 major steps:
- Creation of the custom table
The table will be populated from PRPS and enriched with attributes required for validation and routing, such as company code, WBS element system and user status, responsible person, and related project information.
2. Population and maintenance logic
A program will be developed to feed the table with selectable time-booking WBS elements, update the relevant attributes on the existing entries, and remove entries that are no longer valid. This program will be scheduled to run as a regular batch job.
3. Cross-system synchronization
Because time entry and projects exist in 3 SAP instances, the solution must ensure consistent availability of relevant WBS elements across all of them. The synchronization will cover both WBS created locally and WBS received from other instances that are flagged as Cross System.
Step | Description | Comment |
|---|---|---|
| 1 | Custom table Posting WBS elements /SYQ/T_CATSIC is created with the below attributes: Posting WBS element id Project type Responsible position id | |
| 2 | Update the table /SYQ/T_CATSIC. Compare PRPS with /SYQ/T_CATSIC. WBS in PRPS responding to the below criteria are eligible for Time booking and should be replicated to /SYQ/T_CATSIC:
| The program copying the entries will also assign the source system id in the field Source system = current system where entries are taken from PRPS. |
| 3 | Update new and existing entries in /SYQ/T_CATSIC with source system = current system. The program will update the below fields, in case a change has occurred on the WBS elements. The other fields will be deducted in a later stage:
| The table will contain entries created in the source system, and entries sent from different systems. The program will only update the entries created in the source system. |
| 4 | Update the System/User status and the Inactive flag: For all the Posting WBS elements with source system = current system, Update System/User status ( /SYQ/CATSSTAT). If WBS element status contains CLSD, Cancelled, ZCATS or On-Hold, set the Inactive flag (/SYQ/CATSINAC ) to YES.
| The Inactive flag is used by CATS to identify the WBS elements which should no longer accept time records. |
| 5 | Update status last change date: For Entries with source system = current system and with Status contain CLSD or ZCATS, Cancelled, Update status last change date.
| This date is only necessary for entries which have a closed and cancelled status. The program will later delete these entries based on the closure/cancellation date. |
| 6 | For all the entries with source system = current system, update Related project name.
| The Related project id was retrieved from step 2. From the project id, we obtain the Project description from PRPS. This is also a useful field for users searching for the appropriate Posting WBS element to book time against. This will update the Related project description for the new entries created in step 2 and refresh the Related project description for existing entries created in the current system. |
| 7 | Delete obsolete WBS elements: Delete entries in /SYQ/T_CATSIC with:
| The deleted entries in one instance should also delete the entry in other instances via synchronization (next step). |
| 8 | Synchronize the entries with Source system : Source system = Current system and Cross system= Yes These entries should be synchronized with other instances.
|
Assumptions
Dependencies
SAP PS related FS:
- Cross System, custom field to be created upfront
- Responsible project to be fed by position id
- User statuses On Hold, ZCATS and Cancelled to be created
Security, Integrity and Controls
The custom table /SYQ/T_CATSIC is maintained by a custom program. No manual update is required.
The CATS/My Timesheet and SAP PS support team should have access to display the table in all instances.
Configuration Requirements
N/A
Language Requirements
Special Requirements
N/A
Design Rationale
Functional Requirements
- 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 active statuses retrieved must not contain Closed or Cancelled.
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 | /SYQ/CATSWBS | Posting WBS element id |
| POST1 | /SYQ/CATSWBSDESC | Posting WBS element description |
| PBUKR | /SYQ/CATSBUKR | Company code |
PSPHI | /SYQ/CATSRPROJ | Related project id |
| VERNR | /SYQ/CATSRESPPOS | Responsible position id |
| USR10 | /SYQ/CATSICR | Cross System |
| PRART | /SYQ/CATSPTYPE | Project Type |
Update the field Source system /SYQ/SOURSYS = Current system and client id.
Update the field /SYQ/CATSRPROJD Related project description by:
- read value copied in /SYQ/CATSRPROJ
- insert in PRPS as POSID
- the value for field POST1 is the Related project description - /SYQ/CATSRPROJD
| PRPS fields | /SYQ/T_CATSIC fields | /SYQ/T_CATSIC Field label |
| POST1 | /SYQ/CATSRPROJD | Related project 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 /SYQ/SOURSYS = Current system and client id.
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.
- /SYQ/CATSSTAT - System/User status
- /SYQ/CATSSTATLC - Status last changed
- /SYQ/CATSINAC - Inactive flag
2.4 Update status and Inactive flag :
- 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. “IN_EXEC”, “ON_HOLD”, etc.)
- Concatenate all the statuses values received in the field /SYQ/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 /SYQ/CATSSTAT will be updated with: REL AUC ON_HOLD
- If /SYQ/CATSSTAT contains CLSD, Cancelled (TXT04 value TBC), ZCATS Stops time recording, ON_HOLD (TXT04 value TBC) then set the field /SYQ/CATSINAC to Yes.
2.5 Last change date
If the field System/User status /SYQ/CATSSTAT contain CLSD - Closed or Cancelled, the field /SYQ/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 /SYQ/CATSSTAT contain CLSD - Closed or Cancelled and SYQ/CATSSTATLC - Status last changed date > 1 year, then delete the entry from /SYQ/T_CATSIC. If the entry is flagged as Cross System /SYQ/CATSICR = Yes, then it should also delete the entries in the other systems.
2.5 Synchronize entries with other instances
Proposed Technology to Use
Data Source Considerations
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Data Validation Considerations
| Table | Field Name | Comments/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 IC-relevant, 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 |
|---|---|---|---|
| /SYQ/CATSWBS | Posting WBS element id | Similar to field POSID in table PRPS | Primary Key Entries copied from PRPS with Account Assignment = YES |
| /SYQ/CATSWBSDESC | Posting WBS element description | Similar to field POST1 in table PRPS | Taken from PRPS-POST1 |
| /SYQ/CATSCOMPCOD | Company code | Similar to field PBUKR in table PRPS. | Taken from PRPS-PBUKR |
| /SYQ/CATSRPROJ | Related project id | Similar to field PSPHI table PRPS | Taken from PRPS-PSPHI |
| /SYQ/CATSRPROJD | Related project description | Similar to field POST1 in table PRPS | Taken from PRPS-POST1 |
| /SYQ/CATSRESPPOS | Responsible position id | Similar to field VERNR in table PRPS | Taken from PRPS-VERNR |
| /SYQ/CATSPRESP | Responsible person name | Text field - CHAR 80 | Derived from /SYQ/CATSRESPPOS. Obtain the personnel id from the position id stored in /SYQ/CATSRESPPOS, then obtain the person's first name and last name from the pernr retrieved. |
| /SYQ/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. |
| /SYQ/CATSSTATLC | Status last changed | Date | Obtain the status last change date if status = Closed or Cancelled. |
| /SYQ/CATSINAC | Inactive flag | True / False type - Boolean ? | Set to yes if the status retrieved in /SYQ/CATSSTAT contains Closed, Cancelled or Locked. |
| /SYQ/CATSICR | 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. |
| /SYQ/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 (IC Relevant = Yes) this field will be used to identify the systems it should be sent to. |
Configuration Table
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Selection Screen Enhancement
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Processing Logic
Volumetrics
Performance Considerations
Error Handling
Testing
How to Test
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
Test Considerations/Dependencies
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design 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 | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |

