Thursday, March 21, 2024

APIs on SAP Business Accelerator Hub

 

APIs on SAP 


Ø  An application programming interface (API) is an interface that lets software systems communicate with each other and exchange data.

Ø  By offering an API for your system, we can define which data should be exposed and thereby maintain control. As the consumer of an API, we don’t have to know how the other system works. Instead, we can focus on how it's integrated into your system.

Ø  we can use the APIs available for SAP S/4HANA Cloud for these scenarios:

  • Connect business processes across your system landscape
  • Integrate with external systems
  • Develop your own dependent extensions or custom applications

Inbound and Outbound Services

Ø  APIs can either be inbound or outbound services.

With respect to SAP S/4HANA Cloud as the source system,

Ø  Inbound means that SAP S/4HANA Cloud provides a service that another system can consume.

Ø  Outbound means that SAP S/4HANA Cloud consumes a service that is provided by another system.

 Synchronous and Asynchronous Services

APIs can either be synchronous or asynchronous services.

Ø  Synchronous means that when a system sends a request it waits for the receiving system to send a response. This approach is useful if an immediate and real-time response is required. However, both systems need to be online the entire time and if there’s an error, the request has to be sent again.

Ø  Asynchronous means that when a system sends a request it waits for the receiving system to acknowledge receipt of the message. However, it doesn’t wait for the receiving system to send a response. This way you can loosely couple systems and there’s less dependency on the availability of the other system. Additionally, the sender system isn’t blocked after sending a request and can send further requests. With this approach, you get no immediate response, and a response message needs to be implemented and routed separately.

Communication Scenarios

To establish secure communication between systems, you first need to create a communication arrangement. Communication arrangements are based on a communication scenario. Predefined communication scenarios are available for different use cases, for example, the integration of employee data. In a communication scenario, you can define a set of inbound and outbound services for a business process. Each API on SAP Business Accelerator Hub is associated with at least one communication scenario. With the communication scenario, you get an idea of the best practices for using the API. For more information, see Communication Management.

Service Categories

APIs created by SAP are categorized according to the main purpose of the messages being communicated. These service categories exist:

Application-to-Application (A2A)

A2A services facilitate the exchange of business information between different systems to connect business processes within company borders.

 Application-to-Cross Application (A2X)

A2X services facilitate the exchange of business information between a system and an unspecified client. They’re often used to build user interfaces (UIs) based on the back end, without an intervening communication layer. For this reason, A2X messages contain all the necessary information for understanding the message, such as the code names or texts to be displayed on the UI.

Business-to-Business (B2B)

B2B services facilitate the exchange of business documents across companies.

Source:https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/1e60f14bdc224c2c975c8fa8bcfd7f3f.html

Wednesday, January 31, 2024

What is WRICEF in SAP? / What is WRICEFF in SAP?

 What is #WRICEF in SAP?

 What is #WRICEFF in SAP?

WRICEFF is an extension of the WRICEF framework used in SAP projects.Like WRICEF, WRICEFF is an acronym that stands for Workflow, Reports, Interfaces, Conversions, Enhancements, Forms, and Fiori. It adds Fiori to the list of categories, emphasizing the importance of SAP Fiori applications in modern SAP implementations.

WRICEFF is a categorization framework that helps organize and identify different types of objects or tasks that might be involved in an SAP project.

Each letter in WRICEFF corresponds to a specific category of work that may need to be addressed during an SAP implementation or enhancement project.

Let's go into details for each component:

1.Workflow (W):

Ø  Workflow refers to the automation of business processes by defining a sequence of tasks or activities that need to be performed.

Ø  In SAP, Workflow can be used to model and execute business processes such as approval processes, document routing, and notification workflows.

2.Reports (R):

Ø  Reports involve the creation of customized or standard reports to meet specific business requirements.

Ø  SAP provides various reporting tools like SAP Query, SAP List Viewer (ALV), and SAP Business Explorer (BEx) for developing reports.

3.Interfaces (I):

Ø  Interfaces involve the integration of SAP with external systems or applications. This includes both inbound and outbound data exchange.

Ø  Interfaces can be synchronous (real-time) or asynchronous (batch-oriented), and they are crucial for maintaining data consistency across different systems.

4.Conversions (C):

Ø  Conversions refer to data migration or data transfer activities when transitioning from legacy systems to SAP or between different SAP systems.

Ø  This involves mapping, cleansing, and transforming data to ensure that it is correctly represented in the SAP system.

5.Enhancements (E):

Ø  Enhancements involve the customization or extension of SAP standard functionality to meet specific business requirements.

Ø  This can be achieved through various mechanisms such as Business Add-Ins (BAdIs), Customer Exits, and Enhancement Points.

6.Forms (F):

Ø  Forms relate to the creation or modification of output documents such as invoices, purchase orders, or other business documents.

7.Fiori (F):

Ø  Fiori refers to the SAP Fiori user experience (UX) design principles and applications.

Ø  In the WRICEFF framework, Fiori emphasizes the importance of developing or enhancing SAP Fiori applications to provide a modern, user-friendly, and responsive user interface.

 


SAP provides tools like SAPscript,SmartForms & Adobe Forms for designing and customizing the forms.

During the planning and scoping phase of an SAP project, the WRICEFF framework is often used to identify and document the various tasks or objects that need to be addressed.

It helps project teams and stakeholders to have a clear understanding of the scope and complexity of the project and to allocate resources accordingly. Each category may involve specific SAP skills, tools, and methodologies for successful implementation.

 

The addition of Fiori recognizes the growing significance of user experience and the shift toward more intuitive and visually appealing interfaces in SAP solutions. SAP Fiori applications are designed to improve the overall user experience and accessibility of SAP systems, making them more user-friendly and efficient.

In summary, WRICEFF extends the original WRICEF framework by including Fiori as a key category, highlighting the need for Fiori-related tasks and activities in SAP projects that aim to provide a modern and user-centric experience.

Friday, January 19, 2024

Subcontracting Stock Transfer Order (STO) process

 STO process in  Subcontracting

We are referring to the Subcontracting Stock Transfer Order (STO) process in the context of SAP or a similar ERP system. Subcontracting is a business arrangement where a company sends components or raw materials to a subcontractor (a third-party manufacturer) to have them processed or assembled into finished goods.

Here's a general outline of the Subcontracting Stock Transfer Order process:

Create Purchase Requisition (PR):

A purchase requisition is created to initiate the procurement process. This is usually generated based on the requirements for the components that need to be sent to the subcontractor.

Create Purchase Order (PO):

A purchase order is created based on the purchase requisition. The PO specifies the details of the subcontracting arrangement, including the components to be sent, quantities, delivery dates, and the subcontractor's details.

Goods Issue (GI) - Stock Transfer to Subcontractor:

Before sending the materials to the subcontractor, a goods issue is performed to reduce the stock of the components in the issuing plant. This is done using a stock transport order (STO) to transfer the materials to the subcontractor's stock.

Transportation of Components to Subcontractor:

The components are physically transported to the subcontractor's location. This may involve coordination with a logistics or transportation system.

Goods Receipt (GR) at Subcontractor:

When the subcontractor receives the components, they perform a goods receipt to acknowledge the receipt of the materials into their stock.

Subcontracting Process at Subcontractor's Facility:

The subcontractor processes or assembles the components into finished goods according to the specifications outlined in the purchase order.

Goods Issue (GI) - Finished Goods Transfer:

Once the subcontracting process is complete, the subcontractor issues the finished goods back to the originating plant using a goods issue.

Goods Receipt (GR) - Finished Goods at the Originating Plant:

The originating plant receives the finished goods through a goods receipt, and the stock is updated accordingly.

Invoice Verification (MIRO):

The originating plant performs invoice verification to process the subcontractor's invoice based on the services provided.

Payment to Subcontractor:

The payment is made to the subcontractor based on the terms agreed upon in the purchase order.

This process ensures that the components are sent to the subcontractor, processed into finished goods, and then returned to the originating plant, all while maintaining proper stock and financial records in the ERP system.

Tuesday, January 9, 2024

How to fix the quantity on stock in transit when error message "M7 022 - & exceeded by & & &' is raised"

 SAP error message "M7 022 - & exceeded by & & &' is raised"

Issue

Ø  When trying to post a goods receipt for an Outbound Delivery at the receiving plant which was created based on a Stock Transfer Order (STO), error message 'M7 022 - & exceeded by & & &' is raised. 

Ø  Unable to post a Goods Receipt against a Stock Transport Order in transaction MIGO due to error 'M7 022 - & exceeded by & & &'.

 

Reproducing the Issue

Ø  Go to MIGO transaction.

Ø  Select a Goods Receipt for Outbound Delivery / Purchase Order.

Ø  Insert Delivery Number /Purchase Order number, movement type and execute.

Ø  Insert storage location, if required.

Ø  Set item as 'OK'.

Ø  Click on post button.

Ø  Error message 'M7 022 - & exceeded by & & &' is raised.

Ø  Go to VL32N transaction & Enter Inbound Delivery Number.

Ø  Click PGR - Post Goods Receipt.

Ø  Error message 'M7 022 - & exceeded by & & &' is raised.

 

Root cause for this issue.

Ø  Inconsistent quantity on stock in transit: Rounding issues, incorrect sequence of goods movements, etc.

Solution

Ø  How to fix/clear stock in transit?

Ø  For fixing the stock in transit by means of MIGO / VL32N transaction, we should post a stock adjustment by using the movement types '557/558' to clear MARC-TRAME field in MIGO transaction.

Ø  It should be used to fix rounding issues.
If we cannot allocate this cost to any cost center, please go to OMJJ transaction and set cost center field (KOSTL) as 'optional entry' to the affected movement type.

Ø  This option is not valid for Stock Transfer Order-cross-company scenario.

Ø  If the material is split valuated, the system will issue the message M7048. To work around this, you can temporarily deactivate the error by entering ' ' (blank) for this message in the customizing transaction OMCQ .

Ø  For blocking the Stock Transfer Order document by means of ME22N transaction, you should select the affected Stock Transfer Order document line item and click on 'locker' icon (not 'trash' icon).

Ø  It will remove Stock Transfer Order document from MB5T transaction.

Ø  For closing the Stock Transfer Order document  by means of MIGO transaction, you should post a goods issue reversal at the supplying plant to the missing quantity or post a goods receipt at the receiving plant to the missing quantity.

Ø  For fixing a wrong stock in transit created by an inconsistency between EKET x EKBE tables, we should go through the below points a, b & c to fix the inconsistency.

a)      The schedule line quantity is less than the goods issue quantity (EKET-WAMNG) or less than the delivered quantity at schedule line level (EKET-GLMNG).

b)      The goods issue quantity (EKET-WAMNG) at schedule line level differs from the goods issue quantity actually posted (according to the purchase order history).

For standard purchase orders or scheduling agreements, we have the following inconsistencies:

c)      The goods receipt quantity (EKET-WEMNG) at schedule line level differs from the goods receipt quantity actually posted (according to the purchase order history).

How to link between the documents of a two step stock transfer (with movement types 303/313 and 305/315).

There is no link between the documents of a two step stock transfer (with movement types 303/313 and 305/315).

Overview:

Ø  In case of two step stock transfers without purchase order reference there is no link between the material documents.

 

Ø  The Material Document created in the first step (with the movement type 303 or 313) is not updated in any field of the Material Document posted in the second step (with the movement type 305 or 315).

 

Reason & Reproduce the Issue:

Ø  Two step transfer posting with movement types 303 and 305 or 313 and 315.

Ø  The material document of the 303/313 posting only acts as an input help for the posting with movement type 305/315, in order to save the user from entering the data manually.

Ø  The system Goods movement does not build any real link between these two postings.

Ø  In fact, the same material document of the 303/313 posting can be used many times for different 305/315 postings, as long as there is stock in transfer enough to allow the 305/315 to be saved.

Solution:

Ø  There is not any customizing setting or customer enhancement in the standard system which can make the requested link between these two goods movements (303 & 305 or 313 & 315).

Ø  In order to have the link to the reference document either the 'Document Header text' field or the 'Item Text' field can be filled with the reference Material document number. This way the information would be updated in the tables MKPF or MSEG.

 

Friday, December 22, 2023

Why Material ledger is mandatory in SAP S/4 HANA

 

The Material Ledger is a component in SAP ERP systems that handles complex costing scenarios, especially those involving multiple currencies, valuations and different types of production processes. However, whether the Material Ledger is mandatory or not in SAP S/4HANA can depend on specific implementation and business requirements.

For example, the Material Ledger in SAP S/4HANA is like a detailed accountant for the materials a company uses in its products. Imagine we're running a bakery and each ingredient has its own cost. The Material Ledger keeps track of all these costs in a very detailed way.

Here are some reasons why the Material Ledger is often considered important in SAP S/4HANA:

Parallel Valuation: Material Ledger supports parallel valuation, allowing companies to maintain multiple valuations simultaneously. This is especially crucial in global businesses where materials might be valuated in different currencies or using different methods for reporting and legal compliance.

Actual Costing: Material Ledger enables actual costing, providing a more accurate reflection of the actual costs incurred during production. It considers various factors such as actual material prices, actual activity prices, and overhead costs.

Example: The Material Ledger helps the company know exactly how much it costs to make a cake or any product. It considers the actual prices of ingredients, labor, and other expenses rather than just estimates.

Currency Management: In environments where materials are procured and sold in multiple currencies, the Material Ledger helps in managing the valuation and currency conversion for accurate financial reporting.

Example: If our bakery buys ingredients from different countries and deals with different currencies, the Material Ledger helps make sense of these various costs and keeps the accounting accurate.

Consistency Across Legal Entities: For companies with multiple legal entities, Material Ledger helps maintain consistency in costing practices across different entities, ensuring uniform reporting standards.

Sometimes, there are rules and regulations about how companies must report their costs, especially if they operate in different regions. The Material Ledger helps companies follow these rules and stay compliant.

Statistical Inventory Management: Material Ledger allows for statistical inventory management, which can be important for companies facing legal or reporting requirements that demand a certain level of detail and accuracy in inventory valuation.

Traceability and Transparency: Material Ledger provides detailed traceability of cost components, making it easier for businesses to analyze and understand the factors contributing to the total cost of a product.

                   By using the Material Ledger, the company gets a clear and detailed picture of how and where money is spent in the production process. It's like having a magnifying glass to look closely at the financial details.

                  In summary, the Material Ledger in SAP S/4HANA is like a financial assistant that ensures a company knows exactly how much it's spending on making its products, especially when dealing with different currencies and complex rules. This detailed understanding helps in making informed decisions and meeting financial reporting requirements.

What is payload in SAP

 What is payload in SAP with example of Material Master

            A payload in SAP can be thought of as the important information or data that is sent and received when different systems communicate with each other. Imagine we are sending a package from one place to another and the payload is the actual content inside that package.

Example:

Ø  In SAP, when we are working with APIs (ways for different software systems to talk to each other), the payload is like the contents of a message.

Ø  If we are updating information about a product (let's say a laptop) in SAP, the payload would include details like the laptop's name, brand, specifications, and any other relevant information.

Ø  So,in short, think of the payload as the meaningful data that is being exchanged between different parts of the SAP system or between SAP and other systems. It's the valuable stuff inside the digital "package" being sent or received.

                 In the context of SAP and APIs (Application Programming Interfaces), a payload refers to the data that is transmitted between systems in a request or response. It contains the actual information that is being sent or received, and it typically adheres to a specific data format, such as XML or JSON.

                 For material master data in SAP, the payload would include the details about a material, such as its description, classification, attributes, and other relevant information. The payload format can vary depending on the specific API or integration scenario.

Here's a simplified example of a JSON payload for creating or updating a material master in SAP:

JSON Copy code

{ "MaterialID": "M12345",

"Description": "Product ABC",

"Category": "Electronics",

"Price": 100.00,

 "UnitOfMeasure": "EA",

"Vendor": "VENDOR123",

"StockDetails": { "Plant": "PLANT001",

"StorageLocation": "STORAGE001",

 "Quantity": 100 } }

In this example:

MaterialID: Unique identifier for the material.

Description: Descriptive name of the product.

Category: Categorization of the material (e.g., Electronics).

Price: Price of the material.

UnitOfMeasure: Unit of measure for the material (e.g., Each).

Vendor: Vendor code associated with the material.

StockDetails: Additional details related to stock, including the plant, storage location, and quantity.

It's important to note that the actual structure and fields in the payload would depend on the specific requirements of the SAP API we are working with. SAP typically provides API documentation that outlines the expected payload format for different operations, such as creating, updating, or retrieving material master data. Always refer to the relevant SAP API documentation for accurate and up-to-date information.

APIs on SAP Business Accelerator Hub

  APIs on SAP  Ø   An application programming interface ( API ) is an interface that lets software systems communicate with each other and...