How can you find the 2nd Highest salary in a file department wise in abinitio?
Answer Posted / raje0303
Hi Murali,
This logic is correct only will fail when highest salary entries are more than one (e.g. two people has highest and equal salary )
we need to updated scan function as below -
type temporary_type=record
integer(4) temp1;
integer(4) last_sal;
end;
temp :: initialize(in) =
begin
temp.temp1::0;
temp.last_sal::0;
end;
out :: scan(temp, in) =
begin
if(last_sal != in.salary)
begin
out.temp1 :: temp.temp1 + 1;
end;
last_sal = in.salay;
end
out :: finalize(temp, in) =
begin
out.sal:: in.sal;
out.dno :: in.dno;
out.temp1 :: temp.temp1;
end;
out :: output_select(out) =
begin
out::out.temp1 == 2;
end;
###############################################
4.Output_file
| Is This Answer Correct ? | 6 Yes | 2 No |
Post New Answer View All Answers
Explain batch processing in ab initio?
What a local lookup is?
What are the differences between different versions of co-op?
Describe the evaluation of parameters order in ab initio?
Difference between informatica vs ab initio?
Runtime behavior of Normalize and Reformat
What dedup-component and replicate component does?
Mention what the difference between “look-up” file and “look is up” in abinitio?
Define ramp limit in ab initio?
What is the difference between check point and phase?
What is the difference between partitioning with key / hash and round robin?
What are the components new in 2.14 compared to 1.8 and State the usage of the components?
What are the functions of the replicate and dedup component?
Code check-in and check-out commands in AbInitio
What is the architecture of abinitio?