| Status | |
|---|---|
| Owner | BIDALIA-ext, Kuldeep |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | S/4Hana ROW, S/4Hana China, S/4Hana CUI |
| Business Process Reference | 10.02.01.01. Manage Project/WBS Changes 10.01.03.01. Manage Initiatives and Items |
Standard fields "Person Responsible No." and "Applicant No." are utilized in Project Definition and Work Breakdown Structure (WBS) elements of a project to track accountability and facilitate project-related notifications & workflows. Given that standard fields are maintained through manual configuration. In Syway design , it is intended to use Position numbers in this table based on the roles assigned. This means-
Scope and Objectives
Scope- This enhancement defines a scheduled batch job that extracts HR positions based on their Security Role assignment and updates-
Objective- The key objective is to auto populate the Person Responsible and Applicant tables with relevant Positions based on relevant Security Roles.
N/A
Process steps are-
Step | Description | Comment |
|---|---|---|
| 1 | Assign HR Position to a SAP User ID | Existing active HR Position is assigned to a SAP User ID/s |
| 2 | Assign Security Role to SAP User ID | Assign Security Role e.g. ‘Person Responsible - Project’ OR ‘Person Responsible - WBS’ OR 'Project Financial Controller' to SAP User ID/s |
| 3 | Execute Batch Job manually | Position will be derived based upon the defined Security Role assignment to the SAP User ID. Person Responsible No. or Applicant No. table will be appended as-
|
| 4 | Check Positions available in Project Definition and WBS elements | Open a project and select project definition/ WBS element- If Security Roles ‘Person Responsible - Project’ OR ‘Person Responsible - WBS’ is assigned to the Position via SAP User ID then search the Position in the Person Responsible No. field. If Security Role ‘Project Financial Controller’ is assigned to the Position via SAP User ID then search the Position in the Applicant No. field. |
| 5 | Check Positions available in the PPM Item | Open an PPM Item- If Security Roles ‘Person Responsible - Project’ OR ‘Person Responsible - WBS’ is assigned to the Position via SAP User ID then search the Position in the Project Owner field. If Security Role ‘Project Financial Controller’ is assigned to the Position via SAP User ID then search the Position in the Project Financial Controller field. |
Assumptions
N/A
N/A
N/A
The proposed batch job must fulfill functional requirement to ensure accurate, Security Role based HR Positions via SAP User ID are available and extracted for the project governance. First, the system must extract HR positions from standard infotypes by evaluating their relationship to predefined Job i.e. "Person Responsible- Project", "Person Responsible- WBS" and Project Financial Controller.
Once extracted, the batch logic must filter positions based on Security Role: positions linked to "Person Responsible- Project", "Person Responsible- WBS" Security Roles must be inserted or updated in the Person Responsible table, while those linked to the Project Financial Controller Security Role must populate the Applicant table.
Additionally, the batch job must log all successful and failed updates, capturing metadata such as timestamp, record ID, and error type to support audit traceability.
N/A
N/A
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Data Validation Considerations
N/A
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Custom Tables
N/A
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Configuration Table
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
| 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 |
|---|---|---|---|---|---|
| WERKS | Personnel Area | Parameter | PERSA | System Instance specific Personnel Areas to be defined | Multiple Personnel Areas can be selected |
Processing Logic
This enhancement is initiated through a daily batch job to ensure that Job based positions are consistently maintained within the TCJ04 & TCJ05 tables, sequence is-
Step-1 Pass Person Responsible-Project or other roles to AGR_USERS-AGR_NAME and pick all users with valid validity i.e. current date must be falling between Start (FROM_DAT) and End date (TO_DAT).
Step-2 Pick the User ID and get the active Personal no. from PA0105. Pass User ID to PA0105-USRID where PA0105-USRTY= 0001, ensure active Personnel No. i.e. current date must be falling between Start (BEGDA) and End date (ENDDA). Pick personal no. PA0105-PERNR.
Step-3 Pass the Personal no. to HRP1001 to get the active Position. Pass below information to HRP1001 to pick active position i.e. HRP1001-SOBID
OTYPE = P
PLVAR = 01
RSIGN = 008
Current date between Start (BEGDA) and End date (ENDDA) to ensure Person to Position mapping is active
SCLAS = S
Pick SOBID
Step-4 Pick Position description from HRP1000-MC_STEXT where
OTYPE= S
OBJID= Position no.
Pass Personnel Area defined in the selection screen and pick all active Positions i.e. pass Personnel Area in HRP1008-PERSA and pick all active HRP1008- OBJID. Get only those positions which are assigned to specified Jobs Person Responsible- Project" or "Person Responsible- WBS"-
2. Identify Applicant Positions
Pick all active Positions based on Job "Project Financial Controller" where
3. Select action-
For Job i.e. HRP1001-SOBID = "Person Responsible- Project" or "Person Responsible- WBS", Compare TCJ04 table entry with Step-1 data.
If new Positions are found in Step-1 data, then insert them as new Records in TCJ04 i.e. Position in VERNR and Position text in VERNA.
For Job i.e. HRP1001-SOBID = "Project Financial Controller", Compare TCJ04 table entry with Step-2 data.
If new Positions are found in Step-1 data, then insert them as new Records in TCJ05 i.e. Position in ASTNR and Position text in ASTNA.
For Job i.e. HRP1001-SOBID = "Person Responsible- Project" or "Person Responsible- WBS", Compare TCJ04 table entry with Step-1 data.
If same Positions are found in both the tables, then update each Position text i.e. TCJ04-VERNA.
For Job i.e. HRP1001-SOBID = "Project Financial Controller", Compare TCJ04 table entry with Step-2 data.
If same Positions are found in both the tables, then update each Position text i.e. TCJ05-ASTNA.
Inactive Positions found in step-1 & 2 should be deleted from TCJ04 & TCJ05 tables if exist.
Note: SAP has provided Blocked option in both TCJ04 & TCJ05 tables, how to use it? SAP incident raised.
N/A
N/A
Monitoring and tracking of batch job (success or failure) and the ability to retrigger the batch job if needed.
Failed Batch jobs must be identifiable with exact reason of failure.
Some HR Positions are required which are assigned to respective Job.
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Valid new Position with Job "Person Responsible- Project" or "Person Responsible- WBS" | Entry in Person Responsible table will be maintained after executing batch job manually |
| 2 | Valid new Position for "Project Financial Controller" | Entry in Applicant table will be maintained after executing batch job manually |
| 3 | Invalid Job in new Position i.e. defined Job of Person Responsible and Applicant are not assigned | No update in OPS6 or OPS7 after executing batch job manually |
| 4 | Change existing Position Description which is already maintained in either OPS6 or OPS7 | Position text will be updated after executing batch job manually |
| 5 | Position with mixed jobs i.e. "Person Responsible- Project"/ "Person Responsible- WBS" and "Project Financial Controller" | Error log will be generated via batch job |
| 6 | Position with mixed jobs i.e. "Person Responsible- Project" and "Person Responsible- WBS" | Batch job will process and TCJ04 table will be maintained. |
| 7 | Position is inactive | Position will be deleted from OPS6 or OPS7 after batch job execution. |
N/A
| 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.
