Configuring Message Control and Understanding How Message Control Works
Configuring Message Control and Understanding How Message Control Works
works
By Krunal Raichura, Accenture Services Pvt. Ltd
Most SD and MM process use Message Control. The concept of Message control is to generate and
manage outputs from an application and control their timing and medium of exchange.
Below are the details for configuring the message control and understanding how message control
works.
Communication Structure:
The two character application ID can be found from the NACE transaction depending on the application.
The Procedure
A Procedure defines a set of possible outputs for an application. A procedure is assigned a six character
name. Several procedures can be defined for an application but only one can be configured as active.
A list of procedure can be seen in NACE transaction for the required application.
- A List of output types – set of outputs that are possible for an application
- A Requirement field
- A manual flag
Set of Outputs those are possible for applications are listed in the output types.
Manual Flag is set if the output has to be selected by the user manually instead of selecting
automatically.
For Sales, Procedures can be assigned to Sales document type using V/43 transaction.
Preconditions are captured in Requirements. These conditions are written in VOFM transaction.
We can write the conditions for the Requirement selected from the above list by creating routine which will
start from 900.
ABAP code can be written in the routine for checking the condition.
Output Type:
Access sequence is the set of business rules for proposing an output type.
If the flag Access to condition is set then the medium and timing are determined from the condition
records using access sequence.
If the flag is not set then the medium and timing data is taken from the customer master.
Access Sequence:
Access sequence defines a sequence in which the business rules are checked for proposing an output
type. A business rule is checked by comparing the values passed in the application data with the values
defined in the condition records of the condition table. If a match occurs the business rule is considered
satisfied. After a business rule is satisfied the output values from the condition records are used for the
output type.
The exclusive or inclusive strategy specifies whether the system should exit after the first match of the
business rule against the condition record or should continue to process other business rule in the access
sequence.
The reason for an inclusive strategy is to have an output type proposed multiple times. However, one of
the attributes (partner function, partner number or language) must be different. The system does not allow
two output types to have identical values.
Condition Tables:
The condition table specifies the key field for a business rule. You use this key to access the condition
records for output values such as output medium, partner function, partner number, output language and
output time for the message.
If the standard condition tables supplied in the system do not meet your requirements, you can create
new condition tables.
Condition Records:
Condition records are inserted in the condition tables. Condition records contain the actual business data
against which the business rules are checked to propose an output. They are considered master data
maintained by customer.
You can create condition records for the each application in NACE transaction by clicking the condition
record button for the required application.
You will have to select the business rule for which condition record is to be maintained.
Specify the values for the key fields and maintain the output medium, output timing, partner number and
partner function for each record and save the entries.
1. Output proposal
2. Output editing
3. Output processing
Output Proposal
When an
application is created or changed, after saving the application data the communication structure is filled
and is passed to the Message control along with the application id and procedure.
The various outputs defined in the procedure are processed one at a time. The output marked as manual
will be processed manually by the user.
The requirement, if specified for an output type is executed to check if the output meets the requirement.
If the requirements are met then further checking continues.
If the conditions are not met then the next output type will be processed from the list.
The short listed output types are checked for the access condition flag. If the flag is not set then the
output medium and timing are determined from the customer master data.
If the access condition flag is set then the processing continues for determining the output medium and
timing. For these output types the access sequence associated is access for various business rules and
determines which of the business rule is satisfied. The values from the communication structure are
checked with the values maintained in the condition tables.
Output Editing:
After the output proposal process is completed, the list of proposed outputs displays on the output control
screen of an application as shown below.
To reach he output control screen we can got for Extras ->Output->Edit for sales order or by Goto-
>Messages for Purchase order.
The initial status of these outputs will be 0 (Not Processed) which is displayed as yellow light.
For EDI, the partner number in the proposed output is validated against the partner profile entry.
After the final selection of the output is done and the application document is saved, entries are created in
the NAST table with application ID, Application document number, output type, output medium, output
timing and Status code.
If the output is not processed the Status code will have values as 0 (Not processed).
The entries in the NAST table are processed by RSNAST00 program. If the entries whose timing is set to
immediately, the program will immediately process those entries. For other entries you will have to
schedule the program RSNAST00.
The RSNAST00 program check the TNAPR table for each entries from NAST table and processes the
program associated with the output medium in the TNAPR table.
The EDI_PROCESSING routine reads the Message control record in the partner profile and determines
the process code.
The process code will be having a Function module which will be having the standard interface for its
input and output parameters. The function module will read the application document data and will format
the data into the idoc format.
The idoc data and the control record from the function modules received through the output parameters
will be used by the EDI_PROCESSING program to convert it into physical Idoc.
The setting of the Output mode field in the partner profile is read to determine the timing for dispatching
the idoc.
If the mode is set to ‘Transfer Idoc immed.’ then the idoc is immediately passed to the operating system
and if the mode is set to ‘Collect Idoc’ then the Idoc is not immediately passed to the operating system
until the RSEOUT00 program is executed explicitly.
If the flag for ‘Start subsystem’ is set then the subsystem program name is read from port definition and
the subsystem program is started.