SAP CRM settype的建立,背後發生了什麼

i042416發表於2018-12-21

來自我的同事Sara。

當我們在CRM系統裡建立一個settype之後,其實系統後臺悄悄的幫我們建立了很多ABAP物件,比如對應的database tables, other ABAP Dictionary objects, function groups, function modules, and screens等等。
Create set types:

SAP CRM settype的建立,背後發生了什麼

SAP CRM settype的建立,背後發生了什麼

SAP CRM settype的建立,背後發生了什麼

DB check:自動建立了一個和settype ID同名的資料庫表

SAP CRM settype的建立,背後發生了什麼

問題: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.

SAP CRM settype的建立,背後發生了什麼

SAP CRM settype的建立,背後發生了什麼

(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

SAP CRM 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.

SAP CRM settype的建立,背後發生了什麼

SAP CRM settype的建立,背後發生了什麼

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.

SAP CRM settype的建立,背後發生了什麼

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.

SAP CRM settype的建立,背後發生了什麼

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

SAP CRM settype的建立,背後發生了什麼

(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.

SAP CRM settype的建立,背後發生了什麼

search Product ID: SZIPC

SAP CRM settype的建立,背後發生了什麼

in WebClient UI.

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


SAP CRM settype的建立,背後發生了什麼

SAP CRM settype的建立,背後發生了什麼

(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.

SAP CRM settype的建立,背後發生了什麼

(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.

SAP CRM settype的建立,背後發生了什麼


要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

SAP CRM settype的建立,背後發生了什麼


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2286050/,如需轉載,請註明出處,否則將追究法律責任。

相關文章