DBA Data[Home] [Help]

PACKAGE BODY: APPS.FTP_FILTER_PKG

Source


1 PACKAGE BODY ftp_filter_pkg as
2 /* $Header: ftpfiltb.pls 120.7.12000000.2 2007/08/08 07:40:28 shishank ship $ */
3 
4    --Created by RKNANDA. Removed all hardcoded parts
5    function get_eng_where_clause_new(
6       err_code out nocopy number,
7       err_msg out nocopy varchar2 ,
8       data_set_id in number,
9       period_id in number,
10       table_alias in varchar2,
11       table_name in varchar2,
12       ledger_id in number default NULL,
13       filter_id in number default NULL,  -- Condition Rule
14       eff_date in date default NULL,
15       working_copy_flg in char default 'N' -- working copy flag
16    ) return long is
17       ds_w_clause long := null;
18       filt_clause long := null;
19       disp_pred varchar2(5);
20       ret_pred_type varchar2(5);
21       logging varchar2(5);
22       l_return_status    varchar2(1);
23       l_msg_count        number;
24       l_msg_data         varchar2(240);
25 
26    begin
27 
28       --data_set_id SHOULD be IODD as expected by gen_ds_wclause_by_tablename
29       -- generate data set portion first
30       FEM_DS_WHERE_CLAUSE_GENERATOR.FEM_Gen_DS_WClause_PVT (
31        p_api_version       => 1.0
32        ,p_init_msg_list    => FND_API.G_FALSE
33        ,p_encoded          => FND_API.G_TRUE
34        ,x_return_status    => l_return_status
35        ,x_msg_count        => err_code /*l_msg_count*/
36        ,x_msg_data         => err_msg /*l_msg_data*/
37        ,p_ds_io_def_id     => data_set_id
38        ,p_output_period_id => period_id
39        ,p_table_name       => table_name
40        ,p_table_alias      => table_alias
41        ,p_ledger_id        => ledger_id
42        ,p_where_clause     => ds_w_clause
43       );
44 
45       /*if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
46        Get_Put_Messages (
47          p_msg_count => l_msg_count
48          ,p_msg_data => l_msg_data
49        );
50        raise l_request_prep_error;
51       end if;*/
52 
53       /*fem_ds_where_clause_generator.FEM_Gen_DS_WClause_PVT(
54          err_code,
55          err_msg,
56          data_set_id,
57          period_id,
58          table_alias,
59          table_name,
60          ledger_id,
61          ds_w_clause
62       );*/
63 
64       -- get Cond Rule SQL
65 
66       disp_pred := 'N';
67       ret_pred_type := 'BOTH';
68       logging := 'Y';
69       err_code := 0;
70       if (filter_id <> 0 ) then
71          FEM_CONDITIONS_API.GENERATE_CONDITION_PREDICATE(
72              err_code, err_msg, filter_id,
73              FND_DATE.date_to_canonical(eff_date),
74              table_name,
75              table_alias, disp_pred, ret_pred_type, logging,
76              filt_clause  );-- out
77       end if;
78 
79       if (err_code = 0) then
80          if ds_w_clause is not null and filt_clause is not null then
81             ds_w_clause := '(' || ds_w_clause || ') and (' || filt_clause || ')'
82                            || ' and ( ledger_id = ' || ledger_id || ')';
83          elsif filt_clause is not null then
84             ds_w_clause := filt_clause ||' and ( ledger_id = ' ||ledger_id||')';
85          elsif ds_w_clause is not null then
86             ds_w_clause := '('||ds_w_clause||') and ( ledger_id ='||ledger_id||')';
87          end if;
88       elsif ds_w_clause is not null then
89          ds_w_clause := '('||ds_w_clause||') and ( ledger_id ='||ledger_id||')';
90       end if;
91 
92       return ds_w_clause;
93    end get_eng_where_clause_new;
94 
95 end FTP_FILTER_PKG;