That's what I was trying to do: See Red text below for if condition and Query. It returns nothing when I enter a value in Category but leave Country and Program blank/UNDEFINED
Green statements work and return a result
IF CHARS_FROM_LEFT(LoggedInRegularUser.r_SortOption,1)=3
THEN
FIND DonationDetail WHERE DonationDetail.DateOfDonation>=LoggedInRegularUser.r_DateFrom AND DonationDetail.DateOfDonation<=LoggedInRegularUser.r_DateThru ORDER BY DonationDetail.sc_ContactLName ASC, DonationDetail.sc_ContactFName ASC
ELSE IF CHARS_FROM_LEFT(LoggedInRegularUser.r_SortOption,1)=4 AND
LoggedInRegularUser.r_SelectedCategory IS UNDEFINED AND
LoggedInRegularUser.r_SelectedCountry IS UNDEFINED AND
LoggedInRegularUser.r_SelectedProgram IS UNDEFINED
THEN
FIND DonationSplitDetail WHERE DonationSplitDetail.DateOfDonation>=LoggedInRegularUser.r_DateFrom AND DonationSplitDetail.DateOfDonation<=LoggedInRegularUser.r_DateThru ORDER BY DonationSplitDetail.sc_Category ASC, DonationSplitDetail.sc_Country ASC, DonationSplitDetail.sc_Program ASC
ELSE IF CHARS_FROM_LEFT(LoggedInRegularUser.r_SortOption,1)=4 AND
LoggedInRegularUser.r_SelectedCategory IS DEFINED AND
LoggedInRegularUser.r_SelectedCountry IS UNDEFINED AND
LoggedInRegularUser.r_SelectedProgram IS UNDEFINED
THEN
FIND DonationSplitDetail WHERE DonationSplitDetail.DateOfDonation>=LoggedInRegularUser.r_DateFrom AND DonationSplitDetail.DateOfDonation<=LoggedInRegularUser.r_DateThru AND
DonationSplitDetail.sc_Category=LoggedInRegularUser.r_SelectedCategory
ORDER BY DonationSplitDetail.sc_Category ASC, DonationSplitDetail.sc_Country ASC, DonationSplitDetail.sc_Program ASC
ELSE IF CHARS_FROM_LEFT(LoggedInRegularUser.r_SortOption,1)=4 AND
LoggedInRegularUser.r_SelectedCategory IS DEFINED AND
LoggedInRegularUser.r_SelectedCountry IS DEFINED AND
LoggedInRegularUser.r_SelectedProgram IS UNDEFINED
THEN
FIND DonationSplitDetail WHERE DonationSplitDetail.DateOfDonation>=LoggedInRegularUser.r_DateFrom AND DonationSplitDetail.DateOfDonation<=LoggedInRegularUser.r_DateThru AND
DonationSplitDetail.sc_Category=LoggedInRegularUser.r_SelectedCategory AND
DonationSplitDetail.sc_Country=LoggedInRegularUser.r_SelectedCountry
ORDER BY DonationSplitDetail.sc_Category ASC, DonationSplitDetail.sc_Country ASC, DonationSplitDetail.sc_Program ASC
ELSE IF CHARS_FROM_LEFT(LoggedInRegularUser.r_SortOption,1)=4 AND
LoggedInRegularUser.r_SelectedCategory IS DEFINED AND
LoggedInRegularUser.r_SelectedCountry IS DEFINED AND
LoggedInRegularUser.r_SelectedProgram IS DEFINED
THEN
FIND DonationSplitDetail WHERE DonationSplitDetail.DateOfDonation>=LoggedInRegularUser.r_DateFrom AND DonationSplitDetail.DateOfDonation<=LoggedInRegularUser.r_DateThru AND
DonationSplitDetail.sc_Category=LoggedInRegularUser.r_SelectedCategory AND
DonationSplitDetail.sc_Country=LoggedInRegularUser.r_SelectedCountry AND
DonationSplitDetail.sc_Program=LoggedInRegularUser.r_SelectedProgram
ORDER BY DonationSplitDetail.sc_Category ASC, DonationSplitDetail.sc_Country ASC, DonationSplitDetail.sc_Program ASC
ELSE
REPORT ERROR'Invalid Sort Selected For This Report'