Example: Prompting for Global Information Input
This example demonstrates how to use global prompting. This example includes the use of these constructs:
-
GetDynamicPrompt (): This function prompts for the input.
-
InsertQuestion (): Inserts a question.
-
GetUserInputByKey (): Gathers the input.
In this example, the plug-in retrieves the number of rows from the PSRECDEFN based on different records. The search record is usually retrieved from the user during runtime.
import PT_DIAGNOSTICS:*;
class GetRecFieldsBeginningWith extends PTDiagnostics
/* Constructor */
method GetRecFieldsBeginningWith();
/* Public Method */
method GetDiagnosticInfo();
method GetDynamicPrompt();
method IsPlugIn();
private
end-class;
method GetRecFieldsBeginningWith;
Local boolean &status;
%Super = create PTDiagnostics();
&status = %Super.SetProperty(%This, "Where", "Boolean", True);
&status = %Super.SetProperty(%This, "Purpose", "String",
"This is a diagnostic to print out a listing of fields from records
in your PeopleSoft database that matches search criteria.
This diagnostic tests globalType and classType prompting.
The global prompt is retrieved from inputs defined by
a different class in this plug-in.");
end-method;
method GetDynamicPrompt
Local boolean &status;
Local string &sError;
/* define prompt for this class */
&status = %Super.InsertQuestion("Flds", "Enter FieldNames to retrieve,
beginning with:", "String", False);
end-method;
method GetDiagnosticInfo
Local boolean &status;
Local string &sValRecs, &sValFlds, &sError;
Local number &iCount = 0;
Local Record &REC;
Local boolean &bReturn;
Local SQL &SQL1;
&REC = CreateRecord(Record.PSRECFIELD);
&SQL1 = CreateSQL("%SelectAll(:1)
where RECNAME LIKE :2 and FIELDNAME LIKE :3");
/* get global prompt */
&status = %Super.GetUserInputByKey("Recs", &sValRecs);
/* get class prompt */
&status = %Super.GetUserInputByKey("Flds", &sValFlds);
&SQL1.Execute(&REC, Upper(&sValRecs | "%"), Upper(&sValFlds | "%"));
While &SQL1.Fetch(&REC)
&iCount = &iCount + 1;
&status = %Super.InsertData("String",
"Record: " | &REC.RECNAME.Value | " has the following field
that matches your criteria: ", &REC.FIELDNAME.Value);
End-While;
end-method;
method IsPlugIn
end-method;