Problem when searching by ‘valid from’ and ‘valid to ‘ or timeframe on CRM WebUI
When searching by search criteria ‘valid from’ and ‘valid to ‘ or timeframe, the result list sometimes make some
customers confused as they think the result list is not per the given search criteria.
Some customers think the result should be the one with (01.01.2010 <= valid from, valid to <= 31.12.2010 )
This is not correct.
The standard behavior is that All valid documents (with “start date” earlier than “the end of the validity period” and
“end date” later than “the start of the validity period”) will be returned as search results.
That is to say in this example the one with (valid_from <= 31.12.2010 Valid_to >= 01.01.2010). Please check
Regarding this standard behavior, you can refer to point 8 of note 1318262 RFW: FAQ – Reporting framework.
The reason is because the ‘valid from’ and ‘valid to ‘ on result list by searching sales agreement on web ui, are showing
the valid date of header.
But when searching sales agreement, system will search data by using valid date of table CRMD_ORDER_INDEX
as search condition, which is the valid date of item.
The above entries(Valid From:07.07.2009, Valid To: 31.12.2009 ) are shown in result list is because: in table
CRMD_ORDER_INDEX they all include items such as following.
CRMD_ORDER_INDEX~DATE_1 (valid from) 06.08.2009 22:00:00
CRMD_ORDER_INDEX~DATE 2 (valid to) 06.08.2010 22:00:00
As the ‘valid from’ and ‘valid to ‘ of item is 06.08.2009 and 06.08.2010 which fulfills the above condition
‘valid from <= 20101231 and valid to >= 20100101’, so these agreements are shown in result list.
You can always check internal table IT_WHERE in debug mode by set breakpoint at below method when you search
opportunity, sales agreemetns by webui role or search transactions in interaction history, inbox by ic agent role.
CL_CRM_REPORT_ACC_DYNAMIC===== / CL_CRM_REPORT_ACC_DYNAMIC
METHOD / DATABASE_ACCESS
IF gr_question->gv_db_hint IS INITIAL.
IF et_guidlist IS REQUESTED.
SELECT DISTINCT (i_select)
UP TO i_up_to_n ROWS
INTO TABLE et_guidlist
WHERE (it_where). <<<<<<<<
CRMD_ORDER_INDEX~DATE_1 LE ‘20110101000000 ‘ AND
CRMD_ORDER_INDEX~DATE_2 GE ‘20100101000000 ‘