zoukankan      html  css  js  c++  java
  • 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的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    linq to sql内链接,左右链接(示例)
    ASP.NET MVC HtmlHelper用法大全
    浅析PHP学习的路线图
    c#大话设计模式(带目录完整版)[中文PDF+源代码]
    SQL语言实务速查效率手册
    设计模式基于C#的工程化实现及扩展
    sql 时间类型 like 查询
    DWZ表单验证规则一览表
    【今日CS 视觉论文速览】Thu, 13 Dec 2018
    【今日CS 视觉论文速览】Wed, 12 Dec 2018
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/12321628.html
Copyright © 2011-2022 走看看