SAP:
sap- systems applications and products in data processing. sap is a
company which creates a software for buisness to work efficiently two types of sap
consultants are there they are:
[Link] consultant.
[Link] consultant.
functional consultant:
functional consultant is the one who interacts with the client and
understands client requirements.
technical consultant:
technical consultant is a programmer who helps the functional
consultant to meet the client business needs.
purpose of BTP in SAP
SAP BTP gives solution to Buisness by integrate all Pillars of BTP
1. Application Development
2. Integration
3. Data Analytics
4. Artificial Intelligence
while build a house we need strong foundation same as while we build a enterprise
application they also need to be build on a strong foundation
The four main enterprise applications are ;
1. Enterprise Resource Planning (ERP)
2. supply chain management
3. customer relationship management
4. knowledge management systems.
[Link] Resource Planning (ERP)
ERP is a system which helps companies to run efficiently and
[Link] integrate the all buisness modules like
1. Material Management
2. Quality Management
3. Production Planing
4. Warehouse Management
5. Sales and Distribution
6. Finance Management
7. Human resource
8. Customer Relationship Management
ERP is a system for manage buisness operations and
customer relations like operating system manage our personal computer. ERP
integrates all buisness process which takes place in that company and collect data
from various modules and stored in a single centralized database.
for more understanding if we run a multi million dollar
worth shoe company we need to make sure we have enough rawmaterials to produce
shoes and know about about market demand for our shoes so we can increase or
decrease the production,we need to look growth of the company and sure about that
buisness is making enough money for run a profitable buisness.
ERP system integrates all these process in one system
ERP is a system it also need software ,
The ERP Software provided by many company such as,
1. Oracle Netsuite
2. Service now
3. Sage
4. Workday
5. SAP
The SAP software is popular in ERP Market.
the SAP company give software for ERP system is ECC like
microsoft give OS for Laptop System.
ECC stands for ERP Central component.
ECC is one of the software package for the ERP system
the difference betweenERP and ECC is , ERP is a system ,it
is provided by many companies but ECC belongs to sap only. ECC is one of the
software for ERP system.
[Link] chain management systems
Create a a direct connection between manufacturers, distributors,
and retailers
3. customer relationship management
Stores the all the data customers like their call with a company
staffs ,Order history ,Mails ,Dates and times of calls.
Sap PI/PO:
Pi=process integration
Po=process orchestration
SAP PI/PO is a middleware.
Middleware means interface between different systems.
for example one person is talking in spanish the
other person is talking in french they need translator to communicate between them
similarly,if some data has to be transfer from java system to sap system or sap
system to java system that need middleware to data exchange.
Sap pi/po is an integration platform that is used
for communicate and data exchange betweendifferent systems. The first sap
integration application was xi (exchange infrastructure) then they introduce
sapprocess integration and process orchestration . SAP Process Orchestration is a
latest version of SAP PROCESS INTEGRATION
In 2027 sap pi/po replaced by cpi.
CPI = cloud platform integration if we are working for a
customer who has large ITlandscape ,for example like tesla ,apple they have large
customer across the globe. they have sap systems, large mainframe systems, non-sap
systems,cloud systems and other [Link] integrate these different systems we
need to build A2A integrations, means application to application integrations also
we need to build buisness to buisness integrations to talk to external parties A2A
integration, involves when connecting to internal applications, while B2B
integrationrequires when connecting to a 3rd-party's application And if we need to
build integrations with cloud solutions like coupa,salesforce,servicenow with on-
premise systems we can use sap cpi On-premise software is installed and runs on a
company's own hardware , but cloud softwareisstored and managed on the provider's
servers. for accessibility and cost savings cloud deployment is good but for
customization, and security on-premise deployment is the best option.
***********************************************************************************
*****************************************************************************
cpi palettes :
cpi palettes its allows us to do various process to complete the task and which
is met to client requirement
Process
[Link] process
[Link] integration process
[Link] subprocess
Mapping
Message Mapping
Transformation
Content Modifier
Converter
Encoder
Decoder
Filter
External Call
Poll Enrich
Content Enrich
Request Reply
Send
Internal Call
Process Call
Loop Process Call
Idempotent Call
Routing
Aggregator
Join
Gather
Multicast
Sequential Multicast
Parallel Multicast
Router
Splitter
General Splitter
Iterating Splitter
Security
PGP Encryptor
PGP Decryptor
Persistence
Datastore Operations
Write Vaiables
Adapetrs
Datastore
hTTPS
HTTP
JMS
MAIL
ODATA
Processdirect
SFTP
***********************************************************************************
*****************************************************************************
Process
[Link] process
[Link] integration process
[Link] subprocess
[Link] process
[Link] integration process
a) it is easy to find error and maintain.
b) easy to use those local integration data wherever we want.
c)understand the main integration process.
[Link] subprocess
Exception is used to handle errors
one of the difference between these process we can end the flow by
on both main integration flow but not on the exception subprocess
***********************************************************************************
*****************************************************************************
Message Mapping
Message Mapping is used to change one structure into another structure
only XML output is allowed to do Mapping .
But the source and target message both should be as XSD file
XML vs XSD
we use XML for it is easy to tranfer data ,we easily able to filter
the data because it has fields structure
XSD
XSD is a blueprint of xml like XSD precisely define structure of XML
MultiMapping:
When more than one XSD in the source or target message while mapping
is called message mapping.
***********************************************************************************
*****************************************************************************
local process call
Process Call
process call is used to invoke the data from the local integeration
process for the integration process.
one local integration process can called by multiple process call
one process call only one local integration process
loop process call
if we have a lot of data but we need only 10 or 20 data here we go for
a loop process call when we give a certain condition
it will get that specific data from the server until that
condition failed once the condition is failed its stop the loops.
/*the loop process call palette has a condition expression tab
there we give our requirement*/
idempotent process call
Is used to get datas without duplicates same like loop process call
here we also give required conditions to get data if the same or similar value
appear on the file idempotent process call ignores them instead of storing.
***********************************************************************************
*****************************************************************************
ROUTING
Aggregator
Aggregator stores the incoming data once the condition is met it will
send to the next process if we get data one by one here we condition send these
once its reached 100 data .
Join and Gather
Join and Gather is used merge the multiple payload if we three
content modifier horizontally in the flow only the last content modifier payload
show to end message if we want to see all the payload as in one end message first
we to connect those content modifier to join palette by multicast even if we join
the content modifier
only one payload will shown so here we put gather palette to get
all the end message.
Multicast
send the same data into multiple routes
two types of multicast are there
sequential multicast
parallel multicast
***********************************************************************************
*****************************************************************************
KnownHost
knownhost is used for security purpose those who have a host with a
username and password only able to access that secured server
***********************************************************************************
*****************************************************************************
Events
escalation end event the error reason is sent back to source and the
message goes to escalated status in CPI
***********************************************************************************
*****************************************************************************
***********************************************************************************
*****************************************************************************
ADAPTERS
1. DataStore Adapter
Datastore Adapter is a sender adaptor here if we get that data by get
or select palette the data will remain there unless we click the Delete On
Completion but we use content modifier the the data will automatically get deleted.
2. JMS Adapter
if the data is from receiver jms it will stored in jms message
queues
if we want to say simply JMS adapter is used to preevent data
loss
3. Process Direct
process direct simply tranfer data from one integration to another
integration flow
if we want to send multiple flows we need to dynamically capture
the process direct addresss Everytime we change the capture field value the data
will go to the partiular addressed process direct flow
[Link] Process Direct
When the ProcessDirect adapter is used to send data to
other integration flow
[Link] Process Direct
When the ProcessDirect adapter is used to consume
data from other integration flows
***********************************************************************************
*****************************************************************************
Mapping Function
1.1 ARITHEMETIC
1. add: Add input Number 1 and Number 2 ,eg: 3+5=8
2. subtract : subtract input Number 1 and Number 2 ,eg: 35-5=30
3. equals(number) : If Number 1 and Number 2 are equal it will give output as True
while those numbers are different it will give False
4. absolute : the absolute value of 5 is 5, and the absolute value of −5 is also 5
it will always gives the positive value of the input
5. sqrt : square root of the value like sqrt of 4 is 2, sqrt of 9 is 3, sqrt of 144
is 12, sqrt of 169 is 13
6. square : square the incoming value square of 4 is 16, 5 is 25, 9 is 81.
7. sign : it will show 1 or -1 ,if the incoming value is Positive it will show 1
while the incoming value is Negative it will show -1
8. neg : it multiply the incoming value by Minus(-) if 3 is a input the output as -
3,similarly if -3 is a input the output as +3 Because its multiply the incoming
message by Minus(-)
9. inv : inv means multiplication of inverse ,Maths formula for this (incoming
message)(x)=1 so (x)=1/(incoming message) ,1 divided by incoming message.
10. power : it has two fields Number and Power 4² = 4 × 4 = 16,here 4 is a Number
and ² is a Power
11. lesser : numer1<number2 it will show true otherwise false
12. greater : Its similar like numer1>number2 it will show true otherwise false.
13. multiply : multiply input Number 1 and Number 2 ,eg: 3*5=15
14. divide : divide input Number 1 and Number 2 ,eg: 30/5=6
15. max : it will give value which one is Maximum like Number 1 = 16 the max
output is 22
Number 2 = 22
16. min : it will give value which one is Minimum like Number 1 = 16 the min
output is 16
Number 2 = 22
17. ceil : it will complete the number means eg : if the input is 3.7 it will give
4 ,eg : 4.001 it will give 5
18. floor : it will give the least number means eg : if the input is 3.7 it will
give 3 ,eg : 4.001 it will give 4
* 17. and 18. both are like ceiling floor concept
19. round : it will give round value means if the input is below the .5 it will
give floor value while above or perfect .5 it will give the ceil number examples:
2.4 ~ 2 , 2.5~3 , 2.3~2 , 2.6~3
20. Counter-----------------------------
[Link] Number----------------------------
1.6 NODE FUNCTIONS
1. createIf : it is used when the incoming payload has 2 fields using XML atrribute
like type = internal and typoe = external both send to the target field
simultaneously the use of createif is when we need only one from two attribute we
can match taht incoming by using constannt on createif.
2. removeContexts : removeContexts is used to remove the node of child element
which has both same parent and child tag for each field and align all in firsst
context.
3. replaceValue : is simply to replace value statically.
4. exists : exists function returns true if field exists or else show false.
5. getHeader : getHeader is used to dynamically capture header from the incoming
message and set it to specific mapping field.
6. getProperty : getProperty is used to dynamically capture property from the
incoming message and set it to specific mapping field.
7. splitByValue : splitByValue is opposite of removeContexts it is allot every each
field to the context .It has three parameters Each value,Empty value,Value change.
(i) Each value is used to separate each and every value.
(ii) Empty value is used to separate value based on when value
missing inbetween values.
(iii) Value change is separate values based on when the similar are
sequence it will group them in a contxt until the value change.
8. collapseContexts : collapseContexts is mostly used when we use splitbyvalue
because collapsecontext pick value from each context first value only.
9. useOneAsMany : useOneAsMany is used when we need to convert tree structure to a
flat structure it has three parameters input 1,input 2,input 3.
(i) input 1 : is used to assign the field which we want to repeat
(ii) input 2 : is used to assign the field to how many times that field
(input 1) should be repeat
(iii)input 3 : is used to assing the field of output of the structure like
which is inside the first of (input 2)
10. sort : is used to arrange the values mostly we arrange for getting keys which
is we use in sorytbykey
11. sortByKey : sortByKey is used to arrange some non integer values using key
(which made by sort)
12. mapWithDefault : mapWithDefault is used to when input is not coming from the
incoming xml payload but we need the field for example CustomerName is not coming
we want value like CustomerNameisUnknown.
13. formatByExample : formatByExample is used to convert flat structure to tree
structure simply it is used to align input by using pattern
1.8 TEXT
1. substring : substring has two parameters (i)Start Position and (ii)Character
Count
(i)Start Position is start with 0 if word like KANGAROO k is a 0th
position A is a 1st position N is a 2nd position and so on . we can anynumber on
Start Position to get the specific start of the [Link] we put 2 it will skip
first 2 letter.
(ii)Character Count is bring the characters of the word if you put 0
on Start Position and 2 on Character Count in KANGAROO word it will bring KA only
if you put 5 it will bring KANGA only.
2. concat : concat is used to combine two source message in one target the
parameter Delimeter String is used to assign the symbol like
hyphen(-),underscore(_) between two different source message
3. equals(string) : its compare the both String if they are similar it will give
true as output or it will give false
4. indexOf(2) : Is a case sensitive it has two parameters string and pattern we
give input to the string and pattern is used to show the position of letter
like[0,1,2,3,4,5...] which we mention in the pattern like kangaroo is a string if
we give pattern (g) it will show 3 otherwise(which not in string) it shows (-1) and
it will only consider first letter not repeating letter.
{Returns the index within this string of the first occurrence of the specified
string}.
5. indexOf(3) : it same like indexOf(2) but it has one special quality to get
specific position of letter by using (index) [Link] we put 3 it will count
from 3rd position onwards.{Returns the index within this string of the first
occurrence of the specified string, starting the search at the specified index}
6. lastIndexOf(2) : it is vice versa of indexOf(2) means it give position based on
which position the letter stand from start but it consider the letter which is from
last{Returns the index within this string of the right most occurrence of the
specified substring}.
7. lastIndexOf(3): it is vice versa of indexOf(3) it has three parameters
(String,Pattern,Index)string which get input field ,pattern is used to mention
target index value , index is giving position check from last but give value
position from start.
8. compare : compare is based on (lexicographical comparison) which means it will
take the first letter of both inputs each small and capital alphabet had a
particular ASCII(American Standard Code for Information Interchange) value it will
minus input 2 from input 1.
9. replaceString : it has three paramaeters (i)String ,(ii)pattern and
(iii)replacement
(i)String is a input message
(ii)pattern is a specific character in input message to assign which you want to
(iii)replacement is used to replace the specific character
10. length : count the how many characters in the String(incoming message)
11. endsWith : the suffix parameter should match the String suffix it will show
true or else false
12. startsWith(2) : this is vice-versa of endsWith ,the prefix parameter should
match String prefix it will show true or else false
13. startsWith(3) : it has three parameters , it also same like endsWith and
startsWith(2) but it has one extra parameters named index ,here the use of index we
can declare where we want the prefix should start once the prefix parameter should
match String prefix at the matching index it will show true or else false
14. toUpperCase : it will change the String to capital letters
15. trim : Trim is used to remove the empty spaces from both side of string (front
and back)
16. toLowerCase : it will change the String to small letters
1.5 DATE
1. currentDate : its used to assign current date so we cannot give any input date
here we also can change structure of the date
2. dateTrans : is used to change structure of the date.
3. dateBefore : Here two parameter date 1 and date 2 ,date 2 is main here because
that is set the limit for date if the date 1 is younger than date 2 it will show
false or else true like used to find expiry date
4. dateAfter : its vice versa (dateBefore)
5. compareDates : date 1 < date 2 = -1
date 1 = date 2 = 0
date 1 > date 2 = 1