Sie sind auf Seite 1von 31

Accenture Ab Initio Training 1

Introduction to
Ab Initio
Prepared By : Ashok Chanda
Accenture Ab Initio Training 2
Ab initio Session 2
Ab initio Session 2
Building a simple graph
Building a simple graph
Accenture Ab Initio Training 3
Graphical Development
Environment GDE
Accenture Ab Initio Training 4
The Graph Model
The Graph Model
Accenture Ab Initio Training 5
The Graph Model: Naming the
The Graph Model: Naming the
Pieces
Pieces
Dataset
Datasets
Components
Flows
Accenture Ab Initio Training 6
Components
Components

Components may run on any computer


Components may run on any computer
running the Co>Operating System.
running the Co>Operating System.

Diferent components do diferent jobs.


Diferent components do diferent jobs.

The particular work a component


The particular work a component
accomplishes depends upon its parameter
accomplishes depends upon its parameter
settings.
settings.

Some parameters are data transormations!


Some parameters are data transormations!
that is business rules to be applied to an
that is business rules to be applied to an
input"s# to produce a re$uired output.
input"s# to produce a re$uired output.
Accenture Ab Initio Training 7
Categories of
Components

Compress Components

Continuous Components

Database Components

Dataset Components

Departition Components

%T& Components

'iscellaneous Components

&artition Components

Sort Components

Transorm Components

Translate Components

(alidate Components
Accenture Ab Initio Training 8
atasets
atasets

) dataset is a source or destination o


) dataset is a source or destination o
data. *t can be a simple +le! a database
data. *t can be a simple +le! a database
table! a S)S dataset! ...
table! a S)S dataset! ...

Datasets may reside on any machine


Datasets may reside on any machine
running the Co>Operating System.
running the Co>Operating System.

Datasets may reside on other machines i


Datasets may reside on other machines i
connected by %T& or database middleware.
connected by %T& or database middleware.

Data is always described by record ormat


Data is always described by record ormat
metadata "termed ,dml-#.
metadata "termed ,dml-#.
Accenture Ab Initio Training 9
!ocating "iles #ith $%!s
!ocating "iles #ith $%!s

)b *nitio sotware uses .ni/ersal 0esource


)b *nitio sotware uses .ni/ersal 0esource
1ocator".01s# to locate +les.2ou enter .01s or
1ocator".01s# to locate +les.2ou enter .01s or
datasets!record ormats!input and output +les!and
datasets!record ormats!input and output +les!and
so on in component3s properties dialog.4nter +les
so on in component3s properties dialog.4nter +les
and multi+les on the description tab!transorms on
and multi+les on the description tab!transorms on
the parameters tab!and the D'1 record ormats
the parameters tab!and the D'1 record ormats
on the ports tab.The )b *nitio .01 omat is5
on the ports tab.The )b *nitio .01 omat is5

6+le7
6+le7
m+le8599hostname9directory:9directory;<9+lenam
m+le8599hostname9directory:9directory;<9+lenam
e
e
Accenture Ab Initio Training 10
More on $%!s
More on $%!s
)rgument )nd Description
)rgument )nd Description

%ile5Speci+es a serial +le.


%ile5Speci+es a serial +le.

'+le5Speci+es a multi+le.
'+le5Speci+es a multi+le.

=ostname5Speci+es the name o the


=ostname5Speci+es the name o the
computer containing the +le you want.
computer containing the +le you want.

Directory:<5Speci+es the directory


Directory:<5Speci+es the directory
path o the +le.
path o the +le.

%ilename5Speci+es the +lename.


%ilename5Speci+es the +lename.
Accenture Ab Initio Training 11
&'amples on $%!s
&'amples on $%!s

This +le speci+es a +le named


This +le speci+es a +le named
input.dat!located in the tmp directory on
input.dat!located in the tmp directory on
the computer named re/kalt.abinito.com5
the computer named re/kalt.abinito.com5
+le599re/kalt.abinito.com9tmp9input.dat
+le599re/kalt.abinito.com9tmp9input.dat

This e>ample speci+es a multi+le named


This e>ample speci+es a multi+le named
customer.dat!located in the tmp9ms
customer.dat!located in the tmp9ms
subdirectory on a computer named
subdirectory on a computer named
mycomputer5
mycomputer5
m+le599mycomputer.abinito.com9tmp9ms9cus
m+le599mycomputer.abinito.com9tmp9ms9cus
tomer.dat
tomer.dat
Accenture Ab Initio Training 12
record
decimal()* c+st,id-
string (./* last,name-
string (.)* 0rst,name-
string (2)* street,addr-
string (2* state-
decimal (1* 2ip-
string (.* gender-
decimal (3* income-
ne#line (.* string-
end
4hat is a %ecord "ormat
*n what ormat will the source data be read rom the source data set or
written to a target data set
ata Type
!ength
Name of
the "ield
Accenture Ab Initio Training 13
Abo+t %ecord "ormats :
Abo+t %ecord "ormats :

) record ormat is a description o data. ) record ormat is a description o data.

%or e>ample! you might ha/e a database o employees %or e>ample! you might ha/e a database o employees
where each record contains our +elds5 Si> characters or where each record contains our +elds5 Si> characters or
the employee?s +rst name! ollowed by ten characters or the employee?s +rst name! ollowed by ten characters or
the employee?s last name! ollowed by three characters or the employee?s last name! ollowed by three characters or
the employee?s age! and si> characters or the employee?s the employee?s age! and si> characters or the employee?s
date o hire. date o hire.

One employee?s record might look like this "where each One employee?s record might look like this "where each
s$uare represents one character! or byte in the record#5 s$uare represents one character! or byte in the record#5

2ou can enter or edit a record ormat using the 0ecord 2ou can enter or edit a record ormat using the 0ecord
%ormat 4ditor. %ormat 4ditor.
Accenture Ab Initio Training 14
Te't %ecord "ormat
Te't %ecord "ormat
%epresentation:
%epresentation:
record
record


decimal"@# idA
decimal"@# idA


string"B# +rstCnameA
string"B# +rstCnameA


string"B# lastCnameA
string"B# lastCnameA


date"D2222EDDE''D# new+eldA
date"D2222EDDE''D# new+eldA
endA
endA
Accenture Ab Initio Training 15
Specifying the %ecord
Specifying the %ecord
"ormat of a Port
"ormat of a Port

0ecord %ormat 4ditor
0ecord %ormat 4ditor
Accenture Ab Initio Training 16
Specifying the %ecord
Specifying the %ecord
"ormat of a Port
"ormat of a Port

2ou can assign a record ormat to a dataset component or 2ou can assign a record ormat to a dataset component or
program component by /iewing the component?s properties program component by /iewing the component?s properties
dialog! and speciying the record ormat on the &ortstab. dialog! and speciying the record ormat on the &ortstab.
Accenture Ab Initio Training 17
Specifying the %ecord
Specifying the %ecord
"ormat of a Port
"ormat of a Port

On this tab! you speciy the record ormat o a component On this tab! you speciy the record ormat o a component
port using one o the ollowing5 port using one o the ollowing5

) record type speci+er. ) record type speci+er.

) reerence to a +le containing a collection o type ) reerence to a +le containing a collection o type
speci+ers. speci+ers.
.sing a type speci+er other than .sing a type speci+er other than record record. )lthough this is . )lthough this is
not commonly done! it is perectly legal. %or e>ample! the not commonly done! it is perectly legal. %or e>ample! the
ollowing type speci+er indicates that the record ormat is ollowing type speci+er indicates that the record ormat is
simply a +/eEcharacter string5 string "G# simply a +/eEcharacter string5 string "G#

0ecord ormats are usually comprised o multiple +elds 0ecord ormats are usually comprised o multiple +elds
"called "called columns columns in a database table#. 2ou de+ne a +eld by in a database table#. 2ou de+ne a +eld by
using a keyword that represents a D'1 base or compound using a keyword that represents a D'1 base or compound
type! ollowed by additional inormation that the D'1 type type! ollowed by additional inormation that the D'1 type
needs "such as the siHe o the +eld#! and9or by optional needs "such as the siHe o the +eld#! and9or by optional
inormation. inormation.
Accenture Ab Initio Training 18
5ntrod+ction to M!
5ntrod+ction to M!

D'1 is an acronym or Data 'anipulation


D'1 is an acronym or Data 'anipulation
1anguage. *t is the )b *nitio
1anguage. *t is the )b *nitio
programming language you can use to
programming language you can use to
de+ne record ormats! e>pressions!
de+ne record ormats! e>pressions!
transorm unctions! and key speci+ers.
transorm unctions! and key speci+ers.
Components in the )b *nitio
Components in the )b *nitio
Co>Operating System use D'1 to
Co>Operating System use D'1 to
describe! interpret! and manipulate data.
describe! interpret! and manipulate data.
Accenture Ab Initio Training 19
4hat ata Can Be escribed6
4hat ata Can Be escribed6

There are both +>edEsiHe and /ariableElength


There are both +>edEsiHe and /ariableElength
types.
types.

)SC**! 4BCD*C! .I*COD4 character sets are


)SC**! 4BCD*C! .I*COD4 character sets are
supported.
supported.

Supported types can represent strings!


Supported types can represent strings!
numbers! binary numbers! packed decimals!
numbers! binary numbers! packed decimals!
dates <
dates <

Comple> data ormats can consist o nested


Comple> data ormats can consist o nested
records! /ectors! ...
records! /ectors! ...
Accenture Ab Initio Training 20
Abo+t %ecords
Abo+t %ecords

*n general! a record is one complete entry


*n general! a record is one complete entry
in a +le or in a database table. ) record
in a +le or in a database table. ) record
about a customer might contain indi/idual
about a customer might contain indi/idual
+elds or account number! account type!
+elds or account number! account type!
name! address! and telephone number.
name! address! and telephone number.

*n )b *nitio products! a
*n )b *nitio products! a
record
record
is a D'1
is a D'1
object that contains a se$uence o named
object that contains a se$uence o named
+elds "called
+elds "called
columns
columns
in a database table#!
in a database table#!
each o which can be a diferent D'1 base
each o which can be a diferent D'1 base
or compound type. 'ost record types are
or compound type. 'ost record types are
airly simple! containing only data +elds.
airly simple! containing only data +elds.
Accenture Ab Initio Training 21
To o C+es
To o C+es

Jhen you create a graph! you will see yellow highlights in certain areas. Jhen you create a graph! you will see yellow highlights in certain areas.
These ToEdo cues prompt you or additional inormation the KD4 needs These ToEdo cues prompt you or additional inormation the KD4 needs
beore it can run the graph! as ollows5 beore it can run the graph! as ollows5

LL LL 5Jhen a layout indicator is colored yellow! 5Jhen a layout indicator is colored yellow! the component has no the component has no
layout. %or program components! layout is set either by propagation or layout. %or program components! layout is set either by propagation or
manually. DoubleEclick the layout indicator and select the desired layout. manually. DoubleEclick the layout indicator and select the desired layout.

Jhen a component has a s$uare yellow bo>! its re$uired parameters lack Jhen a component has a s$uare yellow bo>! its re$uired parameters lack
/alues. DoubleEclick the s$uare bo> and +ll in the missing parameters. /alues. DoubleEclick the s$uare bo> and +ll in the missing parameters.

outM outM 5Jhen the name o a port is accented with yellow! the record ormat 5Jhen the name o a port is accented with yellow! the record ormat
or the port is not set. 0ecord ormats are usually propagated! but are or the port is not set. 0ecord ormats are usually propagated! but are
sometimes set manually. Connect the port to another port with known sometimes set manually. Connect the port to another port with known
record ormat! or doubleEclick the port and add the new record ormat. record ormat! or doubleEclick the port and add the new record ormat.

Jhen a port is highlighted with yellow! the port needs at least one Now. Jhen a port is highlighted with yellow! the port needs at least one Now.
Connect one or more Nows to the port. Connect one or more Nows to the port.
Accenture Ab Initio Training 22
More To o C+es
More To o C+es

ToEdo cues are yellow highlighted


ToEdo cues are yellow highlighted
areas that re$uire action.
areas that re$uire action.
Accenture Ab Initio Training 23
&liminating
&liminating
To o C+es
To o C+es
Double click a component with toEdo
Double click a component with toEdo
cues to reach the &roperties dialog
cues to reach the &roperties dialog
or that component.
or that component.
Accenture Ab Initio Training 24
!& stat+s indicators
!& stat+s indicators

%or $uick diagnosis o the pass9ail


%or $uick diagnosis o the pass9ail
state o components and graphs! the
state o components and graphs! the
KD4 displays status indicators when
KD4 displays status indicators when
you run an graph. The status is
you run an graph. The status is
depicted with colored 14Ds! as
depicted with colored 14Ds! as
ollows5
ollows5
Accenture Ab Initio Training 25
More on !& stat+s
More on !& stat+s
indicators
indicators

%iles normally start in an .nopened state! %iles normally start in an .nopened state!
progress to Open! and end in a Closed state. progress to Open! and end in a Closed state.
Components! Nows! and graphs normally begin in Components! Nows! and graphs normally begin in
an .nstarted state! progress to 0un! and end in a an .nstarted state! progress to 0un! and end in a
Done state. Jhen abnormal e/ents occur! Done state. Jhen abnormal e/ents occur!
components change to an 4rror or %ailed state. components change to an 4rror or %ailed state.

* you let your mouse pointer ho/er o/er a red * you let your mouse pointer ho/er o/er a red
status indicator! the KD4 displays the error status indicator! the KD4 displays the error
message associated with the ailure. * you message associated with the ailure. * you
doubleEclick the red status indicator! the doubleEclick the red status indicator! the
)pplication Oob Output Jindow opens with the )pplication Oob Output Jindow opens with the
complete error message in it. complete error message in it.
Accenture Ab Initio Training 26
"ilter by &'pression
"ilter by &'pression

%ilter by 4>pression +lters data


%ilter by 4>pression +lters data
records according to a D'1
records according to a D'1
e>pression.
e>pression.
Accenture Ab Initio Training 27
The "ilter by &'pression
The "ilter by &'pression
Component
Component

%or each record on the input port the PselectCe>pr3 %or each record on the input port the PselectCe>pr3
parameter is e/aluated. * PselectCe>pr3 e/aluates parameter is e/aluated. * PselectCe>pr3 e/aluates
true "nonEHero#! the input record is written to the true "nonEHero#! the input record is written to the
Pout3 port e>actly as the input was read. Pout3 port e>actly as the input was read.

* the PselectCe>pr3 e/aluates alse "Hero#! the * the PselectCe>pr3 e/aluates alse "Hero#! the
record is written to the Pdeselect3 port. record is written to the Pdeselect3 port.

The Pout3 port must be connected downstream! The Pout3 port must be connected downstream!
those records meeting the PselectCe>pr3 criteria those records meeting the PselectCe>pr3 criteria

The Pdeselect3 output may be optionally used The Pdeselect3 output may be optionally used

Accenture Ab Initio Training 28
"ilter ata
"ilter ata
1. Push Run button.
2. !ie" #onitoring in$or#ation.
3. !ie" out%ut &ata.
Accenture Ab Initio Training 29
&'pression Parameter
&'pression Parameter
Accenture Ab Initio Training 30
'aterials presented in the =elp
'aterials presented in the =elp
System
System

Components in the
Components in the
Component
Component
Reference
Reference

D'1 in the
D'1 in the
Data Manipulation
Data Manipulation
Language Reference
Language Reference

Kraph programming in the


Kraph programming in the
Shell
Shell
Development Enviornment
Development Enviornment
Users Guide
Users Guide
Accenture Accenture Ab Initio Training Ab Initio Training 31 31
Thank 7o+
Thank 7o+
&nd of Session 2
&nd of Session 2