开发者社区> jerrywangsap> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SAP CRM settype的创建,背后发生了什么

简介:
+关注继续查看

来自我的同事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.

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Eclipse+Java+Swing实现学校教务管理系统(上)
Eclipse+Java+Swing实现学校教务管理系统
103 0
Map中的entrySet();跟keySet();的区别是什么
Map中的entrySet();跟keySet();的区别是什么
51 0
SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段
SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段
45 0
SAP WM 自动创建TO单的JOB运行报错 - Enter the storage unit type - 对策
SAP WM 自动创建TO单的JOB运行报错 - Enter the storage unit type - 对策
48 0
SAP CRM interactive report的各种输入字段
SAP CRM interactive report的各种输入字段
31 0
SAP WM 自动创建TO单的JOB运行报错 - Enter the storage unit type - 对策
SAP WM 自动创建TO单的JOB运行报错 - Enter the storage unit type - 对策 报错如下:   详细信息: Log for ...
1147 0
C# 实体类序列化与反序列化二 (DataContractSerializer)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; using System.IO; using System.Xml; namespace Common.Utility.XMLSerializatio
844 0
Zabbix snmptrap 配置
服务器通过snmptrap主动上报告警,在zabbix配置snmptrap监控也是很简单的。 1.登录被监控的设备的bmc管理系统配置snmptrap地址指向我们的zabbix服务器或代理服务器。
1734 0
+关注
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载