DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_WARRDATA_PUB

Source


1 Package Body OKS_WARRDATA_PUB As
2 /* $Header: OKSPWDFB.pls 120.0 2005/05/25 17:51:18 appldev noship $ */
3 
4 PROCEDURE WARRANTY_DATAFIX (
5 P_INSTANCE_ID         IN               NUMBER,
6 X_msg_Count           OUT NOCOPY       Number,
7 X_msg_Data            OUT NOCOPY       Varchar2,
8 x_return_status       OUT NOCOPY       Varchar2
9 )
10 
11 IS
12 
13    CURSOR l_get_sublines_csr
14    IS
15        SELECT KL.id,
16               KL.sts_code,
17               KL.start_date,
18               KL.end_date
19 
20         FROM  okc_k_headers_v KH,
21               okc_k_lines_v   KL,
22               okc_k_items_v   KI,
23               okc_statuses_v  ST
24 
25        WHERE  KI.object1_id1       = to_char(P_INSTANCE_ID)
26          AND  KI.jtot_object1_code = 'OKX_CUSTPROD'
27          AND  KI.cle_id            = KL.id
28          AND  KL.lse_id            = 18
29          AND  KL.dnz_chr_id        = KH.id
30          AND  KH.scs_code          = 'WARRANTY'
31          AND  KL.date_terminated is not null
32          AND  KL.sts_code          = ST.code
33          AND  ST.ste_code not in   ('EXPIRED' , 'CANCELLED');
34 
35 
36 
37 BEGIN
38 
39  FOR l_get_sublines_rec IN l_get_sublines_csr
40  LOOP
41       UPDATE okc_k_lines_b
42       Set date_terminated = null
43       where id =  l_get_sublines_rec.id;
44 
45       If l_get_sublines_rec.sts_code = 'TERMINATED' Then
46 
47           If trunc(l_get_sublines_rec.start_date) > trunc(Sysdate) Then
48                    Update OKC_K_LINES_B set sts_code = 'SIGNED'  Where id = l_get_sublines_rec.id;
49           Else
50                    If trunc(Sysdate)  between l_get_sublines_rec.start_date and l_get_sublines_rec.end_date Then
51                              Update Okc_k_lines_b Set sts_code = 'ACTIVE' Where id = l_get_sublines_rec.id;
52                    End If;
53           End If;
54 
55       End If;
56 
57  END LOOP;
58 Exception
59 When  Others Then
60              x_return_status   :=   OKC_API.G_RET_STS_UNEXP_ERROR;
61              OKC_API.set_message(G_APP_NAME,G_UNEXPECTED_ERROR, G_SQLCODE_TOKEN, SQLCODE,G_SQLERRM_TOKEN, SQLERRM);
62 END;
63 
64 END OKS_WARRDATA_PUB;
65 
66