Difference between revisions of "Using the request Object"

From AgileApps Support Wiki
imported>Aeric
(Created page with "To obtain record identifiers from the <tt>request</tt> object: :<syntaxhighlight lang="java" enclose="div"> <% String object_id = request.getParameter("object_id"); String re…")
 
imported>Aeric
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
To obtain record identifiers from the <tt>request</tt> object:
'''To get all of the parameters available in the <tt>request</tt> object, and their values:'''
:<syntaxhighlight lang="java" enclose="div">
<%
  String[] params = request.getParameterValues();
  for (int i=0; i<params.length; i++)
  {
    String paramName = params[i];
    String paramValue = request.getParameter( paramName );
  }
%>
</syntaxhighlight>
 
'''To obtain a record identifier from a <tt>request</tt> object sent by the platform:'''
:With the object ID and record ID, use the [[Java_API:Record_Handling#getRecord|getRecord]] API to retrieve the record.
:<syntaxhighlight lang="java" enclose="div">
:<syntaxhighlight lang="java" enclose="div">
<%
<%
Line 9: Line 22:
{{Note|Although the <tt>object_id</tt> is alphanumeric, it can be used in any API that requires an object name.}}
{{Note|Although the <tt>object_id</tt> is alphanumeric, it can be used in any API that requires an object name.}}


To list all of the parameters available in the <tt>request</tt> object and display their values:
'''To obtain a record identifier from a <tt>request</tt> object sent by a Custom Action button:'''
 
:This code gets the record IDs and uses the [[searchRecords]] API to retrieve the records:
:<syntaxhighlight lang="java" enclose="div">
:<syntaxhighlight lang="java" enclose="div">
<%
<%
   String[] params = request.getParameterValues();
  // Get the object ID and the comma separated list of record IDs
   for (int i=0; i<params.length; i++)
   String object_id = request.getParameter("object_id");
  String selectedRecords = request.getParameter("selectedRecords");
 
  // Break the comma-separated list into record IDs.
  // Join them with "OR" operands for use when searching for the records
  String filterCriteria = "";
  if (selectedRecords != null)
  {
    StringTokenizer st = new StringTokenizer(selectedRecords,",");
    while (st.hasMoreTokens())
    {
      if ( !"".equals(filterCriteria.trim()))
      {
        // Criteria string isn't empty, and we're adding another expression
        // Prefix the new expression with a boolean OR operator
        filterCriteria += " OR "
      }
      filterCriteria += "record_id = "+ st.nextToken();
    }
  }
 
  // Use the filter criteria to fetch the selected records
   // Here, we ask for the record_id and name fields
  Result results;
  results = Functions.searchRecords(object_id , "record_id,name", filterCriteria);
  int resultCode = results.getCode();
  if (resultCode < 0)
  {
    // Error occurred
  }
  else if (resultCode == 0)
  {
    // No records found. (This situation should never occur.)
  }
  else
   {
   {
     String paramName = params[i];
     // Records retrieved successfully
    String paramValue = request.getParameter( paramName );
    // Process them here
    ParametersIterator iterator = results.getIterator();
    while(iterator.hasNext())
    {
      Parameters params = iterator.next();
      String recordID = params.get("record_id");
      String recordName = params.get("name");
      // Take additional action according to your business logic
    }
   }
   }
%>
%>
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 02:02, 14 August 2013

To get all of the parameters available in the request object, and their values:

<%
  String[] params = request.getParameterValues();
  for (int i=0; i<params.length; i++)
  {
    String paramName = params[i];
    String paramValue = request.getParameter( paramName );
  }
%>

To obtain a record identifier from a request object sent by the platform:

With the object ID and record ID, use the getRecord API to retrieve the record.
<%
  String object_id = request.getParameter("object_id");
  String record_id = request.getParameter("record_id");
%>

Notepad.png

Note: Although the object_id is alphanumeric, it can be used in any API that requires an object name.

To obtain a record identifier from a request object sent by a Custom Action button:

This code gets the record IDs and uses the searchRecords API to retrieve the records:
<%
  // Get the object ID and the comma separated list of record IDs
  String object_id = request.getParameter("object_id");
  String selectedRecords = request.getParameter("selectedRecords"); 

  // Break the comma-separated list into record IDs. 
  // Join them with "OR" operands for use when searching for the records
  String filterCriteria = "";
  if (selectedRecords != null)
  {
    StringTokenizer st = new StringTokenizer(selectedRecords,",");
    while (st.hasMoreTokens())
    {
      if ( !"".equals(filterCriteria.trim()))
      {
         // Criteria string isn't empty, and we're adding another expression
         // Prefix the new expression with a boolean OR operator
         filterCriteria += " OR "
      }
      filterCriteria += "record_id = "+ st.nextToken();
    }
  }

  // Use the filter criteria to fetch the selected records
  // Here, we ask for the record_id and name fields
  Result results;
  results = Functions.searchRecords(object_id , "record_id,name", filterCriteria);
  int resultCode = results.getCode();
  if (resultCode < 0)
  {
     // Error occurred
  }
  else if (resultCode == 0)
  {
    // No records found. (This situation should never occur.)
  }
  else
  {
    // Records retrieved successfully
    // Process them here
    ParametersIterator iterator = results.getIterator();
    while(iterator.hasNext())
    {
      Parameters params = iterator.next();
      String recordID = params.get("record_id");
      String recordName = params.get("name");
      // Take additional action according to your business logic
    }
  }
%>