Status

OwnerFRUTEAU-ext, Sabrina 
StakeholdersThe business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name
Jira Request ID

Jira Development ID

High- Level Specification

ParameterValue
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 intercompany (IC) relevant

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 support the IC recharge process. 

3 major steps: 

  1. 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 IC relevant.


Process Flow Diagram


Step

Description

Comment

1

Custom table Posting WBS elements /SYQ/T_CATSIC is created with the below attributes: 

Posting WBS element id
Posting WBS element description
Company code
Related project id
Related project description
Responsible position id
Responsible person name
System/User status
Status last changed
Inactive flag
IC Relevant
Source system


2

Update the table /SYQ/T_CATSIC. 

Identify missing WBS elements from /SYQ/T_CATSIC:

In PRPS, identify:

  • All WBS elements flagged as Account Assigned
  • System/User status is not Closed or Cancelled
  • In /SYQ/T_CATSIC:
    • Select the entries for which Source system = Current system
        • Inactive = No

Copy the WBS elements to /SYQ/T_CATSIC along with the below information: 

Posting WBS element id
Posting WBS element description
Company code
Related project id
Responsible position id
IC Relevant
Source system = Current system


WBS element created locally and flagged as "Account Assignment assigned" are eligible for Time booking. 

The ones that are active should get replicated to the custom table /SYQ/T_CATSIC

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: 

    • Posting WBS element description
    • IC Relevant flag
    • Person Responsible position

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 (/SYQ/CATSWBS) with source system = current system,

Update System/User status ( /SYQ/CATSSTAT). 

If WBS element status contains CLSD, Cancelled or On-Hold, set the Inactive flag (/SYQ/CATSINAC ) to YES.

 

The Posting WBS element status is updated. 

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 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 Person responsible, based on the field Person responsible position id, for all the entries with source system = current system.

 

From the Position id retrieved from PRPS and stored in the field Responsible position id, the program will obtain the First Name and Last Name. 

This can be used by time entry users when searching for the appropriate Posting WBS element to book time against. 

7

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. 

8

Synchronize the entries with Source system :

Source system =  Current system and IC Relevant = Yes

These entries should be synchronized with other instances.

 


9

Delete obsolete WBS elements:

Delete entries in /SYQ/T_CATSIC with:

  • Status contain CLSD or Cancelled
  • Last Status change date > 12 months
  • Source system = Current system

 

The deleted entries in one instance should also delete the entry in other instances. 


Assumptions

Describe any assumptions that have been made in the process of completing this design. What functionality is expected of configuration or other developments that pass information to this development and/ or retrieve the information processed by it (performance, triggers, exceptions, etc.)

Dependencies

SAP PS related FS: 

  • IC Relevant, custom field to be created upfront
  • Responsible project to be fed by position id
  • User statuses On Hold 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

Specify the language requirements for this object. Specify the required language and type of translation, like labels, data.

Special Requirements

N/A


Design Rationale

Functional Requirements

  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:

All WBS elements in table PRPS with Acc. Assignment element BELKZ set to Yes are copied to the custom table /SYQ/T_CATSIC. 

When updating the table, the program will check that only WBS elements that are not Closed or Cancelled are replicated to /SYQ/T_CATSIC. 

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 BELKZ activate
    • For each entries identified, check System/User status. The active statuses retrieved must not contain Closed, Locked or On Hold.

Entries identified responding to above conditions and not 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/CATSWBSPosting WBS element id
POST1/SYQ/CATSWBSDESCPosting WBS element description
PBUKR/SYQ/CATSCOMPCODCompany code

PSPHI

/SYQ/CATSRPROJRelated project id
POST1/SYQ/CATSRPROJDRelated project description
VERNR/SYQ/CATSRESPPOSResponsible position id


Update the field Source system = Current system

 2.2 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: The statuses retrieved by the BAPI_BUS2054_GET_STATUS are to be concatenated in this field. See Proposed Technology to Use section. 
    • /SYQ/CATSSTATLC - Status last changed: 
    • /SYQ/CATSINAC - Inactive flag

  • System status and User status 
  • Update existing entries
  • Delete obsolete entries

Proposed Technology to Use

Update status, last change date 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 (value TXT04) 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




Data Source Considerations

Include an overview of the source

TableField NameComments/Calculation/Field Manipulation











Data Validation Considerations

Include an overview of the data validation requirement

TableField NameComments/Calculation/Field Manipulation













Custom Tables

If any custom configuration tables are required, which will be read by the enhancement logic, then specify them here.

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. 

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

Primary Key

Entries copied from PRPS with Account Assignment = YES 

/SYQ/CATSWBSDESCPosting WBS element descriptionSimilar to field POST1 in table PRPSTaken from PRPS-POST1
/SYQ/CATSCOMPCODCompany codeSimilar to field PBUKR in table PRPS.Taken from PRPS-PBUKR
/SYQ/CATSRPROJRelated project idSimilar to field PSPHI table PRPSTaken from PRPS-PSPHI
/SYQ/CATSRPROJDRelated project descriptionSimilar to field POST1 in table PRPSTaken from PRPS-POST1
/SYQ/CATSRESPPOSResponsible position idSimilar to field VERNR in table PRPSTaken from PRPS-VERNR
/SYQ/CATSPRESPResponsible person nameText 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/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. 
/SYQ/CATSSTATLCStatus last changedDate Obtain the status last change date if status = Closed or Cancelled. 
/SYQ/CATSINACInactive flagTrue / False type - Boolean ?Set to yes if the status retrieved in /SYQ/CATSSTAT contains Closed, Cancelled or Locked. 
/SYQ/CATSICRIC RelevantSimilar 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/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 (IC Relevant = Yes) this field will be used to identify the systems it should be sent to.   


Configuration Table

Title Configuration Table 1

Include an overview of the table and what it’s used for

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

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 NameDescription

Select:

Option or Parameter

Check box or Radio button

Import or Export

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













Processing Logic

This section defines the detailed step-by-step logic implemented within the BAdI/User Exit to process the data received from the standard SAP program and database retrieval. It explains the operations performed on the data, the expected outcomes in different scenarios and how the system should behave in response to specific conditions.



Volumetrics

Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)


Performance Considerations

Specify if there are any specific performance factors that need to be taken into consideration during development i.e. enhancement must be able to be executed by 10 users at the same time, etc.



Error Handling

Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures


Testing

How to Test

Please provide some guidance and/or test data to help the developer unit test the enhancement. Please include both positive and negative testing (to validate error situations handling). The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again or explain how to create new input data to the test. The developer will need logons for test users representing the various roles within the approval process.

Test Conditions and Expected Results

IDConditionExpected Result










Test Considerations/Dependencies

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.


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

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.


Change log