How to get propose products in Sales Order
Logon on HN1/Q2U using SALESPRO role, Sales Cycle -> Sales Order Search -> Edit List in Items AB -> More -> Propose Items from Listings (please see CRM_PT_SALES_Product_Proposal.xls for detail steps)
After clicked Propose Items from Listing, the propose products will be rendered in the list table.
Question: How to get products in Sales Order? Does it use Product Search component or itself?
Conclusions
As you see, when adding items in list, not only include product id, but also include Unit, Currency, and Net Value and so on. There are three steps to render products in Items AB:
Step1: Get product list by additional function modules, not Product Search Component. This step just get product id list.
Step2: Get product attributes by Product Search Component based on the product id list in step1.
Step3: get price based on products with attributes.
So in sales order, they get product id list by their own function modules. Product Search Component is used to get attributes of result products which will be used to get product price.
Explanation
(1) using St05 to trace the sql when clicked Propose Items form Listing, see screenshot:
The highlight item is sql in SQL_issue.txt.
Setting a breakpoint in SAPLCRM_PRODUCT_GETLIST/CRM_PRODUCT_GETLIST2 to debug, see call stack screenshot:
UI Component: BT115IT_SLSO
View: BT115IT_SLSO/Items
Trigger event: eh_onpp_listings
Call stack 21: trigger event en_onpp_listings
Call stack 30: CRM_PRODUCT_PROPOSAL_DETERMINE is key function
first, function CRM_MKTPR_PP_GENERATE is the funtion to get product id list.
In it, it reads method schema.
Then loop schemas to execute function modules to get propose products:
Then call funtion CRM_PRODUCT_PROPOSAL_PRICEDET to get net price
More Info here:
Spro -> img -> crm -> transactions -> settings for sales transaction -> product proposals in Quotations and Orders -> method schemas for product proposals -> assign method schema to transaction type.
You can assign a method schema to a sales organization with a transaction type
Every method schema has a list of function modules:
Call stack 32: In BEA_CNPL_API_SIMULATE to call funtion BEA_CNPL_PDL_O_DATA_ENRICH to get product attributes.
Call stack 35: call function COM_PRODUCT_GETLIST_API with scenario parameter.
Call stack 36: delegate to product search component with proposed product in it_criteria.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- Go语言中常见100问题-#9 Being confused about when to use generics
- ORA-19874: cannot finish multi-section restore to file string ORACLE 报错 故障修复 远程处理
- ORA-22140: given size [string] must be in the range of 0 to [string] ORACLE 报错 故障修复 远程处理
- ORA-24339: cannot set server group name after connecting to server ORACLE 报错 故障修复 远程处理
- ORA-41252: Failed to switch to new session in SSCR ORACLE 报错 故障修复 远程处理
- ORA-44906: unable to resolve target in document link ORACLE 报错 故障修复 远程处理
- ORA-48245: Attempt to Update/Delete when at EOF ORACLE 报错 故障修复 远程处理
- ORA-60002: adding (string) blocks to temporary segment in tablespace string with MAXSIZE (string) ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-010427; Symbol: ER_RPL_SLAVE_FAILED_TO_INIT_MASTER_INFO_STRUCTURE; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010670; Symbol: ER_NDB_BINLOG_FAILED_TO_GET_TABLE; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-02195: Attempt to create string object in a string tablespace ORACLE 报错 故障修复 远程处理
- ORA-06433: ssaio: LSEEK error, unable to seek to requested block. ORACLE 报错 故障修复 远程处理
- ORA-09845: soacon: Archmon unable to open named pipe. ORACLE 报错 故障修复 远程处理
- ORA-15163: cluster is not in the rolling downgrade to string ORACLE 报错 故障修复 远程处理
- ORA-16777: unable to find the destination entry of a standby database in V$ARCHIVE_DEST ORACLE 报错 故障修复 远程处理
- 解决Setting property ‘source’ to ‘org.eclipse.jst.jee.server的问题详解编程语言
- Oracle替代in:抛弃IN,开启新的查询方式(oracle代替in)
- Python3 pip命令报错:Fatal error in launcher: Unable to create process using ‘”‘详解编程语言
- 连接池未注册org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias ‘XXX’详解编程语言
- 查询Oracle中执行多列IN查询的技巧(oracle多列in)
- 谱瑞科技推出DP2.0 to HDMI 2.1协议转换器PS195/PS196
- MySQL中IN查询的使用方法(mysql查询in)
- Troubleshooting Error 1135 in MySQL: How to Solve It and Get Your Database Back on Track(mysql1135)
- Exploring the Power of JSON in MongoDB: A Comprehensive Guide to Data Management(jsonmongodb)
- MySQL不支持IN运算符如何解决(mysql 不支持in)
- 在Oracle数据库中优化IN子句(oracle中in优化)