Symptom
SOCO Performance Optimization for HANA Database
Other Terms
SoCo Optimization, HANA Optimization, CDS, Interface Changes
Reason and Prerequisites
Performance Optimizations for HANA specific DB, HANA DB
Solution
Kindly implement the correction instructions attached with the note.
------------------------------------------------------------------------
|Manual Pre-Implement. |
------------------------------------------------------------------------
|VALID FOR |
|Software Component SRM_SERVER |
| Release 713 SAPK-71301INSRMSRV - SAPK-71303INSRMSRV |
------------------------------------------------------------------------
Steps to make changes in the CDS View /SAPSRM/SOCO_SRH.
1.Launch ABAP in eclipse
2.Add the system/project where you wish to make the change.
3.Goto the package /SAPSRM/PDO_SO_SEARCH
4.Navigate to Dictionary->ABAP DDL Sources
5.Double click on the CDS View, /SAPSRM/SOCO_SRH
6.Select All (Ctrl+A) and click delete.
7. Copy the below content starting from @AbapCatalog.sqlViewName: '/SAPSRM/SOCO_SRH' and paste it in the CDS view.
8.Save and click on Activate button/icon.(Ctrl+F3 also activates the View)
@AbapCatalog.sqlViewName: '/SAPSRM/SOCO_SRH'
/***********CDS view for SOCO Search Optimization********************************************************************************************************************************************
*This view projects all the fields in Soco Search screen present either as search variants or search results
*Header table crmd_orderadm_h is filtered for Shopping Cart objects and is joined with item table crmd_orderadm_i to project all shopping cart items
*The result is filtered for sourcing relavant items and hierarchy items by joining the result with bbp_pdigp table with relevant filters and join conditions
*The outcome is joined with crm_jest to project items with their statuses.
*The result is combined with bbp_pdorg via crmd_link table to project Purchasing Organization and Purchasing group
*This superset is sequentially left outer joined with crmd_partner, adrc, bbp_pdacc, but000 and bbp_pdbei using crmd_link and applicable filters wherever necessary to project required fields
*********************************************************************************************************************************************************************************************/
define view /sapsrm/soco_srch as select from ((((((((((((((((( crmd_orderadm_h as hdr
left outer join bbp_pdhgp as hgp on hdr.guid = hgp.guid)
inner join crmd_orderadm_i as itm on hdr.guid = itm.header )
left outer join bbp_pdhss as hss on hdr.guid = hss.guid )
left outer join bbp_pdigp as igp on itm.guid = igp.guid )
inner join crm_jest as jest on (hdr.guid = jest.objnr or itm.guid = jest.objnr) )
left outer join crmd_link as org_link on (itm.guid = org_link.guid_hi and objtype_set = '21') )
left outer join bbp_pdorg as org on org_link.guid_set = org.set_guid )
left outer join crmd_link as sup_link on (itm.guid = sup_link.guid_hi and sup_link.objtype_set = '07') )
left outer join crmd_partner as supplier on (sup_link.guid_set = supplier.guid and supplier.partner_fct = '00000019') )
left outer join adrc as adrc on supplier.addr_nr = adrc.addrnumber )
left outer join crmd_link as acc_link on (itm.guid = acc_link.guid_hi and acc_link.objtype_set ='31') )
left outer join bbp_pdacc as pdacc on acc_link.guid_set = pdacc.set_guid )
left outer join crmd_link as req_link on (itm.guid = req_link.guid_hi and req_link.objtype_set ='07') )
left outer join crmd_partner as requester on (req_link.guid_set = requester.guid and requester.partner_fct = '00000016'))
left outer join but000 as but000_requester on but000_requester.persnumber = requester.addr_np )
left outer join bbp_pdbei as bei on itm.guid = bei.guid )
left outer join bbp_pdiss as iss on itm.guid = iss.guid )
{
itm.client, //Client number
itm.guid, //Item guid
itm.parent, //Item's Parent guid
hdr.object_id, // number of requisition
hss.ps_complex_ind,
itm.created_by, //gives i num.
itm.ordered_prod, // product name in search variant
itm.description, // Item Description in search results and search variant
itm.description_uc, // Item Description in upper case
itm.number_int, // item number in document. Displayed in Requisition/ItemNumber
itm.number_ext, // external item number in search results
itm.product_src_sys, // Logical System in Search Results
itm.itm_type, //Item type
igp.category_id, //category in search results
igp.manu_prod, // Manufacturer Part Number in search results
igp.mfr_no_ext, // Manufacturer External Number
igp.catalogitem, //
igp.catalogid,
igp.hier_check_ind, //Hierarchy Check Indicator
//for delivery range//
igp.deliv_date,
igp.deliv_time,
igp.deliv_days,
igp.quantity, // Quantity in search results
igp.unit, //Item Unit
igp.value, //Value
igp.currency, //Currency
igp.ext_demid, // External Requirement number in search variant
igp.ext_dem_logsys,
igp.source_rel_ind, //temp remove later
igp.doc_priority, //document priority
igp.grouping_level,
//Date range for service items
igp.vper_end,
igp.vper_start,
igp.category, //Item Category
hdr.description as requisition_name, //name of requistion
hdr.description_uc as requisition_name_uc,//for case sensitivity
hdr.guid as header_guid , //Shopping Cart guid
jest.stat, //lock entries in search variant
jest.inact, //
org.proc_org, // Purchasing Grp in search variant
org.proc_group, // Purchasing Org in search variant
supplier.partner_no, // Supplier guid
supplier.partner_fct, // Supplier Partner Function
//for acc assignment value in search variant//
pdacc.acc_cat, //Account Category
pdacc.cost_ctr, //Cost Center
pdacc.asset_no, //Asset Number
pdacc.wbs_elem_e, //Workbreakdown Sturcture element
pdacc.order_no, //Sales order number
pdacc.network, //Network Number
pdacc.grant_nbr, //Grant
pdacc.cmmt_item, //Commitment Item
pdacc.funds_ctr, //Funds Center
pdacc.fund, //Fund
adrc.name1, //Supplier Name
requester.partner_no as req_partner_no, // Requestor guid
requester.partner_fct as req_partner_fct, // Requester Partner Function
but000_requester.partner, // requester number in search variant
but000_requester.name_first, // requester first name
but000_requester.name_last, //requester last name
bei.be_info_rec, //info record in search results
iss.ps_hl_item, // for hierarchy tree
iss.ps_handle_itm, // for hierarchy tree
iss.ps_ctrl_key, //for hierarchy tree
hgp.doc_closed,
hgp.version_type,
igp.del_ind
}where ((( igp.grouping_level != '') or ( igp.source_rel_ind = 'X' or igp.source_rel_ind = 'M' or igp.source_rel_ind = 'U' or igp.source_rel_ind = 'C' or igp.source_rel_ind = 'A')) and (igp.del_ind != 'X' ))
and
(hgp.doc_closed = '' and hgp.version_type = '') and hdr.object_type = 'BUS2121';
Steps to create /SAPSRM/S_HANA_SRH_RESULT_PR
1> Launch the se11( Data Dictionary Maintenance) screen
2> Choose the Database element radio button
3> type /SAPSRM/S_HANA_SRH_RESULT_PR and press the create button
4> Choose the structure radio button
5> Enter the short description as "Line of the search result for Purchase Requisitions for HANA"
6> In the components tab enter 2 parameters
7> The first parameter is
Component : .Include
Typing Method : Types
Component Type : /SAPSRM/S_SEARCH_RESULT_PR
8> The second parameter is
Component : ps_complex_ind
Typing Method : Types
Component Type : /SAPPSSRM/PS_COMPLEX_INDICATOR
9> Save, check and Activate
Steps to create /SAPSRM/T_HANA_SRH_RESULT_PR table type
1> Launch the se11( Data Dictionary Maintenance) screen
2> Choose the Database element radio button
3> type /SAPSRM/T_HANA_SRH_RESULT_PR and press the create button
4> Choose the table type radio button
5> Enter the short description "Table type for search result for Purchase Requisition for HANA"
6> In the Line Type tab, choose the Line Type radio button and type /SAPSRM/S_HANA_SRH_RESULT_PR
7> Click enter and it will be linked to the existing structure type
8> Save, check and activate
Header Data
Released On | 21.10.2014 15:20:40 |
Release Status | Released for Customer |
Component | SRM-EBP-SOC Sourcing |
Priority | Correction with medium priority |
Category | Program error |
No comments:
Post a Comment