`
JerryWang_SAP
  • 浏览: 1033131 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

This blog will try to introduce the Webclient UI Configuration determination log

阅读更多

This blog will try to introduce the Webclient UI Configuration determination logic to those friends who are new for this topic.

Suppose I log on Webclient UI via Business role SALESPRO and have opened Sales Order overview page and F2 to open technical information page, what are the meaning of the left four fields ( Searched For) and the right four fields ( ) ?

 

 

Figure1 Technical information page

In UI workbench, there are 8 standard configuration pre-delivered by SAP and 1 configuration done by customer.

 

 

Figure2 View configuration list for Sales Order detail view

The SAP configuration data is storaged in table BSP_DL_XMLSTRX2 while customer configuration in BSPC_DL_XMLSTRX2.

The configuration determination logic could be summarized as the following:

(1) The four fields config key, component usage, object type and object sub-type are evaluated by framework to determine which configuration should be loaded. The priorities of these four fields are different and hard coded by SAP, see following picture. These 22 table rows are called “Configuration Access sequence”.

(2) Customer configuration precedes SAP configuration. If a customer configuration is evaluated and accepted, the framework will stop the determination process and load it.

 

 

Figure3 Access sequnce table

Briefly speaking, the configuration determination logic could be concluded as below process:

(1) framework will build the access sequence table gt_access_sequence, which has 22 entries as listed in figure3. (2) framework will load the 8 sap configuration information( config key, component usage, object type and object subtype ) to internal table it_config_sap and 1 customer configuration to it_config_cus. (3) LOOP AT gt_access_sequence, within each loop, check it_config_cus whether there are matched configuration. If found, mark it as “Found” configuration and stop the process. If not found ( ie, the 11 times LOOP finish ), the framework will LOOP AT gt_access_sequence again from beginning, but this time the table it_config_sap is checked instead.

Let’s use the SalesOrder detail view as example to make this process more clear:

(1) Framework will try to load a configuration which matches the four fields displayed in debugger. These four fields are just considered as “Searched for” fields shown in figure 1.

 

 

Figure4 search key

(2) load the SAP and customer configuration data:

 

 

The internal table looks exactly the same as what we see in UI workbench ( Figure 2 ):

 

 

(3) if the determination is being executed in a customer system, there are totally 22 ( 11 for customer configuration and 11 for SAP configuration ) loop until a match is found.

 

 

the gt_access_sequence is filled according to Figure3.

 

 

For each fields, X means the corresponding field in it_config_cus or it_config_sap is checked with the search key passed in ( figure4 ), space means .

 

 

All 11 times LOOP for it_config_cus failed, so it_config_sap is now evaluated. The matched one is finally found in the last attempt, and since it belongs to SAP configuration, so in figure1 “Standard Configuration” is marked for Configuration Origin.

 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    DevOps with Kubernetes

    This book will guide you from simply deploying a container to administrate a Kubernetes cluster, and then you will learn how to do monitoring, logging, and continuous deployment in DevOps. The ...

    GeoServer Beginner-'s Guide

    GeoServer Beginner's Guide offers you a ...GeoServer Beginner's Guide will introduce you to the fundamentals of GIS and will then clearly explain all the basic tasks performed in order to build maps.

    httpd2.2.12.tar

    commits aught be used to introduce code from the development version to the stable tree. At any given time a security release may be in preparation, unbeknownst to other contributors. At any ...

    kubernetes for developers

    This book will introduce the key concepts of Kubernetes, linked with examples of how to deploy and use those with a bit of NodeJS and Python example code, so that a reader could quickly replicate and...

    Introduction.to.Game.Programming.Using.Csharp.and.Unity.3D

    This book is written with two objective in mind, first, to introduce the reader to the concepts of programming using C#, second, to put into practice the concepts in a fun and entertaining way by ...

    Xcode.7.Essentials.2nd.Editio

    This book will introduce you to all the new features of Xcode 7 and demonstrate how Swift programming can be much easier, faster, and simply better with Xcode! Even if you’re starting with just a ...

    Professional Silverlight 4

    This book was written to introduce you to the features and capabilities that Silverlight 4 offers, as well as to give you an explanation of the foundation that Silverlight provides. We assume you have...

    Xcode 7 Essentials(PACKT,2ed,2016)

    Step up your iOS development with the power and wealth of features of Xcode 7 About This Book * Updated for the latest Xcode 7 release, this is the first book that will show you how to use all the new...

    spring.microservices.in.action

    This chapter will demonstrate how to use Spring Cloud and Netflix Hystrix (and Netflix Ribbon) to implement client-side load balancing of calls, the circuit breaker pattern, the fallback pattern, and...

    Splunk Essentials(PACKT,2015)

    This book is designed to introduce you quickly to the benefits of using the Splunk Enterprise system. Understanding this technology will allow you to engage with your important data and ensure that it...

    CentOS 7 Linux Server Cookbook(PACKT,2ed,2016).

    This book will provide you with a comprehensive series of starting points that will give you direct access to the inner workings of the latest CentOS version 7 and help you trim the learning curve to ...

    Mastering Linux Shell Scripting 2nd Edition

    Following this, you will learn how to define a variable and the visibility of a variable. After this, you will learn how to store command execution output into a variable, which is called command ...

    Mastering Embedded Linux Programming, 2nd Edition-Packt Publishing(2017).pdf

    At the conclusion of this this section, I introduce the idea of using an embedded build tool, using Buildroot and the Yocto Project as examples. The middle part of the book, chapters 7 through to 13,...

    Unreal Engine Essentials(PACKT,2016)

    This book will introduce you to the most popular game development tool called Unreal Engine 4 with hands-on instructions for building stunning video games. You will begin by creating a new project or ...

    a project model for the FreeBSD Project.7z

    [1] This paper will provide such a project model and is donated to the FreeBSD Documentation project where it can evolve together with the project so that it can at any point in time reflect the way ...

    Kali Linux Network Scanning Cookbook(PACKT,2014)

    Kali Linux Network Scanning Cookbook will introduce you to critical scanning concepts. You will be shown techniques associated with a wide range of network scanning tasks that include discovery ...

    mastering-spring-cloud2018

    Chapter 1, Introduction to Microservices, will introduce you to the microservices architecture, cloud environment, etc. You will learn the difference between a microservice based application and a ...

Global site tag (gtag.js) - Google Analytics