DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMIPRCNT

Source


1 PACKAGE BODY GMIPRCNT AS
2 /*  $Header: gmiprcnb.pls 120.1 2005/10/03 12:10:35 jsrivast noship $   */
3 
4 /* ==================================================================
5    Procedure: calculate_percent
6 
7    Description: This procedure calculates the percentage difference
8      between the frozen/actual quantities in a physical inventory.
9      For cases where zero in involved, the following mathematical
10      overrides are made.
11      Frozen = 0    Actual = 0   Percent Diff = 0
12      Frozen = 0    Actual > 0   Percent Diff = 100
13      Frozen  >0    Actual = 0   Percent Diff = 100
14      Frozen  <0    Actual = 0   Percent Diff = 100
15    ================================================================== */
16 
17 FUNCTION CALCULATE_PERCENT(pfrozen IN NUMBER, pactual IN NUMBER)
18 RETURN NUMBER IS
19 
20 p_percent              NUMBER;
21 
22 BEGIN
23    IF (pfrozen <= 0) THEN
24       IF (pfrozen = 0) THEN
25          IF (pactual = 0) THEN
26             p_percent := 0;
27          ELSE
28             p_percent := 1;
29          END IF;
30       ELSE /*  less than zero  */
31          IF (pactual >= 0) THEN
32             p_percent := 1;
33          ELSE
34             p_percent := 0;
35          END IF;
36       END IF;
37    ELSE
38       IF (pactual = 0) THEN
39          p_percent := 1;
40       ELSE
41          p_percent := ((pactual - pfrozen)/pfrozen);
42       END IF;
43    END IF;
44    p_percent := ABS(p_percent);
45    p_percent := (p_percent * 100);
46    RETURN p_percent;
47 
48 END CALCULATE_PERCENT;
49 END GMIPRCNT;