Naming Conventions for SAP PI

This article is part of our Integration Cookbook.

SLD

Name Pattern  Example
Software
Product
<Name>, <Version> of <vendor-url>
  • Microsoft Navision 3.5 of whitepaper-id.com
  • SAP ERP 6.0 of whitepaper-id.com
Software
Component

(same for Unit)
<Name>, <Version> of <vendor-url>
(use version 1.0 and increase only,
if you need to keep both)
  • MS_NAVISION_ERP 1.0 of whitepaper-id.com
Technical
System
SAP: <SID> on <host>
Non-SAP:
<NAME> on <host>

The combination of
name/SID and host makes
the Technical System unique!

  • WSM on winwsm
  • ORACLE on oradev01
Business
System
(only used if
several instances
exist)*
<Aplication-Name>_<opt:Role>
_<opt:Country/Region>
_<TransportLevel>
Transport Level examples:

  • D = Development
  • T = Test
  • Q = Quality
  • S = Sandbox
  • P = Production
  • SAP_CRM_EU_P
  • MS_SHAREPOINT_Q
  • CDB_FR_T

* An E-Mail or FTP Server can also be created as a Business Component in Integration Directory as it exists only once

Do not differentiate between On-Premise and Cloud Applications. Both have to be created in the SLD if you have multiple instances (Transport Levels).


ESR

Name Pattern  Example
Namespace http://<company-url>/xi/<shortname>/<area>
Interface
Action
  • Create
  • Change
  • Cancellation
  • By<Object>
  • …Create…
  • …Change… (not update)
  • …Cancellation… (not Cancel/Delete/Remove)
  • …ByID… / …ByCustomerName…
Message
Category
  • Request / Confirmation
  • Query / Response
  • Notification
  • Information
  • (for persistent operations)
  • (for reading operations: don’t use Read/Select)
  • (async message transfer for a special purpose) e.g. GoodsMovementNotification
  • (publish & subcribe mode)
Service
Interface
(Stateless XI 3.0)
<Document/Data>
<optional:_Version>
<optional: If-Action><MessageCategory(s)>
_<Direction: Out/In>
  • CustomerCreateRequestConfirmation_In
  • CustomerByIDQueryResponse_Out
  • PurchaseOrder_4010_Notification_Out
Service
Interface
with several
Operations
<Document/Data>
_<Direction: Out/In>
The Operation Names are
1:1 as the Stateless XI 3.0
Service Interfaces
  • Customer_Out
  • SalesOrder_In
Message Type <Document/Data>
<optional: Bulk>
<optional: If-Action>
<MessageCategory>

The Response Message of a
JDBC operation is always
<QueryMessage>_response

  • CustomerCreateRequest
  • CustomerCreateConfirmation
  • CustomerByIDQuery
  • CustomerByIDResponse
  • CustomerBulkChangeNotification
  • CostCenterBulkCreateInformation
Fault Message
Type
<Document/Data>
<optional: Action>
Fault
  • CustomerCreateFault
  • SalesOrderFault
Data Type = MessageType or by
adding Message as suffix
  • Inside-Out (XML/JSON/CSV/TXT/DB):
    Import what you can as External Definition!
  • Outside-In: See if you can copy a Global Data
    Type (GDT) from SAP GLOBAL 2.0
External
Definition
<Type>_<Document/Data>
  • XSD_ANSI_X12_4010_850
  • XSD_eLS
  • WSDL_DTElement
  • DTD_INVOICE
  • XSD_gasxml_v40
Operation
Mapping
<Sender-SWC>
_<SourceOperation>_To
_<TargetOperation>
without direction (_Out/_In)
  • SENDER_CustomerChangeNotification
    _To_BusinessPartnerChangeRequest

If Source and Target are equal,
they do not have to be repeated twice:

  • SENDER_CustomerByIDQueryResponse
Message
Mapping
<Sender-SWC>
_<SourceMessage>
_To_<TargetMessage><Sender-SWC>
_<TargetMessage>
_From_<SourceMessage>
for sync response
  • SENDER_CustomerByIDQuery
    _To_ClientDatabaseQuery
  • SENDER_CustomerByIDResponse
    _From_ClientDatabaseQuery_response

 

Imported
Archive
<Sender-SWC>_<Type>_<Content>
  • SAPCRM_XSLT_SalesOrder
Process
Integration Scenario
<Area>_<Function/Object>
_<opt:Sub-Area>
  • FIN_CostCenter
  • OTC_SalesOrder
  • PTP_PurchaseOrder
  • MDM_Product
Scenario
Action
<Activity>
_<Document/Data>
  • Send_CustomerChange
  • Check_CreditLimit
  • Create_SalesOrder
Channel
Template
<AdapterType>
_<Direction: SND/RCV>
_<opt:Object>
_<opt:Version>
  • IDOC_RCV_740
  • FILE_SND_AccountingDocument
  • REST_SND_Customer

 


DIR

Name Pattern  Example
Configuration
Scenario 
<Area>_<Function/Object>
_<opt:Sub-Area>
  • FIN_CostCenter
  • OTC_SalesOrder_Ecommerce
  • PTP_PurchaseOrder
Communication
Channel
<AdapterType>
_<Direction: SND/RCV>
_<opt:Technical Details>
_<opt:Objekt>
  • IDOC_RCV_EOIO
  • FILE_SND_EOIO_AccountingDocument
  • MAIL_RCV_Attachment
Business
Component (A2A)
<Application Name>
  • EMAIL
  • SFTP
Business
Component (B2B)
<PARTY>
_<Application/Technology>
  • DHL_SFTP
  • METRO_EDI
Business
Component (B2G)
<PARTY>
_<Application/Technology>
  • BZST_HTTP
Business
Component (BPM)
BPM_<Application/Context>
_<Data/Doc.>_<Action>
  • BPM_SAPS4_Orders_Aggregate
Party
(B2B/B2G)
<Company> /
<Government Organization>
  • DHL
  • Metro
  • BZSt
  • Clearingstelle
  • Google
  • EZB
Folder
(Eclipse)
Will be shown as Configuration
Scenario in Integration
Builder, however a different
naming should be used,
e.g. adding _ as prefix
  • _FIN_CostCenter
  • _OTC_SalesOrder
  • _PTP_PurchaseOrder
iFlow
(Eclipse)
<Sender-System
w/out TransportLevel>
__<Sender-Interface>
  • SAP_ERP__MATMAS_MATMAS05
  • MS_CRM_DYNAMICS__CustomerChange
  • WEBSHOP__EcomOrder