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

Product settype acts as a very important role in CRM WebClient UI architecture.

(1) The GenIL layer knows nothing about attributes modeled in settype. Instead, it only knows product BOL model attributes.
(2) The API knows nothing about attributes modeled in Genil model. Instead, it only knows attributes modeled in settype.

In GenIL implementation, there is a util class CL_CRM_PRODIL_UTIL~GET_REQUEST_INFO which maps the name of requested BOL model node name into the name of settype. The mapping from BOL model name and settype are maintained in configuration table CRMC_PRIL_OBJ. The GenIL implementation will use this table to get settype GUID, and then get the name of corrresponding settype by GUID and pass the settype name to API.

Let's review the end-to-end process:
Product overview page consists of assignment blocks.

Each assignment block is technically modeled based on a GenIL model node. There is association modeled in GenIL Model which connects root node to this node used in assignment block view. The picture below shows the technical implementation of assignment block view "Categories".

When the product overview page is opened, the data for each assignment block should be queried and displayed in WebClient UI. The GenIL model node name is passed from UI component discussed above to GenIL. GenIL then find the id of settype according to the following logic and pass the settype ID to API:

The picture belows shows the GenIL passes the settype id to API:

Set types are assigned to categories and not to products directly. By assigning set types to categories, and then in turn assigning the categories to products, you can make available the data you require to describe your products.The mechanism is illustrated below:

You can assign settypes to a category in GUI tcode COMM_HIERARCHY:

or in WebClient UI:

from sap help:
To prevent a set type from being assigned to a product more than once based on different categories, the following rules apply when working with categories and hierarchies:

  1. A set type may be assigned to more than one category within a hierarchy, but to only one hierarchy for each product type. Therefore even if two categories are in different hierarchies but have the same product type, it is not possible to assign the set type to both categories.
  2. A product can be assigned to more than one category as long as the categories belong to different hierarchies. A product can therefore only be assigned to one category in each hierarchy.
    翻译成中文就是:

(1) 1个settype,在整个系统里只能assign给一个product hierarchy的category。一旦assign之后,整个其他任何其他hierarchy的任何category,都不能再assign该settype.
(2) 1个product可以被assign给多个category,但是这些category必须来自不同的hierarchy.

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

0
1
分享到:
评论

相关推荐

    AngularJS服务service用法总结

    在AngularJS中,服务Service是一个非常重要的概念,它用于封装业务逻辑和功能,使代码更加模块化和可复用。本文将详细介绍AngularJS中服务Service的用法,包括它的概念、功能以及如何自定义服务。 首先,我们需要...

    技术文档1

    实验的目的在于让初学者掌握面向对象编程和类的使用,实验环境则提供了多种可能的开发工具,并强调了编码规范的重要性。以下是基于这些信息的详细知识点解释: ### 1. 面向对象编程思想 面向对象编程(Object-...

    第11章 枚举_注解_内部类.docx

    现在,当我们为`Entity2`对象设置类型时,只能选择`TypeEnum`枚举中的定义,如`entity.setType(TypeEnum.VIDEO)`,这既提高了代码的可读性,又确保了类型安全,降低了耦合性,并提高了扩展性。 接下来是注解...

    超简单实现分享功能源码

    为此,可以修改setType方法的参数,如`setType("image/*")`表示分享图片,`setType("video/*")`表示分享视频。同时,使用`putExtra`方法添加对应的共享数据,如图片Uri或视频Uri。 为了提高用户体验,我们可以预先...

    Android功能代码

    intent.setType("vnd.android.cursor.dir/contact"); startActivity(intent); 6.打开通话记录 Intent intent = new Intent(Intent.ACTION_VIEW); intent.setType("vnd.android.cursor.dir/calls"); startActivity...

    Android中使用Intent启动信息发送功能的方法介绍.pdf

    在Android应用开发中,Intent是一种强大的工具,用于在组件之间传递消息并启动各种操作,如启动活动、服务或广播接收器。...了解和熟练运用这些方法对于构建高效且用户体验良好的Android应用至关重要。

    PHP安全性漫谈之Mysql数据库安全性设置.docx

    在构建基于PHP的Web应用程序时,数据库的安全性至关重要。然而,PHP本身并不具备直接保护数据库安全的能力,因此需要开发者采取一系列措施来确保数据库不受攻击。本文将探讨如何通过PHP脚本增强MySQL数据库的安全性...

    (有向)图的深度优先遍历算法模板算法(java源码)

    e.setType(TREE);//e被归类为“树边” traverse(u, info);//从u出发,继续做深度优先查找 break; case DISCOVERED ://若u已经被发现,但对其访问尚未结束,则 e.setType(BACKWARD);//将e...

    Setv_pnProxy v1.0【PPoE-v_pn-代理自动设置工具】

    在cmd下运行Setv_pnProxy.exe settype=v_pn setname=v_pn连接 setv_pntype=p p t p setv_pnserver=127.0.0.1 setuser=huzi setpwd=1234 使用示例3:如仅使用现有的名为“v_pn连接”、账号huzi、密码1234进行自动...

    Android系统分享功能实现

    在Android系统中,分享功能是应用之间交互的重要方式,它允许用户轻松地将文本、图片、视频等信息从一个应用传递到另一个应用。本篇文章将深入探讨如何在Android应用程序中实现这一功能,主要涵盖以下几个核心知识点...

    JAVA访问firebird数据库之Jaybird-2.1.6JDK_1.5+相关DLL文件+使用方法

    dataSource.setType("EMBEDDED");改为dataSource.setType("LOCAL") 【位于DataSourceExample.java源文件中,如果不修改,则显示不能连接成功】 其次: java中连接文件的写法: driverName = "org.firebirdsql....

    HarmonyOS应用开发实战--如何打开相册和音.docx

    需要注意的是,在实际开发过程中,还需要考虑到权限管理、异常处理等问题,以确保应用的稳定性和安全性。 以上就是关于HarmonyOS应用开发中打开相册和音频列表功能的详细介绍,希望能对开发者有所帮助。

    关于php函数库手册

    这份手册特别强调了熟记函数的重要性,就像学习英语单词一样,熟背函数能增强对PHP的理解,使学习过程更加顺利。 在手册中,主要分为以下几大类函数库: 1. **变量函数库**:提供了如`call_user_func`用于调用用户...

    PHP编程基础--数据类型转换.ppt

    在处理不同类型数据时,需要注意潜在的类型转换风险,确保程序的逻辑正确性,避免因类型错误导致的意外结果。在进行类型转换时,应始终考虑数据的初始类型和预期的最终类型,以避免可能的运行时错误或逻辑问题。

    onekeyshareDemo

    "一键分享"是移动应用开发中的一个重要功能,它允许用户快速、方便地将内容(如文字、图片、链接等)分享到不同的社交平台或者应用程序。在这个"onekeyshareDemo"小案例中,我们将会探讨如何在Android应用中实现一键...

    Android分享

    总的来说,Android分享功能是其生态系统的重要组成部分,它促进了应用间的互动,提升了用户体验。开发者可以通过灵活运用Intent分享和自定义分享,为用户提供便捷、多样化的分享途径。在设计分享功能时,应考虑到...

    android原生分享功能实现

    在Android开发中,原生分享功能是应用与用户交互、与其他应用进行数据共享的重要途径。本文将详细讲解如何实现Android原生分享功能,包括分享到微信、QQ好友以及使用系统级的分享菜单。 首先,我们需要了解Android...

    用Intent.ACTION_SEND进行分享

    在Android开发中,Intent是应用间通信的重要工具,它用于启动其他Activity或Service,传递数据,实现组件间的交互。Intent.ACTION_SEND是Intent的一个特定动作,用于实现应用中的内容分享功能。当你点击一个“分享”...

    安卓开发-文件浏览返回路径.zip.zip

    在安卓开发中,文件浏览功能是一项基础且重要的任务,它允许用户在设备的文件系统中查找、选择或操作文件。本教程将详细讲解如何在Android应用中实现文件浏览并返回路径,以便开发者能够更好地理解这一过程。 首先...

Global site tag (gtag.js) - Google Analytics