Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8888769
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T22:06:33+00:00 2026-06-14T22:06:33+00:00

Package create or replace package PKG_PROJECT AS type cur IS REF CURSOR; procedure SP_PREPARESALARY(v_yr

  • 0

Package

create or replace package PKG_PROJECT AS
type cur IS REF CURSOR;
procedure SP_PREPARESALARY(v_yr in number,v_mn in number);
END PKG_PROJECT;

PACKAGE BODY

PL/SQL statement ignored at line 29(just before the relevant insert query)

create or replace package body PKG_PROJECT AS
procedure SP_PREPARESALARY(v_yr in number,v_mn in number) AS
V_EMPNO INTEGER;
V_EMPNAME VARCHAR2(30);
V_BASICSALARY INTEGER;
V_DAYSPRESENT INTEGER;
V_YEAR INTEGER;
V_MONTH INTEGER;
V_PF INTEGER;
V_TAX INTEGER;
V_MON_SAL INTEGER;
V_NET_SAL INTEGER;
V_MAXDAYS INTEGER;
CURSOR EMP_VALUES IS
SELECT EMPNO, EMPNAME, BASICSALARY, YEAR, MONTH, DAYSPRESENT
FROM DELL_EMPLOYEE, DELL_ATTENDANCE
WHERE EMPNO=ENO AND YEAR = V_YR AND MONTH = V_MN;
BEGIN
OPEN EMP_VALUES;
LOOP
FETCH EMP_VALUES INTO V_EMPNO,V_EMPNAME,V_BASICSALARY,V_YEAR,V_MONTH,V_DAYSPRESENT;
EXIT WHEN EMP_VALUES%NOTFOUND;
V_YEAR := V_YR;
V_MONTH := V_MN;
V_MAXDAYS := FN_GETMAXDAYS(V_YEAR,V_MONTH);
V_MON_SAL:= FN_GETGROSSMONTHLYSALARY(V_BASICSALARY, V_DAYSPRESENT, V_MAXDAYS);
V_PF:= FN_GETPF(V_MON_SAL);
V_TAX:= FN_GETTAX(V_MON_SAL,V_PF);
V_NET_SAL:= FN_GETNETSALARY(V_MON_SAL, V_PF, V_TAX);
INSERT INTO DELL_SALARY (EMPNO, YEAR,MONTH,EMPNAME,DAYSPRESENT,BASICSALARY,MONTHSALARY,PF,TAX,NETSALARY)
VALUES (V_EMPNO,V_YEAR,V_MONTH,V_EMPNAME,V_DAYSPRESENT,V_BASICSALARY,V_MON_SAL,
V_PF,V_TAX, V_NET_SAL);
END LOOP;
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
UPDATE DELL_SALARY
SET EMPNAME=V_EMPNAME,DAYSPRESENT=V_DAYSPRESENT,BASICSALARY=V_BASICSALARY,
MONTHSALARY=V_MON_SAL,PF=V_PF,TAX=V_TAX,NETSALARY=V_NET_SAL
WHERE EMPNO=V_EMPNO AND YEAR=V_YEAR AND MONTH=V_MONTH;
END SP_PREPARESALARY;
END PKG_PROJECT;

Created the DELL_EMPLOYEE, DELL_ATTENDANCE, DELL_SALARY tables. But I don’t know why am kepp getting the unwanted error.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T22:06:34+00:00Added an answer on June 14, 2026 at 10:06 pm

    I do not have your functions,so I have commented or removed that part and created your package without any errors.

    CREATE OR REPLACE PACKAGE BODY PKG_PROJECT
    AS
       PROCEDURE SP_PREPARESALARY (v_yr IN NUMBER, v_mn IN NUMBER)
       AS
          V_EMPNO         VARCHAR2(30);
          V_EMPNAME       VARCHAR2(30);
          V_BASICSALARY   NUMBER;
          V_DAYSPRESENT   NUMBER;
          V_YEAR          NUMBER;
          V_MONTH         NUMBER;
          V_PF            NUMBER;
          V_TAX           NUMBER;
          V_MON_SAL       NUMBER;
          V_NET_SAL       NUMBER;
          V_MAXDAYS       NUMBER;
    
          CURSOR EMP_VALUES
          IS
             SELECT E.EMPNO,
                    E.EMPNAME,
                    E.BASICSALARY,
                    E.YEAR,
                    E.MONTH,
                    E.DAYSPRESENT
               FROM DELL_EMPLOYEE E, DELL_ATTENDANCE A
              WHERE E.EMPNO = A.ENO AND E.YEAR = V_YR AND E.MONTH = V_MN;
    
       BEGIN
          OPEN EMP_VALUES;
    
          LOOP
             FETCH EMP_VALUES
                INTO V_EMPNO,
                     V_EMPNAME,
                     V_BASICSALARY,
                     V_YEAR,
                     V_MONTH,
                     V_DAYSPRESENT;
    
             EXIT WHEN EMP_VALUES%NOTFOUND;
             V_YEAR := V_YR;
             V_MONTH := V_MN;
             V_MAXDAYS := 0;
    --         V_MON_SAL :=
    --            FN_GETGROSSMONTHLYSALARY (V_BASICSALARY,
    --                                      V_DAYSPRESENT,
    --                                      V_MAXDAYS);
             V_PF := 0;
             V_TAX := 0;
             V_NET_SAL := 0;
    
    --         INSERT INTO DELL_SALARY (EMPNO,
    --                                  YEAR,
    --                                  MONTH,
    --                                  EMPNAME,
    --                                  DAYSPRESENT,
    --                                  BASICSALARY,
    --                                  MONTHSALARY,
    --                                  PF,
    --                                  TAX,
    --                                  NETSALARY)
    --              VALUES (V_EMPNO,
    --                      V_YEAR,
    --                      V_MONTH,
    --                      V_EMPNAME,
    --                      V_DAYSPRESENT,
    --                      V_BASICSALARY,
    --                      V_MON_SAL,
    --                      V_PF,
    --                      V_TAX,
    --                      V_NET_SAL);
          END LOOP;
       EXCEPTION
          WHEN DUP_VAL_ON_INDEX
          THEN
          null;
    --         UPDATE DELL_SALARY
    --            SET EMPNAME = V_EMPNAME,
    --                DAYSPRESENT = V_DAYSPRESENT,
    --                BASICSALARY = V_BASICSALARY,
    --                MONTHSALARY = V_MON_SAL,
    --                PF = V_PF,
    --                TAX = V_TAX,
    --                NETSALARY = V_NET_SAL
    --          WHERE EMPNO = V_EMPNO AND YEAR = V_YEAR AND MONTH = V_MONTH;
       END SP_PREPARESALARY;
    END PKG_PROJECT;
    

    Try commenting out part by part to identify where are the problems, that way you could easily find out the problem.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Given a package: create or replace package foo as f1 number := 1; end;
I have a function defined inside an Oracle package: CREATE OR REPLACE PACKAGE BODY
My procedure is declare here : create or replace PACKAGE MYPKG IS PROCEDURE MYPROCEDURE(
I have the following package: create or replace package PKG1 as procedure INIT (
trying to create simple package with one procedure: CREATE OR REPLACE PACKAGE PACKAGE1 AS
I have written this package CREATE OR REPLACE PACKAGE CURVES AS type t_forecast_values is
CREATE OR REPLACE PACKAGE packet AS TYPE tip IS RECORD(a1 INT,a2 VARCHAR2(20)); FUNCTION getrow
I created a package and a package body as below: Create or replace Package
Given the following Oracle (10g) package definition: create or replace PACKAGE foo AS bar
All, I have the following Package Description: CREATE OR REPLACE PACKAGE ashish.PKG_Customer AUTHID CURRENT_USER

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.