Hello Experts,
I need your help in one of the enhancements for the Account Search....
There was a requirement to add a CHCKSTATUS field of ADRC in a Standard Account Search ......
For this i have appended CHCKSTATUS field in the search query strucutre CRMT_BUPA_IL_HEADER_SEARCH and Enhance the Business Partner Search with BAdI implementation with
Enhancement Spot: CRM_BUPA_IL_SEARCH
BAdI: BADI_CRM_BUPA_IL_SEARCH_EXT .....
The logic is written in the
IF_EX_CRM_BUPA_IL_SEARCH_EXT~SEARCH_PARTNERS
CHECK ct_partner_keys IS NOT INITIAL.
MOVE-CORRESPONDING is_parameters TO ls_bupa_header_search.
* Get data from Time-Dependent Address Usages
SELECT partner addrnumber
FROM but021_fs
INTO TABLE lt_partner_crm
FOR ALL ENTRIES IN ct_partner_keys
WHERE partner = ct_partner_keys-partner
AND adr_kind = 'XXDEFAULT'.
IF lt_partner_crm IS NOT INITIAL.
* Get data from Address Table
SELECT addrnumber chckstatus
FROM adrc
INTO TABLE lt_adrc
FOR ALL ENTRIES IN lt_partner_crm
WHERE addrnumber = lt_partner_crm-addrnumber.
DELETE lt_adrc WHERE chckstatus NE ls_bupa_header_search-chckstatus.
LOOP AT lt_adrc INTO ls_adrc.
READ TABLE lt_partner_crm INTO ls_partner_crm WITH KEY addrnumber = ls_adrc-addrnumber.
IF sy-subrc = 0.
READ TABLE ct_partner_keys INTO ls_partner_key WITH KEY partner = ls_partner_crm-partner.
IF sy-subrc EQ 0.
APPEND ls_partner_key TO lt_partner_key.
ENDIF.
ENDIF.
CLEAR : ls_adrc, ls_partner_crm, ls_partner_key.
ENDLOOP.
REFRESH ct_partner_keys.
ct_partner_keys[] = lt_partner_key.
ENDIF.
Here Everything looks perfect and working fine...but in Quality system with millions of records performance is very bad.......
Any suggestion or any other tips to increase performance.
Nareshkumar Patel :can u pls help me.
Regards,
Sumeet