SlideShare uma empresa Scribd logo
 creatIf
 removeContexts
 replaceValue
 exists
 splitByValue
 collapseContexts
 useOneAsMany
 sort and sortByKey
 mapWithDefault
 formatByExample
createIf
Description:” I have criteria for existing”. It is used when you want to create target node or element
based on some condition.
Fig.1
Figure depicts createIf node functionality. ID is mapped to MT_Reciever_Minor using createIf function.
Fig.2
Figure depicts result of mapping in Fig.1.As, the value of ID is less than 25, MT_Reciever_Minor node is
created in target side.
Fig.3
Figure depicts createIf node functionality. ID is mapped to MT_Reciever_Major using createIf function.
Fig.4
Figure depicts result of mapping in Fig.3.As, the value of ID is greater than 25, MT_Reciever_Major node
is created in target side.
removeContext
Description: Removes all immediate level contexts of a source field. In this way, you can delete all
hierarchy levels and generate a list.
Fig.5
Figure depicts removeContexts functionality.
Fig.6
Figure depicts result of mapping in Fig.5.By applying removeContexts, all the Cust_NAME fields came in
one context.
replaceValue
Description: Replaces the value of element with a value that you can define in the dialog for the function
properties.
Fig.7
Figure depicts replaceValue functionality.
Fig.8
replaceValue will replace the value of Cust_NAME element with the value defined i.e.20Name.
exists
Description: This is the most frequently needed when mapping IDoc structure to file structure. Lot of
times we come across a scenario where the fields (occurrence=0) are not mandatory in the IDocs are not
populated in the source XML and they are required in the target XML (occurrence =1) which gives a
mapping run time exception that target element cannot be created. We can handle the error by checking
whether the source tag exists and if it does not we can pass an empty value, which generates the
required target field.
Fig.9
Figure depicts exists functionality. ID (source field) is checked for its existence by using exists function.
Fig.10
Figure depicts the existence of ID (source field), so same value is populated in target file.
Fig.11
Figure depicts the non-existence of ID (source field), so same the constant value defined is populated in
target file.
splitByValue
Description: splitByValue() is the counterpart to removeContexts(): Instead of deleting a context, you can
insert a context change in the source value queue.
You can insert a context change in the queue after each value or after each change to the value, or after
each tag without a value.
splitByValue can be achieved in following three ways:
1. EACH VALUE
Fig.12
Figure depicts the splitByValue(Each Value) functionality.
Fig.13
Figure depicts the splitByValue (Each Value) mapping result.
2. VALUE CHANGE
Fig.14
Figure depicts the splitByValue (Value Change) functionality.
Fig.15
Figure depicts the splitByValue (Value Change) mapping result.
3. EMPTY VALUE
Fig.16
Figure depicts the splitByValue (Empty Value) functionality.
Fig.17
Figure depicts the splitByValue (Empty Value) mapping result.
collapseContext
Description: It takes the first value from all the contexts and put them into a context on the target side,
So that all values come under one context.
Empty contexts are replaced by empty strings.
Fig.18
Figure depicts the collapseContexts functionality.
Fig.19
Figure depicts the collapseContexts mapping result.
useOneAsMany
Description: As shown in the figure below the maximum occurrence of the header node in the source is
1 and the target is unbounded. So we have only one occurrence of MatNo & MatDesc, which has to be
replicated for every line Item.
Fig.20
Above figure depicts, both source & target structures.
Fig.21
Above fig depicts, mapping of usOneAsMany function
In the above figure, useOneAsMany takes three arguments.
1. First argument “what should be repeated”.
2. Second argument “how many times, first argument should repeat”.
3. Third argument “Should have same context of Item (Second argument)”.It maintains the context.
MatDesc field will also be mapped in similar way like MatNo.
Fig.22
Number of time Item node appears (repeats), same number of time Header node will appear in target
side. So, source Item node is mapped to Target Header node.
Fig.23
In above fig, Item node is duplicated.
Fig.24
In above fig, Item node is duplicated twice in the source structure. Accordingly, Header is repeating twice
in the target side i.e. MatNo & MatDesc.
sort & sortByKey
Description: The element Cust_Name shall be sorted the same way as the element Cust_ID.
but with two inbound parameters to sort (key/value) pairs. The sort process can be compared to that of a
table with two columns
Sort and sortByKey: Have 3 options.
1) Lexicographically 2) Lexicographically (Case Insensitive) and 3) Numeric.
Fig.25
Figure depicts the sort functionality.
As the functions sort and sortByKey only sort the elements within the same context, we have to use the
functionremoveContexts before sort. After sort we have to restore the original contexts. We do this with
the node functionsplitByValue
Fig.26
Figure depicts the sortByKey functionality.
In the above fig The Cust_Name is sorted based on the Cust_ID.
sortByKey: take two arguments, first argument acts as key for sorting the second argument.
Fig.27
In the above fig Cust_Name is sorted based on Cust_ID.
mapWithDefault
Description: This function provides a default value, whenever the source element is not available.
Fig.28
Figure depicts the mapWithDefault functionality.
Fig.29
Figure depicts the mapWithDefault mapping result.
formatByExample
Description: This function has two arguments, which must both have the same number of values. To
generate the target, the function takes the values from the first argument and combines them with the
context changes from the second argument.
This function allows grouping of values of a tag (Cust_NAME) according to values of another tag
(Cust_ID).
Fig.30
In the Example, Cust_ID is repeated 5 times having 5 different contexts. By using removeContexts
function,remove all the 5 contexts. Then split the Cust_ID in different context whenever value change
occurs, that is achieved using splitByValue (Value Change).From each context, take first Cust_ID and
put it in one context usingcollapseContexts. So, Creating number of Customers nodes based on result
of collapseContexts.
Fig.31
In the Example, Cust_ID is repeated 5 times having 5 different contexts. By using removeContexts
function,remove all the 5 contexts. Then split the Cust_ID in different context whenever value change
occurs, that is achieved using splitByValue (Value Change).From each context, take first Cust_ID and
put it in one context usingcollapseContexts. Again split into different context based on each value by
using splitByValue (Each Value) .So, Creating number of Cust_ID fields based on result of splitByValue.
Fig.32
The figure above depicts formatByExample functionality.
formatByExample takes two arguments:
1. First argument: Field that is to be grouped.
2. Second argument: Base for grouping of first argument.
Fig.33
In the fig above, Cust_NAME is grouped in 2 context based on Cust_ID in the target structure.

Mais conteúdo relacionado

Mais procurados

Step by step guide to basic web dynpro abap
Step by step guide to basic web dynpro abapStep by step guide to basic web dynpro abap
Step by step guide to basic web dynpro abap
Kranthi Kumar
 
Creating Web Applications with IDMS, COBOL and ADSO
Creating Web Applications with IDMS, COBOL and ADSOCreating Web Applications with IDMS, COBOL and ADSO
Creating Web Applications with IDMS, COBOL and ADSO
Margaret Sliming
 

Mais procurados (20)

CDS Views.pptx
CDS Views.pptxCDS Views.pptx
CDS Views.pptx
 
KE27 - Parallel valuation
KE27 - Parallel valuationKE27 - Parallel valuation
KE27 - Parallel valuation
 
Step by step guide to basic web dynpro abap
Step by step guide to basic web dynpro abapStep by step guide to basic web dynpro abap
Step by step guide to basic web dynpro abap
 
SSAS, MDX , Cube understanding, Browsing and Tools information
SSAS, MDX , Cube understanding, Browsing and Tools information SSAS, MDX , Cube understanding, Browsing and Tools information
SSAS, MDX , Cube understanding, Browsing and Tools information
 
Ale IDOC
Ale IDOCAle IDOC
Ale IDOC
 
SAP BW - Info cube
SAP BW - Info cubeSAP BW - Info cube
SAP BW - Info cube
 
oracle EDI 906354ydoByranib.pdf
oracle EDI 906354ydoByranib.pdforacle EDI 906354ydoByranib.pdf
oracle EDI 906354ydoByranib.pdf
 
Ssis 2008
Ssis 2008Ssis 2008
Ssis 2008
 
Send mail with attached report layout
Send mail with attached report layoutSend mail with attached report layout
Send mail with attached report layout
 
How to extend an outbound i doc
How to extend an outbound i docHow to extend an outbound i doc
How to extend an outbound i doc
 
Data Modeling with Power BI
Data Modeling with Power BIData Modeling with Power BI
Data Modeling with Power BI
 
Edit idoc , reprocess and test idoc
Edit idoc , reprocess and test idocEdit idoc , reprocess and test idoc
Edit idoc , reprocess and test idoc
 
Creating Web Applications with IDMS, COBOL and ADSO
Creating Web Applications with IDMS, COBOL and ADSOCreating Web Applications with IDMS, COBOL and ADSO
Creating Web Applications with IDMS, COBOL and ADSO
 
XMLPublisher
XMLPublisherXMLPublisher
XMLPublisher
 
Ab initio training Ab-initio Architecture
Ab initio training Ab-initio ArchitectureAb initio training Ab-initio Architecture
Ab initio training Ab-initio Architecture
 
Ale Idoc Edi
Ale Idoc EdiAle Idoc Edi
Ale Idoc Edi
 
286648705 sap-bos
286648705 sap-bos286648705 sap-bos
286648705 sap-bos
 
Sap ps cost planning
Sap ps cost planningSap ps cost planning
Sap ps cost planning
 
Exercise in alv
Exercise in alvExercise in alv
Exercise in alv
 
SAP Training ( PS , Material PR , Service PR ,Cost Planning , Budgeting , PO...
SAP Training ( PS , Material PR , Service PR ,Cost Planning , Budgeting ,  PO...SAP Training ( PS , Material PR , Service PR ,Cost Planning , Budgeting ,  PO...
SAP Training ( PS , Material PR , Service PR ,Cost Planning , Budgeting , PO...
 

Destaque

I doc packaging and mapping techniques.doc
I doc packaging and mapping techniques.docI doc packaging and mapping techniques.doc
I doc packaging and mapping techniques.doc
VERUS BRASIL
 
Sap pi overview
Sap pi overviewSap pi overview
Sap pi overview
smavachee
 
SAP Integration White Paper
SAP Integration White PaperSAP Integration White Paper
SAP Integration White Paper
Saleem Rauf
 
Sap abap ale idoc
Sap abap ale idocSap abap ale idoc
Sap abap ale idoc
Bunty Jain
 
G5 erp-upd
G5 erp-updG5 erp-upd
G5 erp-upd
sakpob
 
Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...
Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...
Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...
Teemu Karvonen
 
Ringkasan ba101 dec2011
Ringkasan ba101 dec2011Ringkasan ba101 dec2011
Ringkasan ba101 dec2011
noraisyahalias
 
2011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c22011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c2
nm48
 
Blackwell Esteem AFSL
Blackwell Esteem AFSLBlackwell Esteem AFSL
Blackwell Esteem AFSL
samueltay77
 

Destaque (20)

I doc packaging and mapping techniques.doc
I doc packaging and mapping techniques.docI doc packaging and mapping techniques.doc
I doc packaging and mapping techniques.doc
 
SAP Systems Integration by SAP PI (XI)
SAP Systems Integration by SAP PI (XI)SAP Systems Integration by SAP PI (XI)
SAP Systems Integration by SAP PI (XI)
 
Getting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationGetting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentation
 
SAP PI
SAP PISAP PI
SAP PI
 
Sap pi overview
Sap pi overviewSap pi overview
Sap pi overview
 
SAP Integration White Paper
SAP Integration White PaperSAP Integration White Paper
SAP Integration White Paper
 
A Step By Step Guide Creating A Bpm Scenario In Sap Exchange Infrastructure...
A Step By Step Guide   Creating A Bpm Scenario In Sap Exchange Infrastructure...A Step By Step Guide   Creating A Bpm Scenario In Sap Exchange Infrastructure...
A Step By Step Guide Creating A Bpm Scenario In Sap Exchange Infrastructure...
 
Sap abap ale idoc
Sap abap ale idocSap abap ale idoc
Sap abap ale idoc
 
Cultural strength
Cultural strengthCultural strength
Cultural strength
 
Nossa Experiência - Promott
Nossa Experiência - PromottNossa Experiência - Promott
Nossa Experiência - Promott
 
aclogを支えるデザイン
aclogを支えるデザインaclogを支えるデザイン
aclogを支えるデザイン
 
Lesson plan nº 1, 2 and 3
Lesson plan nº 1, 2 and 3Lesson plan nº 1, 2 and 3
Lesson plan nº 1, 2 and 3
 
G5 erp-upd
G5 erp-updG5 erp-upd
G5 erp-upd
 
Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...
Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...
Adapting the Lean Enterprise Self-Assessment Tool for Software Development Do...
 
Kehamilan dengan bekas seksio sesarea
Kehamilan dengan bekas seksio sesareaKehamilan dengan bekas seksio sesarea
Kehamilan dengan bekas seksio sesarea
 
Uuuu 2014-1 efr-corp_pres(final v.2)
Uuuu 2014-1 efr-corp_pres(final v.2)Uuuu 2014-1 efr-corp_pres(final v.2)
Uuuu 2014-1 efr-corp_pres(final v.2)
 
What color do you like
What color do you likeWhat color do you like
What color do you like
 
Ringkasan ba101 dec2011
Ringkasan ba101 dec2011Ringkasan ba101 dec2011
Ringkasan ba101 dec2011
 
2011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c22011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c2
 
Blackwell Esteem AFSL
Blackwell Esteem AFSLBlackwell Esteem AFSL
Blackwell Esteem AFSL
 

Semelhante a Sap pi 10 nodes

An important part of electrical engineering is PCB design. One impor.pdf
An important part of electrical engineering is PCB design. One impor.pdfAn important part of electrical engineering is PCB design. One impor.pdf
An important part of electrical engineering is PCB design. One impor.pdf
ARORACOCKERY2111
 
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdfNeed done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
info114
 
Loops and ArraysObjectivesArrays are a series of elements consi.pdf
Loops and ArraysObjectivesArrays are a series of elements consi.pdfLoops and ArraysObjectivesArrays are a series of elements consi.pdf
Loops and ArraysObjectivesArrays are a series of elements consi.pdf
info309708
 
e computer notes - Reference variables
e computer notes - Reference variablese computer notes - Reference variables
e computer notes - Reference variables
ecomputernotes
 
please code in c#- please note that im a complete beginner- northwind.docx
please code in c#- please note that im a complete beginner-  northwind.docxplease code in c#- please note that im a complete beginner-  northwind.docx
please code in c#- please note that im a complete beginner- northwind.docx
AustinaGRPaigey
 

Semelhante a Sap pi 10 nodes (20)

Visual basic bt0082
Visual basic  bt0082Visual basic  bt0082
Visual basic bt0082
 
Lecture 2 - Classes, Fields, Parameters, Methods and Constructors
Lecture 2 - Classes, Fields, Parameters, Methods and ConstructorsLecture 2 - Classes, Fields, Parameters, Methods and Constructors
Lecture 2 - Classes, Fields, Parameters, Methods and Constructors
 
An important part of electrical engineering is PCB design. One impor.pdf
An important part of electrical engineering is PCB design. One impor.pdfAn important part of electrical engineering is PCB design. One impor.pdf
An important part of electrical engineering is PCB design. One impor.pdf
 
Joel Landis Net Portfolio
Joel Landis Net PortfolioJoel Landis Net Portfolio
Joel Landis Net Portfolio
 
Basic Analysis using Python
Basic Analysis using PythonBasic Analysis using Python
Basic Analysis using Python
 
2 introduction toentitybeans
2 introduction toentitybeans2 introduction toentitybeans
2 introduction toentitybeans
 
E2D3 ver. 0.2 API Instruction
E2D3 ver. 0.2 API InstructionE2D3 ver. 0.2 API Instruction
E2D3 ver. 0.2 API Instruction
 
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdfNeed done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
 
Introducing Assignment invalidates the Substitution Model of Evaluation and v...
Introducing Assignment invalidates the Substitution Model of Evaluation and v...Introducing Assignment invalidates the Substitution Model of Evaluation and v...
Introducing Assignment invalidates the Substitution Model of Evaluation and v...
 
Loops and ArraysObjectivesArrays are a series of elements consi.pdf
Loops and ArraysObjectivesArrays are a series of elements consi.pdfLoops and ArraysObjectivesArrays are a series of elements consi.pdf
Loops and ArraysObjectivesArrays are a series of elements consi.pdf
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
R Tanenbaum .Net Portfolio
R Tanenbaum .Net PortfolioR Tanenbaum .Net Portfolio
R Tanenbaum .Net Portfolio
 
What's New In Python 2.6
What's New In Python 2.6What's New In Python 2.6
What's New In Python 2.6
 
C questions
C questionsC questions
C questions
 
Algorithms: I
Algorithms: IAlgorithms: I
Algorithms: I
 
Chapter2
Chapter2Chapter2
Chapter2
 
e computer notes - Reference variables
e computer notes - Reference variablese computer notes - Reference variables
e computer notes - Reference variables
 
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
 
611+tutorial
611+tutorial611+tutorial
611+tutorial
 
please code in c#- please note that im a complete beginner- northwind.docx
please code in c#- please note that im a complete beginner-  northwind.docxplease code in c#- please note that im a complete beginner-  northwind.docx
please code in c#- please note that im a complete beginner- northwind.docx
 

Último

The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 
Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
Avinash Rai
 

Último (20)

How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptx
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
B.ed spl. HI pdusu exam paper-2023-24.pdf
B.ed spl. HI pdusu exam paper-2023-24.pdfB.ed spl. HI pdusu exam paper-2023-24.pdf
B.ed spl. HI pdusu exam paper-2023-24.pdf
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Advances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdfAdvances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdf
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 

Sap pi 10 nodes

  • 1.  creatIf  removeContexts  replaceValue  exists  splitByValue  collapseContexts  useOneAsMany  sort and sortByKey  mapWithDefault  formatByExample
  • 2. createIf Description:” I have criteria for existing”. It is used when you want to create target node or element based on some condition. Fig.1 Figure depicts createIf node functionality. ID is mapped to MT_Reciever_Minor using createIf function.
  • 3. Fig.2 Figure depicts result of mapping in Fig.1.As, the value of ID is less than 25, MT_Reciever_Minor node is created in target side.
  • 4. Fig.3 Figure depicts createIf node functionality. ID is mapped to MT_Reciever_Major using createIf function.
  • 5. Fig.4 Figure depicts result of mapping in Fig.3.As, the value of ID is greater than 25, MT_Reciever_Major node is created in target side.
  • 6. removeContext Description: Removes all immediate level contexts of a source field. In this way, you can delete all hierarchy levels and generate a list. Fig.5 Figure depicts removeContexts functionality.
  • 7. Fig.6 Figure depicts result of mapping in Fig.5.By applying removeContexts, all the Cust_NAME fields came in one context.
  • 8. replaceValue Description: Replaces the value of element with a value that you can define in the dialog for the function properties. Fig.7 Figure depicts replaceValue functionality.
  • 9. Fig.8 replaceValue will replace the value of Cust_NAME element with the value defined i.e.20Name.
  • 10. exists Description: This is the most frequently needed when mapping IDoc structure to file structure. Lot of times we come across a scenario where the fields (occurrence=0) are not mandatory in the IDocs are not populated in the source XML and they are required in the target XML (occurrence =1) which gives a mapping run time exception that target element cannot be created. We can handle the error by checking whether the source tag exists and if it does not we can pass an empty value, which generates the required target field. Fig.9 Figure depicts exists functionality. ID (source field) is checked for its existence by using exists function.
  • 11. Fig.10 Figure depicts the existence of ID (source field), so same value is populated in target file.
  • 12. Fig.11 Figure depicts the non-existence of ID (source field), so same the constant value defined is populated in target file.
  • 13. splitByValue Description: splitByValue() is the counterpart to removeContexts(): Instead of deleting a context, you can insert a context change in the source value queue. You can insert a context change in the queue after each value or after each change to the value, or after each tag without a value. splitByValue can be achieved in following three ways: 1. EACH VALUE Fig.12 Figure depicts the splitByValue(Each Value) functionality.
  • 14. Fig.13 Figure depicts the splitByValue (Each Value) mapping result.
  • 15. 2. VALUE CHANGE Fig.14 Figure depicts the splitByValue (Value Change) functionality.
  • 16. Fig.15 Figure depicts the splitByValue (Value Change) mapping result.
  • 17. 3. EMPTY VALUE Fig.16 Figure depicts the splitByValue (Empty Value) functionality.
  • 18. Fig.17 Figure depicts the splitByValue (Empty Value) mapping result.
  • 19. collapseContext Description: It takes the first value from all the contexts and put them into a context on the target side, So that all values come under one context. Empty contexts are replaced by empty strings. Fig.18 Figure depicts the collapseContexts functionality.
  • 20. Fig.19 Figure depicts the collapseContexts mapping result.
  • 21. useOneAsMany Description: As shown in the figure below the maximum occurrence of the header node in the source is 1 and the target is unbounded. So we have only one occurrence of MatNo & MatDesc, which has to be replicated for every line Item. Fig.20 Above figure depicts, both source & target structures.
  • 22. Fig.21 Above fig depicts, mapping of usOneAsMany function In the above figure, useOneAsMany takes three arguments. 1. First argument “what should be repeated”. 2. Second argument “how many times, first argument should repeat”. 3. Third argument “Should have same context of Item (Second argument)”.It maintains the context. MatDesc field will also be mapped in similar way like MatNo.
  • 23. Fig.22 Number of time Item node appears (repeats), same number of time Header node will appear in target side. So, source Item node is mapped to Target Header node.
  • 24. Fig.23 In above fig, Item node is duplicated.
  • 25. Fig.24 In above fig, Item node is duplicated twice in the source structure. Accordingly, Header is repeating twice in the target side i.e. MatNo & MatDesc.
  • 26. sort & sortByKey Description: The element Cust_Name shall be sorted the same way as the element Cust_ID. but with two inbound parameters to sort (key/value) pairs. The sort process can be compared to that of a table with two columns Sort and sortByKey: Have 3 options. 1) Lexicographically 2) Lexicographically (Case Insensitive) and 3) Numeric. Fig.25 Figure depicts the sort functionality. As the functions sort and sortByKey only sort the elements within the same context, we have to use the functionremoveContexts before sort. After sort we have to restore the original contexts. We do this with the node functionsplitByValue
  • 27. Fig.26 Figure depicts the sortByKey functionality. In the above fig The Cust_Name is sorted based on the Cust_ID. sortByKey: take two arguments, first argument acts as key for sorting the second argument.
  • 28. Fig.27 In the above fig Cust_Name is sorted based on Cust_ID.
  • 29. mapWithDefault Description: This function provides a default value, whenever the source element is not available. Fig.28 Figure depicts the mapWithDefault functionality.
  • 30. Fig.29 Figure depicts the mapWithDefault mapping result.
  • 31. formatByExample Description: This function has two arguments, which must both have the same number of values. To generate the target, the function takes the values from the first argument and combines them with the context changes from the second argument. This function allows grouping of values of a tag (Cust_NAME) according to values of another tag (Cust_ID).
  • 32. Fig.30 In the Example, Cust_ID is repeated 5 times having 5 different contexts. By using removeContexts function,remove all the 5 contexts. Then split the Cust_ID in different context whenever value change occurs, that is achieved using splitByValue (Value Change).From each context, take first Cust_ID and put it in one context usingcollapseContexts. So, Creating number of Customers nodes based on result of collapseContexts.
  • 33. Fig.31 In the Example, Cust_ID is repeated 5 times having 5 different contexts. By using removeContexts function,remove all the 5 contexts. Then split the Cust_ID in different context whenever value change occurs, that is achieved using splitByValue (Value Change).From each context, take first Cust_ID and put it in one context usingcollapseContexts. Again split into different context based on each value by using splitByValue (Each Value) .So, Creating number of Cust_ID fields based on result of splitByValue.
  • 34. Fig.32 The figure above depicts formatByExample functionality.
  • 35. formatByExample takes two arguments: 1. First argument: Field that is to be grouped. 2. Second argument: Base for grouping of first argument. Fig.33 In the fig above, Cust_NAME is grouped in 2 context based on Cust_ID in the target structure.