Minnu's Blog on Informatica & Data warehouse concepts

Archives

Thursday, December 20, 2007

0

Page 2 Linx for review

Goodone on Datawarehouse Technical Concepts & Design Considerations
Blog of a consultant who is trying to rescue DW Performance

DWH Team / Roles / Salaries (USA)

Good Book describing the DWH failure scenarios & remedies

This is for overview on named or un-named oracle constraints

Case Study of DWH Pilot Project

Good one for information on oracle data dictionary

Best for warehousing concepts & process

Good one for Data Conversion for a Warehouse at design time

Link for a basic introduction of ETL

Good one if you want to re-engineer a database on oracle, using data dictionary

Friday, July 13, 2007

3

Production Support Issues - Informatica

what are the ETL production support issues that one comes across on a day to day basis.

Saturday, July 7, 2007

0

Interview Questions

HCL

  1. Where did u use the Unix shell scripts in informatica projects?
  2. how to u generate surrogate keys for tables with more than 2 billion records (surrogate key is a primary key field).
  3. how do u propagate date coloumn to a flat file, if u need format to be DD-MON-YYYY?
  4. if a look up returning multiple matching rows, then how Unconnected lookup & Connected lookup will perform? (Not using lookup by last value)
  5. If you use sorted I/P option in Aggregator but gave it Unsorted I/P then what will happen?
  6. If i have 100 rows given as I/P to aggregator & want 100 rows as O/P then how can u achieve that?(none of the coloumns are primary key)
  7. If i have 100 rows given as I/P to aggregator & want just 100th row as O/P then how can u achieve that?
  8. What kind of stored procedures are there in informatica
  9. If i use pre-session stored procedure, then i need to activate another field, What would that be?
  10. What are all the conditions (=, Not Between) you have in Lookup & in Joiner?
  11. What is the use of Reusable sequence generator (not in the resuability sense), any other?
  12. If i had a flat file, Can i over ride SQL in Source Qualifier or Lookup?
  13. If i have a flat file target, When i click it in the Workflow manager, What all properties would i get?
  14. I have to use Order by, I have a table with coloumns A,B,C...I need order by B,C ..Do u need to add some more thing to "select * from TABLE NAME order by B,C" ???
  15. What is the use of Return Port & Output port in Lookup Transformation?
  16. If i have used 2 update strategys in my mapping..1 for insert & other for delete, then i changed target option in session properties from datadriven to delete...then how is my mapping going to perform ? (all deletes or insert & delete)

Answers:

  1. To concatinate 2 or more Flat files, Workflow scheduling, File watcher script.
  2. Dont use sequence generator, But use a Expression variable increment & look up transformation to get the last value used from target.
  3. Using To_date function before loading to flat file
  4. Fails the session with error messg 'Expecting keys to be ascending'.
  5. Aggregator is an active transformation. So you can't expect it to give exact number of output rows for all input rows you have given to it.
  6. If you dont select any group by port in ports tab of aggregator transformation then informatica is only going to give last row as output for all the numerous records given to it as input.
  7. Lookup (=, !=, >=, <=, >, <), Joiner (= only )
  8. You can never over ride a SQL Query when you are playing with flat files.
  9. File Writer, Merge Partionned file, Merge File name, Merge File Dir, O/P file name, O/P file dir, Reject file name, Reject file dir.
  10. By default all the ports in lookup transformation are Look up & O/P ports. Return ports are only used in Unconnected lookup & You need have atleast 1 Output port in Connected lookup. (cant explain in detail here...)
  11. Workflow succeds but you get an error mesg in logs saying target did not permit to insert & all the records marked for inserts are loaded into badfile.

NESS Technologies

How would u rate urself on oracle, UNIX, DWH Concepts, Informatica

Why you need surrogate key instead of OLTP primary key, Tell a scenario where it’s mandatory to use surrogate key

Ans: If prod key is numeric before & OLTP People decided to go for alphanumeric, we may have to change all data types. in warehouse where that key is involved. So best to keep it away from business defined values, To track SCD

Scenario for using dynamic lookup

Ans: Loading data from flat file to a table, But the data in file is violating primary key constraint of table due to
duplicate data

How would you tune performance for a given scenario, scenario explained by interviewer!

Scenario where you developed some procedures

Scenario where you developed some UNIX scripts

Scenario where you encountered toughest time in job

In your complete job profile, what are the documentations you have done?

What’s the default & Max size of data cache?

20 MB, 2 GB

What is materialized view, how it’s going to improve performance.

Ans: It creates physical table unlike normal view

When you use bitmap indexes

Ans: when cardinality is low, distinct rows <> Newfile.txt

what is implicit cursor & explicit cursor in oracle?

Ans: Implicit cursor is a defined for every query executed. Its attributes can be retrieved after executing query using sql as prefix Ex: sql%rowcount. Explicit cursor is the cursors what we define manually.

what is the cursor attributes

Ans:%found
%notfound
%rowcount

---------
what are procedures you follow for good performance while doing TDD

What are your roles & responsibilities in previous project

What are all the phases in the DWH project from bidding to delivery

How do you communicate any mistakes to team members, so that they won’t be repeated?

how do you ensure all the business rules defined are implemented in development (Traceability matrix)

how did you follow code reviews, what are all the things u check

at what levels in ur project you perform testing

How did u implement defect tracking in ur project?

At what time in the project, you perform the performance tuning

Did you face any situation where you coded mapping wrong & in later stages found it, if yes how did u rectify

Do you have any check list in doing TDD doc, or is it just your experience that helps

tell me the process you followed in developing a mapping, the documents you got & instructions you got

did you have any team members directly reporting to you

how is the work assigned to you in your project & who takes care of assigning

did you involve in status updates of your project to client, if not who does it

--------------------------
RBS
how would you stop session row if a value for particular column is matched to a given value

Ans: use abort function of informatica in expression transformation

how about error function in informatica

Ans: it logs the error message you defined in the session log if particular condition is satisfied

levels of logs you can maintain in informatica sessions

Ans: Terse,Normal,And Verbose

how to run sequential sessions only if previous session loads at least one row in target

Ans: Defined a link condition between sessions with TgtSuccessrows>0

difference between max & greatest functions in oracle

Ans: Greatest gives greatest of 2 values, max is the max value of all available values

how you get number of rows returned by lookup when a condition matches

Ans: Define a new column & use SQL override with count(*)

how can you configure informatica workflow to run only on first working day of the month

Ans: Define a calendar & go with a session or script

when you go for sql overrides

Ans: When you want to share some processing load with Database, When it’s more effective

what are types of triggers, difference between row level & statement level trigger

Ans: after/before statement level/row level insert/delete/update

how would you question, if you are in interview panel

What is the advantage of packages in PL/SQL

Ans: Modular approach, Security, Integrity

If you have some err in a procedure of package, how you would know which procedure is it

Ans:

Can you join 2 tables using SQL override in Lookup transformation

Ans: Yes

If a session fails, What are the steps you follow in resolving it

Ans: check session logs with various tracing levels

What’s your most difficult situation in development

How you filter records in TOAD

Ans: Use filter icon & Add rule on columns

What is persistent cache in lookup transformation.

Ans: Its remains even after session run, useful in incremental aggregation

how did you implement incremental extraction

Ans: Mostly using set variable or some way of truncating stage tables or use parameter files

tell me about 'set variable' function in informatica

Ans: Set a value to variable depending on the last row processed

if you change properties in session, which one takes preference, is it mapping level or session level

Ans: Session Level

syntax for defining a parameter in parameter file

Ans: Folder - workflow - session – mapplet

How did you move your code from development to UAT or Production?

Did you take back up of your repository at any time? If yes how is it stored & where

Did you install informatica anywhere?

Explain the architecture of informatica

How would you identify why a record is rejected (D,O,N,T Indicators)

Post your answers as comments if am wrong or if you have a better answer.....Thx

Wednesday, July 4, 2007

0

On way to PL/SQL Type 2 dimension Implementation

This is in order to develop a PL/SQL procedure in order to achieve TYPE 2 (effective date range) on emp table, taking sal as the changing attribute.......here emp table is the source & emp_new is the target.....first start with basic structure & later in the 2nd step alter the emp_new table & add 2 more coloumns Valid_from, Valid_till (date) ... then after in 3rd try add 1 more coloumn WH_KEY (number) ........

Basic prog to start with ...

SQL> desc emp_new;
----------------------------------------- -------- ---------------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
-----------------------------------------
create or replace procedure mypro AS
var1 number;
var2 varchar2(10);
var3 varchar2(9);
var4 number;
var5 date;
var6 number;
var7 number;
var8 number;
var51 date;

Cursor MYCURSE IS select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp;

begin

OPEN MYCURSE;

LOOP

FETCH MYCURSE INTO var1, var2, var3, var4, var5, var6, var7, var8;

Exit when MYCURSE%NOTFOUND;

var51 := to_date(var5,'DD-MON-YYYY');

insert into emp_new values(var1, var2, var3, var4, var51, var6, var7, var8);

END LOOP;

CLOSE MYCURSE;

Commit;

End;
/

----------------------------------------------------------------

Working out a little more.....Updating changed sal, valid_till field ....Just go through

--------

create or replace procedure mypro AS
var1 number;
var2 varchar2(10);
var3 varchar2(9);
var4 number;
var5 date;
var6 number;
var7 number;
var8 number;
var51 date;

vart1 number;
vart2 varchar2(10);
vart3 varchar2(9);
vart4 number;
vart5 date;
vart6 number;
vart7 number;
vart8 number;
vart51 date;
vara date;
varb date;

Cursor MYCURSE_SRC IS select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp;
Cursor MYCURSE_TGT IS Select empno, ename, job, mgr, hiredate, sal, comm, deptno, valid_from, valid_till from emp_new where empno = var1 AND valid_till is NULL;

begin
OPEN MYCURSE_SRC;
LOOP
FETCH MYCURSE_SRC INTO var1, var2, var3, var4, var5, var6, var7, var8;

OPEN MYCURSE_TGT;
FETCH MYCURSE_TGT INTO vart1, vart2, vart3, vart4, vart5, vart6, vart7, vart8, vara, varb;

Exit when MYCURSE_SRC%NOTFOUND;

var51 := to_date(var5,'DD-MON-YYYY');

IF MYCURSE_TGT%FOUND THEN

IF Var6 = vart6 THEN
vart7 := var7;
ELSE
update emp_new set valid_till = sysdate where empno = var1;
insert into emp_new values(var1, var2, var3, var4, var51, var6, var7, var8, sysdate, NULL);
END IF;

ELSE

insert into emp_new values(var1, var2, var3, var4, var51, var6, var7, var8, sysdate, NULL);

END IF;

CLOSE MYCURSE_TGT;

END LOOP;

CLOSE MYCURSE_SRC;
Commit;
End;
/

-----------------------------------
Now almost the final thing....Adding WH_key using seq gen.... but remember...

Within a procedure or Function you are not technically allowed to perform DDL statements. But you can use a dynamic SQL statement to overcome this. First you have to drop the existing sequence since it is schema specific just like a table, view, or index. Then create the sequence over again. I would create the sequence manually first so you don't get an error within your procedure. stmt := 'DROP SEQUENCE YOUR_SEQ_NAME';

execute immediate stmt; stmt := 'CREATE SEQUENCE YOUR_SEQ_NAME START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE';

The above commands are issued in your SQL*PLUS window but not inside the procedure...still you can use the values created by it inside the procedure .... my seq gen is named as WH_KEY

------------------
create or replace procedure mypro AS

var1 number;
var2 varchar2(10);
var3 varchar2(9);
var4 number;
var5 date;
var6 number;
var7 number;
var8 number;
var51 date;

vart1 number;
vart2 varchar2(10);
vart3 varchar2(9);
vart4 number;
vart5 date;
vart6 number;
vart7 number;
vart8 number;
vart51 date;
vara date;
varb date;

Cursor MYCURSE_SRC IS select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp;
Cursor MYCURSE_TGT IS Select empno, ename, job, mgr, hiredate, sal, comm, deptno, valid_from, valid_till from emp_new where empno = var1 AND valid_till is NULL;

begin

OPEN MYCURSE_SRC;

LOOP

FETCH MYCURSE_SRC INTO var1, var2, var3, var4, var5, var6, var7, var8;

OPEN MYCURSE_TGT;

FETCH MYCURSE_TGT INTO vart1, vart2, vart3, vart4, vart5, vart6, vart7, vart8, vara, varb;

Exit when MYCURSE_SRC%NOTFOUND;

var51 := to_date(var5,'DD-MON-YYYY');

IF MYCURSE_TGT%FOUND THEN
IF Var6 = vart6 THEN
vart7 := var7; ELSE
update emp_new set valid_till = sysdate where empno = var1;
insert into emp_new values(WH_KEY.NextVal, var1, var2, var3, var4, var51, var6, var7, var8, sysdate, NULL);
END IF;
ELSE
insert into emp_new values(WH_KEY.NextVal, var1, var2, var3, var4, var51, var6, var7, var8, sysdate, NULL);
END IF;

CLOSE MYCURSE_TGT;

END LOOP;

CLOSE MYCURSE_SRC;

Commit;
End;
/
--------------------------------------------------------------------------------------------
Finally now lets make the program a bit small ....avoiding out the large number of variables & introducing %rowtype functionality on 1 or 2 variables....

Saturday, May 12, 2007

1

Indexes

free html hit counters
http://www.hit-counter-download.com/

An index is like a set of pointers to specific rows in a table. These pointers are ordered in terms of the column(s) defined by the index, which makes SQL's scans much more efficient - they just look up the pointers to the rows with the relevant data (based on a WHERE or other clause), and jump right to the row(s).

If a table is created with no indexes, the data rows are not stored in any particular order. This structure is called a heap


Lets assume the following sample table stored in heap format

a b c
-------
1 2 3
2 2 2
1 2 2
3 1 2
2 1 2


If we create an index based on all 3 coloumns a, b & c

a b c
-----
1 2 2
1 2 3
2 1 2
2 2 2
3 1 2

So now, imagine running a query SELECT a,b,c FROM table WHERE a=1. This query will be very efficient, because the pointers have grouped these records all together.

Now, imagine running a similar query, but this time SELECT a,b,c FROM table WHERE b=1. This query will not be very efficient, since SQL Server's only index option is this index which does NOT consider b to be a top priority (and it just so happens that these records are NOT grouped together). It's the jumping around on the pointers that makes SQL Server work harder to get all the rows that match the WHERE clause - in some cases it may be more efficient for SQL Server to just do a table scan, rather than care about your index.

Let's create multiple indexes now, one on each column. The pointers for each, in order, will look something like this:


a b c
-----
1 2 2
1 2 3
2 1 2
2 2 2
3 1 2


a b c
-----
2 1 2
3 1 2
1 2 2
1 2 3
2 2 2


a b c
-----
1 2 2
2 1 2
2 2 2
3 1 2
1 2 3

Now, running the two queries mentioned above, each will be very efficient. In the first query, SQL Server will choose the first index, and get all the rows where a is grouped together - minimizing read / scan time. In the second query, SQL Server is smart enough to ignore the first index, and use the second index instead.

Indexes not only speed up the retrieval of rows for selects, they also usually increase the speed of updates and deletes. This is because SQL Server must first find a row before it can update or delete the row. The increased efficiency of using the index to locate the row usually offsets the extra overhead needed to update the indexes, unless the table has a lot of indexes.

What index you use and what will work best depends on your schema, the nature of your queries, where your performance counts, the load on your system, hardware, levels of transactions, acceptable query times, type of application, etc.


There are two ways to define indexes. The CREATE INDEX statement creates and names an index. The CREATE TABLE statement supports the following constraints that create indexes:
  • PRIMARY KEY creates a unique index to enforce the primary key.
  • UNIQUE creates a unique index.
  • CLUSTERED creates a clustered index.
  • NONCLUSTERED creates a nonclustered index.

To create an index in Oracle, use the syntax:

create [unique] index on ();

In general, could contain more than one attribute. Such an index allows efficient retrieval of tuples with given values for . The optional keyword UNIQUE, if specified, declares to be duplicate-free, which in effect makes a key of .


To get rid of an index, use:

drop index ;;


Oracle automatically creates an index for each UNIQUE or PRIMARY KEY declaration. For example, if you create a table foo as follows:

create table foo (a int primary key,
b varchar(20) unique);

Oracle will automatically create one index on foo.a and another on foo.b. Note that you cannot drop indexes for UNIQUE and PRIMARY KEY attributes. These indexes are dropped automatically when you drop the table or the key constraints

To find out what indexes you have, use

select index_name from user_indexes;

USER_INDEXES is another system table just like USER_TABLES. This can become especially helpful if you forget the names of your indexes and therefore cannot drop them. You might also see weird names of the indexes created by Oracle for UNIQUE and PRIMARY KEY attributes, but you will not be able to drop these indexes.

--------------------

Tuning Indexes http://docs.rinet.ru/O8/ch18/ch18.htm


http://www.oracle.com/technology/pub/articles/sharma_indexes.html

http://www.devx.com/dbzone/Article/26995

The ordered hint requests that the tables listed in the FROM clause of a SQL statement be joined in the order specified, with the first table in the FROM clause specifying the driving table. The driving table should be the table that returns the smallest number of rows. Using the ordered hint will bypass the very expensive and time-consuming parsing operation and speed the execution of Oracle SQL.

Friday, May 4, 2007

3

Informatica Installation & Configuration

free html hit counters
www.hit-counter-download.com


Pre-Requisites



  1. XP Professional or Media Center or The Server Editions
  2. Oracle installed
  3. Network card on the pc
  4. User id on system with Admin Privilages
  5. Oracle user id with sufficient privilages so that repository server can create its database tables

Steps Involved

  1. Installation of Informatica
  2. Configure Informatica Repository Server
  3. Start Informatica Repository Service
  4. Create a Repository Server
  5. Create a Repository
  6. Make a folder in the repository to store your mappings, maplets etc
  7. Now finally configure your Informatica Server

Installation of Informatica
Free Image Hosting at allyoucanupload.com

Double click on Lanuch

Free Image Hosting at allyoucanupload.com

Click on Power Center for Windows

Free Image Hosting at allyoucanupload.com

Click Next

Free Image Hosting at allyoucanupload.com

Leave options to default settings & click next

Free Image Hosting at allyoucanupload.com

Click on Yes & then on Next

Free Image Hosting at allyoucanupload.com

Enter the name of your Enterprise, The product key that you got & then click Next

Free Image Hosting at allyoucanupload.com

Click Next

Free Image Hosting at allyoucanupload.com

Next again

Free Image Hosting at allyoucanupload.com

Click on Ok

Free Image Hosting at allyoucanupload.com

Just click next

Free Image Hosting at allyoucanupload.com
Click on Finish

Repository Server Config & Starting Repository Service Free Image Hosting at allyoucanupload.com

The above screen is to configure repository service. Just enter a password for administration of repository. This password is usefull while you create repository's. After you enter a password just click on OK leaving all the options to default.

Free Image Hosting at allyoucanupload.com

Now right click 'My Computer', Click on Manage, Go to services & Start the Informatica repository service.


Free Image Hosting at allyoucanupload.com

Change the startup type to automatic so that you dont have to do this all over again whenever computer reboots. Click on apply & then on OK.

Creation of Repository
Free Image Hosting at allyoucanupload.com

Go to Start Menu -> All Programs -> Informatica PowerCenter -> Informatica PowerCenter Client -> Repository Server Administration Console

Free Image Hosting at allyoucanupload.com

Right Click Informatica Repository Servers & Click on New Server Registration

Free Image Hosting at allyoucanupload.com

Enter your System Name & then click on OK

Free Image Hosting at allyoucanupload.com

Now right click on your system name i.e. displayed & click on Connect

Free Image Hosting at allyoucanupload.com

Enter the password that you have created while configuring Informatica repository Server

Free Image Hosting at allyoucanupload.com

Right click on the repositories & Click on Create New Repository

Free Image Hosting at allyoucanupload.com

In the General TAB, Enter a name for your repository & Then click on Database Connection TAB.

Free Image Hosting at allyoucanupload.com

Now Enter the Connect String for your database & User id & PWD of the Database user in which repository server can create all its tables, Then click on Licences TAB.

Free Image Hosting at allyoucanupload.com

Enter the Product licence key first & then click on Update, Then Enter Connectivity Licence & Update again, Then the Optional Licence Keys you got & Then Update

Free Image Hosting at allyoucanupload.com

When all licences are updated, You can see the screen as above. Now Click on Apply. The Repository will be created now. Now click on OK.

Free Image Hosting at allyoucanupload.com

After the repository is succesfully created, You can see the screen as above.

Creating the Folder in Repository

Free Image Hosting at allyoucanupload.com

Go to Start Menu -> All Programs -> Informatica PowerCenter -> Informatica PowerCenter Client -> Repository Manager

Free Image Hosting at allyoucanupload.com

Right click on your repository name & click on connect

Free Image Hosting at allyoucanupload.com

Enter the user id & pwd of oracle database that you have used to create repository

Free Image Hosting at allyoucanupload.com

Click on Folder in the menu bar & click on Create

Free Image Hosting at allyoucanupload.com
Enter a name for your folder & click on OK. Leave rest of options to the defaults.

Configuring Informatica Server
Free Image Hosting at allyoucanupload.com

Click on Continue

Free Image Hosting at allyoucanupload.com

In the server TAB, Enter your system name, Give the IP address as 127.0.0.1 & Now click on Repository TAB over the top

Free Image Hosting at allyoucanupload.com

Enter the name of repository that you have created before, Then enter the user name & pwd of oracle database user that you have used while creating repository, Enter your system name & Now click on licences TAB

Free Image Hosting at allyoucanupload.com

Update with all licence keys you have got i.e Product, Connectivity, Optional respectively. Click on apply & OK


***** Now your informatica is fully installed & configured. You can use desginer, workflow manager BUT before you run the workflow you need to start an other service called the Informatica Service. If you start it before it may stop automatically as it may not have any job to execute.

So at your first workflow execution go to services & Make this service as automatic & start the service.
Free Image Hosting at allyoucanupload.com

------------------ ------------------------------------------------------------------------------

Thursday, May 3, 2007

0

My Favourite Links

Good link to do some Analysis Work at Client Side

Related Blog -1

Good Blog About Perf Tuning in Informatica

Good Resume

Deleting Duplicate Records tutorial (SQL)

Basics of Unix

Grep Tuto 1

Grep Tuto 2

SED Description

SED Tuto

AWK Tuto

CronJob Easy way to understand

Discussion about Autosys

Sh Scripting Explained

Some bash Scripts

Type of keys in a Database & When to use them

Informatica Architecture Explained

Life Cycle of a Data Warehousing
Project in Healthcare


K-20 Educational Warehouse Facts

Classic Retailer Project

Cost/Latency Analysis of EDW & Different Types of Loads

Session Partitioning Explained

Informatica BottleNecks 1

PMCMD EXAMPLE 0


PMCMD EXAMPLE 1

PMCMD EXAMPLE 2

Using Oracle Bulk Loader

SQL*Loader FAQ

SQL*Loader Samples FAQ

Diff types of Database partioning with Examples

BI Application in energy sector
BI Application in energy sector 2
http://www.mntsystems.com/Home/Customers/ExamplesofourWork/BIExamples/ShellEnergyBusinessInt/


Road map to Warehouse of Insurance Sector

TRIGGERS BEST EXPLAINED http://www.techonthenet.com/oracle/triggers/index.php

Wednesday, April 11, 2007

0

Time dimension stored procedure script

/* Expecting that you have a table called time with following columns, & you are working on oracle SQL*Plus

Curr_date Date
Day_of_the_month varchar2(5)
Month varchar2(20)
Year varchar2 (7)
Quarter Varchar2(5)
Day_of_the_week varchar2(15)
Holiday Varchar2(5)

Now copy & save the following script with .sql , Compile & then execute. Remember to change the date in the script to watever date you want to start from.

@min2 --> Compilation

Exec min2 -> Execution

--------------------------------------------

create or replace procedure min2

IS

olddate date;
systdate date;
sysd date;
day varchar2(5);
mon varchar2(20);
qtr varchar2(5);
year varchar2(7);
Dweek varchar2(15);
Holiday varchar2(5);

begin

olddate := to_date('26-MAR-1984','DD-MON-YYYY');

select sysdate into sysd from dual;

systdate := to_date(sysd,'DD-MON-YY');

While olddate < systdate loop


Select to_char(olddate,'DD') into day from dual;
Select to_char(olddate,'MON') into mon from dual;
Select to_char(olddate,'YYYY') into year from dual;
Select to_char(olddate,'Dy') into Dweek from dual;

If mon IN ('APR','MAY','JUN') then

qtr := 'Q1';

elsif mon IN ('JUL', 'AUG', 'SEP') then

qtr := 'Q2';

elsif mon IN ('OCT', 'NOV', 'DEC') then

qtr := 'Q3';

elsif mon IN ('JAN', 'FEB', 'MAR') then

qtr := 'Q4';

end if;

If Dweek IN ('Sat', 'Sun') then

Holiday := 'Yes';

else

Holiday := 'No';

end if;

Insert into time (curr_date, Day_of_the_month, Day_of_the_week, Holiday, Month, quarter, Year) values (olddate, day, Dweek, Holiday, mon, qtr, year);

olddate := olddate + 1;

end loop;

End;
/

-------------------------------------------

Thursday, March 29, 2007

0

ERWIN Installation

*****************Admins, please stay away from this site*******************

ERWIN:

Hope no newbie dares to work on this tool.. If you wann to then here it starts with...........

Free Image Hosting at allyoucanupload.com
Browse the CD For the above .exe file (May be it the only one self extracting file i.e on the cd rom). Double click on it to start the installation.


Free Image Hosting at allyoucanupload.com
Just click next


Free Image Hosting at allyoucanupload.com
Agree to whatever you see & then click on next


Free Image Hosting at allyoucanupload.com
Browse the destination folder if you want to change the default path (Hope you wont)
Now click on Next


Free Image Hosting at allyoucanupload.com
Just go for default selection unless you are expert & you know what you are doing
Then click next


Free Image Hosting at allyoucanupload.com
Better to simply choose next


Free Image Hosting at allyoucanupload.com
Next again


Free Image Hosting at allyoucanupload.com
Dont choose to register if you are using pirated copies OR If you not connected to internet.
Just next again


Free Image Hosting at allyoucanupload.com
Now you choose the product as shown above (Assuming you have one choice only )
Enter the product key (Not zero as shown above)
Just next again


Free Image Hosting at allyoucanupload.com
Next againnnn......


Free Image Hosting at allyoucanupload.com
Finally click on finish


Free Image Hosting at allyoucanupload.com
& One last time again on Finish.

Tats all about ERWIN Installation

2

Business Objects 6.5 Installation

Business Objects

If its a Pirated Software then you may need to copy complete "B.O Folder" from the cd rom to local harddisk before installation else you cant proceed without 2nd cd.


Image Hosted by ImageShack.us Right click on the BusinessObjects.msi package & click on Install


Free Image Hosting at allyoucanupload.com
Just click next


Free Image Hosting at allyoucanupload.com
Accept to the terms & conditions, Then click next


Free Image Hosting at allyoucanupload.com
Just click next


Free Image Hosting at allyoucanupload.com
Click on change & Browse to the Licence folder that is located in the CD or Copied Folder of B.O
When browsed to the Licence Keys folder, The screen appears as below


Free Image Hosting at allyoucanupload.com
Now click on "licfiles" & then click on OK


Free Image Hosting at allyoucanupload.com
If your licence is valid then click on next


Free Image Hosting at allyoucanupload.com
Enter the Username & Organization name according to your choice
Select if its just you who use the B.O or all of the users who logged in to this system.
Then click on next


Free Image Hosting at allyoucanupload.com
Choose desktop installation for typical features & to go easy, Then click on next


Free Image Hosting at allyoucanupload.com
Just click the Install Button


Free Image Hosting at allyoucanupload.com
If you are using Genuine Business Objects Version then it will prompt you to insert 2nd cd.
Replace CD & then click on OK & Then click on next.

Else If you are using dump then you need to copy complete software to local harddisk then you
dont see the above screen.


Free Image Hosting at allyoucanupload.com

Now finally by clicking on Finish & Installation is done.


Not a bad idea ...rite?