Designing a New Request
The following sections highlight important considerations in setting up a new Request.
Defining the Request Process Details
When defining a new request object, you must first determine what information needs to be captured to perform the request. Some static details, such as to do types to be used for notifications may be configured on the request type BO. Others, such as the details of the records affected may need to be recorded in the request record. These elements are defined in the BO data area of the request using standard UI hint syntax.
In addition, there may be several steps in processing a request, depending on the complexity of the use case. A request may require approval or review before being processed. These steps are modeled using the request business object lifecycle.
The system provides a 'root' business object for data correction requests (F1-DataCorrectionRoot) that may be used as an example of a multi-step process. Your specific product may supply additional request business objects.
Previewing a Request
- A special BO option of Request Preview Service Script. This script retrieves the information that is displayed when a user asks for a preview of a request.
- The F1-DataCorrectionReqActions map fragment. This map fragment includes support for a preview action using script F1ReqPrvwAct. This script invokes the request preview script configured on the request BO, using the preview script schema to generate the UI and display the results. The map also supports hiding the edit and preview actions based on flags set in the request BO.
Performing Request Processing
The assumption is that an enter algorithm is responsible for request processing. It is common for requests to be processed in background rather than real-time. The standard technique is to use a deferred monitor to transition the request to the status that has the algorithm plugged in. The F1-OrphanRecordDeletion BO uses this technique.
Request Security
Some users may not be authorized to submit certain requests. When adding a new request, the list of available request types is restricted to types where the user has security access to the related request business object's application service. This may affect the choice of application service and the additional configuration required for a new request business object.