Searching for a Multi-select Custom Field

Important:

In many cases, you can achieve the equivalent of SOAP operations using REST web services. For a comparison of available operations in SOAP and REST web services, see SOAP Web Services vs. REST Web Services Operation Mapping.

In the following code sample, the results for the custom transaction field custcolcolumnname are returned.

Java

             // transaction search by custom column field
   TransactionSearchBasic transactionSearch = new TransactionSearchBasic();
   
   SearchCustomFieldList searchCustomFieldList = new SearchCustomFieldList();
   transactionSearch.setCustomFieldList(searchCustomFieldList);
   
   // make the multiselectsearch
   SearchMultiSelectCustomField searchMultiSelectCustomField = new SearchMultiSelectCustomField();
   
   ListOrRecordRef listOrRecordRef = new ListOrRecordRef();
   listOrRecordRef.setInternalId("3"); // the internal id of the custom list value
   listOrRecordRef.setType("1"); // your custom list typeId
   
   searchCustomFieldList.setCustomField(new SearchCustomField[]{searchMultiSelectCustomField});
   
   // make the search expression
   searchMultiSelectCustomField.setscriptId("custcolcolumnname"); //the name of the tx custom column
   searchMultiSelectCustomField.setOperator(SearchMultiSelectFieldOperator.anyOf);
   
   searchMultiSelectCustomField.setSearchValue(new ListOrRecordRef[] {listOrRecordRef});
   
   SearchResult sr = _port.search(transactionSearch); 

        

C#

          private void searchForMultiSelectCustomField()
 
        {
            if (_isAuthenticated)
            {
                _out.info("\nExecuting  search ..... \n");
                // transaction search by custom column field
                TransactionSearch transactionSearch = new TransactionSearch();
                TransactionSearchBasic transactionSearchBasic = new TransactionSearchBasic();
 
                //Java - the SearchCustomFieldList is not used. 
                //SearchCustomFieldList searchCustomFieldList = new SearchCustomFieldList();
                //transactionSearch.setCustomFieldList(searchCustomFieldList);
                SearchMultiSelectCustomField searchMultiSelectCustomField = new
            SearchMultiSelectCustomField();
 
                // make the search expression
               //the name of the transaction custom column
         searchMultiSelectCustomField.scriptId = "custbody_multi_select"; 
                searchMultiSelectCustomField.@operator = SearchMultiSelectFieldOperator.anyOf;
                searchMultiSelectCustomField.operatorSpecified = true;
                //custom list called colors with typei id  1, values blue - internalid 1, green - id2 etc
                //we are looking for transactions which have transaction body field
          //of type multi select set to color blue
                ListOrRecordRef listOrRecordRef = new ListOrRecordRef();
                listOrRecordRef.internalId = "3";
                listOrRecordRef.typeId = "1";
 
                searchMultiSelectCustomField.searchValue = new ListOrRecordRef[] { listOrRecordRef };
                SearchCustomField[] searchCustomFieldList = new SearchCustomField[] {
      searchMultiSelectCustomField };
 
                //Java
                //searchCustomFieldList.setCustomField(new SearchCustomField[]{searchMultiSelectCustomField});
                transactionSearchBasic.customFieldList = searchCustomFieldList;
                transactionSearch.basic = transactionSearchBasic;
                SearchResult searchRes = _service.search(transactionSearch);
                _out.info("\nSearch Result contains " + searchRes.totalRecords + " record(s) \n");
            }
            else
            {
                _out.info(
                    "\nCannot call  search operation  because there is no active session. " +
                    "You must be first logged on before attempting to call saved search.\n");
            }
        } 

        

Related Topics

General Notices