between operator not working

a!queryFilter(
          field: "expiredDays_int",
          operator:"between",
          value: {rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
            selectedItemType_txt: 1
          ).startIndex_int,
          rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
            selectedItemType_txt: 31
          ).endIndex_int
          }
        )

how can write this query without between operator 

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Hi Kavya, i think you had asked similar question in another thread right? you can use logical expression with "<" and ">" operators in your filters. By the way what is the issue using between? and can you post the outptut of the rule rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
    selectedItemType_txt: 1
    ).startIndex_int

  • Hi , yes i have asked the same question but those solutions were not working. 

    that between giving wrong count in UI.. but same query i try in db it's giving correct count 

    a!queryEntity(
      entity: cons!CR_CMU_ENTITY_DU_MONITORING,
      query: a!query(
        logicalExpression: a!queryLogicalExpression(
          operator: "AND",
          filters: {
            a!queryFilter(
              field: "status_txt",
              operator: "=",
              value: "OPEN"
            ),
            a!queryFilter(
              field: "buRowSecurityId_txt",
              operator: "includes",
              value: rule!CR_FN_getNBFUserEmailId(
                loggedInUserName_txt: ri!loggedInUserName_txt
              ),
              applyWhen: rule!CR_CMU_FN_buRowSecurityIdFilterCondition(
                role_txt: ri!role_txt
              )
            ),
            a!queryFilter(
              field: "ccRowSecurityId_txt",
              operator: "includes",
              value: rule!CR_FN_getNBFUserEmailId(
                loggedInUserName_txt: ri!loggedInUserName_txt
              ),
              applyWhen: rule!CR_CMU_FN_ccRowSecurityIdFilterCondition(
                role_txt: ri!role_txt
              )
            ),
            a!queryFilter(
              field: "mortgageSummaryFlag_int",
              operator: "=",
              value: 1,
              applyWhen: ri!selectedItemReportType_txt = cons!CR_SECURITY_DOCUMENTATION_REPORT_TYPES[3]
            ),
            a!queryFilter(
              field: "slcFgsFlag_int",
              operator: "=",
              value: 1,
              applyWhen: ri!selectedItemReportType_txt = cons!CR_SECURITY_DOCUMENTATION_REPORT_TYPES[6]
            ),
            a!queryFilter(
              field: "insuranceMonitoringFlag_int",
              operator: "=",
              value: 1,
              applyWhen: ri!selectedItemReportType_txt = cons!CR_SECURITY_DOCUMENTATION_REPORT_TYPES[5]
            ),
            a!queryFilter(
              field: "docDeferralMonitoringFlag_int",
              operator: "=",
              value: 1,
              applyWhen: ri!selectedItemReportType_txt = cons!CR_SECURITY_DOCUMENTATION_REPORT_TYPES[2]
            ),
            a!queryFilter(
              field: "securitiesDefectFlag_int",
              operator: "=",
              value: 1,
              applyWhen: ri!selectedItemReportType_txt = cons!CR_SECURITY_DOCUMENTATION_REPORT_TYPES[1]
            ),
            a!queryFilter(
              field: "expiredDays_int",
              operator:"between",
              value: {rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: ri!selectedItemType_txt
              ).startIndex_int,
              rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: ri!selectedItemType_txt
              ).endIndex_int
              },
              applyWhen: or(
                ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[1],
                ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[2],
                ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[3],
              )
            ),
            a!queryFilter(
              field: "expiredDays_int",
              operator: ">",
              value: rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: ri!selectedItemType_txt
              ).startIndex_int,
              applyWhen: ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[4]
            )
          },
          ignoreFiltersWithEmptyValues: true
        ),
        pagingInfo: ri!pagingInfo
      ),
      fetchTotalCount: true()
    )

  • 0
    Certified Lead Developer
    in reply to KM

    Hi Kavya, may be  you are providing wrong input in your decision rule , can you check decision output in expression rule and see what is the output?

  • 0
    Certified Lead Developer
    in reply to KM

    did you try this input and checked?

  • yes, still getting wrong count. need count as 312 but getting 304

    a!queryFilter(
              field: "expiredDays_int",
              operator: "between",
              value: {rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: "Past Due in 1-30 days"
              ).startIndex_int,
              rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: "Past Due in 1-30 days"
              ).endIndex_int},
              applyWhen: 
              ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[3]
            )

  • 0
    Certified Lead Developer
    in reply to KM

    Did you try to use the operators "=>" and "<=" instead of ">" and "<"?

Reply Children
  • yes, that is giving error as 

      a!queryFilter(
              field: "expiredDays_int",
              operator:"<=",
              value: {
              rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: ri!selectedItemType_txt
              ).endIndex_int
              },
              applyWhen: or(
                ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[1],
                ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[2],
                ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[3],
              )
            ),
            a!queryFilter(
              field: "expiredDays_int",
              operator: ">=",
              value: rule!CR_CMU_DSC_getExpiredDaysInSecurityDocumentation(
                selectedItemType_txt: ri!selectedItemType_txt
              ).startIndex_int,
              applyWhen: or(ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[4], 
              ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[1],
              ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[2],
              ri!selectedItemType_txt = cons!CR_CMU_GRID_LABEL_BUCKET_VALUES[3])
            )

  • 0
    Certified Lead Developer
    in reply to KM

    This is the same problem as in the other post. You cannot use a list as the value.