terça-feira, 30 de outubro de 2018

Essential Roles for S/4HANA Fiori Projects

Delivering on the promise of S/4HANA innovations means introducing new UX at scale with broad & diverse impacts on your target audience – including your end users, business process experts, business stakeholders, & IT support personnel.  We have too often seen early S/4HANA adopters struggle to find right mix of roles & responsibilities necessary to:
  • Centrally coordinate common activities;
  • Collaborate effectively across all impacted groups;
  • Enable the S/4HANA project team to meet & exceed expectations. 
Based on our experiences across many of these early adopters, this blog introduces the roles & associated responsibilities of S/4HANA projects implementing Fiori user experiences. 

Just as digital transformation involves more than introducing mobile apps, delivering S/4HANA user experience involves more than simply activating Fiori apps.  Core S/4HANA innovations provide strategic impact through: real-time insights-to-action via embedded analytics; enhanced automation; and contextual support.   Business users derive immediate value from these S/4HANA innovations through Fiori user experiences.

Delivering User Experience (UX) is therefore a core capability of S/4HANA projects, regardless of the business processes being deployed, the industry solution in scope, or whether deploying Cloud or On-Premise. Based on our experiences across many of the early adopters, S/4HANA projects require new & updated project roles to deliver UX successfully.  Including the new and essential role of User Experience Lead who takes central responsibility for ensuring your project meets or exceeds the user experience expectations of your S/4HANA target audience.

To assist customers and partners implementing S/4HANA, we have compiled best practice descriptions of the project roles and responsibilities essential to successfully deliver S/4HANA User Experience. Each role description includes:
  • An overview of the role’s key challenges & responsibilities
  • How the role interacts with other project roles to deliver end-to-end user experiences
  • Need-to-know UX Fundamentals for the role
  • Critical & Optional activities for the role depending on project scope
  • Recommendations & linked resources for Getting Started
  • Recommendations & linked resources for projects with Advanced scope, such as extensions, custom apps, and advanced Cloud-based capabilities
These roles essential to delivering S/4HANA User Experiences include:
  • User Experience Lead
  • Functional Application Expert
  • Analytics Expert
  • Basis Expert
  • Enterprise Architect
  • Project Manager
On S/4HANA projects, your UX Lead takes the central responsibility for ensuring your project delivers a simple, coherent and immediately valuable user experience to the target audience of your S/4HANA project.  Your UX Lead acts the central point of contact & coordination for other project roles with user experience responsibilities.

For further insights into the essential Fiori roles and profiles required for S/4HANA projects, see the following link:
Fiori Profiles Essential for S/4HANA Projects
We start with a brief background on how Fiori delivers great user experiences in S/4HANA, and then For further insights
Fiori – Merging the  People / Technology / Business
SAP Fiori is a UX framework that brings great user experiences to enterprise applications. Based on user roles and business processes, SAP Fiori simplifies doing business. SAP Fiori is a paradigm shift away from monolithic ERP solutions towards light-weight apps tailored to the users’ tasks. To accelerate the transformation of the world’s digital economy, SAP is using the UX framework to leading technology platforms.
Fiori is all about placing people at the centre of business and technology, leveraging all 3 for the most favorable user experience that delivers desired business outcomes. The following venn diagram articulates where the 3 dynamics merge and where Fiori is clearly placed in the centre.

Introducing Fiori puts greater demand upon the consideration of an end-to-end user experience. This is even more so for those deployments touching a larger user base. Those S/4HANA projects deploying at scale, will demand highly skilled and dedicated UX resources, with the UX Lead a new fundamental role for S/4HANA implementations.
If you are still a little unclear on what truly makes a good user experience, there is plenty of collateral out there, however the following link is a great place to start learning more about making UX Actionable, Engaging, Connecting with Emotion and more:
What makes a good user experience
A successful UX is underpinned with a strongly articulated and easy to understand UX strategy. To learn more about how a successful user experience leveraging Fiori (and more), is more than just some simplified colorful tiles and screens. The following link provides greater insights into the supporting principles, technologies and examples supporting a complete UX strategy.
UX Strategy

UX Lead
The UX Lead is a new role for S/4HANA projects.  This role is essential due to the volume of new apps and breadth of impact across the target audience. Just as the Functional Application expert considers the end to end business process, and the Enterprise Architect considers the end to end Architecture, the UX Lead considers the end to end user experience. For more detailed insights into the UX Lead follow this link:
User Experience Lead in S/4HANA 1610 Profile

Enterprise Architect
The Enterprise Architect is not a new role for ERP projects, however the focus has changed slightly along with the responsibilities and interaction points. Along with the more traditional responsibilities, the Enterprise Architect will be responsible for several activities relating to user experience within the project. For more detailed insights into the Enterprise Architect follow this link:
Enterprise Architect and S/4HANA 1610 UX Profile

Basis Expert
The Basis Expert is not a new role for ERP projects, however the focus has changed slightly along with the responsibilities and interaction points. It is a misunderstood perfection that the Basis Expert would be the only person taking care of enabling Fiori; this is not correct, the responsibility involves ALL the roles described here. The Basis Expert will certainly need to be well versed with the latest technologies not least of which being HANA and Fiori. The role of the Basis Expert may not have changed a great deal, however their required skill set certainly has. Along with the more traditional responsibilities, the Basis Expert will be responsible for several activities relating to user experience within the project. For more detailed insights into the Basis Lead follow this link:
Basis Expert and S/4HANA 1610 UX Profile

Analytics Expert
The Analytics Expert is not a new role, although we might have previously referred to them as Reporting Leads. The technology, best practices, strategies for analytics certainly have changed. The changes to analytics will be demanding significantly greater and more diverse skills of the Analytics Expert. Insights to action, along with real time analytics, and a great level of simplicity and self-service will all be focal options for the Analytics Expert. Along with the more traditional reporting and data warehousing responsibilities, the Analytics Expert will be responsible for several activities relating to user experience within the project. For more detailed insights into the Analytics Expert follow this link:
Analytics Expert and S/4HANA 1610 UX Profile

Functional Application Expert
The Functional Application Expert is not a new role for ERP projects, however the focus has changed slightly along with the responsibilities and interaction points. The Functional Application Expert will certainly need to be well versed with the latest technologies and simplifications, not least of which being Fiori and Analytics. The role of the Functional Application Expert may not have changed a great deal, however their required skill set certainly has. Along with the more traditional responsibilities, the Functional Application Expert will be responsible for several activities relating to user experience within the project. For more detailed insights into the Functional Application Expert follow this link:
Functional Application Expert and S/4HANA 1610 UX Profile

Project Manager
The Project Manager is not a new role for ERP projects, however the focus has changed slightly along with the responsibilities and interaction points. The Project Manager will need to ensure the correct prominent focus on UX, ensure the correct activities are present within the project plan and are catered for within the budget matching UX expectations. The role of the Project Manager may not have changed a great deal, however their required insights and appreciation to a new S/4HANA paradigm, methodologies and best practices has. For more detailed insights into the Project Manager follow this link:
Project Manager and S/4HANA 1610 UX Profile

Pierre Cassano, S/4HANA Regional Implementation Group


Fonte: https://blogs.sap.com/2017/05/31/essential-roles-for-s4hana-fiori-projects/

Leading SAP S/4HANA UX – Selecting SAP Fiori apps

Now updated for S/4HANA 1809
Latest Updates: As of S/4HANA 1809 we have introduced a new tool the What’s New Viewer for SAP S/4HANA.  You can search on the keyword fiori to find the new and changed Fiori apps available in 1809. Or just filter on your Line of Business, Solution Area, and/or Solution Capability to find out what’s new in S/4HANA in your area of interest.
SAP Fiori is the user experience bringing SAP S/4HANA innovations to your employees. So selecting the right SAP Fiori apps for your business is a crucial step in deriving optimal business value from your SAP S/4HANA solution. In this blog we outline the major considerations when selecting apps.

NOTE: While many classic UIs – such as SAPGUI and Web Dynpro ABAP – still provide valuable business logic for experts, it is the SAP Fiori Launchpad and SAP Fiori apps for SAP S/4HANA that provide access to the most important benefits of digital transformation that S/4HANA brings. You should also be aware that some classic UIs you may know from SAP Business Suite or  SAP Business Suite on HANA are discontinued as part of SAP S/4HANA Simplifications.  You can check these and the recommended alternatives in the SAP S/4HANA Simplification List.
There are 3 main considerations when selecting SAP Fiori apps of SAP S/4HANA for your business:
  • Your Business Priorities and Strategic Direction
  • Your Business Roles
  • Your SAP S/4HANA Version
Let’s take a brief look at each of these and finish with a few thoughts on the risks of not including SAP Fiori apps in your SAP S/4HANA project

Your Business Priorities and Strategic Direction

There are 2 main questions that are the guiding principles for Fiori app selection for your business:
  • How do you want to transform the working lives of your EMPLOYEES 
  • How will transforming the working lives of your employees transform your BUSINESS
Answering how you want to transform the working lives of your employees gives you an idea of WHAT you want to change.  In other words, where is the BUSINESS VALUE for your employees that will promote organizational change & will speed user adoption.
It’s helpful to look at both the OPPORTUNITIES you want to take advantage of as well as the CHALLENGES you want to overcome.  This directs you to the sorts of benefits and improvements you are looking for, and the advantages that will provide to your users.
For example:
To Achieve Your Transformation AimSelect Fiori apps that provide
Reduce training costs especially when onboarding new employees or when employees change their business roleSimple transactional UIs
E.g. Post G/L Journal Entries, Create Purchase Requisitions (from catalogs), Clear Incoming Payments, Record Inspection Results, Manage Supplier Invoices, Process Address Screening Hits, Manage Imports for Master Data Quality, My Leave Requests (Version 3), Post Goods Receipt for Delivery, Schedule Goods Issue for Deliveries
Simple ways for business process owners and experts to easily monitor & act on the business objects and processes they are responsible forSimple “Manage <business object>” apps that give easy oversight of what is happening and  easy options to explore details and take action,
E.g. Manage Recurring Journal EntriesManage Customer Line Items, Manage Purchase ContractsAsset Master Worklist, Manage Sales Orders, Asset Transactions, Manage Diets, Manage Bank Statements, Check Cash Flow Items, Mass Changes to Purchase Contracts, Manage Customer Returns
Provide real-time insights for expert users so they can decide and act fasterOverview pages where the expert can see their insights, filter and act on them together
E.g. Procurement Overview Page, Order to Cash Performance Overview Page, Multiproject Overview, Outstanding Billing Overview, My Sales Overview, Overview Inventory Management, Resource Scheduling for Maintenance Planners, Foreign Exchange Overview
Promote a paradigm shift from transaction processing to Processing by ExceptionDecision support apps that may include Predictive Analytics or Machine Learning
E.g. Monitor Back Order Processing Run, Manage Material Coverage, Resource Scheduling for Maintenance Planners,Sales Order Fulfillment Issues, Release for Delivery, List Incomplete Sales Documents, Manage Predictive Detection Methods, Configure the Consumption of Predictive Models, Simulate Product Configuration Models, Overdue Materials – Stock in Transit, Identify Risks for Industrial Hygenist, and consider add-ons such as SAP CoPilot, SAP Cash Application, SAP RealSpend
Optimize the time needed to perform deeper analyses of what is happening in your business right nowEmbedded analytics with smart options to slice, dice and share insights & act on them
E.g. Supervise Collections Worklist, Event-based Revenue Recognition, Cash Position Details, Inventory Turnover Analysis, Overdue Receivables, Monitor Supplier Confirmations, Cash Flow Analyzer, Commitments and Actual Analyses, and consider add-ons such as SAP Financial Statements Insights
Answering how these changes will transform your business will uncover organisational PRIORITIES and APPETITE for change.  And help you make the BUSINESS CASE for which Fiori apps should be part of your first & future waves.

Your Business Roles

To transform the working live of your employees, and consequently transform your business, start by focussing on their business roles.
When planning the impact of rolling out your selected SAP Fiori apps you across your business, you will need to identify which employees will be impacted by your first and future waves.  In practice on SAP S/4HANA projects, the most useful way to group employees for user experience is the BUSINESS ROLE.
People who perform the same business role tend to share:
  • Similar tasks
  • Similar pain points & challenges
  • Similar opportunities & preferences
  • Similar expertise expectations (casual vs professional user)
  • Similar training needs (on the job, online learning, classroom)
  • Similar working environments (Corporate, Urban, Rural, Industrial)
  • Similar work gear (Suit, Uniform, Safety Gear, Toolbelts)
  • Similar device type needs (desktop, tablet, phone)
  • Similar device feature needs (camera, barcode reader, network reliability)
The Business Role is therefore a good default granularity for:
  • Understanding your employees’ working lives
  • Assessing app and device needs
  • Assessing organizational change impacts
Business Roles and their associated tasks also have a natural mapping to Business Processes, helping you to align impacts on both people and processes.
Your business roles can also be mapped readily to the nearly 140 sample business roles you can filter on in the SAP Fiori apps reference library.  This organizational role to sample role mapping gives an easy starting point for which groups of apps to focus on in the SAP Activate phases Prepare and Explore.

Your SAP S/4HANA Version

Your SAP S/4HANA version will determine:
  • Which Fiori apps are delivered as standard
  • How easy it is to adapt standard apps or add your own custom Fiori apps
  • What personalization options are available to optimize the productivity of your employees
There are significant jumps in the numbers of apps delivered, e.g.:
  • SAP S/4HANA 1511 delivered 315 SAP Fiori apps
  • SAP S/4HANA 1610 delivered just over 600 SAP Fiori apps
  • SAP S/4HANA 1709 is already delivering over 950 SAP Fiori apps
  • SAP S/4HANA 1809 is already delivering over 1250 SAP Fiori apps
Each version has grown in the number of SAP Fiori apps that assist your UX Lead, administrators, analytics specialists, and functional consultants on your SAP S/4HANA project to activate, adapt, and extend SAP Fiori apps. Such as the In App Extensibility options, and KPI Workspace app to adjust analytics thresholds and timelines, and Report Design apps (as of 1709), and the ability to resize cards in Overview Pages (in 1709 & 1809 depending on your SAPUI5 version).
Each version has grown in personalization capabilities so employees can adjust their HomePage, add their favourite classic UIs, control their own Default Settings, adjust which Overview Page cards are shown or hidden, and save their default filters and sorting as variants.

What if we decide NOT to deploy SAP Fiori apps

Well of course the “Do Nothing” choice is always an option, but before going down that path, make sure you understand the risk of doing nothing.
Many times, we have seen customers and partners who have taken a technical upgrade approach to SAP S/4HANA being caught out at the end of the project.
While the project itself may complete successfully, the business protests:
“WHERE IS THE PROMISED BUSINESS VALUE?”.
Without SAP Fiori that business value is not obvious to the business user. With SAP Fiori, the business value is clear, tangible, and integrated into their working lives.  We have seen this many times not only at customers but also internally at SAP.
With SAP Fiori apps:
  • Tasks become simpler to complete
  • Tasks are simpler to find – no more moving from system to system to complete your work as everything is on the one Launchpad
  • Business objects can be found with only a partial keyword or reference
  • Analytics give real-time Insights and navigate easily to the relevant actions – no more delays waiting for data replication, and no more swapping between the analytics system and the transactional system

Final Thoughts

Yes, every business is different and every business has different priorities and different needs for their people.  However, our experience across many SAP S/4HANA projects is that the more SAP Fiori apps you deploy the more business value you will derive from SAP S/4HANA innovations and the more obvious that will be to all of your business people.
To encourage those customers and partners who are still growing their UX resources and practice, SAP provides a growing body of advice to guide the SAP Fiori aspects of your SAP S/4HANA projects such as:
Brought to you by the S/4HANA RIG


FOnte : https://blogs.sap.com/2017/08/16/leading-sap-s4hana-ux-selecting-sap-fiori-apps/

segunda-feira, 29 de outubro de 2018

Function Module Test Sequence

Function Module Test Sequence - By using this option we can test a number of function modules all together where first's output is the Input for the next.
Many times we have to use BAPIs in our ABAP code or in XI/PI for some interfacing with SAP. In some BAPIs we need to commit work. Until I was not aware of this option I used to write a piece of code and test it. But now we can test it as follows:
Example: I am using the two BAPIs to test in sequence.
1.                  BAPI_PO_CREATE1 (To Create a standard Purchase Order)
2.                  BAPI_TRANSACTION_COMMIT (To Commit Work)
BAPI_PO_CREATE1 is used to create Purchase order but even after getting a success message as output we are not able to see the Purchase Order created because the work done by this BAPI is not committed in database. That's why we have to use BAPI_TRANSACTION_COMMIT.
Go to transaction SE37. Go to menu Function Module->Test->Test Sequences as shown:











Give the name of BAPIs BAPI_PO_CREATE1 and BAPI_TRANSACTION_COMMIT and Execute.














The BAPI_PO_CREATE test is opened. Give the Header and Item Data (Header and Item data may vary according to configuration of your system)

Enter the Values for POHEADER


Click on the icon next to refresh or (Shift + F7) to have a better view to enter the DATA.
Enter the Values for POHEADERX
In POHEADERX you have to put 'X' for the values you entered in POHEADER
Enter the Values for POITEM

Enter the Values for POITEMX


In POITEMX you have to put 'X' for the values you entered in POITEM.
Execute the function module and check the RETURN table. If you get the success message then only the next BAPI BAPI_TRANSACTION_COMMIT is useful.
So, once you get the success message go back. It will take you to the next function module.


Give the value 'X' for input wait and execute. Work is committed now you can check the Purchase Order created.
Go to Transaction Me23/Me23n to check Purchase order created.








 
I hope this information is useful for ABAPers and for XI/PI guys as they need to test BAPIs like this.




Fonte: https://wiki.scn.sap.com/wiki/display/ABAP/Function+Module+Test+Sequence

Concepts and Working with BADI

to start of metadata

Applies to:

 SAP technology / Netweaver / ABAP Development.

Summary

  • Overview
  • Difference between BADI & User Exits.
  • BADI Definition
  • BADI Implementation
  • Filter Dependent BADI
  • Finding BADIs in a transaction or program
  • Steps to create an Implementation for an SAP provided BADI
  • BADI - some useful information
  • General naming conventions for BADI

Author(s):  Aveek Ghose

 
Company:     Accenture India
Created on:   04/07/2009
Author(s) Bio
 
Aveek has more than 14 years experience in software analysis and design and custom development both in India and abroad. Aveek has acquired an MS in Economics, Mathematics, Statistics from Virginia Tech in USA and an MS in Information systems from George Mason University in USA. He has handled software projects U.S., Holland, UK, Switzerland, Japan and India. Aveek was a core member of the Warehouse Management system team in the University of Michigan in Ann-Arbor,Michigan,USA.
Table of Contents

Overview - What is a BADI?

Business Add-Ins are a new SAP enhancement technique based on ABAP Objects
They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery
Business Add-Ins should be considered generalized Business Transaction Events that can be used to bundle program, menu and screen enhancements into a single add-in
Each Business Add-In has:
  • at least one Business Add-In definition
  • a Business Add-In interface
  • a Business Add-In class that implements the interface

  Overview - Features of BADI

  • Uses Object oriented approach
  • Two parts - Definition and its Implementation - definition can either be SAP provided or user may also create it
  • No longer assumes a two-system infrastructure (SAP and customers)
  • Allows multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like)
  • Can have multiple representations - specific one will be executed based on some criteria (filter)
  • Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces
  • No SSCR (SAP Software Change Registration) required

BADI vs. User Exit

  • In User Exits, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
  • The users of Business Add-Ins can customize the logic they need or use a standard logic if one is available. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery.

BADI Definition


  • To define a BADI use Sap Menu -> Tools -> ABAP Workbench -> Utilities -> Business Ad-Ins -> Definition
  • Transaction - SE18

BADI Definition - Attributes




  • When a BADI is created, BADI class gets automatically created with the suffix 'CL_EX_' after the first character of the BADI name
  • Multiple use : With this option you can have multiple implementations for the same BADI
  • Filter-Dependent : Discussed later in detail

BADI Definition - Interface



* An interface is created automatically with the suffix 'IF_EX_' after the first character of the BADI name
  • When you double click the interface, you will be taken into the class builder where you can define the methods, parameters and exceptions for that interface

BADI Definition - Interface Methods


  • Specify the methods in the Class Builder for the interface
  • Instance methods can access all of the attributes of a class, and can trigger all of the events of the class
  • Static methods can only access static attributes and trigger static events
  • Click on the Parameters button to specify any Import/Export parameters for the method     

BADI Definition - Interface Methods - Parameters


  • The Import/Export parameters for the method are specified in the 'Parameters' section
  • The type specifies whether the parameter is an Importing, Exporting, Changing or Returning parameter
  • Check the Optional field if it is not a mandatory parameter
  • The type, default value and description of the parameter can be specified             

BADI Definition - Exceptions


  • You can specify any exceptions in the Exceptions section
  • For class based exceptions, check the checkbox 'Exception Classes'

BADI Implementation

  • To create an implementation, choose ABAP Workbench -> Utilities -> Business Add-Ins from the SAP menu
  • Transaction - SE19 SE19

Enter Implementation name
Click on create
Enter the BADI
Definition name

BADI Implementation - Interface


 Double click on
the method to modify
method code


During implementation creation, a class for implementing the enhancement's interface is also created
  • Navigate to the Class Builder by double-clicking the methodBADI Implementation - Method modification


Modify the method
code within the METHOD/ENDMETHOD
statements and activate
 

Filter dependent BADI

  • If enhancement needs to be different based on some parameter (e.g. country-specific or company-code specific), separate implementation of the same Add-In can be created and activated.
  • At run time, the specific implementation will be executed
  • Possible through filter dependent BADI
  • What qualifies as a filter?
  • A Data element
  • Underlying domain may contain a maximum of 30 characters and must be of Character type
  • The data element must
  • Either have a search help with a search help parameter of the same type as the data element and this parameter must serve as both the import and export parameter or
  • the element's domain must have fixed domain values or a value table containing a column with the same type as the data element


Filter dependent BADI - How it works?





  • Switch on Filter-dependency while defining the interface
  • Select a suitable filter element
  • All methods created in the interface will have filter 'FLT_VAL' as one import parameter
  • Application program provides the filter value to the enhancement method
  • The method then selects the active implementation for that value                                                                                                             

 Filter dependent BADI - Implementation



 * Implement the Add-In for each relevant filter value
  • However, multiple filter values may use the same implementation
  • Enter a characteristic filter value for the implementation
  • Pass the filter value as export parameter to the method
....
.... call method exit->method
         exporting
            flt_val = flt.
         Changing
            parameter = word.

....
....

   Finding a BADI - Transaction VD02


 * Transaction - VD02 Change Customer Master
  • Click on System->Status   Double click on the program name



              Once inside the program
  • search for 'CL_EXITHANDLER'. Make sure the radio button - In main program is checked  A list of all the programs with call to the BADIs will be listed 
     


Double click on the method to enter the source code


BADI being used
If the BADI name is not specified in the CL_EXITHANDLER=>GET_INSTANCE method call, you can find out the BADI name by removing the prefix IF_EX_ from the interface name
Interface reference variable defined

Finding a BADI - Transaction LBK1

 * Transaction - LBK1 Logbook

  • The exclusivity about this transaction is that the BADIs are triggered at the sub-screen level and not at the main program level  
  • Execute the transaction by creating a logbook for a functional location
  • Go to Logbook - Create - Func. Loc. Logbook
  • Check for BADIs here with the same procedure as mentioned for the VD02 Transaction. Click on System->Status     * There are 3 programs mentioned - Program (screen), Program (sub screen) & Program (GUI).
  • Click on each of them to find out the respective BADIs (with the same procedure as for transaction VD02)
  • Outcome :

width=32,height=32!

o        No BADI for screen program
o        BADI Definition - GUI_APPL_OBJ_OHFW for sub screen and GUI program as they are the same.  * PS : Remove IF_EX from if_ex_gui_appl_obj_ohfw to get the BADI name
  • Also note that not necessarily the sub screen & GUI Program are the same. * Execute the transaction further by substituting a functional location and pressing 'Create log entry'
           
* Again Go to System - Status and look for the programs


  • Program (screen) - SAPLDIOHFW_GUI
  • Program (sub screen) - SAPLZDIACL_LOG_GRP
  • Program (GUI) - SAPLDIACL_GUI_LGE
  • Again find out the respective BADIs
  • Screen program has no BADI
  • Sub screen program has 2 BADIs - LGE_SUBSCR_ACL & GUI_APPL_OBJ_OHFW
  • GUI program search will give 3 hits but all refer to the same BADI definition - LGE_SUBSCR_ACL      
    * If we investigate the LGE_SUBSCR_ACL BADI definition than we will see that it is attached to Sub screens only    * So it is quite possible that BADIs can be located into a Sub screen & GUI program and not only into the Main program of a transaction.
  • Thus, the best possible search for BADIs would be by executing the transaction and looking into its sub screens also.



Steps to create an Implementation for an SAP provided BADI

  • Find the corresponding BADI for the SAP transaction
  • Create a custom Implementation for the BADI
  • From the methods available in the BADI select the appropriate method (based on which method is triggered for a particular processing)
  • Enter custom code in the method and activate
  • Execute SAP transaction and test if method with custom code is being invoked

BADI - some useful information

-          There can be more than one implementations of the same BADI definition, and in that case only the active implementations will be executed
-          You can activate or de-activate any of the implementations after creation
-          Enhancement, interface, and associated classes generated all lie in the appropriate application development namespace
-          Business Add-In implementations lie in the respective namespaces of the people who created them
-          Changes made to the interface and changes made to the Business-Add-In definition are always incompatible
-          If implementations already exist for a Business-Add-In definition, they are invalidated if you make changes to the interface. This means that their syntax is no longer correct. No statements can be given on the runtime behavior. Avoid making changes to the interface or the Business-Add-In definition after the transport has taken place.
-          If changes to the interface are inevitable, navigate to the Class Builder for all implementing classes and clean up the method includes of these classes (Utilities > Clean up > Method includes) General Naming Conventions | Position | Description | Values | Meaning |
1 Custom Indicator Z Custom Developed BADI Definition or Implementation
2 Project indicator
*'DM' + Module of the development*
3 Program type Alphanumeric _BDF - BADI Definition
_BIM - BADI Implementation
4 Development Id
_DEV ID / _TPR ID
Suffix Descriptive Text
EG. _LIST_OPEN_INVOICES
*Alphanumeric and '_'* ABAP function

Example |

o        ZDMSD_BDF_DEV001_LOGBOOK
o        ZDMSD_BIM_DEV001_LOGBOOK
-          A single BADI can have multiple implementations using filters.
-          Eg. GUI_APPL_OBJ_OHFW Badi is implemented at different places in LBK1 Transaction using filters
-          In most cases the sub screen & screen program are the same that's why we can't see the difference. Even GUI Program is the same.

Related Content

Please include at least three references to SDN documents or web pages.
www.help.sap.com
www.sdn.sap.com
www.service.sap.com




Fonte: https://wiki.scn.sap.com/wiki/display/ABAP/Concepts+and+Working+with+BADI

ERP SD Condition Maintainance

to start of metadata

Purpose

The purpose of this page is to provide an overview about pricing conditions master data.

Overview

In the following sections you will find information about the main transactions, main tables, dealing with inconsistencies, and generation in condition maintenance.

Main transactions

The following figure shows the main transactions in condition maintenance:
Maintain condition tables (Customer namespace is between 501 and 999):
  • V/03      Create Condition Table (or general transaction VK03)
  • V/04      Change Condition Table (or general transaction VK04)
  • V/05      Display Condition Table (or general transaction VK05)
Maintain condition records:
  • VK11 or VK31    Create Condition Record
  • VK12 or VK32    Change Condition Record
  • VK13 or VK33    Display Condition Record* *
  • VK14 or VK34    Create Condition Record with Reference

Main tables

The following figure shows the main tables in condition maintenance.

Condition Table (e.g. A304)
Key: Client, Application, Condition Type, VAKEY, Validity end date (optional), Release Status (optional)
VAKEY: Variable key fields (fields like Sales Organization, Material Number, Ship-To Party) must be part of the field catalog (table T681F) and structure KOMG.
Non-Key: Validity start date (optional), VADAT (Variable data portion), KNUMH (Link to KONH and KONP, almost unique)
Conditions (Header)
Key: Client, KNUMH
Contains additional header information (created by, created on, sales deal or promotion number,…) and the VAKEY as string.
Conditions (Item)
Key: Client, KNUMH, KOPOS (if condition supplements exists)
Contains important pricing information (rate, unit, calculation type, deletion indicator...)
 Quantity Scales (KONM) (optional)
 Value Scales (KONW) (optional)
The following figure shows an example of a condition record in tables A304, KONH and KONP:


When the user creates a new condition record in VK11 with the same keys and same validity period, the system issues a pop-up warning that the existing condition record will be deleted when saving. If the user clicks on ‘OK’, the entry in table Axxx is deleted. The entry in tables KONH and KONP remains. They can be removed by archiving.
When the user creates a new condition record in VK11 with the same keys and validity period overlapping the existing condition record, the system splits the existing condition record in table Axxx.
For further information please see SAP Note 66943: Validity periods in condition records.
The deletion modus depends on the field ‘delete fr. DB’ (V_T685A-KDELE) in the customizing of condition type (transaction V/06). If it is ‘  ‘ (space), when the user deletes a condition record in VK12, the deletion indicator is set in table KONP (KONP-LOEVM_KO). The entries in table Axxx, KONH and KONP remain. Conditions marked for deletion can be removed from database by archiving.

Dealing with inconsistencies

When error message VK067 occurs in condition maintenance, this is due to inconsistency. Report VK+C can be used to find inconsistencies in condition tables. Example of inconsistency: entry exists in table Axxx but not in table KONH or KONP.
To repair, you can overwrite the inconsistent record by creating a new condition record with the same key and same validity period.
For further information, please see SAP Note 94443.

Generation in condition maintenance

SAP Note 886771 : Generation in condition maintenance explains the three generation reports in condition maintenance:
  • Report RV12A001: generates condition tables, fast entry screens, selection reports.
  • Report RV12D001: generates the reports to “Display Condition Records”
  • Report RV14ALLE: generates the pricing reports
In VK12 for example, the program name contains the table number: RV13Axxx where xxx is the table number.
In the fast entry screen of VK12 for example, the screen number contains the table number: 1xxx where xxx is the table number. You can check the screen number by going to menu System -> Status.

Related Content

Related Documents

SAP Library path:
SAP ERP Central Component -> Logistics -> Sales and Distribution (SD) -> Pricing and Conditions (SD-BF-PR) -> Condition records

Related Notes

SAP Note 886773: FAQ: General condition technique
SAP Note 66943: Validity periods in condition records
SAP Note 94443: Inconsistencies in condition master data (Termination VK067)
SAP Note 886771: Generation in condition maintenance


Fonta: https://wiki.scn.sap.com/wiki/display/SD/ERP+SD+Condition+Maintainance

quinta-feira, 25 de outubro de 2018

https://wiki.scn.sap.com/wiki/display/ERPFI/How+to+debug+an+IDOC

Purpose

This wiki provides a demonstration of how to debug an IDOC.

Overview

The IDOC given in this example is based on invoice in materials management on a test system.

Step 1 - Display IDOC with error in transaction WE02

Double click on the Control Record.
View information on tab Typinfo:


Select tab Partner. For inbound processing check the Sender information.
.

Step 2 - View Partner profiles in transaction WE20

Using the information from step 1:
Partner type LI, Partner Number CP-CP01, Message type INVOIC, Message Variant MM
In transaction WE20 Open folder for Partner Type LI

Double click on partner number CP-CP01


In the inbound parameters, double click on Message type INVOIC (Message variant MM)


Double click on Process code



Here you find the function code identification, in this instance IDOC_INPUT_INVOIC_MRM

Step 3 - Set breakpoint on IDOC_INPUT_INVOIC_MRM and other relevant function modules for issue concerned via SE37




Step 4 - Use transaction BD87 to debug IDOC concerned.

In transaction BD87 enter concerned IDOC and execute.




Select Button Process (F8). You then come to the first breakpoint set i.e. in this example on function module IDOC_INPUT_INVOIC_MRM


 

Use F8 to go to the other relevant Breakpoints you have set.


Fonte: https://wiki.scn.sap.com/wiki/display/ERPFI/How+to+debug+an+IDOC