来自我的同事Sara。

当我们在CRM系统里创建一个settype之后,其实系统后台悄悄的帮我们创建了很多ABAP对象,比如对应的database tables, other ABAP Dictionary objects, function groups, function modules, and screens等等。
Create set types:

DB check:自动创建了一个和settype ID同名的数据库表

问题:How this DB generate?
How to check what function groups, function modules, and screens are created? Especially which screens?
When we assign the attributes to the set type, I guess it will insert lines into the table.

Jerry的解答:

当你创建一个新的settype时,product框架会自动生成针对该settype的structure和存储Table, 以及对应的用于CRUD的function module。但是了解框架本身如何实现我前面说的这些事情,对我们接下来做的co deployment没有直接帮助。你的这个问题可以转换成:

假设我只知道product的description字段是通过某个settype实现的,我想不问别人,自己弄清楚该settype的名字和访问该settype的CRUD的function module名字,该如何做?

I got one information from my colleague, the Product Description function is implemented by the SAP standard set type. Then I want to make clear:

(1) Which standard set type implement Product Description and it's DB table?

(2) Which function module (API) implement the CRUD of Product Description?

写在前面:本文提及的方法只限一种思路,不排除个别Assignment Block 不适用的情景,请大家广开思路,积极探索更多的方法来研究,希望能总结出更多的具体API,简化每一个功能的实现。

Product ID: SZIPC (in QHD)
After this self study, I can get a general knowledge of how the product fields implemented in the SAP System.

Then I will start this self study step-by-step by question driven.

(1) Which standard set type implement Product Description?

Try Google it first. Wow, got some information. set type name COMM_PR_SHTEXT.

(2) Is it right? How can I display set type?
One way, Google.

Second way, I would like to use SE93 to find transaction code by transaction description, got it!
TCODE: COMM_SETTYPE

There is some issue, you can not display set type by TCODE: COMM_SETTYPE directly, you can only use COMM_ATTRSET input the set type COMM_PR_SHTEXT first the sue TCODE: COMM_SETTYPE to dispaly.

(3) Then how can I find the DB for this set type and the CRUD function model?

There is 2 ways.

The first way, is to use TCODE: ST05 trace.
I update the description from Material_Sara to Material_SaraZhang. I search with key words 'Material_SaraZhang', then I find the DB--COMM_PORTEXT.

The second way, I would like to use TCODE: SE93 find the package of TCODE COMM_SETTYPE.--
Assume,I do not know, Most of the Set Type name = DB Table name.

There must be a table include all the Set Type name and DB Table names, how can I find it?
This is an important thinking point, for every TCODE in SAP, it's a collection of multiple functions /tables/views. Which should be packaged in a package.

In the package, there is multiple DB, from the DB description, you can know COMC_SETTYPE is the admin table which include all information we want.--Admin table and header table always as the start and base point of DB relationship.

Filter by the set type name** COMM_PR_SHTEXT**, we found the set type DB COMM_PRSHTEXT and related function module.

(4) How the function module work when I read the product description?

TCODE: SE37 find COM_COMM_PR_SHTEXT_READ_WITH_P and set breakpoint.

search Product ID: SZIPC

in WebClient UI.

Follow the call stack, find the key API for read product set types.

(5) How the function module work when I Update the product description?

Function Module: COM_COMM_PR_SHTEXT_MAINTAIN_UP
Follow the call stack, find the key API for update product set types.

(6) I will try to simplify this function module, pick this function into a report for confirming how does this CALL FUNCTION 'CRM_PRODUCT_UI_GETDETAIL' work?

This is the key function for processing product set types.

We'd better to understand it's indeed input value
One, is product guid in a structure.
Two, is the set type name.
It means that, any set type can read by this function.


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

SAP CRM settype的创建,背后发生了什么的更多相关文章

  1. SAP CRM 为用户创建业务合作伙伴并分配到组织单位

    想要在SAP CRM的前台完成一些操作,需要登录的用户在系统中存在对应的业务合作伙伴才可以,某些情况下,还需要被分配到正确的公司.部门.职位.下面是相关的操作步骤. 本文假定读者已经拥有一个开发帐号. ...

  2. 如何使用SAP CRM Marketing Survey创建一个市场问卷调查

    使用事务码CRM_SURVEY_SUITE进行编辑.选中Activities这个应用类型,点击新建按钮: 双击Survey的根节点,点击编辑按钮维护Suvey的标题: Survey的正文布局类型(La ...

  3. 使用ABAP代码提交SAP CRM Survey调查问卷

    Jerry之前曾经写过两篇关于SAP CRM Survey调查问卷的技术文章: SAP CRM Survey调查问卷的模型设计原理解析 如何使用SAP CRM Marketing Survey创建一个 ...

  4. SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解

    (1) 在SAP CRM里创建一个Lead后,会观察到有一个Opportunity自动生成,这是通过什么后台逻辑实现的呢? 检查前台日志或者后台事务码SLG1,发现有很多属于用户WF-BATCH的日志 ...

  5. SAP CRM BOL编程基础,代码+详细注释

    网络上可以找到一些使用BOL查询.维护数据的DEMO,但几乎都是单纯的代码,缺乏说明,难以理解.本文除了代码外,还给出了详细的注释,有助于理解BOL编程中的一些基本概念. 这是一篇翻译的文章,你可能会 ...

  6. SAP CRM 高效调试方法

    调试,是程序开发中的基本技巧.快速定位错误消息在源代码中的位置,对发现和解决程序中的问题有着重要的意义.在SAP CRM中,错误消息通常在前台的Web Client页面中展示,应该怎样定位相关代码的位 ...

  7. SAP CRM系统订单模型的设计与实现

    SAP成都研究院的一个部门领导让我给他的团队做一个SAP CRM One Order框架的培训,这是我准备的培训内容. 在Jerry之前的文章 基于SAP Kyma的订单编排增强介绍,我表达了自己对S ...

  8. SAP CRM 树视图(TREE VIEW)

    树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...

  9. SAP CRM 显示消息/在消息中进行导航

    向用户展示消息,在任何软件中都是十分重要的. 在SAP CRM WEB UI中展示消息,不是一项很难的任务,只需要创建消息并在之后调用方法来显示它 消息类和消息号: 我在SE91中创建了如下的消息类和 ...

随机推荐

  1. 关于ie8兼容性问题的处理

    1.replace将单引号变成双引号 var page=user.customConfig.replace(/\‘|’/ig,"\""); 兼容谷歌和ie var pag ...

  2. JSONP原理及简单实现

    在web2.0时代,熟练的使用ajax是每个前端攻城师必备的技能.然而由于受到浏览器的限制,ajax不允许跨域通信. JSONP就是就是目前主流的实现跨域通信的解决方案. 虽然在在jquery中,我们 ...

  3. 大数据技术之_16_Scala学习_13_Scala语言的数据结构和算法_Scala学习之旅收官之作

    第十九章 Scala语言的数据结构和算法19.1 数据结构(算法)的介绍19.2 看几个实际编程中遇到的问题19.2.1 一个五子棋程序19.2.2 约瑟夫问题(丢手帕问题)19.2.3 其它常见算法 ...

  4. Java 二叉树一些基本操作

    求二叉树中节点个数: /*1. 求二叉树中的节点个数 递归解法: (1)如果二叉树为空,节点个数为0 (2)如果二叉树不为空,二叉树节点个数 = 左子树节点个数 + 右子树节点个数 + 1 */ pu ...

  5. Java的IO流各个类的使用原则

    参考:http://blog.csdn.net/ilibaba/article/details/3955799 Java IO 的一般使用原则(花多眼乱,其实每个类都有专门的作用): 这里有详细介绍: ...

  6. linux系统修改route路由

    linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 19 ...

  7. nodejs常用npm包

    express常用npm包整理如下 art-template 一款js模板引擎,性能不错 jayson     一款纯node的rpc应用包,可实现rpc服务.tcp.http等服务 multer   ...

  8. [android] 通过比对进行容器联动

    当中间容器变化之后,标题栏也要跟着变化 设计个比对依据: 抽象类BaseView中定义抽象方法,每个继承的View都必须实现,为自己的界面定义一个唯一的int常量,作为比对依据 降低容器之间的耦合度: ...

  9. hdu 1565 方格取数(1) 状态压缩dp

    方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  10. Spring课程 Spring入门篇 5-7 advisors

    1 简析 1.1 advisor简析(这个不太明白,后续再看吧) 2 代码演练 2.1 环绕通知的综合应用(代码和视频对不上,慕课网讲的本身有问题)       1 简析 1.1 advisor简析( ...