computergeek
Programmer
Hello,
I am in the midst of upgrading from Crystal Reports 8 to Crystal Reports XI sp2. The reports are invoked from a web application using the RDC method which passes in 17 optional parameters. Within the reports the Record Selection formula there is a setting "Exception for nulls", or "Default Values for Nulls" which can be set. What is the difference between these 2 settings?
The result I am trying to obtain is that is a certain parameter is null, then just don't use this parameter within the record selection, if there is a value then it should be used within the record selection...
Where table.start_date = ?parm_start_date
I am unsure if I need to set all my migrated reports to contain default values for each parameter, and whether I have the wrong setting within the Record Selection formula (exception for nulls, or default values for nulls)
Record Selection Formula:
({APPLICATION.APP_ID} = {?app_id} OR {?app_id} = 0)
AND
({VW_PERSONNEL.SITE_ID} = {?site_id} OR {?site_id} = 0)
AND
({APP_VERSION.APP_VERSION_ID} = {?app_version_id} OR {?app_version_id} = 0)
AND
({APP_RELEASE.APP_RELEASE_ID} = {?app_release_id} OR {?app_release_id} = 0)
AND
((isNull({APP_VERSION.APP_VERSION_STATUS_ID}) and {?version_status_id} = 0) OR {APP_VERSION.APP_VERSION_STATUS_ID} = {?version_status_id} OR {?version_status_id} = 0)
AND
((isNull({APP_RELEASE.APP_RELEASE_STATUS_ID}) and {?release_status_id} = 0) OR {APP_RELEASE.APP_RELEASE_STATUS_ID} = {?release_status_id} OR {?release_status_id} = 0)
AND
({CERT_ACTION_HISTORY.PERSONNEL_ID} = {?personnel_id} OR {?personnel_id} = 0)
AND
((isNull({APP_RELEASE.REQUESTER_ID}) AND {?requester_id} = 0) or {APP_RELEASE.REQUESTER_ID} = {?requester_id} OR {?requester_id} = 0)
AND
({CERTIFICATION_ACTION.CERT_ACTION_STAGE_ID} = {?stage_id} OR {?stage_id} = 0)
AND
(LowerCase({APPLICATION.APP_NAME}) LIKE "*" + LowerCase({?app_name_like}) + "*")
AND
((isNull({APP_RELEASE.REQUEST_BY_DATE}) OR {APP_RELEASE.REQUEST_BY_DATE} > CDate ({?req_start_date}) AND (isNull({APP_RELEASE.REQUEST_BY_DATE}) OR
{APP_RELEASE.REQUEST_BY_DATE} < DateAdd ('d', 1,CDate ({?req_end_date})))))
AND
((isNull({APPLICATION.BUSINESS_GROUP_ID}) and {?business_group_id} = 0) or {APPLICATION.BUSINESS_GROUP_ID} = {?business_group_id} OR {?business_group_id} = 0)
AND
((isNull({APPLICATION.SOFTWARE_FUNCTION_ID}) and {?software_function_id} = 0) or {APPLICATION.SOFTWARE_FUNCTION_ID} = {?software_function_id} OR {?software_function_id} = 0)
Thanks in advance for the help...
I am in the midst of upgrading from Crystal Reports 8 to Crystal Reports XI sp2. The reports are invoked from a web application using the RDC method which passes in 17 optional parameters. Within the reports the Record Selection formula there is a setting "Exception for nulls", or "Default Values for Nulls" which can be set. What is the difference between these 2 settings?
The result I am trying to obtain is that is a certain parameter is null, then just don't use this parameter within the record selection, if there is a value then it should be used within the record selection...
Where table.start_date = ?parm_start_date
I am unsure if I need to set all my migrated reports to contain default values for each parameter, and whether I have the wrong setting within the Record Selection formula (exception for nulls, or default values for nulls)
Record Selection Formula:
({APPLICATION.APP_ID} = {?app_id} OR {?app_id} = 0)
AND
({VW_PERSONNEL.SITE_ID} = {?site_id} OR {?site_id} = 0)
AND
({APP_VERSION.APP_VERSION_ID} = {?app_version_id} OR {?app_version_id} = 0)
AND
({APP_RELEASE.APP_RELEASE_ID} = {?app_release_id} OR {?app_release_id} = 0)
AND
((isNull({APP_VERSION.APP_VERSION_STATUS_ID}) and {?version_status_id} = 0) OR {APP_VERSION.APP_VERSION_STATUS_ID} = {?version_status_id} OR {?version_status_id} = 0)
AND
((isNull({APP_RELEASE.APP_RELEASE_STATUS_ID}) and {?release_status_id} = 0) OR {APP_RELEASE.APP_RELEASE_STATUS_ID} = {?release_status_id} OR {?release_status_id} = 0)
AND
({CERT_ACTION_HISTORY.PERSONNEL_ID} = {?personnel_id} OR {?personnel_id} = 0)
AND
((isNull({APP_RELEASE.REQUESTER_ID}) AND {?requester_id} = 0) or {APP_RELEASE.REQUESTER_ID} = {?requester_id} OR {?requester_id} = 0)
AND
({CERTIFICATION_ACTION.CERT_ACTION_STAGE_ID} = {?stage_id} OR {?stage_id} = 0)
AND
(LowerCase({APPLICATION.APP_NAME}) LIKE "*" + LowerCase({?app_name_like}) + "*")
AND
((isNull({APP_RELEASE.REQUEST_BY_DATE}) OR {APP_RELEASE.REQUEST_BY_DATE} > CDate ({?req_start_date}) AND (isNull({APP_RELEASE.REQUEST_BY_DATE}) OR
{APP_RELEASE.REQUEST_BY_DATE} < DateAdd ('d', 1,CDate ({?req_end_date})))))
AND
((isNull({APPLICATION.BUSINESS_GROUP_ID}) and {?business_group_id} = 0) or {APPLICATION.BUSINESS_GROUP_ID} = {?business_group_id} OR {?business_group_id} = 0)
AND
((isNull({APPLICATION.SOFTWARE_FUNCTION_ID}) and {?software_function_id} = 0) or {APPLICATION.SOFTWARE_FUNCTION_ID} = {?software_function_id} OR {?software_function_id} = 0)
Thanks in advance for the help...