Opening a prepopulated form with the GSU_CQXE_SubmitRecord API
Description
Use
the GSU_CQXE_SubmitRecord
global script utility to
open a prepopulated form from a hook. This API provides the same functionality
as the GSU_CQXE_OpenSubmitForm
hook, but provides
better performance because it does not create a temp object for the
API which requires a database ID.
To use the GSU_CQXE_SubmitRecord
global hook function, you must apply the
GlobalScriptUtility (GSU_CQXE
) package to update your schema
with the global hook code.
This functionality is available on the HCL Compass Client and the Compass Web Client. If a user attempts to open a form
from an older client, or from the Compass
client for Windows™, the API returns an informational
message. To display this message to the user, call the die
function.
If the client supports this feature, the API will throw an exception, and any code after the API call is not executed. Use the callback hooks in the script to run additional code after the API call.
Syntax
Perl
GSU_CQXE_SubmitRecord($session, $rcdType, $saveCallback, $cancelCallback, $fieldNameRef, $fieldValueRef)
Visual Basic
GSU_CQXE_SubmitRecord(session, rcdType, saveCallback, cancelCallback, fieldNameRef, fieldValueRef)
- Identifier
- Description
- $session
- Current® Compass session.
- $rcdType
- The record type that you want to open.
- $saveCallback
- The record script attached to the original record. This script runs when the submit form is saved. If no callback is intended, specify an empty value ("").
- $cancelCallback
- The record script attached to the original record. This script is runs when the submit form is cancelled. If no callback is intended, specify an empty value ("").
- $fieldNameRef
- Reference to the array containing names of fields to be populated on HCL Compass form. Fields are set in the order that is given in this list. The order might be important for validation if there are dependent choice list fields.
- $fieldValueRef:
- Reference to the array containing values used to populate the form. The value must be the same
length as
$fieldNameArrayRef
, otherwise the call returns an error string.
Perl example
sub Defect_SubmitChild {
my($result);
my($param) = @_;
# record type name is Defect
$session= $entity->GetSession();
my $id = $entity->GetFieldStringValue("id");
my $headline = $entity->GetFieldStringValue("Headline");
my $fieldName = ["parent", "Headline"];
my $fieldValue = [$id, $headline];
$returnValue = GSU_CQXE_SubmitRecord($session, "Defect", "", "", $fieldName, $fieldValue);
return $result;
}
Visual Basic example
Function Defect_SubmitChild(param)
' param As Variant
' record type name is Defect
Dim session
Dim id
Dim headline
Dim fieldName(2)'This sets up an array of three elements with subscripts from 0 to 1
Dim fieldValue(2)'This sets up an array of three elements with subscripts from 0 to 1
set session = GetSession
id = GetFieldStringValue("id")
headline = GetFieldStringValue("Headline")
fieldName(0) = "parent"
fieldName(1) = "Headline"
fieldValue(0) = id
fieldValue(1) = headline
call GSU_CQXE_SubmitRecord(session, "Defect", "","", fieldName, fieldValue)
End Function