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.
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP CRM settype的创建,背后发生了什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯ROG游戏手机7正式官宣 酷冷战神再
- 下一篇: 三星 Galaxy A54 手机国行版上