DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PAYMENT_PLAN_APP_WF

Source


1 PACKAGE  BODY OKL_PAYMENT_PLAN_APP_WF AS
2 /* $Header: OKLRQPSB.pls 120.2 2006/07/21 13:14:21 akrangan noship $ */
3 
4 
5   ----------------------------------------------------------------------------------
6   -- PROCEDURE raise_payment_plan_app_event
7   ----------------------------------------------------------------------------------
8   PROCEDURE raise_payment_plan_app_event (p_rul_id        IN  NUMBER,
9                                           x_return_status OUT NOCOPY VARCHAR2) AS
10 
11     CURSOR okl_key_csr IS
12     SELECT okl_wf_item_s.nextval
13     FROM  dual;
14 
15     l_parameter_list    wf_parameter_list_t;
16     l_key               VARCHAR2(240);
17     l_event_name        CONSTANT VARCHAR2(100) := 'oracle.apps.okl.so.approvepayment';
18     l_seq               NUMBER;
19 
20     lx_return_status    VARCHAR2(1);
21 
22   BEGIN
23 
24     OPEN okl_key_csr;
25     FETCH okl_key_csr INTO l_seq;
26     CLOSE okl_key_csr;
27 
28     l_key := l_event_name ||l_seq;
29 
30     wf_event.AddParameterToList('RULE_ID',p_rul_id,l_parameter_list);
31 
32 --DBMS_OUTPUT.PUT_LINE('Calling wf_event.raise    l_key '||l_key);
33     --added by akrangan
34      wf_event.AddParameterToList('ORG_ID',mo_global.get_current_org_id ,l_parameter_list);
35 
36     -- Raise Event
37     wf_event.raise(p_event_name  => l_event_name,
38                    p_event_key   => l_key,
39                    p_parameters  => l_parameter_list);
40 
41     l_parameter_list.DELETE;
42     x_return_status := G_RET_STS_SUCCESS;
43 
44   EXCEPTION
45 
46     WHEN OTHERS THEN
47 
48       OKL_API.SET_MESSAGE (p_app_name     => G_APP_NAME,
49                            p_msg_name     => G_UNEXPECTED_ERROR,
50                            p_token1       => G_SQLCODE_TOKEN,
51                            p_token1_value => sqlcode,
52                            p_token2       => G_SQLERRM_TOKEN,
53                            p_token2_value => sqlerrm);
54 
55       x_return_status := G_RET_STS_UNEXP_ERROR;
56 
57   END raise_payment_plan_app_event;
58 
59 
60 
61   ----------------------------------------------------------------------------------
62   -- PROCEDURE populate_attributes
63   ----------------------------------------------------------------------------------
64   PROCEDURE populate_attributes(itemtype  IN VARCHAR2,
65                                 itemkey   IN VARCHAR2,
66                                 actid     IN NUMBER,
67                                 funcmode  IN VARCHAR2,
68                                 resultout OUT NOCOPY VARCHAR2) AS
69 
70     l_api_name          CONSTANT VARCHAR2(30)  := 'populate_attributes';
71 
72     l_rulv_rec          okc_rule_pub.rulv_rec_type;
73     lx_rulv_rec         okc_rule_pub.rulv_rec_type;
74 
75     lx_return_status    VARCHAR2(1);
76     lx_msg_count        NUMBER;
77     lx_msg_data         VARCHAR2(4000);
78 
79   BEGIN
80 
81 --DBMS_OUTPUT.PUT_LINE('BEGIN populate_attributes funcmode - '||funcmode);
82 
83     IF (funcmode = 'RUN') THEN
84 
85       l_rulv_rec.id := wf_engine.GetItemAttrText(itemtype => itemtype,
86                                                  itemkey  => itemkey,
87                                                  aname    => 'RULE_ID');
88 
89       l_rulv_rec.rule_information1 := 'APPROVED';
90 
91       okc_rule_pub.update_rule(p_api_version   => G_API_VERSION,
92                                p_init_msg_list => G_FALSE,
93                                p_rulv_rec      => l_rulv_rec,
94                                x_rulv_rec      => lx_rulv_rec,
95                                x_return_status => lx_return_status,
96                                x_msg_count     => lx_msg_count,
97                                x_msg_data      => lx_msg_data);
98 
99 --DBMS_OUTPUT.PUT_LINE('Back from update of SOPSST rule '||lx_return_status);
100 
101       IF lx_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
102         RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
103       ELSIF lx_return_status = OKL_API.G_RET_STS_ERROR THEN
104         RAISE OKL_API.G_EXCEPTION_ERROR;
105       END IF;
106 
107       resultout := 'COMPLETE:';
108       RETURN;
109 
110     END IF;
111 
112     -- CANCEL mode
113     IF (funcmode = 'CANCEL') then
114       resultout := 'COMPLETE:';
115       RETURN;
116     END IF;
117 
118     -- TIMEOUT mode
119     IF (funcmode = 'TIMEOUT') then
120       resultout := 'COMPLETE:';
121       RETURN;
122     END IF;
123 
124   EXCEPTION
125 
126     WHEN OKL_API.G_EXCEPTION_ERROR THEN
127 
128       wf_core.context(G_PKG_NAME, l_api_name, itemtype, itemkey, actid, funcmode);
129       RAISE;
130 
131     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
132 
133       wf_core.context(G_PKG_NAME, l_api_name, itemtype, itemkey, actid, funcmode);
134       RAISE;
135 
136     WHEN OTHERS THEN
137 
138       OKL_API.SET_MESSAGE (p_app_name     => G_APP_NAME,
139                            p_msg_name     => G_UNEXPECTED_ERROR,
140                            p_token1       => G_SQLCODE_TOKEN,
141                            p_token1_value => sqlcode,
142                            p_token2       => G_SQLERRM_TOKEN,
143                            p_token2_value => sqlerrm);
144 
145       wf_core.context(G_PKG_NAME, l_api_name, itemtype, itemkey, actid, funcmode);
146       RAISE;
147 
148   END populate_attributes;
149 
150 END okl_payment_plan_app_wf;