Operational procurement is a vital business function that encompasses the activities and processes necessary to purchase goods and services. It begins from the point of determining a requirement, moves through selecting suppliers, transacting purchases, receiving goods or services, and ends at the payment for those acquisitions. Given its foundational role in ensuring that businesses get the materials they need, operational procurement needs to be both efficient and accurate.
In this realm, SAP S/4HANA (S/4) offers a valuable tool with its Self Service Procurement features. This allows end-users to handle their procurement activities directly, enhancing autonomy and reducing latency. Through a user-friendly interface, catalog-based ordering, and integrated workflows, the system optimizes routine procurement processes. Yet, the importance of comprehensive training and well-defined guidelines remains paramount to leverage its full potential and effectiveness. Consequently, with streamlined procurement processes, organizations can swiftly act to meet their operational needs.
Here's where default settings in purchase requisitions play a critical role. Imagine every time an employee needs to raise a purchase requisition, they have to manually input data for several fields – from material groups to storage locations. Not only is this time-consuming, but it also increases the potential for errors, which can lead to incorrect purchases or delays.
By having default settings, users can experience a much smoother process. With the help of the App “Default Settings for Users – Purchase Requisitions” (Component: MM-PUR-REQ; App-ID: F1995) users can pre-define certain values based on an employee's role, department, or past requisitions. This means that when a requisition is being created, many fields can auto-populate with the most likely values, saving time and reducing mistakes. These defaults, however, are not restrictive; they can be overridden when the specific need deviates from the norm, providing flexibility. The following picture shows the named app in edit mode for the exemplary user “john Peter”:
During an ongoing customer project, one task has been to initially edit/ set up default values for all system users, aiming to establish a consistent default across the board. Given the volume of users and to streamline the process, leveraging the mass-update functionality through an Excel-upload was identified to be the best choice. However, this turned out to be a significant challenge because to make these mass edits, a comprehensive list of all User IDs currently in the system is needed. Typically, one would expect the downloaded Excel, representing current default settings, to have a list of all users. Surprisingly, since these default settings had never been previously edited, the Excel was devoid of any user details. Without knowing which User IDs exist, you are simply unable to set the necessary default values.
Within the vast ecosystem of SAP, addressing tasks effectively can often mean thinking outside the box. Presented with the challenge of manually configuring default settings for numerous User IDs, I began to seek a streamlined solution and contacted the Product Support.
Meanwhile, my initial breakthrough came with leveraging the SAP GUI. Using the transaction SUIM, I navigated to the "User Information System" and utilized “Users by Address Data" under the "User" dropdown. This provided a comprehensive list of users which could be easily downloaded.
The then proposed solution by the product support was to manually introduce each User ID into the "Default Settings for Users - Purchase Requisition" app. This meant selecting "Edit" for each ID, potentially altering details, and saving. Given the large number of User IDs, this process seemed incredibly labor-intensive. Exploring and showing alternatives to this daunting approach was my motivation for writing this blog post.
Drawing upon my expertise in Python and Selenium, I wondered if automation might be the answer to this repetitive task. Dedicating time to scripting, I developed a tool that emulated the manual steps. Although it expedited the process considerably compared to human pace, it wasn't as swift as one might hope. However, considering it was my initial attempt, there was understandably room for refinement. Nevertheless, it got the job done.
But in focusing on this automation, I momentarily overlooked another method. The User IDs from the S/4HANA system could be directly incorporated into the Excel designated for default user settings. With this data in place, the mass upload feature functioned as expected, even if the initial app download was devoid of user representation. Upon reflection, this method was indeed more direct and way more efficient and easy.
This journey, while revealing, underscored the strengths of task automation with code for recurring tasks if no other solution is available. But sometimes, the simplest solutions are right before us, which shows the importance of taking a step back and have a fresher look on complex situations.