SAP – The Customer Experience

A Guide To Crafting Great Digital Experiences - From Inside Out with SAP In our series on Digital Adaptation, one of the things we discuss is the importance of the digital experience, and in this series,  we try to shed light on what that means in the SAP world – the SAP Customer Experience. The digital experience is talked and written about as the deciding factor in business these days. We also talked about how the consumerization of IT  has raised our expectations and blurred the distinction between our business and social experiences. If the "experience" is as significant as everyone says it is, how do you achieve it? Can't you just buy the latest and greatest technologies? In other words, can’t you buy your way in? Well, maybe. However, there's more to creating an excellent SAP customer experience. You must tie together the back end and the front end while leveraging insights by gathering, manipulating and analyzing the biggest of big data. The good news is that SAP users probably already have the technology in place to do it, but like most companies are short of resources that can help. As a reminder we defined digital adaptation as the ability to predict, or perceive, quickly evolving business needs, and adjust through new combinations of technology, process, and workforce management. We also said it requires the use of new technologies; a willingness to adopt less familiar methods and the utilization of innovative workforce models. The goal is to create faster, more flexible solutions that simultaneously exceed user and consumer expectations while keeping competitors on their heels. However, we acknowledge that companies can neither afford, and do not need, to continually acquire new technology and dispose of the "old." There are trusted vendors whose technology has helped us come so far and whose technology can provide the backbone for our digital endeavors. SAP is one of these so let’s see how the technology can help on the CX side with a little adaptation in three areas: First, the SAP customer experience is clearly important. SAP is attacking the problem from both ends, as was made clear at this year's Sapphire Conference in June. According to Dom Nicastro’s Jun 18, 2018 article “Takeaways from SAP's Sapphire Now” in CMSWire “The traditional database-management, ERP, back-end enterprise software billionaire giant companies are taking on customer experience (CX) and the front-end." This is true when you consider SAP's acquisitions of companies Hybris (commerce), Gigya (customer identity management) and CallidusCloud (sales performance management and configure-price-quote). However, for as much noise as SAP has made at the front end, they already have the expertise in the back end. Second, an understanding that the fundamentals of crafting a great SAP digital experience is not just about what you see. It is about keeping your promises, which in the modern world means being able to deliver what you promised when you promised it. You need to seamlessly fuse the supply chain in the back end to the SAP customer experience in the front end, and that's about leveraging data. One of the keys to a creating and maintaining a satisfying (and differentiated) customer buying experience is the ability to harvest meaningful data. This can be achieved by leveraging SAP Business Objects for BW/HANA Analytics., SAP Gateway APIs for Fiori, and Personas technologies for streamlined UX. The digital footprints left by the modern customer provides insights into habits and preferences. These footprints enable your talented people to better shape that experience encouraging customers to return leaving even more of those digital footprints as their loyalty grows. Once more, Dom Nicastro emphasizes this as one of the essential takeaways from Sapphire. “SAP’s big play this year at its conference was the front-end meeting the back-end for complete customer experiences. That’s what marketers strive for, right? Complete customer journeys from purchase intent to actual purchase and post-product success and support.” Third, what does that say about SAP's current technology, roadmap, and your investment? Does this mean you have to invest in all the shiny new front-end technologies to adapt in the digital world? Well, maybe, and maybe not. Digital Adaptation isn’t about chasing the shiny new toy. It is about being able to look inside your existing business to liberate new enterprise and find new business models. It’s also about being smart about your current technology investments and leveraging them as much as you can. Only a small percentage of SAP users are on the latest versions or upgraded to the newest systems like S/4HANA or Leonardo. Therefore, most SAP customers rely on Basis, ABAP, function expertise, and improved business processes to adapt their systems to the digital economy. We encourage you to look at everything from SAP’s machine learning capabilities within Leonardo, to the new HANA Data Management Suite. You should also be looking at how you leverage SAP’s heritage in the back office (to help you deliver on the front end promises) and business intelligence technologies (so you can analyze and interpret the meaning of those digital footprints) by using the SAP NetWeaver Development Tools and SAP BW/BI platform to streamline and maximize the performance of your business transactions.  While SAP has made strategic acquisitions in front office technologies, they continue to provision and integrate robust back-office expertise and technologies with the data management and intelligence tools they have perfected over the last 15 years, like SAP Gateway and Ariba. As Kevin Cochrane, chief marketing officer for SAP Hybris made clear at Sapphire, “SAP's main competitive advantage is its ability to connect the back and front office. That will require the use of existing technologies as opposed to going on a buying spree in new technologies only.”   The importance of partnering was a big topic of conversation at Sapphire. Partnerships at the enterprise level in the SAP world have become more critical, more complex and require more than just technical and functional expertise. Maintaining the current while planning (and delivering) the future presents unique challenges. It demands partners not only with proven skills but that offer expertise in modern methods as well as innovative delivery models. No one can go it alone, and partnering and outsourcing models that worked in the past are proving incapable of delivering that singular SAP customer experience demanded by the digital world.  You must squeeze all the value you can out of your current technologies while making smart investments in new technologies. While maximizing the use of existing technologies, you need partners to secure the present (supporting current systems) or help deliver the future (that SAP digital experience). These partners need to be digitally capable, technologically competent, and culturally creative. To learn how we can help you with your SAP challenges contact us at SAPinquiry@ruralsourcing.com.

Without Maturity, You Could Disappear in the Digital Economy

No business will be untouched by the Digital Economy. It affects the way organizations interact with customers, suppliers, and employees; and, as we know, it even stimulates alliances with competitors.  As we move deeper into our digital adaptation journeys, the skills and expertise needed to overcome obstacles and recoup from setbacks are essential. To manage the digital adaptation process, corporations need ‘digital maturity.’ It is dramatic to say that we are in an ‘adapt or die’ scenario, but there is much truth to that claim. Perhaps a more accurate statement is this: it takes digital maturity to lead an organization through the adaptation process. As we have discussed before; digital adaptation enables an organization to predict or perceive quickly evolving business needs, and adjust through new combinations of technology, process and workforce management. What is digital maturity?  The term comes from the field of psychology. It means that ‘maturity’ is a learned ability to respond appropriately in a particular environment. Digital maturity is about adapting an organization, so it competes effectively in a digital environment. For comparison, it might be useful for readers to see how 3500 business executives lined up on a digital maturity scale, from 1 to 10: An international maturity study conducted in 2017 by MIT Sloan Management Review, in collaboration with Deloitte University Press, reports that: 34% (1190) of the executives were in the early stages of digital maturity; 41% (1435) were developing, and 25% (875) were further along in the maturing process. If those statistics are reliable indicators of digital evolution, the maturation process is well underway. According to the MIT Sloan Management Review article referenced above – Achieving Digital Maturity; the leaders who exhibited the highest degree of digital maturity were able to implement systemic changes within their organization, focus on the long-term, start with small projects and evolve them into enterprise-wide projects, and secure the talent to implement the company’s digital vision.  To accomplish all that, those leaders had help. Digital Maturity and SAP Based on many SAP projects over the years, we divided digital maturity into four dimensions: Leadership Maturity and Capability Data Accessibility and Accuracy SAP Technology Systems and Processes Workforce Readiness and Culture Leadership The digital economy is focused on meeting the unique needs of each customer. For that reason, digital adaptation is about tailoring business operations to be more human. Consequently, mature leaders work from the premise that digital adaptation is about building relationships, not about technology. As a result, seasoned leaders construct business models that cater to the needs of people first and avoid getting hung up on the limitations of their in-house systems. SAP announced that it collaborated with the European Research Center for Information Systems (ERCIS) to create a maturity model that enables leaders to assess, track and develop the digital skills their in-house systems need to function in the digital economy. The maturity model helps the leaders prepare for a digital future by defining a skills development strategy and reinforcing the technical environments needed to keep pace with the new economy. The model is based on a survey of 116 business and IT decision makers from 18 countries, as well as a series of in-depth interviews with 24 global companies. Data Turning data into action is the cornerstone of digital adaptation. While a true statement, turning data into action is not a linear process. It requires building a sophisticated infrastructure that lets people store, protect, and analyze information. Primarily, the infrastructure enables people to access information when they want and how they want. For this reason, the mere existence of mountains of data is not enough to indicate maturity. The term data has evolved; it is now often called Big Data. However, the mystique surrounding Big Data is fading, yet it remains the primary force pushing wave after wave of digital transformation. These waves include artificial intelligence, customer experience, in-memory processing, machine learning, and the Internet of Things (IoT). SAP has been developing advanced Data Management solutions for decades, and they recently released SAP VORA (formerly known as SAP HANA VORA), which provides enriched interactive analytics on Big Data stored in Hadoop. VORA is a query engine with in-memory capabilities, and it plugs into the Apache Spark execution framework and helps to combine Big Data with enterprise data in an efficient manner. SAP Technology Like the new world economy, SAP is maturing. For the thousands of companies that leverage SAP, virtually all of them focus on business capabilities to react in real-time, forecast changes before they happen, and enable self-learning systems. In response, SAP is developing powerful new technologies that support Big Data, Cloud Computing, and Blockchain. However, maturing companies must use these new tools and adapt them to their needs to be considered mature. We mentioned VORA, but there are other technologies that SAP has to integrate HANA and Hadoop. SAP has the following tools to integrate data between those two components and choosing the right one depends on the use case being followed. ETL tools – such as SAP BODS Smart Data Access – such as SAP HANA Smart Data Access (SDA) SAP BusinessObjects Universe SAP Lumira Workforce When it comes to the workforce and talent, nothing has changed!  Nothing has changed because skills, expertise, and experience have ALWAYS been highly valued and necessary in the workplace. That said, the new digital economy has many unique and complex skills that didn’t exist a few years ago, which makes it challenging to have the right people – in the right place – at the right time. The mature business knows how to find the right people and ensure that they work on the right project and how and when to partner. Within the SAP ecosystem, hundreds of skill sets are required, but which ones are most in demand now?  According to Red SAP Solutions, the following skills are the hottest and will continue to be hot well into the future: SAP FI/CO (Financials) SAP S/4HANA Finance which is part of the new SAP S/4 HANA solution SAP SD (Sales and Distribution) SAP Hybris SAP Fiori SAP NetWeaver and SAP BI skills  A Time for Change We are living through the Digital Economy’s version of Darwinism. The challenge for most of us is that technology and society are evolving so fast it is hard to keep up. In response, savvy business leaders, young and old, recognize the need for a proactive change and innovation mindset. With maturity comes wisdom and, in our new economy, wisdom is the best guide into the digital world. To drive the evolving economy forward, mature leaders rely on capable partners to help. It makes no sense to go it alone. SAP systems are often at the core of Digital Adaptation programs, and technical partners have been helping clients resolve complex challenges for decades. Throughout the transformation process and beyond, a partner should support the entire organization, leveraging skilled consultants when and where they are needed. Domestic, or rural sourcing, is a solution for companies that need an IT partner but want to keep the work closer to home. To learn how we can help you with your SAP challenges contact us at SAPinquiry@ruralsourcing.com.

How to Best Leverage SAP’s S/4Hana in Digital Adaptation

S/4HANA has been called the engine driving digital adaptation. That is a bold statement. However, is that statement marketing hype, or is it true? To begin to answer that question, we must understand what digital adaptation is, and what it is not. Digital adaptation is not just another wrinkle in the landscape of process re-engineering. Further, it is not a system or a piece of software that drives incremental change. Business leaders who cling to these outdated ideas soon will see an erosion of their customer-base and a loss of market position. Digital adaptation enables an organization to predict or perceive quickly evolving business needs, and make critical adjustments through a combination of technology, process and workforce management. At its most rudimentary level, digital adaptation takes an organization out of a process-defined world and into a data-driven world. Digital adaptation is based on continually delivering new value to every user, raising operational efficiency and accelerating the speed-of-business to levels never before experienced. Leaders who adapt their operations to the digital economy understand that digital adaptation requires a shift in how business is conducted, and how goods and services are delivered. SAP – Scaling UP and OUT with Digital Adaptation Before digital adaptation, concepts such as scaling up and out meant opening an overseas office, merging with another company to run more efficiently, or upgrading data storage/access infrastructure. Now, scaling up and out looks more like digitizing business processes and leveraging data to provide compelling online experiences for customers, employees, suppliers, partners, and the general public. SAP is facilitating the digital experience by helping business leaders see their entire organizations clearly and focus on operational details that help them to run efficiently. The results are improved agility and better positioning of resources to seize market opportunities. Three examples of how SAP is helping to drive the digital economy are: For manufacturing, the average dollar value of invoices is decreasing as the number of invoices is exploding In logistics, the average value inside shipping containers is going down while the number of containers transported is growing exponentially For new economy companies like UBER, AIRBNB, and NETFLIX, these businesses are based more on the user-experience rather than the product or service The digital economy is stretching the supply chain and challenging financial systems. SAP is evolving with the new economy and delivering advanced user-experience and functionality for Accounts Receivable, Inventory Management, Accounts Payable, and Available to Promise functions. To answer the question posed in the first paragraph of this blog – Yes, it is true, SAP technology is the engine that drives digital adaptation. S/4HANA, Fiori and Personas are proof! For companies currently using SAP systems or planning to acquire new SAP technology, an entirely new version of SAP ERP is available to support the transformation to digital. S/4HANA is designed to significantly streamline the adaptation process by enabling businesses to be immediate, intelligent and integrated. S/4HANA – SAP’s Digital Core: The next-gen of ERP supporting operational excellence, business process automation, and seamless integration with core business systems. S/4HANA is a complete rethinking and remediation of SAP code to leverage maximum performance of their in-memory HANA database. It is designed to simplify the underlying database that slowed down R3 and ECC and made it difficult to support the high-speed computing needs of the digital economy. S/4HANA eliminates the locking and latching problems and enables dramatically higher throughput. Moreover, aggregated indexes are gone, status tables and headers are gone, and the entire database collapses into a single digital record. Making S/4HANA easier to support, a single version of the facts, and offering three environment options: off-premises, on-premises or hybrid. Add to the significant changes in S/4HANA, SAP has replaced the old traditional GUI screens with new Fiori applications and Screen Persona UIs to improve user-experience and streamline business tasks. Fiori and Screen Personas: SAP’s reimage for a greater user-experience providing personalized and simplified UX of SAP applications. Fiori and Screen Personas deliver web and mobile applications and UIs that are role-based, consumer-grade user experience across all lines of business, tasks and devices. They simplify data access and streamlines tasks for improved business processing. An intricate system like S/4HANA requires sophisticated and complex skills to design, install, configure and manage. However, to compete in the digital economy, this level of computing power is not just helpful, it is essential. You Do Not Need to Go It Alone? To thrive in the digital economy, company leaders must acquire the tools, expertise, and workforce management skills to adapt. Whether these specialized tools and skills come from internal sources or outside the organization, no company can go it alone. Installing, configuring, and migrating complex systems like S/4HANA, Fiori, Screen Personas, Leonardo, or Business Objects Planning & Consolidation require an enormous amount of expertise. But…companies desiring to move forward with digital adaptation plans are faced with a shortage of technical resources, difficulties balancing the rigors of business transformation with their employees’ daily routines and managing the often-ignored step of QA & Testing. In a world where the Internet blurs competitive differences, finding a partner who ensures that digital adaptation technology yields real-time operational capabilities, and then supports measurable competitive advantages, is essential. To learn how we can help you with your SAP challenges contact us at SAPinquiry@ruralsourcing.com.

Three Steps to Optimizing SAP Application Performance

With each meticulous stroke of the keyboard, each piece of intricate code, each configuration or integration, and with practically everything that occurs as an application comes together, it’s important to think about performance. As an SAP Administrator I may be tasked with analyzing performance issues and helping developers find the root cause of performance degradation that can occur during development or when the code moves to production. Sometimes the performance issue is something simple that the developer simply overlooked. Sometimes the issue is deeper, such as an issue that is relevant to an SAP Administrator but not necessarily at the top of the priority list for a developer that is focused on their deliverable target date and related acceptance criteria. Performance issues may not be apparent to the developer until the application moves to production environments where heavy multi-processing results in competition for system resources. Integration with other applications executing in a production environment can also present a challenge. To optimize performance of an SAP application, I recommend the following steps be taken: Understand the purpose of the program and why it’s being built. Execute a trace of the program Analyze Results The first step that should be taken is to ask questions to analyze SAP performance issues, such as: Is it a new program? Is it a custom program? Is it an SAP delivered program? Has an OSS note search been conducted to determine if the issue is a known issue resolved by an SAP note? Does the program involve a web service? If so, which? Does the program only read data or write data or both? Has the program been recently modified? What tables are being accessed? Does the program run well in a test environment? Is the program one that is being modified? If the program is a modification of an existing program, additional questions arise such as: When did the performance issue begin? Is the performance issue consistent or sporadic? What time during the day or night does the program execute? Does the performance issue occur also in a test environment or only in production? Has validation occurred to determine the application is used with correct variants or user input? Does the performance issue occur only under specific circumstances? Is it possible the data being operated on has changed? The second step is to setup and execute a trace of the program. This involves the following steps: Arrange a time to have the program executed in the same manner that results in poor performance of the program (i.e variants, location, launch method, etc.). Using SAP Basis tools watch to see what tables are being hit and watch for patterns as the code cycles through the system Watch for multiple threads in case the application has been configured to use multiprocessing If multiple application servers are part of the production landscape look for related processes that might be launched on different servers Using Operating System tools that monitor memory, cpu and i/o and swap usage to determine if the issue relates to a lack of these system resources Check to see if database lock escalation occurs during the execution using SAP Basis tools or by looking at relevant logs The third step is to analyze the resulting trace: Determine which relevant SQL statements are consuming the most time Determine which tables are being accessed in the top duration SQL statements Generate an explain plan of the high duration SQL statements and determine if indexes are being used or if full table scans are occurring. Analyze the relevant table(s) and determine their size and what indexes exists for them and when they were last reorganized and statistics run. Compare the where clause of the SQL being analyzed with the index being used to determine if a new index might be warranted. Additionally, the SAP transactions STAD and ST03N are key performance tools that can provide valuable details on numerous metrics based on user, transaction or program. In the case of SAP, one must consider the effectiveness of tuning parameters at all 3 levels of the underlying computing infrastructure: Operating system Database SAP Additionally, performance of network and storage systems must sometimes be considered. SAP publishes recommended settings for tunable parameters for most major operating systems and popular databases that may have an effect on how well SAP performs. SAP also provides tunable memory buffers that can be monitored and the related tunable SAP parameters are identified making it easier to determine which SAP parameters may be in need of adjustment. As you can see, when it comes to performance of applications, there is a lot to consider in the analysis and each area above has its own path for mitigation. Performance should be taken into consideration as an application is being designed and coded and performance should also be a consideration during initial testing. Try to be thorough in building applications with consideration for the end user experience. No one likes to sit and watch the small circle spin or the screen seemly in a dead mode when an application is launched and the enter key is pressed.

LIMS: Love It, Maybe Sometimes

For some, LIMS stands for Laboratory Information Management Systems but for others, it stands for Love It, Maybe Sometimes.... The pressure is reaching an all-time high for the pharmaceutical industry to lower prices, maintain a competitive edge, deliver products to market faster and operate in compliance with increasingly strict regulations. For years, pharmaceutical companies have invested in LIMS technology to help meet these goals, only to find that they must spend even more time and money to obtain the efficiency gains that prompted them to consider LIMS in the first place.  An article in Chemistry World reports that the software is usually around 40 percent of the overall cost of LIMS, but that helpdesk support, maintenance, configuration, integration, training and other consulting services makes up the remaining 60 percent. This is a significant cost that often becomes a roadblock on the path to loving LIMS. We found this to be a universal pain point facing lab managers and LIMS administrators. They had LIMS in place, but they weren’t fully maximizing its potential because they were spending a considerable amount of time on redundant work with extremely high manual labor expenses. That got us thinking – what if there was a customizable solution that would sit on top of any LIMS platform that defined and organized master data requirements? And what if the solution leverages object templates that are configured to your LIMS? Now there is a solution - LIMS Accelerator™, a tool that standardizes templates and facilitates use of automation to largely eliminate manual data entry and the transcription errors it causes. With LIMS Accelerator, resources can get back to the job of being lab managers and analysts, not data entry specialists. And they can get back to loving LIMS.

LIMS Support Best Practices

In "Built to Last," author Jim Collins builds the case that companies should focus on their product (or their purpose). That is to say, a company should “be a clock builder, not a time teller.” Within the life sciences industry, supporting LIMS and other scientific data quality systems typically falls within the responsibilities of several organizations with differing charters and motivations. In Collins’ words, they are “time tellers,” in that support for these systems is not their organizational “main thing.” There has been an increasing trend of outsourcing these support tasks, allowing the company to shift focus back to their ultimate purpose of R&D, sales and manufacture of quality product. Support for a LIMS entails many important disciplines, including infrastructure, low-level and advanced technical support, master data implementation, enhancement and support for investigational activities. These areas are disparate in their resource needs, ranging from the IT-centric infrastructure support to the scientific technical master data and investigational aspects. Because of the varied nature of these tasks, a LIMS support organization is frequently split across IT, R&D, quality control and quality assurance organizations. Furthering the challenge are geographical and language constraints as LIMS systems are deployed on a harmonized basis across organizational units and manufacturing sites within companies. Being effective as a support organization can be viewed in two ways. The first means of being effective is providing for the needs of the users of the LIMS, a straightforward goal. The second dimension of effectiveness is being aligned cost-wise with organizational needs. From RSI’s experiences building and maintaining support organizations within the space, the following points have been identified as best practices: Begin with the end in mind. Understand the parameters involved in support by identifying the stakeholders, organizational involvement, current resources and cost considerations. Foster a sense of accountability. Support organizations that “sit” under a single organization are more effective in delivery and avoid the support gap that can be present when multiple groups are involved in support delivery. If multiple organizations are involved in support, clear definition of roles and responsibilities is critical. Structure centrally. Aligned with the trend towards harmonized LIMS systems and data, a LIMS support organization built centrally for an organization or organizational unit can significantly lower the total cost of support for a system by leveraging work across the unit and sharing of pertinent and relevant information such as reports and master data. Employ Agile Support Practices. Using Agile support practices shows a demonstrable benefit in several ways. By employing systems such as Kanban, visualization in the priorities and current status of the support team are readily apparent, especially across geographical or physical locations (using excellent tools such as Trello). Deliver frequently. A support organization is trusted by their stakeholders when they are able to frequently deliver upon their promises. Delivering frequently, as opposed to coalescing large releases or enhancements, may seem counterintuitive in a quality-oriented field. By delivering “smaller,” stakeholders are able to more quickly get value for the support effort and quality verifications can be more focused and accurate. Define success and measure against goals. Defining what a success is, whether it is codified in service level agreements, or a less-formal approach, is important to any support organization. Established what success means allows the support team to be measured against criteria, and is a lever for making changes to the approach, team or strategy if goals are not being met. Editor's Note: This blog was updated from its original post.

Display Custom Fields In The Header Area of FB60 and FV60

Some SAP clients need extra information added in to a standard SAP process. Here we’ll explore how to add custom fields in the header areas of t-codes FB60 and FV60. FB60 is for posting vendor invoices and FV60 is for parking vendor invoices. In this sample, we’ll be adding in two custom fields. From research, I found that BAdi BADI_FDCB_SUBBAS01 would work for the initial requirement. I decided to use BADI_FDCB_SUBBAS04 since some of the 01,02s are used by SAP. Go to t-code SE19 to create a BAdi implementation. It’s a classic BAdi rather than a new BAdi. Choose a name and click change. It will ask you to create it and give it the name of the BAdi, which we’d put BADI_FDCB_SUBBAS04. We get a screen that tells us the two methods that the BAdi has and the name of the implementing class. The methods should be double clicked and each filled in as follows: method IF_EX_BADI_FDCB_SUBBAS04~PUT_DATA_TO_SCREEN_OBJECT. * fill interface attributes from importing paramters me->if_ex_badi_fdcb_subbas04~invfo = im_invfo. endmethod. method IF_EX_BADI_FDCB_SUBBAS04~GET_DATA_FROM_SCREEN_OBJECT. * fill export parameters from interface attributes ex_invfo = me->if_ex_badi_fdcb_subbas04~invfo. endmethod. On the subscreens tab, we define a program and screen call based on screen 10 since it’s for Vendor Basic Data and we’re adding to vendor screens. We then must activate the BAdi implementation so that in the Runtime Behavior section, it says Implementation is called. Note: at this point, it will not work. You need to add your new fields to BKPF, VBKPF, and BSEG via append structures. For BKPF, you open the table in SE11. You then click the Append Structure… button at the top and the appends for BKPF will show up. You then click the piece of paper at the top to create. It will ask you to name your append structure. You fill out the short description, the z fields, give it an enhancement category, and activate. If everything works fine, it will say active. Do this for all three tables. At this point, it will still not be working. We still have to create our program and screen. Create a program via SE80 and create a custom screen for it. Create the screen however specified and then fill in the flow logic. Note: In PAI, you must put each field that you define after FIELD: You may wonder how INVFO has these fields, and that’s because it’s also enhanced when you add the append structure to BSEG. On the main program, you’ll fill out all the modules and create some data definitons: REPORT zf_vendor_invoice. ************************************************************************ * T A B L E S * ************************************************************************ TABLES invfo. ************************************************************************ * D A T A D E F I N I T I O N * ************************************************************************ DATA: o_bad TYPE REF TO if_ex_badi_fdcb_subbas04. *name of the badi reference *----------------------------------------------------------------------* ***INCLUDE LZF_VENDOR_INVOICEO01 . *----------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Module STATUS_9200 OUTPUT *&---------------------------------------------------------------------* * Create a subscreen object and get data from the screen *----------------------------------------------------------------------* MODULE status_0100 OUTPUT. CALL METHOD cl_exithandler=>get_instance_for_subscreens CHANGING instance = o_bad EXCEPTIONS no_reference = 1 no_interface_reference = 2 no_exit_interface = 3 data_incons_in_exit_managem = 4 class_not_implement_interface = 5 OTHERS = 6. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. * object created ? CHECK NOT o_bad IS INITIAL. * get data from main screen CALL METHOD o_bad->get_data_from_screen_object IMPORTING ex_invfo = invfo. ENDMODULE. " STATUS_9200 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_9200 INPUT *&---------------------------------------------------------------------* * Put data into the screen *----------------------------------------------------------------------* MODULE user_command_0100 INPUT. CHECK NOT o_bad IS INITIAL. * put data to main screen CALL METHOD o_bad->put_data_to_screen_object EXPORTING im_invfo = invfo. ENDMODULE. "user_command_9200 INPUT *&---------------------------------------------------------------------* *& Module RECEIVE_ACTUAL_DATA INPUT *&---------------------------------------------------------------------* * Get data from screen *----------------------------------------------------------------------* MODULE receive_actual_data INPUT. * object created ? CHECK NOT o_bad IS INITIAL. * get data from main screen CALL METHOD o_bad->get_data_from_screen_object IMPORTING ex_invfo = invfo. ENDMODULE. " RECEIVE_ACTUAL_DATA INPUT *&---------------------------------------------------------------------* *& Module CHECK_TCODE INPUT *&---------------------------------------------------------------------* * check the t-code – We want it to show up for FB60 and FV60, but * hide it for any other screen that hits this enhancement *----------------------------------------------------------------------* MODULE check_tcode OUTPUT. IF sy-tcode <> 'FB60' AND sy-tcode <> 'FV60' AND sy-tcode <> 'FB03'. LOOP AT SCREEN. IF screen-name = 'INVFO-ZZE_DAT' OR screen-name = 'INVFO-ZZE_LOC' OR screen-name = 'DATE' OR screen-name = 'LOCATION'. screen-active = 0. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF. ENDMODULE. " CHECK_TCODE INPUT   Once this is activated, you will see the screen fields(Event Date and Event Location): You can also look at any document created and see those fields held in BKPF or VBKPF. Adding custom fields to many SAP screens follow the same procedure. Knowing how to do this will help you add value to your customer and provide them the ability to have some custom information added in to a standard process.

SAP AIE

In this blog we are going to take a look at SAP AIE. AIE consists of multiple local instances of the component SAP Aii. This component is then connected to a component called SAP OER to collect data centrally from across a company’s enterprise and business partners. It can be used to query, manage, and monitor a company’s processes centrally. Aii stands for Auto ID Infrastructure and OER stands for Object Event Repository and is used for serialization. Serialization can be defined as the process by which each product in the supply chain would be assigned a unique number. Serialization would enable one to identify the manufacturer, the kind of product, the integrity of the product, etc. from the unique number assigned to a product in a global supply chain scenario. There are many benefits by serializing your product: Your organization would able to take account of all the products that are being manufactured from your facility. One can easily manhandle the operations associated with it. It can help you to maintain your brand in the market. Drug counterfeiting and diversions are huge patient safety issues driving serialization globally. Organizations around the world have felt the need of serializing the product as a means to prevent counterfeiting and drug trafficking from happening in complex supply chain scenarios. RSI helped develop a serialization solution for a retail grocer that allowed them to trace their food, ensuring food safety. SAP OER is an EPCIS repository fully new and compliant with GS1/EPC global EPCIS Standards. It allows an EPCIS capturing application to insert EPCIS events in the repository to query SAP OER. Reports for business intelligence can then be produced. SAP OER also manages serial numbers and can distribute a unique serial number range to other applications. SAP OER is meant to be instantiated at the corporate level. On its side, SAP Aii is an EPCIS Events Capturing Application. It allows to management of low level material like printers, RFID devices, or hand held scanners in order to interpret the input of low level devices and converts it to EPCIS events. It also manages serial numbers, requests of serial number ranges to SAP OER, and can distribute a range to other applications. SAP Aii is meant to be the edge interface at the plant level. Many companies are implementing this system for their product traceability and serialization needs, especially since there are regulations for GS1 compliance. It has many aspects that can be beneficial to businesses; it’s also very customizable and works well with many lower level systems that plants have which make it a great solution.

The Power of CAS: Part III

A solid user interface is crucial to every software tool. If the user interface, or UI, is not esthetically pleasing, or user friendly, the audience won’t enjoy the software as much and the quality of the product will be viewed as subpar. The Accenture CAS system not only has a very rich and complex programming structure in the background, but it also contains a very sophisticated UI as well. If domains, entities, basic data objects, and views are the foundation of the house that is Accenture CAS, the User Interface forms the roof. This entry will discuss four major UI types as well as the tools used in conjunction with them. The first UI Type we will discuss is the Tab Page. Tab Pages are viewed in almost every user interface in the Accenture CAS system. Each tab page is comprised mainly of two types of structures. The first is a group and the second is a grid. The group is used to display or enter data for an individual row; grids are primarily used to display multiple rows of data.     Groups save and load data from one table’s row in the database. This can be obtained by using either a cdo or a view. The use of a view can be more complex because by their nature, views usually return more than one row. The view must have conditions that result in a result of one row if they are to be effectively used in conjunction with groups. Grids are meant to display one or more rows of information. Views become very important in accomplishing this task. By creating a grid based off a view, all of the results of the view will be displayed in the grid. The second User Interface Type we will discuss is a detail. Details are essentially containers holding a group of tabs that displays in the application. Details allow the user to navigate and view several tab pages and save data as needed. Without this container, tab pages could not be viewed. This gives the user an interface that is familiar to internet browsers. Notice that this customer detail has several tabs that can be traversed through.       What makes details impressive is that the developer can set what users can view and edit tabs. This is made possible by edit and access rights. These edit and access rights or EA rights will set editing and visibility based on the users roles conditions being met. EA rights are established by adding principles to a grid. The principles will fire off in the order they were added, resulting in various edit and access rights being set for various users. Details all have a reference to a User Interface group, or definition called a Detail Context that allows it to be opened. There are several ways to open the detail, but generally one of two scenarios occurs. The detail is either opened in the application menu, which looks strikingly similar to a start menu or by loading from an Overview. Overviews are the next User Interface Type we will discuss. Overviews give the user the ability to select a profile to search for specific data needed to either open a detail or select data while using a Wizard. At first site, an overview will look similar to a tab page with a grid positioned inside it, but it contains much more. Profiles are uesd to load up a specifici set of data for searching. Each Overview must contain at least one profile and will contain three main features: Searches, Quick Searches, and Sortings. By looking at the creation of a new customer we can see how these features work. Searches are used to narrow the result set of each profile by entering criteria such as Ids, Valid Dates, and Names. Notice in the screenshot above that there are three grayed out criteria entries in the general search box. These represent the quick search. This allows users to just type in what they are searching for as opposed to entering them into the search box of that particular criteria. Finally, the Quicksort is used to Order the searche’s result set. The final User Interface type we will talk about is a wizard. Wizards are used in conjunction with creating new records or data or when adding rows to existing data. This can be seen when users create Visits. A visit, or call is one of the more prominent features in Accenture CAS. It is a means for users to track store visits, phone calls, sickness and even vacation data. When the user creates a call, a wizard will be shown. Notice that the wizard gives the user a choice of what type of call they will make.It also has a link to an overview for choosing customers. Once data has been chosen and the user presses finish, the data will be transferred from the wizard to the new call. This is done by sending the data through and “operation call.” An Operation Call can be used in several situations. For example, when the “New Call” is pressed, the Operation Call for the wizard is executed, and it loads the wizard data. Once the wizard is complete, an operation call for creating the Call is executed and the data is sent from the wizard to the call. The Accenture CAS system uses Visual Studio and Silverlight to provide users with what resembles common system interfaces. CAS contains a rich and complex backend that gives developers the tools needed to provide clients with a system of tracking and storing data. Accenture CAS is built from the ground up with a solid foundation of objects with several ways to deeply customize the application, displaying the data through the top layer of the system, the User Interface. Together these elements provide the user and clients with a great tool that can help maximize their company’s full potential.

The Power of CAS: Part II

The intent of this blog entry is to further inform readers of the functionality of the Accenture CAS System. Accenture CAS is the leading integrated sales platform for the consumer goods industry, providing companies with the ability to streamline all of their day to day operations. The CAS system uses four main tools, namely the CAS modeler, SQL Server Management Studio, Visual Studio 2010, and the CAS Application which uses Microsoft Silverlight. Today, we will focus on the following foundational CAS Modeler objects: Entities, Domains, Basic Data Objects (cdos), and Views. It can be said that the most important objects in the CAS System are Domains and Toggles. Domains represent data types of each attribute in an Entity. They can be predefined or created by a developer in the Modeler. Domains can have customer names, but each Domain be based on one of six data types. The data types are: Blob, Date, Decimal, LongText, NonUnicode, and String. Domains determine the type of data entry required in the User Interface. If the data type is a Date the user will have to enter a valid date into the system. The same is true for the other data types. A Toggle is known as a special form of Domain, comprised of the StringData Type. Each Toggle contains codes, items, and labels that are used for data storage. What makes Toggles special is that they are prefilled with Labels for the user to choose from as data. Each Label corresponds with an Item. Once the value is saved, a Code that corresponds to the Item is sent to the database for storage . For example, if a user is being created, there is a State Toggle. This holds a string label for each state in the nation. The creator must choose a state, and once the tab page is saved, the code for the selected item will be saved to the database. The Accenture CAS System has the ability to track and store data by using Views and CAS BasicData Objects, or cdos. In order to do this, there must first be a “building block” upon which Views and cdos can use to read and write data. These corner stones of the Accenture CAS System are Entities. An Entity is an object in the Accenture CAS System that contains the definition of a table. This essentially means that entities provide a schema of tables in the database, giving cdos and Views the correct information when performing queries on the database. Every entity contains two important sections: Includes and Attributes. Includes are preexisting packets of core attributes that may be needed for the current entity. Every entity will contain at least one Include named SysEntityObject. This contains attributes vital to saving and updating the data represented by the entity. The most important of these attributes is the PKey, or Primary Key. This attribute works exactly like Primary Keys in database systems. Each row in the corresponding table will have a distinct PKey that helps maintain data integrity. Attributes represent columns of a table in the database, and are added manually to an entity. As stated previously, attributes must contain a domain type. When an attribute is added to an entity, a dropdown box will appear containing all domains in that module. If a developer adds attributes to an entity that will link it to another, they must select a Domain of type DomPKey. This special attribute addition creates a relationship in the system to the other entity. This is important for use in Views and cdos who compare two or more entities. Now that we have covered Domains and Entities, we will look at Views and CAS Basic Data Objects (cdos). Notice that Entities are required for both Views and cdos. The difference between the two is the number of entities used in retrieving and storing data. A View can be created using one or more entities, where as a cdo is based off of one entity. Views are essentially select statements using relationships between entities as the constraints. Generally speaking, when a developer creates a View these relationships already exist due to their corresponding PKeys having been added to the other entity. However, if the relationship does not exist, it can be created when the view is created. Each view has a “Starting Element” that represents the entity being primarily selected from, and if other entities are needed, they will be added to the view based on their relation with the first entity. This allows views to narrow the results to a smaller set that meets all required constraints. Once all entities have been added, attributes from the entities can be added to display in the return set. For example, the preexisting view, BpaMainRoleView, has a starting entity of BpaMain. It then adds other entites based on relationships with BpaMain. The figure below depicts the scenario and shows all of the constraints for the view. The developer of this view has also added attributes from the various entities to display in the result set from the SQL Query generated. Once the view is run, it will select all data from all of the entities where the constraints are met and return the data to the application. CAS Basic Data Objects differ from Views in that they are used to access data from one entity. There are two ways to create cdos in the Modeler. First and most importantly, each entity will have a cdo created at the same time it is. These cdos have a basic condition stating “PKey = ?”. This will return all rows from the table where the PKey supplied is equal to the PKey of the row. Cdos can also be created seperately from an entity, but they will still require an entity to interact with as well as a condition. More custom-specific cdos can be created in this manner. For example, if a developer needed to have all Call Visits that are scheduled for a date greater than the current date returned, a cdo could be created with a constraint: “ClbMain.DateFrom >= #Today#”. Just as a building is based on its foundation, Accenture CAS is based of of Domains, Entities, Basic Data Objects, and Views. Domains are essential for Entities that represent table definitions. Entities are crucial for View and Basic Data Objects. User Interfaces in Accenture CAS are dependent on cdos and Views. The Accenture CAS User Interface will be discussed in later entries. If there are any other topics you would like hear about CAS, just let us know!

Sign up for our blog updates!