SlideShare a Scribd company logo
1 of 19
Download to read offline
Presenter
Richard Hogenberg, Lead global SAS® CoE, Capgemini
Richard Hogenberg is the lead of the global SAS® CoE at Capgemini
where he has been since 1996. Richard is a SAS® solution architect and
technical specialist working mainly in Fraud and Risk projects.
Richard holds 3 SAS® certifications:
- Certified Base Programmer for SAS® 9
- Certified Advanced Programmer for SAS® 9
- Certified Data Integration Developer for SAS® 9
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
INTRODUCTION
• Everyone has probably encountered the situation that the documentation
and the corresponding source code were out of sync.
• Reliance on the source code itself in stead of documentation.
• Our solution contains the documentation within the SAS® Data Integration
Studio jobs. Therefore the complete documentation is available within the
SAS® Metadata.
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
What is needed
• Clear standards for SAS® Data Integration Job development in order to
ensure that all developers work the same way and all the transformations
are clearly documented.
• A program to extract the information out of the SAS® Metadata in order to
generate a ‘paper’ version of the documentation.
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Standards for SAS® Data Integration Job development
• Job level
• Naming standards for the SAS® Data Integration Jobs
• Sticky notes
• Transformation level
• Naming standards for the transformations
• Defining which property fields can contain information that can be extracted
from the SAS® Metadata and therefore should be filled
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Job level
Usage of sticky notes
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Transformation level
• Changing the name from the default transformation name to a
meaningful name will greatly enhance the understanding of a Data
Integration job as people can easily see what is supposed to happen in
each of the transformations
• The description of a transformation can only contain a limited amount of
characters. We use the notes tab of the transformation as the place to
put a full description of the technical / functional details of the
transformation.
• User written code ensure that it is properly commented by itself and use
the notes section of the transformation for more details.
• Adding comments to an expression that is part of a transformation.
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Challenges encountered while developing the program that extracts the
documentation from the SAS® Metadata
• Understanding the SAS® Metadata structure
• Extracting the information from the SAS® Metadata structure
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Understanding the SAS® Metadata structure
1) SAS® Metadata Browser
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Understanding the SAS® Metadata structure (continued)
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Understanding the SAS® Metadata structure (continued)
2) SAS® Metadata Packages
Archive a SAS Data Integration job by creating an ‘archive as a SAS package’.
Then unzip the package. Within the unzipped package there are multiple
XML files. One of these XML files contains the complete structure of the
Data Integration job.
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Extracting the information from the SAS® Metadata structure
SAS® function used:
• metadata_getnobj
• metadata_getnasn
• metadata_getnatr
• metadata_getattr
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Extracting the information from the SAS® Metadata structure (continued)
• Below is an example how to obtain the uri’s of the Data Integration jobs that
contain DG_:
i=0;
do until(rc1<0);
i+1;
rc1=metadata_getnobj("omsobj:Job?@Name contains 'DG_'",i,uri);
if rc1>0 then do;
…
end;
end;
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Extracting the information from the SAS® Metadata structure (continued)
• The code below shows how to analyze the metadata tree over all the
transformations within a job:
i=0;
do until(rc1<0);
i+1;
rc1=metadata_getnasn("&JobID.","TransformationSources",i,nuri);
if rc1>0 then do;
…
end;
end;
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
The job itself
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
What does the result look like
SAS® Data Integration Documentation Generator:
a Capgemini Solution to Accelerate and Keeping it All "in Sync"
Questions?
Don't Forget to Provide Feedback!
1. Go to the Agenda icon in the conference app.
2. Find this session title and select it.
3. On the sessions page, scroll down to Surveys and
select the name of the survey.
4. Complete the survey and click Finish.

More Related Content

Similar to SAS Data Integration: a Capgemini Solution to Accelerate and Keeping it All 'in Sync'?

KeyAchivementsMimecast
KeyAchivementsMimecastKeyAchivementsMimecast
KeyAchivementsMimecast
Vera Ekimenko
 

Similar to SAS Data Integration: a Capgemini Solution to Accelerate and Keeping it All 'in Sync'? (20)

Dynamics 365 saturday 2018 - data migration story
Dynamics 365 saturday   2018 - data migration storyDynamics 365 saturday   2018 - data migration story
Dynamics 365 saturday 2018 - data migration story
 
Geek Nights Hong Kong
Geek Nights Hong KongGeek Nights Hong Kong
Geek Nights Hong Kong
 
SSDT unleashed
SSDT unleashedSSDT unleashed
SSDT unleashed
 
Suman_Chakraborty
Suman_ChakrabortySuman_Chakraborty
Suman_Chakraborty
 
SAP CPI - DS
SAP CPI - DSSAP CPI - DS
SAP CPI - DS
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
320 2009
320 2009320 2009
320 2009
 
Sas base programmer
Sas base programmerSas base programmer
Sas base programmer
 
BADI IMPLEMENTATION.pdf
BADI IMPLEMENTATION.pdfBADI IMPLEMENTATION.pdf
BADI IMPLEMENTATION.pdf
 
resume
resumeresume
resume
 
SAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesSAS/Cognos Integration Approaches
SAS/Cognos Integration Approaches
 
Optimizing Salesforce DX with Automated Release Management
Optimizing Salesforce DX with Automated Release ManagementOptimizing Salesforce DX with Automated Release Management
Optimizing Salesforce DX with Automated Release Management
 
Sap success factors quick guide
Sap success factors quick guideSap success factors quick guide
Sap success factors quick guide
 
Learn SAS Programming
Learn SAS ProgrammingLearn SAS Programming
Learn SAS Programming
 
SAP BOBJ Rapid Mart Overview & Implementation
SAP BOBJ Rapid Mart Overview & ImplementationSAP BOBJ Rapid Mart Overview & Implementation
SAP BOBJ Rapid Mart Overview & Implementation
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
 
KeyAchivementsMimecast
KeyAchivementsMimecastKeyAchivementsMimecast
KeyAchivementsMimecast
 
Data sevice architecture
Data sevice architectureData sevice architecture
Data sevice architecture
 
Webinar: DataStax Enterprise 5.0 What’s New and How It’ll Make Your Life Easier
Webinar: DataStax Enterprise 5.0 What’s New and How It’ll Make Your Life EasierWebinar: DataStax Enterprise 5.0 What’s New and How It’ll Make Your Life Easier
Webinar: DataStax Enterprise 5.0 What’s New and How It’ll Make Your Life Easier
 
Data Modeling in SAP Gateway – maximize performance at all levels
Data Modeling in SAP Gateway – maximize performance at all levelsData Modeling in SAP Gateway – maximize performance at all levels
Data Modeling in SAP Gateway – maximize performance at all levels
 

More from Capgemini

Commercial Banking Trends book 2022
Commercial Banking Trends book 2022Commercial Banking Trends book 2022
Commercial Banking Trends book 2022
Capgemini
 
Top Trends in Payments 2022
Top Trends in Payments 2022Top Trends in Payments 2022
Top Trends in Payments 2022
Capgemini
 
Top Trends in Wealth Management 2022
Top Trends in Wealth Management 2022Top Trends in Wealth Management 2022
Top Trends in Wealth Management 2022
Capgemini
 
Retail Banking Trends book 2022
Retail Banking Trends book 2022Retail Banking Trends book 2022
Retail Banking Trends book 2022
Capgemini
 
Top Trends in Commercial Banking: 2021
Top Trends in Commercial Banking: 2021Top Trends in Commercial Banking: 2021
Top Trends in Commercial Banking: 2021
Capgemini
 
Top Trends in Retail Banking: 2021
Top Trends in Retail Banking: 2021Top Trends in Retail Banking: 2021
Top Trends in Retail Banking: 2021
Capgemini
 
Top Trends in Retail Banking: 2020
Top Trends in Retail Banking: 2020Top Trends in Retail Banking: 2020
Top Trends in Retail Banking: 2020
Capgemini
 

More from Capgemini (20)

Top Healthcare Trends 2022
Top Healthcare Trends 2022Top Healthcare Trends 2022
Top Healthcare Trends 2022
 
Top P&C Insurance Trends 2022
Top P&C Insurance Trends 2022Top P&C Insurance Trends 2022
Top P&C Insurance Trends 2022
 
Commercial Banking Trends book 2022
Commercial Banking Trends book 2022Commercial Banking Trends book 2022
Commercial Banking Trends book 2022
 
Top Trends in Payments 2022
Top Trends in Payments 2022Top Trends in Payments 2022
Top Trends in Payments 2022
 
Top Trends in Wealth Management 2022
Top Trends in Wealth Management 2022Top Trends in Wealth Management 2022
Top Trends in Wealth Management 2022
 
Retail Banking Trends book 2022
Retail Banking Trends book 2022Retail Banking Trends book 2022
Retail Banking Trends book 2022
 
Top Life Insurance Trends 2022
Top Life Insurance Trends 2022Top Life Insurance Trends 2022
Top Life Insurance Trends 2022
 
キャップジェミニ、あなたの『RISE WITH SAP』のパートナーです
キャップジェミニ、あなたの『RISE WITH SAP』のパートナーですキャップジェミニ、あなたの『RISE WITH SAP』のパートナーです
キャップジェミニ、あなたの『RISE WITH SAP』のパートナーです
 
Property & Casualty Insurance Top Trends 2021
Property & Casualty Insurance Top Trends 2021Property & Casualty Insurance Top Trends 2021
Property & Casualty Insurance Top Trends 2021
 
Life Insurance Top Trends 2021
Life Insurance Top Trends 2021Life Insurance Top Trends 2021
Life Insurance Top Trends 2021
 
Top Trends in Commercial Banking: 2021
Top Trends in Commercial Banking: 2021Top Trends in Commercial Banking: 2021
Top Trends in Commercial Banking: 2021
 
Top Trends in Wealth Management: 2021
Top Trends in Wealth Management: 2021Top Trends in Wealth Management: 2021
Top Trends in Wealth Management: 2021
 
Top Trends in Payments: 2021
Top Trends in Payments: 2021Top Trends in Payments: 2021
Top Trends in Payments: 2021
 
Health Insurance Top Trends 2021
Health Insurance Top Trends 2021Health Insurance Top Trends 2021
Health Insurance Top Trends 2021
 
Top Trends in Retail Banking: 2021
Top Trends in Retail Banking: 2021Top Trends in Retail Banking: 2021
Top Trends in Retail Banking: 2021
 
Capgemini’s Connected Autonomous Planning
Capgemini’s Connected Autonomous PlanningCapgemini’s Connected Autonomous Planning
Capgemini’s Connected Autonomous Planning
 
Top Trends in Retail Banking: 2020
Top Trends in Retail Banking: 2020Top Trends in Retail Banking: 2020
Top Trends in Retail Banking: 2020
 
Top Trends in Life Insurance: 2020
Top Trends in Life Insurance: 2020Top Trends in Life Insurance: 2020
Top Trends in Life Insurance: 2020
 
Top Trends in Health Insurance: 2020
Top Trends in Health Insurance: 2020Top Trends in Health Insurance: 2020
Top Trends in Health Insurance: 2020
 
Top Trends in Payments: 2020
Top Trends in Payments: 2020Top Trends in Payments: 2020
Top Trends in Payments: 2020
 

Recently uploaded

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

SAS Data Integration: a Capgemini Solution to Accelerate and Keeping it All 'in Sync'?

  • 1.
  • 2. Presenter Richard Hogenberg, Lead global SAS® CoE, Capgemini Richard Hogenberg is the lead of the global SAS® CoE at Capgemini where he has been since 1996. Richard is a SAS® solution architect and technical specialist working mainly in Fraud and Risk projects. Richard holds 3 SAS® certifications: - Certified Base Programmer for SAS® 9 - Certified Advanced Programmer for SAS® 9 - Certified Data Integration Developer for SAS® 9
  • 3. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync"
  • 4. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" INTRODUCTION • Everyone has probably encountered the situation that the documentation and the corresponding source code were out of sync. • Reliance on the source code itself in stead of documentation. • Our solution contains the documentation within the SAS® Data Integration Studio jobs. Therefore the complete documentation is available within the SAS® Metadata.
  • 5. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" What is needed • Clear standards for SAS® Data Integration Job development in order to ensure that all developers work the same way and all the transformations are clearly documented. • A program to extract the information out of the SAS® Metadata in order to generate a ‘paper’ version of the documentation.
  • 6. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Standards for SAS® Data Integration Job development • Job level • Naming standards for the SAS® Data Integration Jobs • Sticky notes • Transformation level • Naming standards for the transformations • Defining which property fields can contain information that can be extracted from the SAS® Metadata and therefore should be filled
  • 7. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Job level Usage of sticky notes
  • 8. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Transformation level • Changing the name from the default transformation name to a meaningful name will greatly enhance the understanding of a Data Integration job as people can easily see what is supposed to happen in each of the transformations • The description of a transformation can only contain a limited amount of characters. We use the notes tab of the transformation as the place to put a full description of the technical / functional details of the transformation. • User written code ensure that it is properly commented by itself and use the notes section of the transformation for more details. • Adding comments to an expression that is part of a transformation.
  • 9. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Challenges encountered while developing the program that extracts the documentation from the SAS® Metadata • Understanding the SAS® Metadata structure • Extracting the information from the SAS® Metadata structure
  • 10. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Understanding the SAS® Metadata structure 1) SAS® Metadata Browser
  • 11. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Understanding the SAS® Metadata structure (continued)
  • 12. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Understanding the SAS® Metadata structure (continued) 2) SAS® Metadata Packages Archive a SAS Data Integration job by creating an ‘archive as a SAS package’. Then unzip the package. Within the unzipped package there are multiple XML files. One of these XML files contains the complete structure of the Data Integration job.
  • 13. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Extracting the information from the SAS® Metadata structure SAS® function used: • metadata_getnobj • metadata_getnasn • metadata_getnatr • metadata_getattr
  • 14. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Extracting the information from the SAS® Metadata structure (continued) • Below is an example how to obtain the uri’s of the Data Integration jobs that contain DG_: i=0; do until(rc1<0); i+1; rc1=metadata_getnobj("omsobj:Job?@Name contains 'DG_'",i,uri); if rc1>0 then do; … end; end;
  • 15. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Extracting the information from the SAS® Metadata structure (continued) • The code below shows how to analyze the metadata tree over all the transformations within a job: i=0; do until(rc1<0); i+1; rc1=metadata_getnasn("&JobID.","TransformationSources",i,nuri); if rc1>0 then do; … end; end;
  • 16. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" The job itself
  • 17. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" What does the result look like
  • 18. SAS® Data Integration Documentation Generator: a Capgemini Solution to Accelerate and Keeping it All "in Sync" Questions?
  • 19. Don't Forget to Provide Feedback! 1. Go to the Agenda icon in the conference app. 2. Find this session title and select it. 3. On the sessions page, scroll down to Surveys and select the name of the survey. 4. Complete the survey and click Finish.