SAP XI PI PO Full Notes PDF
SAP XI PI PO Full Notes PDF
SAP NW XI/PI/PO
XI Exchange Infrastructure
PI process Integration
PO Process Orchestration
This XI/PI/PO tool is used for Integration purpose to Integrate the multiple
components/ systems
Collaboration is nothing but the Exchange the Data from one system to another system
ECC FILE
SD ORACLE
MM JAVA
FICO DOT.NET
XI/PI/PO
CRM MAINFRAMES
SRM SQL
SCM
MAILBAS
MDM
WEBCLIENT
XML Format
Sender Receiver
XI/PI/PO
Adapter Adapter
Sender Receiver
XI/PI/PO
Adapter Adapter
Components of XI/PI/PO:
It has multiple components, they are
System land scape information [SLD]
IE
SAP/NONSAP SAP/NONSAP
(understand own standard format) XML language (understand own standard
format)
About Version:
PI 7.1 AAE we cannot implement IDOC, HTTP, PROXY, BPM
PI 7.3 AEX we can implement in IDOC_AAE, HTTP_AAE, SOAP,CCBPM
PI 7.31/7.4 CCBPM r not implemented
XI/PI/PO Versions
XI 3.0 / PI 7.0 / PI 7.1 /PI 7.3 / PI7.31 / PI 7.4 / PI 7.5
XI PI PO
i)XI 3.0 / PI 7.0: (Dual stack / Java Stack + ABAP Stack)
It is high level message flow in both version r same
It runs always Dual – Stack (Java + ABAP Stack)
It executes “two Engines(Java + ABAP Engines)
Note:
Each and every engine capacity in “MB”(Java connectors)
Message flow of dual stack Engine:
AE IE AE
Sender JCO JCO Receiver
AE IE AE AE IE AE
AAE
C&M
Advantage of Advanced Adapter Engine (AAE):
It is local processing because it runs only on single stack/ java stack
processing speed is more compare to dual stack
it takes less time to process the message between source to target compare to dual
Stack
now there is no JCO connections is failure here
it takes less time to monitor the message (because no need to check SXMB_MONI)
we have single monitoring technique
cost is less and CPU utilization is more
Because of all factors it will increase the performance of the system three times
Compare to the dual stack
Disadvantages of PI 7.1 AAE:
It is applicable for only java stack / AAE stack
if won’t applicable for IE / ABAP based components
we won’t implement IDOC , HTTP , PROXY , CCBPM
Example:
XI 3.0 PI 7.0 PI 7.1 PI AAE
file XI file
File to file
Idoc IE jdbc
Idoc to file
soap IE RFC
Soap to RFC
BPM can’t work single stack
Note1:
RFC structure is besides on ABAP Stack adapter in java stack
if u want to implement any scenario using single stack, we have one more component
which is ICO
If u find any object in single stack / ICO’s
ICO’s are under ID
Note 2:
If u want any scenario / if u want any integration / if u want exchange the data between
one system to another system using single stack / java stack / AAE/ AEX
We have one option in the integration director ICO / ICO’s integrated configuration,
that is new implement for PI 7.1 on wards
iii) PI 7.3 (Dual stack / Single stack (or) Java stack)
also called AEX Extended Advanced Adapter Engine
monitoring is very easy compare to dual stack system , we cam monitor the message
we can implement IDOC scenario’s using new java stack adapter IDOC-AAE
we can implement PROXY scenario’s using new java Stack adapter SOAP
Because of the above factors it will increase the 3 times performance compare to Dual
stack system
file
yes yes yes no yes no
Idoc XI
Idoc pi file
_aae 7. na na na na yes yes
file XI http
yes yes yes no yes no
mail XI proxy
yes yes yes no yes no
file pi soap
7.3 na na na na yes yes
PI 7.31 / PI 7.4:
i)process integration
ii)SAP NW BPM’s
iii)SAP NW BRM’s
Dual Stack single stack
SAP PI 7.31 single stack is not flexible to connect with cloud system
U want to integrate any 2 application (or) exchange data from one system to another
(or) using single stack (or) java stack AAE (or) AEX
ICO is applicable only Single stack (or) java stack (or) AAE (or) AEX
By using the ICO (or) single (or) Java / AAE /AEX to exchange data from 2
application (or) system it will always Bypass (or) SKIP ABAP /IE
Entering into the “Dual Stack” PI/XI” System:
http://host:port/dir SXMB_IFR
SLD
ESR ID
IS
AE IE BPE
RWB SXMB_MONI
SAP/NONSAP
Architecture of PI Dual Stack System:
IB RWB /C&M
AE
ESR ID
IE
SLD BPE
AE IE AE
Sender Receiver
Sender Receiver
SLD
ESR ID
IS
AAE/ AEX
RWB
SAP/NONSAP
IB RWB /C&M
ESR ID
AAE/
AEX
SLD
AE IE AE
Sender Receiver
Sender Receiver
Sender Receiver
Sender Receiver
XI/PI/PO
Adapter Adapter
Step 1: SLD
-- Production -- Technical
--Software Component Software Catalogue -- Business
-- Version System Catalogue
Sender Receiver
Data Type Data Type
Message Type Message Type
Service Interface Service Interface
Message Mapping
Operation Mapping
-------------------------------------Activate -------------------------------------
Step 3: ID (Configuration)
Dual Stack:
Sender Receiver
Receiver Determination
Interface Determination
Sender Agreement
Receiver Agreement
For security purpose to sender agreement for sender business System and receiver
agreement for receiver business system
Single Stack
Sender Receiver
Integrated Configuration
Project Land Scape: The combination of system/ application are called as project land scape
The system information will in the system catalogue and application will be in the software
catalogue
Definition:
It is nothing but Server/ Control repository. Where we can maintain the system
information, application of the software related information, administration information,
locking information etc..
Component of SLD:
BS1
BS2 BS5
XI/PI/PO
BS4
BS3
First u use middle ware, identify where u can use, which organization level we can use and
where
That is called Technical system / physical System / Application System
here each business system [bs1] acts as one logical system
the relation between technical & business system in 1:n
Server and Client Model:
Client1
Client3
Client4
Components of XI/PI/PO:
It has multiple components, they are
System land scape information [SLD]
Sender
SLD
ESR ID
IS
Receiver
Example of Technical & Business System:
ECC
BS1
SD
BS2
SAP
BS3
MM
BS4
FICC |
|
| |
BS n
S/W1
word
Product
Micro Excel S/W2
soft
Power
S/W3
point
S/W4
Acess |
|
|
S/Wn
The relation between product to software : 1:n
Technical System:
Business System:
Business Server:
When we don’t have all the technical details then we use the business
service. It is mostly used for B2B scenarios. Logical System is used for SAP
Why means SAP has Client Concept, but for Non SAP it is optional it
has no Client Concept (ex: dot.net, java….)
Logical System:
Or
A logical system is “an application system in which the application work together on a common
data basis”
Product:
Software Components:
Software is nothing but one type of “repository to store process related information/
objects
Technical System:
Type of technical system, there are four types
SAP File
Idoc/RFC/Proxy file
XI/PI/PO
Sender Receiver
(TS – ASAP) (TS- Standalone)
Idoc to file Scenario
RFC to file Scenario
Proxy to file Scenario
Technical System can use at SAP side, it is either sender or receiver
ii)AS JAVA:
To communicate with Java based system then we use AS JAVA
JAVA File
JMS File
XI/PI/PO
TS – AS JAVA
iii) Stand Alone:
To communicate with Non- SAP system then we use Stand Alone
Non-SAP means File , Oracle, Java…..
While integrating any System/ application or exchanging data between system/
applications
To implementing any scenario’s (or) if u found Non SAP application to sender or
receiver
To define TS type should be STANDALONE
Note 1:
If sender & receiver application are same, while integrating any application (or)
exchanging the data from one system to another then use only one Technical system type
Under on technical system to create multiple Business system
TS – ASAP TS – ASAP
Note 2:
If the sender & receiver application is different while integration any application, In
this case we go for Two Technical systems, one for sender and one for receiver
For each Technical System, we can create corresponding one or more Business systems
Sender SOAP Idoc/RFC/Proxy Receiver
XI/PI/PO
File
Source BS3 (TS – STANDALONE)
XI/PI/PO
BS1
SAP Oracle
TS – AS ABAP BS4 (TS – ABAP)
SAP
BS5 (TS – STANDALONE)
Web server
After perform test: Unit testing ( also called as Technical Unit Test (TUT))
Quality:
Testing: Integration Testing / end to end testing / FIT ( Function Integration Testing)
Pre-production:
Production:
Name Space
Sender Receiver
Data Type Data Type
Message Type Message Type
Service Interface Service Interface
Message Mapping
Operation Mapping
-------------------------------------Activate -------------------------------------
i) Name Space:
It is a Unique entity to identity the interface names and it avoids the naming conflicts
It always start with http:// (or) URN
ii)Data Type:
Data type is nothing but Structure of the data (or) file, But it can’t hold the data at
runtime
Based upon sender & receiver files we going to define “Corresponding structure”
While crating corresponding structure for sender & receiver we need to maintain file
name / elements / xml tags
Each field type (i.e., string / integer )
Each field Occurrence (i.e., 0-1,1-1)
We need to create a Data Type at backend it will create .XSD format
XSD means XML schema Definition
File File
XI/PI/PO
C1 c2 c3 c4 c5 c6
Each Row act as on Record, Each Column act as one Filed
We can see min – 0 records
Max – unbounded records
In Each fields Some Record are optional 0 – unbounded
Some Record are mandatory 1-1
File
Records ( 0 – unbound) Data Type Occurrence
F1 String 0-1
F2 String 1-1
F3 String 0-1
F4 String 0-1
F5 String 1-1
|
|
|
Fn String 1-1
File
Records ( 0 – unbound) Data Type Occurrence
F1 String 0-1
F2 String 1-1
F3 String 0-1
F4 String 0-1
F5 String 1-1
|
|
|
Fn String 1-1
iii)Message type:
It is nothing but structure of data / file but it can hold the data at runtime
We ned to create two message type (one for sender and another for receiver)
once we create a message type back end it will generate as .XSD format
PI and PI to target
Out bound: send data from source to XI/PI/PO called as out bound
XI/PI/PO
Inbound this is direction / category
SAP/ NON SAP SAP/NON SAP
BPM/IP
For receiver the category should be Inbound and mode should be synchronous /
Asynchronous
i.e., sender SI depends on sender message type and Receiver SI depends on Receiver
message type
Note:
Upto PI 7.0 for each message type / operation we need to create 1-1 separate message
interfaces
for each MI, we use to called single message type, we can’t call multiple message
type
PI 7.1 on wards, we can call multiple operation / message type in single PI ( this is
New enhancement
If u Import One of these four structure either sender / receiver side no need to
create structures manually ( i.e., Data type, message type)
XI/PI/PO
Once Import these structures no need to create Data type and Message Type.
Vi)Imported Objects:
This option we see only software component level not name space
Source Target
No need to create No need to create
XI/PI/PO
DT, MT, SI DT, MT
SAP NON SAP (.WSDL)
vii)Message Mapping:
structures
Note: 99 % we r go for Graphical Mapping in real time to generate required output as per our
requirement
viii)Operation Mapping:
It is used to execute Mapping at runtime. OM depends on sender & receiver SI and the
corresponding one or more mappings
ix)Imported Archive:
Once we import any one of the above structures for sender / receiver the
corresponding side no need to create structures (DT, MT) manually. Because the imported
structure act as DT, MT
Source Target
No need to create
XI/PI/PO
DT, MT
SAP NON SAP (.WSDL)
We need to create JDBC Communication Channel to Import DBTBL Structure
ii)Imported Objects:
Note: we can’t import PROXY structure using imported objects, once we import IDOC,
RFC for sender / receiver in u r scenario, the corresponding side no need to create
structures(DT,MT,SI) manually. Because the imported structures it self acts as DT,MT, SI
Ex:
Source Target
No need to create
XI/PI/PO
DT, MT, SI
SAP NON SAP (.WSDL)
iii)Imported Archive:
IA is used to import the .JAR and .ZIP files, it is used for only XSLT and java
mappings
iv)Context object/x-path:
BS2
Id=123 File
Source BS3
XI/PI/PO
BS1 id=456
BS4
Id=143 SAP
BS5
Web server
Context: It is nothing but reference to the immediate parent node of source filed
Value: It is nothing but single XML tags/ single element / single field / single value
Ex 1:
Street No
House No
Pin No
Temporary Address Sub node2(context3)
street no
House No
Pin No
Ex 2:
Customer Details
Cust no Whole message contains only one context
Cust name i.e., Queue = Context
Cust Location
Software component1
Name Space 1
DT
MT
Name Space 2
DT
MT
Software component2
Name Space 3
DT
MT
Name Space 4
DT
MT
DT in Name Space1 , we can reuse the same DT in Name Space3 then we use Software
Component dependency
vii)Function Library:
If u want to reuse / use particular objects (DT,MT,SI) from One Name Space into
another Name Space level then we go for this option
Software component1
Name Space 1
DT
MT
Name Space 2
DT
MT
Software component2
Name Space 3
DT
MT
Name Space 4
DT
MT
DT in Name Space1 , we can reuse the same DT in Name Space2 then we use Function
Library
If u go for the Graphical mapping / message mapping we can see the following templet
Business Rule:
i)If(Account no = 123)
Encoding
iii) Date(yy/mm/dd) Date (mm/dd/yy mm:ss:milliseconds)
If the required output is not possible using Inbuilt functions from the Graphical
Mapping / Message Mapping then we go for the UDF
Ex: in the above business rules those are not possible using Inbuilt functions
Ex:
Software component1
Name Space 1
MM1
Name Space 2
MM2
Software component2
Name Space 3
MM3
Name Space 4
MM4
i.e., If u write an UDF in particular mapping, if u include UDF in function library then
we reuse the same UDF under same Software component level any name space level
Ex:
Software component1
Name Space 1
MM1
Name Space 2
MM2
Software component2
Name Space 3
MM3
Name Space 4
MM4
Possible to reuse the UDF using function library
Not possible to reuse the UDF
If we reuse the UDF in different (or) another Software component level, we can use Software
Component dependency
Types of UDF’S:
Based on single values / single xml tags / single element / single field, if u want to
generate the output in the target system then we go for the Simple UDF
ii)Advanced UDF:
Based on multiple values / multiple fields / queue (or) context. If u want to generate
the output in the target system then we go for the Advanced UDF
It will decide what type of UDF’S u want to write, we have three types of execution types
available while writing UDF’S
It is used for only in Simple UDF’S These r used for only in Advance UDF’S
NODE FUNCTIONS
We have multiple node function available in Graphical Mapping
i)create if ii) remove contexts
iii)collapse contexts iv)split by value
v)replace value vi)exits
vii)use one as many viii)sort
ix)sort by key x)format by example
xi)map with default
i)Create If:
if u want to create target element / node based on the some condition then we go for the
Create if option
iii)Collapse Context:
from each context, it will take only first value of the source field , it will put these values
in to single context in the target system.
Ex: Here Custname should be 0 – Unbound
iv) Split By Value:
It is the Inverse of the Remove context. It is counter part of the remove context
Type of split by value:
Value Change:
Empty Value:
Part2: if Custname Didn’t Pass the value it will display Empty Value
Part3: if Custname is not in there at that time the default value is displayed at receiver side
viii) Sort:
It is used for Ascending or Descending order
If u want sort the records (or) if u want to sort the fields names either Ascending
(or) descending order , then we go for the sort.
Ex:
ix)Sort By key:
Sorts using two input parameters, i.e., based on Key fields Value
Ex:
Based on the Cust No the Cust Name Should Be Sorted 1 Sateesh 2 Mahesh 3 Kumar
x)Exits:
source fields exits then target filed will be populated i.e., if the source field is true or
false the target field is populated
Ex:
xi) Use one as many:
If u want to replicate one field value in multiple line items in the target system then we
go for this option
Use one as many contains three inputs / arguments
Input1
Input2 use as many
Input3
Source Target
---- -----
---- -----
----- ( ) -----
XSLT fuctions
----- ----
Put XSLT functions
Compare to Graphical mapping we can see the more functions these functions called as
Inbuilt Functions between sender and receiver we r going to put some validation as per our
requirements using inbuilt XSLT functions
once we complete the mapping we need to click on XSLT 1.0/2.0 tab the backend it will
generate .XSLT code for our mapping
copy the code (.XSLT Code) and paste in notepad and save as (.XSL file) in desktop
Once imported the Zip file we need to use / call in operation mapping level
XSLT mapping requires more memory than mapping classed generated in Java
iii)ABAP Mapping:
T-Code: SE24
Note:
If u enable ABAP class / ABAP Mapping in one level in order to enable ABAP mapping
we need to maintain some parameters in Exchange profile
Two ways to enter into the exchange profile
click Administration
Select IB repository
Types”
Click Save
iv)Java Mapping:
If the required output is not possible using Graphical mapping / message mapping
Then we go for the either any one of ABAPA, java and XSLT mappings
Compare ABAP and XSLT mappings java mapping gives best performance
Pre requisites:
We r getting exchange rates and corresponding currency codes from the 3ed party
system in the form of XML. That xml doesn’t contains any start tag and end tag
i.e., Invalid xml file in order to convert invalid xml into valid xml file, then we go for
the Java Mapping.
Parsing: It is used for if u want to read the data source and it converts the corresponding
Format.
Fixed values executed at designed level Value mapping will executed at runtime
BS2
File
Source BS3
XI/PI/PO
BS1
File : 200 Oracle
BS4
SAP
BS5
Web server
1:n mapping
Integration error
It will raise one notification and it will send to the particular recipients/ technical team
/ users to take appropriate action
These notifications we can send to the particular Recipient / Technical team / users
using below ways
In order to create a alerts in Dual Stack Level, we need to do some configuration ABAP
Stack level, java stack Level, Basic Level
T-CODE: ALRTCATDEF
Step 2: Create alert for above alert category in Java Stack level
Step 3: Inorder to Trigger these alerts automatically basis level(basis team) configuration /
setting required
Step 4: To send these alerts configuration through email, we need mail server configuration
Step 5: Test these alerts using standard Report programme that is ALERTTEST
T – Code: ALRTINBOX
Step 1:
Once enter into ALRTCATDEF we can see below configuration
i)Properties Tab:
we r going to maintain the general properties
i)Alert categories name
ii)Classified name / type
iii)Alias name
iv)Corresponding severity / priority
ii)Container Tab:
we r going to maintain the container variables from ABAP dictionary
the main use is raise the error notification and holds the failed interface details
and corresponding error description and where it is failed exactly
i.e., sender_Business system name, Sender_SI
Receiver_BS Receiver_SI
Sender_Namespace Receiver_Name Space
Coresponding message ID
Container Variable always starts with “SXMB_*”
iii)Long Text & Short text tab:
Long: To define / gives the body of the email
Short: To define / gives the subject line of the email
iv)Recipients:
we r going t detrain the Recipient user ID’s in two type
In Order to know what r the objects, which r transported from one environemt
to another, which r transported from one environment to another Environment and we can
know the status of the trasported objects
D:\usr\sap\pi7.3\sys\global\x1\directory-server\export
D:\usr\sap\pi7.3\sys\global\x1\directory-server\Directory
Importing the ESR & iD objects in Qulaity by using the file system Transport
Mechanism:
Select client
Importing
Note:
if u transport EST objects from development to Quality the same objects will
replicate in Quality i.e., no need to change anything in the Quality system and no need any
manual activation
In case of CTS we can trace the file where the objects was failed by using the TR
number, but incase of file system it is different
a)Business system:
IE
BPE
What ever adapters we have in ABAP Stack/IE. If we r going to use these adapters at
receiver side we need to create a communication channel & corresponding agreement
Ex:
Sender Receiver
XI/PI/PO IDOC
File
/PROXY
Receiver1
Sender
456 Receiver2
Receiver3
AAE/AEX
Single stack available PI 7.1 onwards
Single stack does not applicable for ABAP stack / IE adapters and
corresponding components
IE AE Dual Stack
AE
AE IE AE single stack
It takes less time to process the message between sender & receiver
CPU utilization also less and initialization time also less compare to dual stack
It is light weight tool and also cost is less compare to Dual stack
we have a single monitoring technic available to message i.e., configuration & monitoring
Here no need to monitor the message at IE level using transaction code SXMB_MONI
Because of all these above factors, it will increase the performance of the system 3 time
compare to dual stack
It is applicable for only Java Stack/ AE adapter and the Corresponding Component
Based tool
If u implement any scenario using Eclipse based approach that is called as Integration
Flows (I – Flows)
I – flows is applicable for only single Stack / java Stack it Doesn’t applicable for Dual
Stack Systems
vii)Sender Agreement:
Sender Agreement binds the sender communication channel. i.e., it depends on sender
communication channel, it is mandatory for dual stack scenario’s, it is not required for single
stack scenario’s
IE AE
Sender Receiver
Sender Receiver
SXMB_MONI RWB
Sender Receiver
Example 2:
Sender Receiver
XI/PI/PO JDBC
RFC
AE IE AE
Sender Receiver
Sender Receiver
Sender Receiver
Step 1: Adapter Engine
Goto C&M Monitoring Adapter Engine Communication Channel
Find Channel :
Once click Go --- to see starts of Channel
It shows, Our channel fail (it may be connectivity / directory / data issue )
Step 2:
Integration Engine
Goto SXMB_MONI (T-code)
Select the Monitor for processed XML Message And click Green time symbol or Press F7
button
Here u enter the Start date and end date And then click Green time symbol
(or)
Without enter the Dates u will click Green time symbol
If it shows Black Flag, the message is successful
If the Flag Shows, Red Symbol it may be some error has occur verify in pipe line steps
If it shows Green Symbol, The message will be structed in the queue
U may check in the Queue by using T – codes
Output : SMQ1
Input : SMQ2
Important Matter:
Object Is Currently being Edited By user? How to unlock this?
This object is locked by particular user, we can’t change / edit / delete this locked object.
We need to unlock that object do the following steps
PI Home page Administration left side Lock Overview select & click remove
start objects
Using file adapter we can implement Scenarios:
i)XML to XML: using Dual stack and Single Stack
this approach is called Classical Approach / swing based tool
NWDS / eclipse
Using at 7.31 onwards, this approach is called eclipse based integration
ii)Text to XML :
under text there r some tab files csv / pipe / tab / fixed …etc
a)CSV(Comma Separator Value)
input:
sateesh kumar 123 bangalore 60000 R1
R2
mahesh kumar 456 hydrabad 80000 R3
| | | | | |
Rn
------ ------ ------ ------ ------
C1 C2 C3 C4 C5
field1 field2 field3 field4 field5
Output:
i)Comma Option:
Sateesh, kumar, 123, bangalore, 60000
Mahesh, kumar, 456, hydrabad, 80000
Here Field Separator = ,
Scenario = CSV to XML
XML to CSV
ii)Tab Option:
Sateesh kumar 123 bangalore 60000
Mahesh kumar 456 hydrabad 80000
Here Field Separator = TAB Option
Scenario = TAB to XML
XML to TAB
iii)Field Fixed Length:
Input
sateesh kumar 123456 bangalore 60000
Field fixed length: 4,3,5,7,2
Satekum123445bangalo60
Scenario = Fixed to XML
XML to Fixed
iv)Pipe Delimited File:
Output:
Sateesh/kumar/123/bangalore/60000
Mahesh/kumar/456/hydrabad/80000
Field Separator = /
Scenario = pipe to XML
XML to pipe
Flat file and complex file
If u take any row there is fixed field lengths then it is called “flat file”
Field length is changed is called “complex file”
Ex:
Record 1:
F name: Sateesh
L name: Kumar
Salary:60000
Designation: Senior SAP Consultant
This record has fixed fields called “flat file”
Record 2:
Full Name: Sateesh Kumar
Salary: 60000
Designation: senior SAP Consultant
Recored1 & Record2 has 4 & 3 fields then it is called “complex file”
To perform conversion of txt to xml / xml to txt, there is an option that is File Content
Conversion (FCC) to convert txt files
File Content Conversion (FCC)
FCC is used to convert the txt into xml and xml to txt format
Sender Receiver
XI/PI/PO File
File
Ex:
Document Name: PurchRcpt_HANA_to_METIS
Document NameSpace: http://sunpharma.com/O2C/PurchRcpt_HANA_to_METIS
Document Offset:
RecordSet Name: File
RecordSet NameSpace: http://sunpharma.com/O2C/PurchRcpt_HANA_to_METIS
RecordSet Structure: Records,*
RecordSet Sequence: Ascending
RecordSet Permessage:
Key Field Name:
Key Field Type:
Sender:
Name value
Record. fieldName F1, f2, f3, f4, ----fn
Record. fieldSeparator , or | or tab
Record. endSeparator ‘nl’
Record. Fieldfixedlength 4,2,5,7
Receiver:
Name value
Record. fieldName ,
Record. fieldSeparator ‘nl’
File. endSeparator ‘nl’
Complex file Content Conversion:
FCC Parameters:
Document Name: RecordSet Sequence:
Document NameSpace: RecordSet Permessage:
Document Offset: Key Field Name:
RecordSet Name: Key Field Type:
RecordSet NameSpace:
RecordSet Structure:
Sender Side FCC
RecordSet Structure: Header,1,Details,*,Trailer,1
Key Field Name: Key
Header.fieldNames Key, Name
Header.fieldSeparator ,
Header.keyfieldValue H
Header.endSeparator 'nl'
Header.fieldNames Key,TotalCompany,TotalSalary
Header.fieldSeparator ,
Header.keyfieldValue T
Header.endSeparator 'nl'
Name Value
,
Trailer.fieldSeparator 'nl'
Trailer.endSeparator ,
Details.fieldSeparator 'nl'
Details.endSeparator ,
Header.fieldSeparator 'nl'
Header.endSeparator 'nl'
Record.fieldSeparator
Pass Through scenario’s / ESR bypass scenario’s:
These are used for Dumping files from one system to another system withour
changing any content
Sender Receiver
BS1 File XI/PI/PO File BS2
i)Source Tab:
Source Directory:
File Name:
Additional files
FTP host:
Port:
User name:
Password:
Connection mode:
ii)Processing Tab:
Best effort[BE]
Poll Interval(insec):
Poll Interval(sec):
Archive
Delete
By Type
By Date
Text
Duplicate Handling
iii) File Content Conversion:
Document Name:
Document NameSpace:
Document Offset:
RecordSet Name:
RecordSet NameSpace:
RecordSet Structure:
RecordSet Sequence:
RecordSet Permessage:
iv)Advanced Tab:
File name
Directory
Inactive
Advanced mode
Transport Protocol:
TP is nothing but Network protocol. We have two types of TP available in file adapter
(or)
it is used for to fetch / read / poll files / records from with in the system / with in a
network (or)
Upload the files from presentation server to Application server directory use
T – Code : CG3Z
Network Protocol:
It is used for to fetch / read / poll files / records from FTP server ( FTP server may set
in with in network (or) with out of network)
(or)
e.txt
f.txt
Directory3
g.txt
h.txt
i.txt
in that select Advanced Selection For Source Files
In the above there are 9 files are there, if u create 9 communication channels actually,
but here instead of creating multiple channel we r going to use only one cc to pic multiple files
from multiple directories
One restriction is here
All files structure(.txt / .xml) should be same from each directory, then we for
the “Advanced Selection For Source Files” otherwise we go for multiple Communication
channel
Inclusive mask: is nothing but, what files u need to process from source directory
Exclusive Mask: is nothing but, what files needs to be ignored from particular directory
ii)Processing Parameters:
i)Quality of service parameters(QOS):
It will decide the “Mode of communication”
i)Test:
it takes one copy of the existing file from source directory and it process, but it won’t
delete original file from the directory
note: this option use in development environment, don’t use in Quality, preproduction,
production environments
ii)Delete:
once the file is processed from source directory, it will delete permanently from source
directory
once the file is processed from source directory, it will delete permanently from actual
directory and it will put one copy in archive directory in source system
It allows read only permission files from source (it want delete)
Sender Receiver
BS1 File XI/PI/PO File BS2
XI/PI/PO
BS1 BS2
DT RFC DT
MT Request Response MT
SI SI
MM
OM
-------Activate---------
ID:
BS1 BS3 BS2
CC(File) CC(RFC) CC(File)
Sender Agreement Receiver Agreement2 Receiver Agreement1
Receiver Determination
Interface Determination(Give RFC CC)
---------------Activate ------------------
SAP INTEGRATION
Real Time Interfaces
XI XI XI XI
Sap Nonsap Nonsap sap sap sap Nonsap Nonsap
Outbound interface Inbound interface Out/In bound interface Normal interface
In real time we user 99% as Out/in interfaces
1% as Remaining Interfaces
To communicate / connectivity / protocols with SAP system there r three options are there
at sender / receiver side
i)IDOC ii)RFC iii)PROXY
When we go for these adapters:
IDOC RFC PROXY
it is nothing but It is nothing but It is nothing but interface
Intermediate Document Remote Function Call
It is used for to communicate It is used for to It is used for to
with SAP/ECC/ERP systems communicate with communicate with
(or) SAP/ECC/ERP systems SAP/ECC/ERP systems
to communicate with ABAP
based applications
It converts IDOC format into It converts RFC into RFC It converts Non executable
XML format and vice versa XML format and vice Language to executable
versa Language i.e., convert
PROXY into PROXY XML
format vice versa
we need to use IDOC we need to use RFC No need to use any adapter,
adapter/ protocol / connector adapter to convert one because it is adapter less
to convert one format into format to another format communication
another format
It Can't handle the huge / RFC also can't handle It is applicable for less /
large amount of data because huge amount of data huge amount of data
the default occurrence of because at a time it will
IDOC is always 1 -1 send one request again it
will wait for response
Postcard / envelop
Post card:
It has fixed Structure
From To
----- ------
----- ------
----- ------
These are the fixed for every card ( Occurrence is 1-1)
Write matter in post cards
-----------
----------- Details occurrence is 0 – unbounded
-----------
There is no security, every one see the matter of postcard
Envelop:
It has security, sender & receiver only see the context / matter
Standard Structure of IDOC:
IDOC contains
Control records
-------------
-------------
-------------
Data Records
-------------
-------------
-------------
Status Records
-------------
-------------
-------------
i)Control records:
It holds the sender & receiver Information / Header Information / Control
information of sender & receiver
Ex: from & to address of post cards
Occurrence is 1-1
Control records will store in one table in ECC/SAP
Table name is EDIDC (Electronic Data Interchange data control records)
In order to see table content in SAP using
T – Code: SE11/SE16
ii) Data Records: (segments starts with E1)
It holds the actual data to be process between sender & receiver system
Ex: matter in post card
Data records always we r going to starts with “segments”
Data records will store in one table in ECC/SAP that is EDIDD
Occurrence: 0 - unbounded
To see tables T -Code: SE11 / SE16
iii) Status Records:
Status Records holds the status of the processed records.
Occurrence: 0 – unbounded
Table Name : EDIDC
To See tables T – Code : SE11/SE16
Status codes in ECC/SAP:
Totally we have 75 status codes in ECC/SAP
To list of status codes: WE47
Sender Receiver
XI/PI/PO
IDOC FILE
Step 1: Create product / version / software component
Message Mapping
Operation Mapping
-------------------------------------Activate -------------------------------------
Step 3: ID (Configuration)
Dual Stack:
Sender Receiver
Receiver Determination
Interface Determination
No Sender Agreement
Receiver Agreement
Sender Receiver
XI/PI/PO
FILE
IDOC_AAE
Message Mapping
Operation Mapping
-------------------------------------Activate -------------------------------------
Step 3:
Sender Receiver
XI / PI /
RFC PO SOAP
XI / PI /
RFC PO RFC
Sender Receiver
Receiver Determination
Interface Determination
Sender Agreement
Receiver Agreement
Disadvantages:
i) QRFC is not allowed
ii) It is applicable for sequential processing
iii) It can’t handle the huge amount of data
iv) Parallel processing is not possible
Connectivity setting of RFC / Configuration for RFC:
Create RFC Destination in ECC using
T-CODE: TCP/IP Connection (T)
Check the RFC status in ECC using
T-CODE: SE37
Note:
i) Whatever adapter we have in Java Stack / Adapter Engine for this adapter the
Connection type should be T
ii) Whatever adapter at Integration Engine / ABAP Level the connection type should
be “3” ABAP Connection
Program ID:
It is nothing but one type of register Server Program
(Or)
It is one type of Gateway between SAP to PI to accept RFC Calls
This Program ID Should Registered in SMGW t-code. It is also called as
Destination
This Program ID Details we need to get T-CODE: SMGW
In the window select GOTO
Logged on Clients
Gateway host:
It is nothing but host name of the gateway Server (i.e.,ECC)
Gateway Service:
It is nothing but service number of the gateway application server. Gateway service
always starts with SAPGW followed System Number(00/01)
The above Gateway host and Gateway Service can be get from
T-CODE: SMGW
Select and Click GOTO Parameter Dispaly
Beside on Connection
Communication
Type Description
ABAP Stack IDOC 3 ABAP Connection
JAVA Stack RFC T TCP / IP Connection
ABAP Stack -Dual Stack PROXY H HTTP Destination
JAVA Stack IDOC_AAE T TCP / IP Connection
JAVA Stack - Single Stack PROXY(SOAP) G HTTP Connection to External Server
SOAP ADAPTER
SOAP is nothing but Simple Object Access Protocol
Upto PI 7.1 it is used to communicate with only Web Service based system
PI 7.11(EHPSP05) Onwards we can use this adapter to communicate with SAP
system also in case of proxy scenarios using Single Stack / AAE /AEX / ICO
i.e., in two cases u have use in PI 7.11
We required WEDL
Structure + URL / endpoints / address location of XI
XI/PI/PO Webservice
SOAP
Structure + URL
Webservice system always understand WSDL Language only and connect with Two ways
URL’S:
Integration Engine URL: http://host:port/sap/xi/engine?type=entry&&client=001
Adapter Engine URL:
http://host:port/XISOAPadapter/messageservelets?channel=<s:party>:<s.b.c>:<s.si>:
<s.cc>sender
Sender Side SOAP adapter:
Business Requirement:
If u want to fetch / read / poll the content from the Webservice
based systems then we go for the sender SOAP Adapter
If u use sender side SOAP adapter we need to perform below activities in PI
i)Create a structure (datatype & messagetype) manually in ESR in Webservice system
for Asynchronous -- create one structure (DT,MT)
Synchronous -- create two structure (DT(req, res), MT(req,res))
ii)Based on structures we need to create a SI with
categories : Outbound
Mode : syn / asyn
iii)Based on this SI we need to generate WSDL from ID
iv)Once we generate WSDL, u need to save on our local desktop
v)The saved WSDL we need to provide to client / Webservices from through email
vi)Provided WSDL the team will consume / deploy / publish to trigger / Indicate the request
from Webservices system
Upto PI 7.0 we can Consume / publish these WSDL’s using Universal Registry – UDDI
(it is third party tool )
PI 7.1 onwards we can consume/publish this WSDL’s IN pi itself, using Service Registry
Receiver side SOAP adapter:
Business requirement:
if u want to write the content/ fetch/ insert/ delete/ update / the content
on Webservice system then we go for Receiver SOAP adapter
If u go for the SOAP adapter at receiver side, we need to perform below
activities in PI
i)Get the WSDL from Webservice team
(or)
Webservice team has to provide their WSDL to PI team
ii)once we get WSDL from Webservice team, the same WSDL we will import into ESR
using External Definition
iii)once we import No need to create (DT&MT) any structure
iv)Based on that External Definition we need to create corresponding SI with
Category : Inbound
Mode : syn / asyn
v)In provided WSDL itself, we can see the target address location / endpoint / URL of the
Webservice system and we can see the SOAP action in WSDL
vi) This URL and SOAP action we need to maintain SOAP receiver communication channel
configuration level in ID
SOAP Action:
SOAP Action is nothing but it is one type of operation, once we connect with
Webservice systems using URL, it will decide what type of action has to perform
(update/fetch/delete)
SOAP TO RFC SCENARIO:
XI / PI /
RFC PO RFC
User Name:
Password:
Click Ok
On left side Request Properties at bottom select Authentication
Fill username: (or) select Add new Authentication
Password: select type: Basic
Click Ok
Fill user name:
Password:
Case ii:
Web Service Navigator
On Top Link type the URL
http://host:port/WSNavigator
it will open a window
Step i: (Service)
Select WEDL
WSDL URL:
Step ii: (Operation)
Select / Choose SI
Step iii: (Input Parameters)
Assign Values Mat no:
Step iv: (Result)
To see the result also in T-CODE: SXMB_MONI
Note:
By default we can’t see the Synchronous/Asynchronous in SXMB_MONI/IE level
If u want to see that Enable the pipe line steps
T-Code: SXMB_ADM
Integration Engine Configuration
Change Configuration
FTP SFTP
FTP used for communication with FTP Server SFTP Used for communicate with Secure file
/ Normal windows based systems based Systems
If u want connect with FTP server required If u want to connect with SFTP server we
below details required below details
FTP Host: SFTP Host:
User name: SFTP Port:
Password: SFTP Username& password:
FTP Port: Finger Print:
If u want check the FTP connectivity need to if u want check the connectivity for the SFTP
use same tools we need to use only tool
i.e., File Zilla, winscp, core FTP server, OS i.e., File Zilla, winscp, Putty Tools
Commands
JDBC Adapter
JDBC is nothing but Java Data base connectivity. It is used for to Connect /
communicate with data base system
i.e., Oracle / Sql server / DB2 -------etc
It converts database format into XML format and vice versa
Oracle SQL
XI/PI/PO JDBC
JDBC
--It provides the connectivity between DB2/Oracle / SQL ---- etc to corresponding PI
--It fetch / Read / Poll records from Database table
--It converts DB/ Table format into XML format
In JDBC adapter, u write one SQL Statement to fetch the records from sender
Ex: Select * / f1,f2,f3,……fn from <table name> where f1=name
The mode of communication of JDBC Adapter is Asynchronous, QOS is exactly once.
We can’t use Synchronous from sender side.
Pre-requisites inorder to use JDBC Adapter in PI Level:
Get the Database drivers from the Database Vendor and deploy this drivers on PI
Server.(deploy by basis team)
We need to get Data base Connection details to connect with database system
Database Driver /JDBC Driver:
JDBC Connection:
Username:
Password:
These details we need to get from database vendor, once we get the details
from the database vendor we need to configure this details in JDBC channels level
Note:
If u want to use Synchronous Communication we need to use Module Configuration.
The module name is “Message Transfer Bean Module”
Xi/pi Oracle / SQL
JDBC
XML to DB Format
File
Records ( 0 - unbounded)
F1
F2
F3
|
|
Fn
ESR:
DT Invoice details (0-unbound) statement name DT
MT field1 Data base Name MT
SI field2 action SI
| table name
| access (0-unbounded)
Field n Field1
Field2
|
|
Field n
MESSAGE MAPPING
OPERATION MAPPING
------------Activate------------------
ID
BS1/BC1 BS2/BC2
CC CC
SA RA
Integration Directory
Receiver Directory
-----------Activate-------------
Single Stack
BS1/BC1 BS2/BC2
CC CC
Integrated Configuration
-----------------Active-------------------
AE IE AE
Sender Receiver
Message flow of CCBPM’S:
SAP/NONSAP SAP/NONSAP
AE IE AE
Sender BS1 / BC1 Receiver BS2/BC2
BPM
BS3 / BC3
--BPE understand BPEL (Business process Execution Language)
--IP (Integration process acts as one more business system)
--The Output of BPE is BPEL only
from IE to BPE : It’s a proxy communication, no need to select any adapter proxy means
adapter less communication
BPM’s understand Abstract Interfaces only
Abstract means there is no direction. It acts as both Inbound & Outbound
Structure/ Mesg1 it executes the sequences of steps
BPE / IP
Structure / Mesg2
In CCBPM’S operation mapping based on Sender & Receiver abstract service interface
File to File scenario using BPM:
ESR:
DT – S DT – R
MT – S MT – R
SI – Outbound SI – Inbound
SI – Abstract SI – Abstract
MESSAGE MAPPING
OPERATION MAPPING
----------------------Active-------------------------
Once we create all objects in ESR and then we need to create IP / BPM (from
process Integration Scenario)
Below is BPM screen
Menu
BPM Over
Sequence view
of
Steps start rec Transform Send Stop
Output
Sender Receiver
SXMB_MONI_BPE
Mail
BPE / IP
Target
Oracle N:1
It is very complicated in normal BPM’S so that
We go for CCBPM to merge N:1