Message control is a technique to control output of an application like invoice generation by print/mail/EDI or conditioning technique is a cross-application component used in several different areas. The biggest application is in pricing but also use for output determination in EDI.
It is used to generate and manage output from an application and control their timing and medium of exchange.
Following outputs can be create when sales order is created:
- MAIL: An internal mail message to the production control staff immediately
- FAX: A sales order response to the customer via fax immediately
- PRINT: Printed output for warehouse personnel when necessary
- EDI: A sales order response to the customer via EDI at night
- WORKFLOW: Workflow notification to the quality engineer at the end of the day
- ALE: A sales order to another system via ALE
The o/p depends on several conditions like for 3000 no customer send EDI otherwise print output.
Lots of applications are message control enabled, complete list of applications can find out by using the TCODE : NACE. This tcode use to execute the below components and used to do configurations.
Message control components:
- Messages, condition types or messages types refer to the Output types.
- Message schemas refer to procedures.
- Condition type and condition record are two different things.
Below chain diagram shows the configuration of message control:
Application ID: First need to identify the application for which we are going to do message control configuration
Communication Structure: It is used to make communication between application and message control. It acts as a container. It is naming convention is KOMxByy, where x can be K or P. K means the header structure and P means the line−item structure. yy is the two−character application ID. Hence, KOMKBV1 is the communication structure for sales order header information.
Procedure: It is used to define the set of possible outputs, but only one can be configured as active. It has three main attributes which we need to configure.
- List of output types: It is set of outputs, that system evaluates for proposal to be output.
2. Steps sequence to condition
3. Requirement: This is used to define the prerequisites for an output ex. Sales order response should not be sent out unless the sales order is complete. For encapsulating logic for requirement go to the F4 help for particular requirement and select the requirement from F4 help then click on source text icon.
Then do coding as per your prerequisite requirement. For ex.
sy–subrc = 4.
check : komkbv3–uvall ca ‘ C’.
check : komkbv3–uvprs ca ‘ C’.
check : komkbv3–uvals ca ‘ C’.
check : komkbv3–relik eq space.
check : komkbv3–rfbsk eq ‘C’.
sy–subrc = 0.
4. Manual only: propose the output manual, meaning does not prompt to automatically.
We can create new procedures, output types, and requirements to your needs.
Output Type: It defines the characteristics and attributes of the output itself. To access go the tcode NACE by selecting application followed by the output type button click. Define the following attributes for the output type
Genral Data Tab
- Access Sequence. Basically, this is a set of business rules.
- Access to Condition: if this flag set, the values for the output medium and timing are determined from the condition records using the access sequence.
- CannotBeChanged: This determines whether the output can be edited.
- Multiple IssuingThis determines whether multiple outputs are permitted.
- Change Output: specify the program and form routine that determines whether changes made to the document are relevant for sending the output in a change mode.
Default Value Tab
- Transmission Medium. Possible values include EDI, print, SAP office mail, workflow, and ALE.
- Dispatch Time. This determines whether the message is sent immediately or in batch.
Other tabs are used to do some basic configuration like Storage mode, sort order, etc.
Access Sequence: It defines the sequence in which order business rules are encapsulated in against of proposed output types. Under this business rule values are cross checked with the values passed during application document generation. To view this go to the NACE tcode followed by the application module under which click the Access Sequence button.
Each access sequence can also have some preconditions, which we can defined as same as defined on procedure level.
Select the sequence under which select the accesses.
Here, the exclusive or inclusive strategy specifies whether the system should exit after the first match of the business rule against the condition records or should continue to process other business rules in the access sequence.
On further drill down to Fields we can get the fields we are going to validate in condition records.
Condition Records: The records which are going to check with the application data are inserted in condition table. It contains the actual data against which the business rules are checked to propose an output. These records are considered master data.
As the above procedure use to configure message control for any application defined under NACE.
Many Thanks / Himanshu Gupta