IDoc message typeObjectMATMASModuleBTP_INTEGRATION

MATMAS message type — MATMAS IDoc Message Type for Material Master Distribution

MATMAS is the IDoc message type used to distribute material master records between SAP systems, or between an SAP system and a non-SAP system through middleware such as SAP Integration Suite. It carries basic data, descriptions, units of measure, valuation, plant, storage and sales view fields for a single material, moving outbound from the system that owns the master data.

This page covers what the MATMAS IDoc actually transports, its main segments, the ALE and middleware configuration needed for it to flow, and the ordered checklist to run when a material master does not arrive at the receiving system. It focuses on the configuration and monitoring reflexes that hide the real cause rather than repeating the standard definition.

Published 16 Sept 2026· 1,181 words

What it carries

MATMAS moves material master data out of the system that owns it — usually a central ERP or S/4HANA instance — to one or more receiving systems: another SAP system, a non-SAP execution system such as a warehouse control system or MES, or a cloud application reached through an integration flow on SAP Integration Suite or a legacy PI/PO channel. The direction is outbound from the sender's perspective and inbound at the receiver, one IDoc per material per distribution run (or per changed segment, depending on how change pointers fire). It is not a request-response document; there is no MATMAS response type. A material change in the source system is expected to be reflected downstream without the receiving system asking for it, which is exactly why silent gaps are dangerous — nobody polls for a missing update.

Segments

The IDoc is built from a small set of recurring segments, each scoped to a different view of the material. Not every material generates every segment; what appears depends on which views are maintained and which segment filters are active in the distribution model.

  • E1MARAM - basic data: material number, base unit of measure, material type, material group, gross and net weight, industry sector
  • E1MAKTM - short text and description in one or more languages
  • E1MARMM - additional units of measure and their conversion factors
  • E1MBEWM - valuation data: valuation area, price control, standard price, moving average price
  • E1MARCM - plant data: plant-specific status, MRP data, procurement type, lot size
  • E1MVKEM - sales data: sales organization, distribution channel, delivery plant, sales unit
  • E1MLGNM - warehouse management data: storage type, picking area, storage bin

Configuration

Distribution runs on the ALE model, not on output determination — material master has no NAST-based message control. The distribution model (maintained centrally and distributed via the model view) must list MATMAS between the sender and receiver logical systems, with any segment filters or reduced message type restrictions defined there. Change pointers must be switched on globally and specifically activated for MATMAS against the relevant change document fields, and a periodic job must convert open change pointers into IDocs; without that job the pointers accumulate and nothing moves even though the configuration looks correct. On the technical side, the partner profile for the receiving logical system needs an outbound parameter for MATMAS with the correct basic type (a MATMAS0x version) and the port that carries it — an RFC/tRFC port for a direct ALE link to another SAP system, or an XML/HTTP-based port when the traffic passes through an integration flow. The inbound side needs a matching partner profile, port, and process code pointing to the function module that actually creates or updates the material.

What to inspect when it fails

Work from the IDoc outward rather than from the material inward; the IDoc status tells you whether the problem is on the sending side, in transit, or on the receiving side before any functional investigation is needed.

  • WE02 or WE05 on the sending system: find the IDoc for the material and read its status. Stuck at an early outbound status means it never left the source system; an error status with a receiver system pointer means it left but failed in transit or dispatch
  • BD87 to see and manually reprocess IDocs sitting in an error or unprocessed status without waiting for the next scheduled run
  • WE20 on both sides: confirm the outbound parameters (message type, basic type, port) on the sender and the inbound parameters (process code) on the receiver actually match what BD64 defines, since a mismatch here produces no error at all, just silence
  • BD64 and the change pointer activation transactions to confirm MATMAS is genuinely in the model between the correct pair of logical systems and that change pointers are switched on for the fields that changed
  • On a middleware or Integration Suite path: check the integration flow's message monitoring for the corresponding message, since a technically successful IDoc dispatch can still fail mapping or posting on the far side
  • WE19 to replay the IDoc with adjusted data against the inbound function module directly, isolating whether the failure is data-related (missing plant extension, unmaintained unit of measure, invalid org data) or configuration-related

Whose problem this is

Material master content, the distribution model, and change pointer activation belong to the MM/master data functional team. Partner profile setup, ports, and the integration flow or middleware routing belong to Basis or the integration team. Escalate to ABAP only when a custom segment filter, user exit, or the inbound function module itself needs debugging. Hand over the IDoc number, its status, and the exact segment or field where processing stopped.

Common pitfalls

MATMAS looks like a simple full-record feed but frequently is not, and the gaps are easy to miss during a quick check.

The habitual response is to reprocess the failed IDoc in BD87 or resend it from BD10, sometimes several times, on the assumption that it was a timing glitch. When the real cause is a missing plant extension, an unmaintained sales organization assignment, or a basic type mismatch between sender and receiver, reprocessing just reproduces the same error and buries the original one under a stack of retry attempts. A second common reflex is to manually create the material in the receiving system to stop the alert, which removes the symptom while leaving the distribution path broken for the next change.

  • A reduced or filtered message type can strip out segments such as E1MARCM for plants outside the filter, so the IDoc processes without error but the receiver never gets plant data it expects — check the distribution model filter before assuming the sender omitted the data by mistake
  • Change pointers that are not converted on schedule create a backlog that looks like data has not changed when in fact dozens of updates are queued and simply not yet dispatched
  • A basic type mismatch between MATMAS03 and a later version silently drops segments the receiver's mapping does not recognize, with no error raised on either side
  • Field-level changes generate a fresh IDoc per triggering change document, so a material touched by several transactions in one day produces several small IDocs rather than one consolidated one, and processing them out of order at the receiver can overwrite a later change with an earlier one
  • Long text and classification data are not carried by the standard segment set and need additional handling, so their absence downstream is not a bug, it is expected behavior

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-idoc/matmasERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.