Tuesday, 2 December 2014

ERP

What is ERP?

In accounting, ERP is the acronym for enterprise resource planning. ERP could be described as a database software package that supports all of a business's processes and operations including manufacturing, marketing, financial, human resources, and so on. In other words, the goal of ERP is to have one integrated system for the entire company.

The integration of all of a company's information from all departments, processes, operations, etc. requires that an ERP system be very sophisticated. This in turn requires a company to commit considerable resources for planning, training, and implementing an ERP system.

Here are 7 terms you keep hearing many times in a conversation related to ERP -
[1] Human Capital Management (HCM) :: This refers to the support system responsible for managing employee data right from recruitment till retirement, in any organization. It includes tracking, managing and analyzing the skillsets, department, education, roles, achievements, cost to company and other benefits of each and every employee.
[2] Financial Management :: This is the process of managing cash inflow and outflow, advance budgeting, tracking operational expenses, controlling and decision-making
[3] Customer Relationship Management (CRM) :: CRM is one of the most commonly used and important terms you come across. CRM refers to the methodology or processes involved in acquiring new customers and managing existing customers. The aim is to ensure smooth relationship with customers through effective sales and services support, helpdesk, lead management,  field sales tracking and reports.
[4] Supply Chain Management (SCM) :: SCM deals with management of inventory, procurements, packaging, distribution, sales and all other necessary steps involved in supply of any product to the customer.
[5] Production Control :: All activities involved in controlling the production process are collectively termed as production control. Managing orders, material planning, production floor management, quality control etc. are some of the important activities in production control.
[6] Business Intelligence (BI) :: This is the latest buzz word! BI refers to the set of tools that facilitate the senior management to make better decisions by providing a wide range of data and information. The information is provided in graphical or tabular formats. Typically, BI acts like a decision support system.
[7] Product Life Cycle :: In engineering terms, product life cycle refers to the different stages a product goes through right from ideation, design, prototyping, testing, manufacturing to packaging and distribution.  In marketing terms, this refers to the time period during which the product is available in the market for sale. The different phases involved are introduction stage, growth stage, maturity, market saturation and decline stage.

Tuesday, 18 November 2014

Email Task - Sample create

Creating a sample Email Task:

You can create Email tasks in the Task Developer, Worklet Designer, and Workflow Designer.

1. In the Task Developer, click Tasks > Create.
 
2. The Create Task dialog box appears. Select an Email task and enter a name for the task. Click Create. 
 
3. The Workflow Manager creates an Email task in the workspace, Click Done. 
 
4. Select the email task and Double-click on it to edit --> Go to the Properties tab. 
 
a) Enter the email address of the mail recipient in the Email User Name field.
b) Enter the subject of the email in the Email Subject field Or you can leave this field blank.
c) Click the Open button in the Email Text field to open the Email Editor.

5. Enter the text of the email message in the Email Editor. You can use service, service process, workflow, and worklet variables in the email text. Or, you can leave the Email Text field blank.
  
Note:
1. You can incorporate format tags and email variables in a post-session email. However, you cannot add them to an Email task outside the context of a session.
2. The Integration Service does not limit the type or size of attached files. However, since large attachments can cause problems with the email system, avoid attaching excessively large files, such as session logs generated using verbose tracing. The Integration Service generates an error message in the email if an error occurs attaching the file.

The following table describes the email variables that you can use in a post-session email:
Email Variable
Description
%a<filename>
Attach the named file. The file must be local to the Integration Service. The following file names are valid: %a<c:\data\sales.txt> or %a</users/john/data/sales.txt>. The email does not display the full path for the file. Only the attachment file name appears in the email.
Note: The file name cannot include the greater than character (>) or a line break.
%b
Session start time.
%c
Session completion time.
%d
Name of the repository containing the session.
%e
Session status.
%g
Attach the session log to the message.
%i
Session elapsed time.
%l
Total rows loaded.
%m
Name of the mapping used in the session.
%n
Name of the folder containing the session.
%r
Total rows rejected.
%s
Session name.
%t
Source and target table details, including read throughput in bytes per second and write throughput in rows per second.
%u
Repository user name.
%v
Integration Service name.
%w
Workflow name.
%y
Session run mode (normal or recovery).
%z
Workflow run instance name.
Note: The Integration Service ignores %a, %g, and %t when you include them in the email subject. Include these variables in the email message only.

The following table lists the format tags you can use in an Email task:
Formatting 
Format Tag 
tab
\t
new line
\n

6. Click OK twice to save the changes.

Now we have create re-usable command task and now we need to use this in session inside the workflow. (Open the workflow or worklet where you want to use this command task).

7. Select the session in the workspace, double click to edit and go to the components tab.
 
Note:
  1. On Success E-Mail: Send an email alter on session succeeded.
  2. On Failure E-Mail: Send an email alter on session failure.
8. Select Task as On Success/Failure E-Mail, Type as Reusable/Non-reusable and Click the Open button in the Email Text field to open the Email Editor
9. Click on 'OK'.
 
Note:

If you want to modify anything in the email click on edit icon and modify it.
 

Email Task

We can send email to designated recipients when the Integration Service runs a workflow.

For Example: If you want to track how long a session takes to complete, you can configure the session to send an email containing the time and date the session starts and completes. Or, if you want the Integration Service to notify you when a workflow suspends, you can configure the workflow to send email when it suspends.

To send email when the Integration Service runs a workflow, perform the following steps:
  • Configure the Integration Service to send email. Before creating Email tasks, we need configure the Integration Service to send email (Administrator will config).
  • Create Email tasks. Before you can configure a session or workflow to send email, you need to create an Email task.
  • Configure sessions to send post-session email. You can configure the session to send an email when the session completes or fails. You create an Email task and use it for post-session email.
  • Configure workflows to send suspension email. You can configure the workflow to send an email when the workflow suspends. You create an Email task and use it for suspension email.
The Integration Service sends the email based on the locale set for the Integration Service process running the session.

We can use parameters and variables in the email user name, subject, and text. For Email tasks and suspension email, you can use service, service process, workflow, and worklet variables. For post-session email, you can use any parameter or variable type that you can define in the parameter file. For example, you can use the $PMSuccessEmailUser or $PMFailureEmailUser service variable to specify the email recipient for post-session email.

Working with Email Tasks
We can send email during a workflow using the Email task on the Workflow Manager. We can create reusable Email tasks in the Task Developer for any type of email. Or, we can create non-reusable Email tasks in the Workflow and Worklet Designer.

Use Email tasks in any of the following locations:
  • Session properties. You can configure the session to send email when the session completes or fails.
  • Workflow properties. You can configure the workflow to send email when the workflow is interrupted.
  • Workflows or worklets. You can include an Email task anywhere in the workflow or worklet to send email based on a condition you define.
Using Email Tasks in a Workflow or Worklet
We can use Email tasks anywhere in a workflow or worklet. For example, we might configure a workflow to send an email if a certain number of rows fail for a session.
For example, we may have a Session task in the workflow and you want the Integration Service to send an email if more than 20 rows are dropped. To do this, you create a condition in the link, and create a non-reusable Email task. The workflow sends an email if the session fails more than 20 rows are dropped.

Working with Post-Session Email
We can configure a session to send email when it fails or succeeds. We can create separate email tasks for success and failure email.

The Integration Service sends post-session email at the end of a session, after executing post-session shell commands or stored procedures. When the Integration Service encounters an error sending the email, it writes a message to the Log Service. It does not fail the session.

We can specify a reusable Email that task you create in the Task Developer for either success email or failure email. Or, we can create a non-reusable Email task for each session property. When you create a non-reusable Email task for a session, you cannot use the Email task in a workflow or worklet.

We cannot specify a non-reusable Email task you create in the Workflow or Worklet Designer for post-session email.

We can use parameters and variables in the email user name, subject, and text. Use any parameter or variable type that you can define in the parameter file. For example, we can use the service variable $PMSuccessEmailUser or $PMFailureEmailUser for the email recipient. Ensure that you specify the values of the service variables for the Integration Service that runs the session. You can also enter a parameter or variable within the email subject or text, and define it in the parameter file.

Email Variables and Format Tags
We can use email variables and format tags in an email message for post-session emails. We can use some email variables in the subject of the email. With email variables, we can include important session information in the email, such as the number of rows loaded, the session completion time, or read and write statistics. You can also attach the session log or other relevant files to the email. Use format tags in the body of the message to make the message easier to read.

Note: The Integration Service does not limit the type or size of attached files. However, since large attachments can cause problems with the email system, avoid attaching excessively large files, such as session logs generated using verbose tracing. The Integration Service generates an error message in the email if an error occurs attaching the file.

Tasks Overview

We can create reusable tasks in the Task Developer. Or, create and add tasks in the Workflow or Worklet Designer as you develop the workflow.

The following table summarizes workflow tasks available in Workflow Manager:
Task Name
Tool
Reusable
Description
Assignment
Workflow Designer 
Worklet Designer
No
Assigns a value to a workflow variable.
Command
Task Developer
Workflow Designer 
Worklet Designer
Yes
Specifies shell commands to run during the workflow. You can choose to run the Command task if the previous task in the workflow completes.
Control
Workflow Designer 
Worklet Designer
No
Stops or aborts the workflow.
Decision
Workflow Designer 
Worklet Designer
No
Specifies a condition to evaluate in the workflow. Use the Decision task to create branches in a workflow.
Email
Task Developer
Workflow Designer 
Worklet Designer
Yes
Sends email during the workflow.
Event-Raise
Workflow Designer 
Worklet Designer
No
Represents the location of a user-defined event. The Event-Raise task triggers the user-defined event when the Integration Service runs the Event-Raise task.
Event-Wait
Workflow Designer 
Worklet Designer
No
Waits for a user-defined or a predefined event to occur. Once the event occurs, the Integration Service completes the rest of the workflow.
Session
Task Developer
Workflow Designer 
Worklet Designer
Yes
Set of instructions to run a mapping.
Timer
Workflow Designer 
Worklet Designer
No
Waits for a specified period of time to run the next task.

The Workflow Manager validates tasks attributes and links. If a task is invalid, the workflow becomes invalid. Workflows containing invalid sessions may still be valid.

Tuesday, 30 September 2014

Informatica Tips

Informatica Performance Improvement Tips

Following standards/guidelines can improve the overall performance:
  • Use Source Qualifier if the Source tables reside in the same schema.
  • Make use of Source Qualifer  "Filter" Properties if the Source type is Relational.
  • If the subsequent sessions are doing lookup on the same table, use persistent cache in the first session. Data remains in the Cache and available for the subsequent session for usage.
  • Use flags as integer, as the integer comparison is faster than the string comparison.
  • Use tables with lesser number of records as master table for joins.
  • While reading from Flat files, define the appropriate data type instead of reading as String and converting.
  • Have all Ports that are required connected to Subsequent Transformations else check whether we can remove these ports.
  • Suppress ORDER BY using the '--' at the end of the query in Lookup Transformations.
  • Minimize the number of Update strategies.
  • Group by simple columns in transformations like Aggregate, Source Qualifier.
  • Use Router transformation in place of multiple Filter transformations.
  • Turn off the Verbose Logging while moving the workflows to Production environment.
  • For large volume of data drop index before loading and recreate indexes after load.
  • For large of volume of records Use Bulk load Increase the commit interval to a higher value large volume of data.
  • Set 'Commit on Target' in the sessions.

Thursday, 21 August 2014

UNIX COMMANDS 1

FILE COMMANDS

touch - Create a new file.

  • Usage: touch <filename>


cp - Copy files.


  • Usage: cp [options] <source-filename> <destination-filename>
  • cp [options] <source-filepath > <destination filepath>
  • Options: -r recursively copy directory structures.

mv - Move or Rename files or directories.

  • Usage: mv [options] <old-filepath> <new-filepath>
  • mv [options] <old-filename> <new-filename>
  • Options: -i query user for confirmation.

rm - Remove files.


  • Usage: rm [options] <filname>
  • Options: -r recursively remove directory structures. 
  • -i query user for confirmation. 

cat - View complete file content.



  • cat <filename>

more - View file contents in sections determined by the size of the terminal.



  • Usage: more <filename>


less - View file contents in sections determined by the size of the terminal.


  • Has more options and search features than more.
  • Usage: less [options] <filename>


compress - Reduces the size of the file. and adds the extension .Z



  • Usage: compress <filename>.


uncompress


  • Restores a compressed file.
  • Usage: uncompress <filename>
  • Usage: zcat <filename>

Wednesday, 9 July 2014

Project Explanation


Project Explanation:

First u have to start with

1) You have to first explain about objective of the project and what is client expectations
2) You have to start where your involvement and responsibility of your job and limitations of job.

Add some points from post Project Architecture reply like offshore and onsite model and team structure. etc.,

Main objective of this project is we are providing a system with all the information regarding Sales / Transactions (sales if sales domain / transactions if bank domain or insurance domain) of entire organizations all over the country US / UK ( based on the client location US/UK/….). we will get the daily transaction data from all branches at the end of the day. We have to validate the transactions and implement the business logic based on the transactions type or transaction code. We have to load all historical data into data warehouse and once finished historical data. We have to load Delta Loads. Delta load means last 24 hrs transactions captured from the source system. In other words u can call it as Change Data Capture (CDC). This Delta loads are scheduled daily basis. Pick some points from What is Target Staging Area Post. Source to Staging mappings, staging to warehousing. based on your comfort level.

Each transaction contains Transaction code. based on the transaction code u can identify whether that transaction belongs to sales, purchase / car insurance, health insurance, /deposit , loan, payment ( u have to change the words based on the project.) etc., based on that code business logic will be change. we validate and calculate the measure and load to database.

Mapping explanation :

In Informatica mapping, we first look up all the transaction codes with code master table to identify the transaction type to implement the correct logic and filter the unnecessary transactions. because in an organization there are lot of transactions will be there but you have to consider only required transactions for your project. the transaction code exists in the code master table are only transactions u have to consider and other transactions load into one table called Wrap table and invalid records( transaction code missing, null,spaces) to error table. For each dimension table we are creating surrogate key and load into data-warehouse tables.

SCD2 Mapping:We are implementing SCD2 mapping for customer dimension or account dimension to keep history of the accounts or customers. We are using SCD2 Date method. before telling this you should know it clearly about this SCD2 method.

Wednesday, 25 June 2014

My 100 th post

Boom, it's my 100 th post. I just wanna share my happiness at this time. I started this blog two year ago with no idea where to start and where to end. Later I came to know this will be my never ending one till my life end.

I began to love this blog. It has a peaceful place place for me to learn.

Sharing these things with you has done so much for me. I hope whoever reads this blog, learn it, feels encouraged because of what I write here.

'I hope it brings some good to the world'.


Application programming interface 1

What is an API?

An application-programming interface (API) is a set of programming instructions and standards for accessing a Web-based software application or Web tool. A software company releases its API to the public so that other software developers can design products that are powered by its service.
For example, Amazon.com released its API so that Web site developers could more easily access Amazon's product information. Using the Amazon API, a third party Web site can post direct links to Amazon products with updated prices and an option to "buy now."
An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When you buy movie tickets online and enter your credit card information, the movie ticket Web site uses an API to send your credit card information to a remote application that verifies whether your information is correct. Once payment is confirmed, the remote application sends a response back to the movie ticket Web site saying it's OK to issue the tickets.
As a user, you only see one interface -- the movie ticket Web site -- but behind the scenes, many applications are working together using APIs. This type of integration is called seamless, since the user never notices when software functions are handed from one application to another [source: TConsult, Inc.]
An API resembles Software as a Service (SaaS), since software developers don't have to start from scratch every time they write a program. Instead of building one core application that tries to do everything -- e-mail, billing, tracking, etcetera -- the same application can contract out certain responsibilities to remote software that does it better.­
Let's use the same example of Web conferencing from before. Web conferencing is SaaS since it can be accessed on-demand using nothing but a Web site. With a conferencing API, that same on-demand service can be integrated into another Web-based software application, like an instant messaging program or a Web calendar.
The user can schedule a Web conference in his Web calendar program and then click a link within the same program to launch the conference. The calendar program doesn't host or run the conference itself. It uses a conferencing API to communicate behind the scenes with the remote Web conferencing service and seamlessly delivers that functionality to the user.

Monday, 23 June 2014

Mapplets

A mapplet is a reusable object that you create in the Mapplet Designer. It contains a set of transformations (more than 1 transformation) and lets you reuse the transformation logic in multiple mappings.

For example, you a similar logic need to add more than 1 mapping. Like concatenate First_Name & Last_Name, Address_Street_1 & Address_Street_2 etc and this logic is need for Employee_Table, Student_Table, Patient_Table 3 mappings.

In this scenario instead of repeating the logic, we can have a mapplet for concatenate (Merge) columns and use this mapplet instance for the above mentioned 3 mappings.

When you use a mapplet in a mapping, you use an instance of the mapplet. Like a reusable transformation, any change made to the mapplet is inherited by all instances of the mapplet.

Mapplets help simplify mappings in the following ways:

Include source definitions. Use multiple source definitions and source qualifiers to provide source data for a mapping.
Accept data from sources in a mapping. If you want the mapplet to receive data from the mapping, use an Input transformation to receive source data.
Include multiple transformations. A mapplet can contain as many transformations as you need.
Pass data to multiple transformations. You can create a mapplet to feed data to multiple transformations. Each Output transformation in a mapplet represents one output group in a mapplet.
Contain unused ports. You do not have to connect all mapplet input and output ports in a mapping.

To use a mapplet in a mapping, first we need to configure it for input and output. In addition to transformation logic that you configure, a mapplet has the following components:


  1. Mapplet input
  2. Mapplet output
  3. Mapplet ports



Mapplet Input

Mapplet input can originate from a source definition and/or from an Input transformation in the mapplet. You can create multiple pipelines in a mapplet. Use multiple source definitions and source qualifiers or Input transformations. You can also use a combination of source definitions and Input transformations.

Mapplet Output

Mapplet Output transformation in a mapplet to pass data through the mapplet into a mapping. A mapplet must contain at least one Output transformation with at least one connected port in the mapplet. Each connected port in an Output transformation displays as a mapplet output port in a mapping. Each Output transformation in a mapplet displays as an output group in a mapping. An output group can pass data to multiple pipelines in a mapping.

Use the following rules and guidelines when you add transformations to a mapplet:
If you use a Sequence Generator transformation, you must use a reusable Sequence Generator transformation.

If you use a Stored Procedure transformation, you must configure the Stored Procedure Type to be Normal.
You cannot include PowerMart 3.5-style LOOKUP functions in a mapplet
You cannot include the following objects in a mapplet:

Normalizer transformations
COBOL sources
XML Source Qualifier transformations
XML sources
Target definitions
Other mapplets

Although reusable transformations and shortcuts in a mapplet can be used, to protect the validity of the mapplet, use a copy of a transformation instead. Reusable transformations and shortcuts inherit changes to their original transformations. This might invalidate the mapplet and the mappings that use the mapplet.

Note:


  • Use the following rules and guidelines when you edit a mapplet that is used by mappings:
  • Do not delete a port from the mapplet. The Designer deletes mapplet ports in the mapping when you delete links to an Input or Output transformation or when you delete ports connected to an Input or Output transformation.
  • Do not change the datatype, precision, or scale of a mapplet port. The datatype, precision, and scale of a mapplet port is defined by the transformation port to which it is connected in the mapplet. Therefore, if you edit a mapplet to change the datatype, precision, or scale of a port connected to a port in an Input or Output transformation, you change the mapplet port.
  • Do not change the mapplet type. If you remove all active transformations from an active mapplet, the mapplet becomes passive. If you add an active transformation to a passive mapplet, the mapplet becomes active. 

Application programming interface

In computer programming, an application programming interface (API) specifies how some software components should interact with each other.

In addition to accessing databases or computer hardware, such as hard disk drives or video cards, an API can be used to ease the work of programming graphical user interface components. In practice, many times an API comes in the form of a library that includes specifications for routines, data structures, object classes, and variables. In some other cases, notably for SOAP and REST services, an API comes as just a specification of remote calls exposed to the API consumers

Another one.,

API, an abbreviation of application program interface, is a set of routines, protocols, and tools for building software applications. The API specifies how software components should interact and are used when programming graphical user interface (GUI) components.  A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.

Popular API Examples

Programmable Web, a site that tracks more than 9,000 APIs, lists Google Maps, Twitter, YouTube, Flickr and Amazon Product Advertising as the most popular APIs (view all sorted by popularity).

1. Google Maps API: Google Maps APIs lets developers embed Google Maps on webpages using a JavaScript or Flash interface. The Google Maps API is designed to work on mobile devices and desktop browsers.

Example API Use : Charting Your Course Using the Google Maps API.

2. YouTube APIs: YouTube API: Google's APIs lets developers integrate YouTube videos and functionality into websites or applications. YouTube APIs include the YouTube Analytics API, YouTube Data API, YouTube Live Streaming API, YouTube Player APIs and others.

3. Flickr API: The Flickr API is used by developers to access the Flick photo sharing community data. The Flickr API consists of a set of callable methods, and some API endpoints.

4. Twitter APIs: Twitter offers two APIs. The REST API allows developers to access core Twitter data and the Search API provides methods for developers to interact with Twitter Search and trends data.
Example API Use : Using the Twitter API to Create an Early Alert System.

5. Amazon Product Advertising API: Amazon's Product Advertising API gives developers access to Amazon's product selection and discovery functionality to advertise Amazon products to monetize a website.

Friday, 20 June 2014

What is a Surrogate key?

A surrogate key is a substitution for the natural primary key.

It is just a unique identifier or number for each row that can be used for the primary key to the table. The only requirement for a surrogate primary key is that it is unique for each row in the table.
Data warehouses typically use a surrogate, (also known as artificial or identity key), key for the dimension tables primary keys. They can use Infa sequence generator, or Oracle sequence, or SQL Server Identity values for the surrogate key.

It is useful because the natural primary key (i.e. Customer Number in Customer table) can change and this makes updates more difficult.

Some tables have columns such as AIRPORT_NAME or CITY_NAME which are stated as the primary keys (according to the business users) but ,not only can these change, indexing on a numerical value is probably better and you could consider creating a surrogate key called, say, AIRPORT_ID. This would be internal to the system and as far as the client is concerned you may display only the AIRPORT_NAME.

Tuesday, 17 June 2014

Router Transformation

  • The Router Transformation is an Active and Connected Transformation.

  • A Router transformation is similar to a Filter transformation because both transformations allow you to use a condition to test data. A Filter transformation tests data for one condition and drops the rows of data that do not meet the condition. However, a Router transformation tests data for one or more conditions and gives you the option to route rows of data that do not meet any of the conditions to a default output group.

Sequence Generator Transformation


  • Sequence Generator is an Passive and Connected.
  • The Sequence Generator transformation generates numeric values. Use the Sequence Generator to create unique primary key values, replace missing primary keys, or cycle through a sequential range of numbers.
  • It contains two output ports that you can connect to one or more transformations. The Integration Service generates a block of sequence numbers each time a block of rows enters a connected transformation. If you connect CURRVAL, the Integration Service processes one row in each block. When NEXTVAL is connected to the input port of another transformation, the Integration Service generates a sequence of numbers. When CURRVAL is connected to the input port of another transformation, the Integration Service generates the NEXTVAL value plus the Increment By value.

Common Uses for Sequence Generator
You can complete the following tasks with a Sequence Generator transformation:
  • Create keys.
  • Replace missing values.
  • Cycle through a sequential range of numbers.
Creating Keys
We can create primary or foreign key values with the Sequence Generator transformation by connecting the NEXTVAL port to a target or downstream transformation. You can use a range of values from 1 to 9,223,372,036,854,775,807 with the smallest interval of 1.

When we create primary or foreign keys, use the Cycle option to prevent the Integration Service from creating duplicate primary keys. You might do this by selecting the Truncate Target Table option in the session properties or by creating composite keys.

To create a composite key, you can configure the Integration Service to cycle through a smaller set of values. For example, if you have three stores generating order numbers, you might have a Sequence Generator cycling through values from 1 to 3, incrementing by 1. When you pass the following set of foreign keys, the generated values then create unique composite keys:

COMPOSITE_KEY
ORDER_NO
1
12345
2
12345
3
12345
1
12346
2
12346
3
12346

Sequence Generator Ports
The Sequence Generator transformation has two output ports: NEXTVAL and CURRVAL. You cannot edit or delete these ports. Likewise, you cannot add ports to the transformation.

NEXTVAL
Connect NEXTVAL to multiple transformations to generate unique values for each row in each transformation. Use the NEXTVAL port to generate sequence numbers by connecting it to a downstream transformation or target. You connect the NEXTVAL port to generate the sequence based on the Current Value and Increment By properties. If the Sequence Generator is not configured to cycle through the sequence, the NEXTVAL port generates sequence numbers up to the configured End Value.

Note: When you run a partitioned session on a grid, the Sequence Generator transformation skips values depending on the number of rows in each partition.

CURRVAL
CURRVAL is NEXTVAL plus the Increment By value. You typically only connect the CURRVAL port when the NEXTVAL port is already connected to a downstream transformation. When a row enters a transformation connected to the CURRVAL port, the Integration Service passes the last created NEXTVAL value plus one.

Note: When you run a partitioned session on a grid, the Sequence Generator transformation might skip values depending on the number of rows in each partition.

Sequence Generator Transformation Properties
The Sequence Generator transformation is unique among all transformations because you cannot add, edit, or delete the default ports, NEXTVAL and CURRVAL.

Start Value and Cycle
Use Cycle to generate a repeating sequence, such as numbers 1 through 12 to correspond to the months in a year.

To cycle the Integration Service through a sequence:
  1. Enter the lowest value in the sequence that you want the Integration Service to use for the Start Value.
  2. Enter the highest value to be used for End Value.
  3. Select Cycle.
As it cycles, the Integration Service reaches the configured end value for the sequence, it wraps around and starts the cycle again, beginning with the configured Start Value.


NOTE:

Start Value: By default it is 0, It starts sequence generating values up to Maximum value is 9,223,372,036,854,775,806.
Increment By: By Default is 1, It is difference between two consecutive values from the NEXTVAL port and Maximum value is 2,147,483,647.
End Value: Maximum value is 9,223,372,036,854,775,807.
Current Value: Integration Service to use as the first value in the sequence, the value must be greater than or equal to the start value and less than the end value.
b If enabled, the Integration Service cycles through the sequence range.
Number of Cached Values: Number of sequential values the Integration Service caches at a time.
Reset: Integration Service generates values based on the original current value for each session, Otherwise, the Integration Service updates the current value to reflect the last-generated value for the session plus one, and then uses the updated current value as the basis for the next session run. Disabled for reusable Sequence Generator transformations.

DBT - Models

Models are where your developers spend most of their time within a dbt environment. Models are primarily written as a select statement and ...