The purpose of this wiki is to explain message determination in Purchasing.
This document includes an overview of relevant settings in Customizing for PO and shows with an example how to create an output type for a PO.
The printing program does not only confess with the output of purchasing documents on the printer but with all methods of getting the documents to the vendor. This can be a printout, but also sending a purchasing document by fax or E-mail.The same program and form are used for the output of several documents and processes.The documents that can be output are:
- Request for quotation
- Purchase Order
- Scheduling Agreement Delivery Schedule
The processes that require the output of a document are:
- Creating a new document
- Changing an existing document
- Creating a new delivery schedule for a scheduling agreement
- Urging/reminding a delivery
Different programs are involved in creating and sending messages. Our programs are SAPMM06E, SAPFM06P and the function groups MEPO, MEDRUCK and MEDR. From basis it is mainly RSNAST00 and RSNASTED (for EDI). For more details see the SCN wiki page Print processing programs. The message determination uses the same condition technique as it is used in Pricing. Generally speaking a message type is the same as a condition type, but the term ‘condition type’ is more generic. Messages serve to send a purchase document or a dunning/reminder of a purchase document to the vendor. Messages can be created and sent for Request for Quotations (RFQ), Purchase Orders (PO), scheduling agreements, delivery schedules and contracts.To transmit a message you can use different media like printer, fax, EDI, E-Mail or SAPoffice. To set up the message determination of purchasing documents you have to assign a message schema to a purchasing document. But, setting up the message determination of purchasing documents is not mandatory. When creating or changing a purchasing document the message determination will be always processed. The system looks up the message schema that is assigned to the purchasing document. Each schema contains several message types. The message types, themselves, are linked with condition tables, which contain the condition entries. For each message type there is an access sequence that determines in which sequence the condition entries for a message type are looked up. If a valid condition entry is found then the message type of that entry will be chosen, and a message in the purchasing document will be created. The relevant data of the message will be taken from the condition entry, e.g. partner, medium, dispatch time. The schema summarizes this concept
The Customizing can be found in transaction OLME > Messages.
Message Determination Schemas
It is possible to maintain a message procedure and assign it to an application in Output Control > Message determination Schemas > Define Message Schema for PO.
Maintain Message Determination Schema
Assign Message Determination Schema
In this step, we assign schema to the application: it is possible to define more than one schema, but only one schema can be assigned to one application: for example the standard procedure RMBEF1 is assigned to application EF i.e. PO . To make sure that the message determination works properly, the flags ‘N’ for message determination (T161N-NFIND) and ‘P’ for partner determination (T161N-NEUPR) should be set. The flag “Rel. mess.” (T161N-OBJLG) is only relevant for scheduling agreement releases.
Under Message Types > Define Message types for PO, it is possible to maintain the message type and define what print operations should be used for the message type.
Maintain Message Types for PO
In this step, we define the message types for purchase orders.
In the details for the message type we can see several tabs.
Make sure that the flags for ‘Access to conditions’ and ‘Multiple issuing’ are set. The flag for ‘Multiple issuing’ allows sending messages multiple times to the same partner (this is relevant for urgings and reminders). If the flag for ‘partner-independent output’ is not set, the system allows only certain partner roles for the message determination. To create change messages properly, the program FM06AEND and the form CHANGE_FLAG must be maintained. In case you want to send a message via E-mail and provide purchasing-document-specific information in the title of the E-mail you need to maintain the area Replacement of text symbols with the program SAPMM06E and form TEXT_SYMBOL_REPLACE. If a change output is generated, it only includes the changed items of the document and not every item. This is because the vendor already received the original printout and only needs to be notified about the changes.
Here you can maintain default value: for example the dispatch time and the transmission medium. In case a communication strategy shall be used, this has to be assigned here.
Mail title and texts
In case you use message type with medium 5 (external send) here you define the mail title. See WIKI page "Purchase order as an e-mail using Internet mail (external mail))".
In the ‘Processing routines’ the processing programs, form routines and forms can be assigned to the message type. See WIKI page "Print processing programs".
Here you assign Partner roles to the message type.
Defines which message type shall be used for which print operation (new print, change print, urging letter, expediter). For the message type NEU the print operations 1 (new print) and 2 (change print) should be always maintained. In case scheduling agreements are used, the flag ‘Update print-dependent data’ (T161M-DRUAB) should be selected. This flag controls whether print-dependent data should be updated when printing messages in case of scheduling agreement releases.
We define the access sequence under Output Control > Access sequences > Define access sequence for purchase order (for PO the transaction is M/50, this is a cross-client setting). One access sequence is assigned to the message type. The access sequence serves as key combination for the creation of condition-/message entries.
The access sequence orders the condition tables in a certain sequence. Tables with the smallest sequence number will be looked up first. The flag ‘Exclusive’ prevents the system to look up subsequent tables in case one table was already matched. This prevents that more than one message will be created.
27, 25 and 26 are the condition tables: they contain those fields for which a purchasing document will be checked when determining the message.In details we can see that fields EKORG and LIFNR are defined for the access sequence 0001 with access number 5 and table B027.
In the standard the tables delivered contain the following fields:
Creating the message type: Condition Records
In case we work with the condition technique (this mean that we linked the application EF con the output procedure RMBEF1), it is mandatory to fill the condition tables. If the condition tables are not filled there will be no message determination. You maintain the condition record via Logistics >Materials Management > Purchasing > Master Data > Messages (The transaction codes for PO are MN04, MN05 and MN06).
The settings in the condition record entry always override all other settings that might have been maintained in other parts of the customizing (see Default Values in IMG). Via determination analysis, which can be found within the message overview of a purchasing document, it is possible to identify why a message was created or not.
The settings created here are partly stored in table NACH. For example the language, which is described in this KBA: 2916091 - Language determination logic during output generation (NAST)
In case we use a medium 1 (print output) we also have to maintain the output device in the Communication section (See KBA 1854376); When using FAX or E-mail as transmission medium please make sure, that a valid fax number or E-mail-address in the vendor’s master data is maintained.
1854376 Printing purchasing documents: output device determination
2916091 Language determination logic during output generation (NAST)