segunda-feira, 7 de novembro de 2022

Sales Order Enhancement Series: The Material View

 The Material View is probably among the most unknown Sales Order Enhancements in SD.

Let’s change that – your sales reps will love it!
The Material View improves the sales order entry experience significantly as it helps sales reps to reduce their navigation effort back and forth down to a few clicks when answering customer’s and their own questions.
And the best is: The Material View is configured and activated in just 30min!
Did I make you curious? Good!

Let’s first start with the business problem:

I’m sure you heard common customer questions like these a million times:
  • I need more items than you have in stock in your store. Could you please check if more are available in other stores?
  • Why is the product so expensive? Last time I paid 50 dollars, and now it’s 58. Has there been a price change recently,
    or is there a scale price I could benefit from when I increase my order quantity?
  • I urgently need 100 pieces in two days delivered. If you haven’t so many in stock, could you please call your supplier to make sure I get’em in time?
  • “Are there any alternative or upselling/downselling/cross selling products?”
Lots of navigation is required you might think.
NO, it’s not – it’s one click when you have the Material View activated in va01!
Just mark the corresponding sales item(s) in your ERP sales order and click on a new button “Material View” in the lower toolbar (see red circle below):
Material View 0
A consolidated page appears, the Material View, from which you’ll get all the information you need to answer all those types of questions:
Material View 1
Material View 2
 
(The picture is taken from an IS Retail system, that’s why it says “Article” instead of “Material” and some other terms. However, this ERP core feature works with all ERP 6.0 EhP2+ systems, regardless of whether it is an industry solution or ERP standard.)
So with one click in the ERP Sales Order the Material View gives you a consolidated 1-page view with the most important material and sales data,
like the most important material basic data, dimensions, alternative/up/down/cross selling materials, basic and sales texts, regular vendor information, ATP stock availability, list prices and customer sales prices incl. scales, plus an overview of the last sales orders of the customer for the selected material.
Where does all this information come from?
The information is pulled out of the corresponding standard tables in ERP in the moment you call the Material View for a selected sales order item.
Material Data are from Material Master tables, prices are calculated using the org data and conditions in customizing, scale prices are read from the corresponding tables, etc…
Everything is pulled out of the very same ERP tables the sales rep would access via the  corresponding applications. Up- and downselling products are determined using new BAdIs, as the calculation of the margin. No BW, CRM or TREX index is required, just ERP.
Will the Material View potentially mess up my Sales Order?
No. The Material View is called via RFC from the Sales Order. It is a pure display functionality, without affecting the Sales Order in any way. In fact the Material View uses information provided by the Sales Order, like Org Data, conditions, etc, but does not transfer any information back to the Sales Order. So your Sales Order configuration and behavior remains untouched – promised!


All my questions answered with one click, alright. So where’s the hitch?

Trust me, there is none!

  • All you need is a SAP ERP 6.0 system with Enhancement Package 2 or higher. No BW, no CRM, no search engine, no services, no NetWeaver, no limitation to specific industry solutions, no nothing! It’s a generic ERP core function!
  • No extra costs or licenses. It’s a continuous ERP improvement.
  • No performance decrease – on the contrary! Your sales reps get the required information faster, without a further need to navigate.
  • Simple installation, done in 30 min max.

OK, I want it. How do I get it?

Here you find everything you need:
  • Material View Info Kit
    A presentation, solution briefs, a config guide and an offline demo about the Material View is available here.

  • Business Function
    First you need to make sure the required Business Function of the ERP Enhancement Package is activated. The Material View is part of SAP ERP Core 6.0 EhP2, contained in component SAP_APPL 602 in Business Function SD_01. The business function can be activated with transaction SFW5.
    In EhP5 you need to activate business function LOG_SD_CI_02.
  • How to add customer specific tabs in Material View?
    You can add one customer specific tab per frame which already contains tabs. Therefore you have to enhance the existing coding using the enhancement spots. For EhP2 and 3 please read SAP note 1096359. For EhP4 and 5 please read SAP note 1470088.
  • How can I use alternative materials and cross-/up-/down-sessling proposals in ERP. Isn’t this a SAP CRM functionality?
    This functionality has been implemented as BAdIs to be used in the Material View. You can find these BAdIs in Customizing IMG > Sales and Distribution > Basic Functions > Additional Functions for Material > Enhancements using Business Add-Ins > Business Add-Ins for Material View.
    In our demo system we have I implemented all relations in a single Z-table.
Any questions are welcome!
Enjoy and post your experiences with the Material View!
Best regards,
Dr. Ingo Woesner
Product Manager
Suite Development – Multi Channel
SAP AG
P.S. All my blogs about Sales Order Enhancements are collected here:
Sales Order Enhancement Series: Overview

Source: https://blogs.sap.com/2009/07/31/sales-order-enhancement-series-the-material-view/

How the Credit Horizon affects the Credit Exposure at FSCM

 I search the credit horizon in FSCM and get lots of great explanations, but still not very clear how it calculates the credit horizon periods from a technical point of view. For example which date system used exactly for the Started date of credit horizon when processing credit check/exposure with open order/delivery.

SPACE         
One article explains the overview of FSCM integration with SD very well, and also talks about the credit horizon. Another article covers the technical details of how Credit Horizon Date determined in FD33(traditional credit management). In this article, I try to wrap up the information I collected and figure out how the system gets the credit horizon date and how the credit horizon affects credit exposure at FSCM.
SAPACE

What’s the credit horizon?

SAPACE
From the standard definition of SAP traditional credit management, it’s used at Dynamic Credit Limit Check.
SAPACE
The customer’s credit exposure is split into a static part; open items, open billing, and delivery values (see above), and a dynamic part, the open order value. The open order value includes all undelivered or only partially delivered orders. The value is calculated on the shipping date and stored in an information structure according to a time period that you specify (days, weeks, or months). When you define the credit check, you can then specify a particular horizon date in the future (for example 10 days or 2 months, depending on the periods you specify). For the purposes of evaluating credit, you want the system to ignore all open orders that are due for delivery after the horizon date. The sum of the static and dynamic parts of the check may not exceed the credit limit.
SAPACE
(One key point from the above definition is what’s the shipping date exactly.)
SAPACE
In my own words: If you online buy a new iPhone with $1000 using your credit card, then Apple tells you it may only be shipped in the next 3 weeks. Is that fair your credit limit been deducted $1000 immediately after your purchase? Or your credit limit should be deducted after the next 3 weeks? That’s the purpose to bring in credit horizon for a credit card company to calculate the credit limit more precisely. Delivery will be done after 3 weeks why the system has to check credit check now?

Credit Horizon setting at Credit Management

Compared with traditional credit management (FI-AR-CR), the setting of the credit horizon in FSCM has been moved from transaction OVA8 to individual check steps. It’s defined at the check steps which will be assigned to the check rule of a Business partner. SPRO path is Financial Supply chain management->Credit Management->Credit risk monitoring->Credit limit check->Define checking rules).
You can check this credit horizon day definition at the table: UKM_CHCK_STEP as well. It’s a quick place to check which check step involves the credit horizon.

UKM_CHECK_030 Dynamic Limit Check with Credit Horizon

The pre-defined standard check step 030 can be used directly at the check rule’s setting. You can create a new customized check step with a credit horizon using BADI: UKM_CHECK_STEP.

How the credit horizon been checked at the Check step?

Inside method ‘CHECK_STEP’ of BADI implementation for check step 030, the effective date equal to  SY-DATLO which is Local Date of Current User + Credit horizon days defined at check steps.  According to current understanding, days after this effective date, the credit check should be skipped.
Take IPhone’s example, the effective date is 3 weeks later from today. If the credit horizon been set as 2 weeks, it should be skipped for a credit check, which means no deduction from the credit limit after the purchase. Then comes the ultimate question: Which date does FSCM use to compare with this effective date to decide one open item fall in the credit horizon period or not?
Keep digging, we can find this effective date compared with field ‘ls_scheduleeffective_date’ at method ‘check_commitment’.
Here is the key Comparation of this article: if the item’s effective date is larger than the effective date, then it’ll be ignored! (Continue statements at Line 47, means skip this item for a credit check). The goal is to find out the source of field ‘ls_scheduleeffective_date’ comes from _s_item_to_be_checkedgroup_schedule, which refers to structure UKM_S_CHECK_ITEM (Credit Management: Line Items for Credit Check).

Where’s the item’s effective date comes from?

The group_schedule becomes the target which stores the schedule items that need to validate whether to carry out the dynamic check or not. All the open items details come from the SAP SD, then send it to the FSCM credit management process. So it must involves the star BADI at the FSCM world which is BADI_SD_CM (Connection between SD and Credit Management).
SAPACE
Usually, we need to implement BADI BADI_SD_CM for the following methods which will be triggered at various places to perform a credit check and update order, delivery, invoices, etc. plus credit exposure as well.  SAP already provides one implementation example Implementation Name UKM_SD_FSCM_INTEGR.
By global search, we can find the assignment of this effective date for order item and delivery item at method FSCM_CREDIT_CHECK_ORDER.
Search this global internal table gt_delta_order and find out it comes from ls_cor_d/ls_cob_d.
Finally, at method FSCM_COMMITMENT_UPDATE_ORDER / FSCM_COMMITMENT_UPDATE_DELIVRY we find the root where the system sets the date for open items/open delivery which will be used as item effective date to compared with the effective date.
  • For open order, the item effective date is xmcvbak_lsERDAT (Date on Which Record Was Created)
  • For open order with schedule data, the item effective date is xmcvbep_lsMBDAT (Material Staging/Availability Date)

  • For open delivery, the item effective date is xmclikp_ls-ERDAT (Date on Which Record Was Created)

  • For open delivery with schedule data, the item effective date is xmcvbel_lsMBDAT (Material Staging/Availability Date)

Conclusion

For the last point which uses the structure field MCVBELB-MBDAT as item effective day, it comes from FM, likely be MCV_UPDATE_CM_DELIVERY. Not dig that deep yet 😛

End of my several hours’ journey. Salute to SAP! This article is from the developer’s perspective. If anything incorrect, please kindly let me know. Thanks.


Source: https://blogs.sap.com/2020/08/11/how-the-credit-horizon-affects-the-credit-exposure-at-fscm/

quinta-feira, 3 de novembro de 2022

In-Depth with SAP S/4HANA – Transportation Management Q&A

 2

On October 19th, 2022, as part of the In-Depth with SAP S/4HANA live webinar seriesPascal RenetMatthias Koch and I; hosted a session on the topic of SAP S/4HANA Cloud, public edition Transportation Management.

The webinar was extremely well attended, and we would like to firstly thank all the attendees for their participation, their feedback and for the great questions that were posted throughout the event.

Whilst we were able to respond to all the questions by the end of the session, we felt that it would be beneficial, to go beyond a simple yes or no answer and actually demonstrate some answers in the system – hence how this blog came to be.

So below, please find system demonstration responses to some of your great questions (we have taken the liberty of re-wording some of the questions for editorial purposes).

Question 1

Considering the following:

  • In transportation, the freight rate (e.g.: $/Kg, flat rate…) can vary based on the characteristics of the cargo (i.e., 50-200 Kg = 50$, 200-400 Kg = 78$) – and thus different freight ranges attract a different rate.
  • The costing of a shipment is not always assessed based on the weight of the entire shipment, but can be assessed based on the weight of individual Handling Units, or products…

Can the system perform a freight charge calculation by handling unit and ranges of weight, and perform the cost distribution accordingly?

Question 2

In the webinar it was mentioned that incoterms were integrated with Transportation Management. What exactly is the influence of the Incoterms entered in the sales order? If the incoterm EXW (Ex-Works) is used, does that mean that no freight unit or freight order is created?

The answer can be seen in a system demo from my colleague Pascal Renet:

Question 3

Sometimes carriers will send one invoice corresponding to one transportation order, but most often they will send one periodic (weekly, monthly…) collective invoice, for multiple transportation orders that were done over a period. Can we process such collective freight invoice?

The answer can be seen in a system demo from my colleague Pascal Renet:

Question 4

During the webinar, it seemed that the maximum capacity utilization indicator (transportation cockpit and freight order) was based on the gross weight of the shipment. In the case that the goods transported are very light, but volume is possibly the issue, can the indicator be changed so that the maximum capacity utilization indicator shows volume, instead of weight?

The answer can be seen in a system demo from my colleague Pascal Renet:

Question 5

What are configurations/settings possibilities available to influence the resource types that will be available for planning in the transportation cockpit?

The answer can be seen in a system demo from my colleague Pascal Renet:

We hope you will find these video answers to your questions helpful, and do not hesitate to add questions that you might have thought off post event, in the comments section below!

For more information on SAP S/4HANA Cloud, check out the following links:

  • SAP S/4HANA Cloud release info here
  • Sven Denecken’s SAP S/4HANA Cloud 2208 Release Blog
  • SAP S/4HANA Cloud 2208 Early Release Series Webinars here
  • Latest SAP S/4HANA Cloud Release Blogs here
  • Product videos on our SAP S/4HANA Cloud and SAP S/4HANA YouTube playlist
  • Inside SAP S/4HANA Podcast here
  • Best practices for SAP S/4HANA Cloud here
  • SAP S/4HANA Cloud Community: here
  • Feature Scope Description here
  • What’s New here
  • Help Portal Product Page here
  • Implementation Portal here
Source: https://blogs.sap.com/2022/10/31/in-depth-with-sap-s-4hana-transportation-management-qa/

Practical Way Of Enhancing Adobe/Smartforms Form Output

 Hi,

In this post, I would like to share with you, how we can enhance a standard adobe or smart forms’ output by applying MVC.

As business requirements may differ from SAP standard form format, we may require to enhance an existing form. What usually happens is, functional consultant tells the name of output program and form and developer copies both to Z versions. And worst, all enhancement code is written under code block of form and many new fields are added to global data of interface.

Actually you do not need to copy the program. Why? Because, all the inputs, those exists on program, are already given to form as import parameters. Therefore, simply copy only the form, create a class and process required data from import parameters within that model class, to create a single deep structure for output, which is to be used in form.

How I do that is, I create a class and call that class in code block of form’s code interface. And as return parameter, I create a deep structure to be used in form context.

Here is an example. In this example adobe form is copied from standard form, and interface is copied as well. In interface code block, model object is called and get_data method fills global docstc deep structure. The docstc structure contains all required extra data. Instead of using many fields, use single deep structure. In that way if you need to add a new field, that can be achieved simply by adding it to structure. Instead of editing interface and form’s related blocks.

 

Form

 

Interface Code Block

Form%20Code%20Interface

Form Code Interface

 

Interface Global Data – this data is passed to form context.

Simple as that, all the complexity is encapsulated in class. And If a new format of the form is required, same class can be used.

Writing code directly under forms code block is a bad practice, it is against mvc, against code reusability and makes developers life definitely more difficult. Simply, using code block just as a controller to pass import parameters to model class and retrieving return data is easier and better practice. Makes code reusable, testable and also modular.

Hope that helps to you.

To have more idea about applying MVC, you can have a look at  Applying MVC in ABAP blog post.

Thanks for reading.

Source: https://blogs.sap.com/2022/10/27/practical-way-of-enhancing-adobe-smartforms-form-output/

Use Case for Situation Handling – MRP Material Exceptions

 

Introduction

As part of the SAP S/4HANA RIG team, we would like to provide some examples of Use Cases for Situation Handling that could be beneficial for your company. In the SAP Portal you can find the Use Cases available in your SAP S/4HANA version.

There are several activities that require our attention during the daily work. However, if we delay to action in some of them, we can cause subsequent impact in the supply-chain, or waste money by purchasing or producing unnecessary goods.

Situation Handling is a strategic SAP product, which brings a real tool to handle tasks which are difficult to follow-up, are time-consuming and on top of that, risky for business supply-chain when unattended.

In this blog, I will present to you how to monitor MRP Material Exceptions and act proactively when you receive the alerts via the Situation Handling tools.

 

Business scenario

Imagine that you are the production planner, and you have already a production order planned to supply the demand of a sales order. Now, by any reason, the sales order was cancelled, meaning that you don´t need to produce anymore. If you are not looking the Monitor Material Coverage or the Stock / Requirements List, you won´t cancel the production order on time.

1) How can Situation Handling help us?

The template MRP Material Exceptions is used by Situation Handling to inform specific members of your MRP organization automatically about exception messages that occurred during the MRP run for purchase orders or production orders that are no longer needed. For that, we can consider the conditions of the following exceptions:

  • Cancel Process
  • Excess Stock

2) How is Situation Handling set for this scenario?

You can check an example of this process in the SAP Best Practices Explorer, under the scope item J44 ( Chapters 2.4.2 – Prerequisite for Material Exception and 4.5 – Material Exception). There, you will see an example of exception handling for Purchase Requisitions. In this blog, I will show you an example when a sales order is cancelled.

2.1) Pre-requisites

You need the following SAP roles to set-up and test this scenario:

  • SAP_BR_BUSINESS_PROCESS_SPEC – Business Process Specialist
  • SAP_BR_BPC_EXPERT – Configuration Expert – Business Process Configuration
  • SAP_BR_MATL_PLNR_EXT_PROC – Material Planner – External Procurement
  • SAP_BR_PRODN_PLNR – Production Planner

You must have the users that will receive the notifications created as Employee Business Partners.

2.2) Defining the list of users to receive material exception notifications

Go to the app “Manage Teams and Responsibilities” and click on “Create”.

Then, select the Type “SMRPT” and press “Enter”.

Inform the Name, Global ID and change the status to “Enabled”.

In the Responsibility Definitions, you can assign the MRP Controller(s), Material(s) and Plant(s) allowed.

Next, verify the Team Owner and add the Team Members that will receive the notifications by clicking on “Create” > selecting the Employees > pressing “Go”.

Save.

2.3) Defining your Situation type by copying the template MRP Material Exceptions

In the Fiori app “Manage situation type” ,  select the template SAP_PP_MRP_MATERIAL_EXCEPTION and click on “Copy”.

Now you are creating a New Situation Type, based on pre-fulfilled information copied from the template.

In the section “Admin information”, define an ID and a Name.

For the section “Conditions”, you will define the criteria to trigger the notification. The template proposes to send notifications with status “Open” and Material Situation Type = “CAN” (Cancel Process). In our example, I´ll restrict as well by Material.

But what is the situation type “Cancel Process”? It is the Exception Message “20 – Cancel Process” in the MD04 – Stock / Requirements List.

For Batch job scheduling, define when the system will check the documents and send the notification. In this case, it will be every day at 6 am Brazil.

TIP: if you´re-testing your scenario, you can trigger the job immediately after saving your situation type, clicking on “…” and “Trigger Now”.

In the section “Situation Display”you can adjust the content of the message to be sent. For instance, you can add some variables in the Message Details by using “{ }”, or simply leave the text from the template.

Also, we recommend you flag that the system will aggregate several notifications in only one message.

In the section “Recipients”, review the Responsibility Definition and set the Member Function

In the section “Situation Monitoring”, flag “Monitor Instances” and save the Situation Type.

Click “Yes” to enable your Situation Type

 

3) How a Notification looks like?

Now, let´s execute the process to receive a notification.

Initially, we have a Sales Order of 10 pieces with a Production Order created to supply this demand.

Then, by any reason, I cancel the Sales Order. For instance, enter in the app “Change Sales Order” > go to the tab “Item Detail” > select a “Reason for Rejection” > save the Sales Order.

You will notice that the Stock/ Requirements List has changed. Now we have a Production Order with the Material Exception “20” – Cancel Process.

Trigger the Job manually in the app “Manage Situation Type” or wait for the automatic daily execution according to the date / time you defined.

Once the Job is triggered, the employees assigned will receive a notification on the top right of their Fiori Launchpad screen.

Click on the icon and check the notification message.

You can click directly in the message and the system will take you to the app “Manage Material Coverage” (For Make-to-order scenarios, we need to go to the app “Monitor Material Coverage – Net and Individual Segments”, select the material and click on “Manage Materials”).

In the “Stock/ Requirements List” section, you will see a “trash can” icon in the column “Rescheduling”, for cancelling the Production Order.

Click on the “trash can” icon.

Click on “Yes” to confirm the Technical Completion of the Order.

There is no Production Order anymore in the Stock/ Requirements List.

You can click on “Close Situation” > select “Resolved” and click on “Confirm” to close this notification.

 

Conclusion

I hope you have learned about how SAP Situation Handling – MRP Material Exception can help you to monitor the supply-chain changes and react proactively. If you are interested to learn more about Situation Handling in the SAP S/4HANA, I suggest you the following blogs created by the SAP S/4HANA RIG team:

Additionally, there are some very nice demos in the openSAP portal:

You’ll find much more on our SAP Fiori for SAP S/4HANA wiki

Other helpful links:

 

Please, let us know your comments. If you have any questions, we encourage you to post into the Q&A are using the Tags SAP S/4HANA, SAP Situation Handling and S/4HANA RIG and we will try to answer them as soon as possible.

 Source: https://blogs.sap.com/2021/06/29/use-case-for-situation-handling-mrp-material-exceptions/