Sie sind auf Seite 1von 6

Project 1: Project Explanation:Im giving generic explanation of the project.

Any project either banking or sales or insurance can use thisexplanation.First u have to start with1) U have to first explain about objective of the project and what is client expectations2) u have to start where ur involvement and responsibility of ur 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 entireorganizationsall over the country US / UK ( based on the client location US/UK/..). we will get the daily transactiondatafrom all branches at the end of the day. We have to validate the transactions and implement the businesslogic based on the transactions type or transaction code. We have to load all historical data into dwh and oncefinished historical data. We have to load Delta Loads. Delta load means last 24 hrs transactions capturedfromthe source system. In other words u can call it as Change Data Capture (CDC). This Delta loads arescheduleddaily basis. Pick some points from What is Target Staging Area Post.. Source to Staging mappings, stagingtowarehousing.. based on ur comfort level..Each transaction contains Transaction code.. based on the transaction code u can identify whether thattransaction belongs to sales, purchase / car insurance, health insurance, / deposit , loan, payment ( u have tochange the words based on the project..) etc., based on that code business logic will be change.. we validateandcalculate the measure and load to database.One Mapping explanation:In Informatica mapping, we first lookup all the transaction codes with code master table to identify thetransaction type to implement the correct logic and filter the unnecessary transactions.. because in anorganization there are lot of transactions will be there but u have to consider only required transactions for ur project.. the transaction code exists in the code master table are only transactions u have to consider andother transactions load into one table called Wrap table and invalid records( transaction code missing, null,

spaces) toerror table. For each dimension table we are creating surrogate key and load into dwh tables.SCD2 Mapping:We are implementing SCD2 mapping for customer dimension or account dimension to keep history of theaccounts or customers. We are using SCD2 Date method.before telling this u should know it clearly abt thisSCD2 method..careful abt it..Responsibilities.. pick from Project architecture Post and tell according ur comfortable level.. we areresponsible for only development and testing and scheduling we are using third party tools..( Control M,AutoSys, Job Tracker, Tivoli or etc..) we simply give the dependencies between each mapping and runtime.Based on that Information scheduling tool team will schedule the mappings. We wont schedule inInformatica .. thats it

A mapping parameter represents a constant value that you can define before running a session using a parameter file. Sometimes, business requirement may make itnecessary to modify the parameter file frequently before running the session. In such cases, parameter files can be generated dynamically without directly editing them. Using a database table to maintain parameter file values can offer the followingbenefitsFlexibility in maintaining the parameter files.Reduces the overhead for the admin support to change the parameter file every time a value of a parameter changes.Ease the deployment as all the parameters are maintained in database tables anda PowerCenter session can generate the parameter file in the required format automatically.Implementation GuidelineFor this, 4 tables are to be created in the database:FOLDER table

Contains entries for each folder.WORKFLOWS table

Contains the list of each workflow but with a reference to the FOLDERS table to say which folder a workflow belongs to.PARAMETERS table - Holds all the parameter names without reference to folder/workflow.PARAMETER_VALUES table - Holds the parameter of each session with references toPARAMETERS table for parameter name and WORKFLOWS table for the workflow name. When the session name is NULL, it means the parameter is a workflow variable which can be used across all the sessions in the workflow.The create table script for these tables are part of the attachment. The scriptalso contains the a view that gets all the parameter file rows in the required format.For an Informatica workflow parameter file which can be used by any session in the workflow, the format in which the parameter file has to be created is:[Folder_name:WF.Workflow_Name]$$parameter_name1=value$$parameter_name2=valueF or a session parameter which can be used by the particular session, the formatin which the parameter file has to be created

is:[Folder_name:WF.Workflow_Name:ST.Session_Name]$$parameter_name1=value$$paramet er_name2=value Standards for ETL UNIX Shell Scripts for use with PowerCenter 7.1.3 Scripting Standards (for PowerCenter version 7.1.3): Scripting standards include the use of a UNIX shell script, which the scheduling tool uses to start thePowerCenter job, and a separate file which contains the username and password for the user called in thescript. The following is a template that should be used to create scripts for new scheduled jobs. Followingis the script and explanation. This script has been provided as an example and is named etl_unix_shell_script.sh . # Program: etl_unix_shell_script.sh# Author: Kevin Gillenwater# Date: 7/24/2003# Purpose: Sa mple UNIX shell script to load environment variables# needed to run PowerMart jobs, pass user name and password variables# and start the job using the pmcmd command line.## $1 = Projec t Id Parameter (ie. ud, hr, dss, siq, etc.)## Example usage: etl_unix_shell_script.sh dss## NOTE: Enter the Project ID parameter that is designated in the# directory structure for your team# (ie. dss would be used for the DWDAS team as the# directory is /usr/local/autopca/dss/)#----------------------------------------------------------------# Call the script to set up the Informatica Environment Variables:#-----------------------------------------------------------------. /usr/local/bin/set_pm_var.sh#----------------------------------------------------------------# Read ETL configuration parameters from a separate file:#----------------------------------------------------------------ETL_CONFIG_FILE=$JOBBASE/$1/remote_accts/test_etl.configETL_USER=`grep ETL_USER $ETL_CONFIG_FILE | awk -F: '{print $2}'`ETL_PWD=`grep ETL_PWD $ETL_CONFIG_FILE | awk -F: '{print $2}'`#-----------------------------------------------------------------# Start the job#----------------------------------------------------------------$PM_HOME/pmcmd startworkflow -u $ETL_USER -p $ETL_PWD s $MACHINE:4001 -f DWDAS_LOAD_dssqa wait s_m_CENTER_INSTITUTE#----------------------------------------------------------------# Trap the return code#---------------------------------------------------------------- rc=$?if [[ $rc -ne 0 ]] thenexit $rcfi Notes Regarding the Script/Standards:

1.The beginning of each script should call and execute the script set_pm_var.sh to set up thePowerCenter variables used in the session (. /usr/local/bin/set_pm_var.sh). The set_pm_var.sh, located oneach machine (Leisure for Production and Glance for Development), will provide ease of maintenance if changes need to be made to PowerCenter variables, and will provide one source for the scripts on amachine. The following is the code in the script. You will not need to do anything with this script, it is for informational purposes only: # Program: set_pm_var.sh# Author: Kevin Gillenwater# Date: 7/3/2003# Purpose: UNIX script which sets the variables for running PowerMart

6.2# when called from a shell script (ie. script run by Autosys).#------------------------------------------#Set up the Informatica Variables#-------------------------------------------export MACHINE=`hostname`export SHLIB_PATH=/usr/local/pmserver/informatica/pm/infoserverexport PM_HOME=/usr/local/pmserver/informatica/pm/infoserver#--------------------------------------------------------------------# Set the environment variables needed for scheduling jobs.# The value of JOBBASE differs based on the account. For AUTOSYS# and AUTODBA, the variable should evaluate to /usr/local/autopca.# For all other accounts, it should evaluate to their $HOME variable.#---------------------------------------------------------------------case $HOME in/home/autopca/autopca) JOBBASE=/usr/local/autopca ;;/home/autopca/autodba) JOBBASE=/usr/local/autopca ;;*) JOBBASE=$HOME ;;esacexport JOBBASE 2.The second section of etl_unix_shell_script.sh sets up ETL parameters for username and passwordusage by PowerCenter when running the workflow. The username and password are no longer stored as part of the main shell script. In the script example, the filename test_etl_config contains the username and password to be used when running the workflow. Following is the contents of test_etl_config : ETL_USER:etlguyETL_PWD:ou812 This file (your password file) must be located in your team directory under the remote_accts folder (i.e./usr/local/autopca/dss/remote_accts/). The folder permissions on the Production machine will only permitPCAs access to this folder. The permissions should be 6-4-0 (rw,r,-) on this file.3 . T h e t h i r d s e c t i o n o f etl_unix_shell_script.sh contains the command to run the workflow inPowerCenter. Please follow the script exactly. The only thing that will need to be changed in this sectionis the folder name and the workflow within the folder that is being executed(i.e. ... DWDAS_LOAD_dssqa wflw_m_CENTER_INSTITUTE ).

4.The final section of etl_unix_shell_script.sh contains code to trap the return code of the script thatindicated success or failure..*8/27/03 Added -wait parameter to the pmcmd command line to start the scheduled job.*10/6/04 Updated to generalize the scheduling tool used to run the shell scripts as UC4 has been chosento replace

Auqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqtosys as the scheduling tool used to run PowerMart workflows

c. v_EMP_STATUS ----> Varble port/char(15)--->IIF(v_FLAG = 'Y', IIF(ACTVY_STATUS ='FAIL','DISQUALIFIED','QUALIFIED'),'QUALIFIED')d. prev_EMP_ID ----> variable port ---> EMP_ID (Call EMP_ID)e. o_EMP_STATUS ---> output port----> v_EMP_STATUS (Call variable port)f. o_TASK_STATUS ---> output port ---> IIF(ACTVY_STATUS='PASS','COMPLETE','INCOMPLETE)use all the ports...Hope this will work...Note: in sorter, while sorting, see that FAIL should come first for ACTVY_STATUS for each emp_id....it maybe ascend or descendPosted by nelrick on Dec 31 at 4:21 AMMark as helpful Hi Bhargavi,Thanks for the reply.The Task_Status is coming correctly as desired, but the EMP_STATUS is coming incorrect because whenwe are evaluating : IIF(v_FLAG = 'Y', IIF(ACTVY_STATUS ='FAIL','DISQUALIFIED','QUALIFIED'),'QUALIFIED'), we are directly evaluating for v_FLAG='N' as'QUALIFIED', so for some records the EMP_STATUS='QUALIFIED' even if hisTASK_STATUS='INCOMPLETE'.Thanks & Regards,NelPosted by bhargavi_konathala(Software Engineer)on Dec 31 at 12:36 PMMark as helpful Hi Nel,I think, we just need to include few more conditions inaddition to the above...c. v_EMP_STATUS ----> Varble port/char(15)--->IIF(v_FLAG = 'Y', IIF(ACTVY_STATUS ='FAIL','DISQUALIFIED','QUALIFIED'),IIF(prev_EMP_STATUS ='DIQULAIFIED','DISQUALIFIED','QUALIFIED'))g. prev_EMP_STATUS ----> v_EMP_STATUS (call v_EMP_STATUS)- Bhargavi KonathalaNote:-------in sorter, while sorting, see that FAIL should come first in ACTVY_STATUS for each emp_id....it may beascend or descend ...For ex:1 PASS1 PASS2 FAIL2 PASS2 PASS qqqqqqqqqq correction:------c. v_EMP_STATUS ----> Varble port/char(15)--->IIF(v_FLAG = 'Y', IIF(ACTVY_STATUS ='FAIL','DISQUALIFIED','QUALIFIED'),IIF(prev_EMP_ST ATUS ='DISQULAIFIED','DISQUALIFIED','QUALIFIED'))Posted by Ram M Reddy (Informatica)on Jan 1 at 9:54 AMMark as helpful Hi Nel,This can be done with two instance of source( drag same source) inmappings,1)from 1st instance of source drag all ports to Expression add and o/p portTask_status(Oport)-->iif(Activity_Status='PASS','COMPLETE','INCOMPLETE')2)i) From 2nd instance of source drag only EmpNo,Activity_Status toSorter transformationand check key EmpNo(ascending) and Activity_Status(ascending)ii)Pass all ports to Aggregator transformation group by EmpNo,add an o/p portStatus_out(O port)------>first(Activity_Status)3)Take Joiner trans and drag ports for Exptrans(1st instance(detail)) and Aggtrans(2nd instance(master))make JOIN CONDITON as EmpNo=EmpNo14)Pass all ports from Joiner Trans (expect empno1) to Exp trans ,add an o/pportEmp_Status(O port)----->iif(Activity_status='PASS' ANDStatus_out='PASS','QUALIFIED','DISQUALIFIED')5)Drag required ports to targetHope this will workRamPosted by nelrick on Jan 1 at 10:01 AMMark as helpful

Hi Bhargavi,The solution given by you worked fine. Thanks a ton for the prompt reply.I have tested for different possible scenarios and combinations by modifying the soure data, but I still getthe desired output.

Das könnte Ihnen auch gefallen