Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Using Procedure Update Date day -1

User_4CY9MDec 8 2021 — edited Dec 10 2021

The details I want, please help
Here I want to see the history of the last location..
example:
when I create a new contract with location SCI-SCG4 start date:25-NOV-21 and end date:25-NOV-26(5yrs from start date)
but a few months/years before the contract expires, SCI-SCG4 closes and moves to a new location then the input becomes:
SCI-SCG5 start date:07-DEC-21 and end date:25-NOV-26 (take from the contract that was previously inputted)
I want history from the previous location (SCI-SCG4) with start date : 25-NOV-2021(take it from the first contract input) and end date: 06-DEC-21(because the store closed this date)

create or replace PACKAGE BODY PKKDSCMSCNTRCTHHIST AS

procedure INS_HEADER_HIST(
PCNTRCTHHISTSDATE DATE,
PCNTRCTHHISTEDATE DATE,
PCNTRCTHHISTCRBY VARCHAR2,
PCNTRCTHHISTCOMP VARCHAR2,
PCNTRCTHHISTLNUM NUMBER,
PCNTRCTHHISTLASTLOC VARCHAR2,
POUTRSNCODE OUT NUMBER,
POUTRSNMSG OUT VARCHAR2) AS
BEGIN
-- TODO: Implementation required for procedure PKKDSCMSCNTRCTHHIST.INS_HEADER_HIST
INSERT INTO KDSCMSCNTRCTHHIST
(CNTRCTHHISTID, CNTRCTHHISTSDATE,CNTRCTHHISTEDATE,CNTRCTHHISTCDAT,CNTRCTHHISTMDAT, CNTRCTHHISTCRBY,CNTRCTHHISTMOBY,CNTRCTHHISTNMOD,CNTRCTHHISTCOMP,CNTRCTHHISTLNUM,CNTRCTHHISTLASTLOC)
VALUES
(KDSCMSCNTRCTHHIST_SEQ.NEXTVAL, PCNTRCTHHISTSDATE, PCNTRCTHHISTEDATE,CURRENT_DATE,CURRENT_DATE, PCNTRCTHHISTCRBY,PCNTRCTHHISTCRBY,0,PCNTRCTHHISTCOMP, PCNTRCTHHISTLNUM,PCNTRCTHHISTLASTLOC);
POUTRSNCODE := 1;
POUTRSNMSG := 'SUCCESS INSERTING';

EXCEPTION
WHEN OTHERS THEN

POUTRSNCODE := -99;  
POUTRSNMSG := 'FAILED INSERT';  
   
PKKDSCMSLOG.WRITELOG(SQLCODE, SUBSTR(SQLERRM, 1, 200), PCNTRCTHHISTCRBY, 'PCNTRCTHHISTCRBY.INS\_HEADER\_HIST', PCNTRCTHHISTCOMP);  

NULL;
END INS_HEADER_HIST;

PROCEDURE UPD_HEADER_HIST(
PCNTRCTHHISTID IN NUMBER,
PCNTRCTHHISTSDATE IN DATE,
PCNTRCTHHISTEDATE IN DATE,
PCNTRCTHHISTCRBY VARCHAR2,
PCNTRCTHHISTCOMP VARCHAR2,
PCNTRCTHHISTLNUM NUMBER,
PCNTRCTHHISTLASTLOC VARCHAR2,
POUTRSNCODE OUT NUMBER,
POUTRSNMSG OUT VARCHAR2) AS

  var TCNTRCTHHISTID NUMBER;  
  var locationChangeDate DATE;  

BEGIN
TCNTRCTHHISTID :='141';
locationChangeDate := '07-DEC-21';
-- TODO: Implementation required for PROCEDURE PKKDSCMSCNTRCTH.UPD_DATA
UPDATE KDSCMSCNTRCTHHIST
SET CNTRCTHHISTEDATE = DATEADD(day, - 1, locationChangeDate)
WHERE CNTRCTHHISTID = TCNTRCTHHISTID
AND CNTRCTHHISTCOMP = PCNTRCTHHISTCOMP;

NULL;  

END UPD_HEADER_HIST;
END PKKDSCMSCNTRCTHHIST;

Comments
Post Details
Added on Dec 8 2021
11 comments
389 views