Patch level :2.1 crpa personalizzazione
Files correlati : Ricompilazione Demo : [ ] Commento :rimossi files inutili nella dir crpa git-svn-id: svn://10.65.10.50/trunk@12247 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
137797e17c
commit
e3e8cf0f5d
103
crpa/crpa.dsp
103
crpa/crpa.dsp
@ -1,103 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="crpa" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=crpa - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "crpa.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "crpa.mak" CFG="crpa - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "crpa - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "crpa - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "crpa - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /W3 /GX /O2 /I "c:\oracle\ora90\oci\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
# ADD BASE RSC /l 0x410 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x410 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "crpa - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "c:\oracle\ora90\oci\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /X /YX /Yc /Yu
|
|
||||||
# ADD BASE RSC /l 0x410 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x410 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\oracle\ora90\oci\lib\msvc\oraocci9.lib /nologo /subsystem:console /debug /machine:I386 /out:"d:\u\cris\v17.aga\exe\crpa.exe" /pdbtype:sept
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "crpa - Win32 Release"
|
|
||||||
# Name "crpa - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Crpa.cpp
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
@ -1,29 +0,0 @@
|
|||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "crpa"=.\crpa.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
613
crpa/pmc.sql
613
crpa/pmc.sql
@ -1,613 +0,0 @@
|
|||||||
CREATE TABLE PRACTOR_LOG (
|
|
||||||
LOG_ID NUMBER (10) NOT NULL,
|
|
||||||
TIPO VARCHAR2 (25) NOT NULL,
|
|
||||||
DATA DATE NOT NULL,
|
|
||||||
UTENTE VARCHAR2 (240) NOT NULL,
|
|
||||||
TESTO VARCHAR2 (240),
|
|
||||||
CONSTRAINT PRACTOR_LOGXP
|
|
||||||
PRIMARY KEY ( LOG_ID ) )
|
|
||||||
/
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE prcLog (vMessage PRACTOR_LOG.testo%TYPE) IS vErrMsg VARCHAR2(100);
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO PRACTOR_LOG VALUES (note_seq.NEXTVAL, '-', SYSDATE, USER, vMessage);
|
|
||||||
-- dbms_output.put_line(vMessage);
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
vErrMsg := SQLERRM(SQLCODE);
|
|
||||||
INSERT INTO PRACTOR_LOG VALUES (note_seq.NEXTVAL, '-', SYSDATE, USER, vErrMsg);
|
|
||||||
END prcLog;
|
|
||||||
/
|
|
||||||
|
|
||||||
CREATE TABLE SMC_PRJDOC_T146 (
|
|
||||||
UNICO NUMBER,
|
|
||||||
ARCH VARCHAR2 (10) NOT NULL,
|
|
||||||
UNICARCH NUMBER NOT NULL,
|
|
||||||
DTATRASF DATE,
|
|
||||||
TIPDOC VARCHAR2 (2),
|
|
||||||
DESDOC VARCHAR2 (100),
|
|
||||||
NUMDOC VARCHAR2 (20),
|
|
||||||
DTADOC DATE,
|
|
||||||
NUMDOCFIS VARCHAR2 (20),
|
|
||||||
DTADOCFIS DATE,
|
|
||||||
DTAPERT DATE,
|
|
||||||
AZIENDA VARCHAR2 (3),
|
|
||||||
TIPANA VARCHAR2 (1),
|
|
||||||
CODCF VARCHAR2 (10),
|
|
||||||
CODVAL VARCHAR2 (3),
|
|
||||||
CONSTRAINT T146XP
|
|
||||||
PRIMARY KEY ( ARCH, UNICARCH ) )
|
|
||||||
/
|
|
||||||
|
|
||||||
ALTER TABLE SMC_PRJDOC_T146 ADD CONSTRAINT R011146
|
|
||||||
FOREIGN KEY (CODVAL)
|
|
||||||
REFERENCES PMC.VL_T011 (C_VL)
|
|
||||||
/
|
|
||||||
|
|
||||||
CREATE TABLE SMC_PRJDET_T147 (
|
|
||||||
UNICO NUMBER,
|
|
||||||
ARCH VARCHAR2 (10) NOT NULL,
|
|
||||||
UNICARCH NUMBER NOT NULL,
|
|
||||||
UNICRIGA NUMBER NOT NULL,
|
|
||||||
CODART VARCHAR2 (15),
|
|
||||||
DESART VARCHAR2 (70),
|
|
||||||
QUANT NUMBER,
|
|
||||||
UNMIS VARCHAR2 (3),
|
|
||||||
CONSAL VARCHAR2 (1),
|
|
||||||
IMPVAL NUMBER,
|
|
||||||
NUMCOMM VARCHAR2 (15),
|
|
||||||
CODATTCM VARCHAR2 (10),
|
|
||||||
ELSPESA VARCHAR2 (10),
|
|
||||||
CENTCOST VARCHAR2 (6),
|
|
||||||
DTACONS DATE,
|
|
||||||
RIFRICH VARCHAR2 (20),
|
|
||||||
RIFORD VARCHAR2 (20),
|
|
||||||
RIFBOL VARCHAR2 (20),
|
|
||||||
CODVAL VARCHAR2 (3),
|
|
||||||
STATO_IMP VARCHAR2 (1),
|
|
||||||
SEGNO VARCHAR2 (1),
|
|
||||||
CONSTRAINT T147XP
|
|
||||||
PRIMARY KEY ( ARCH, UNICARCH, UNICRIGA ) )
|
|
||||||
|
|
||||||
/
|
|
||||||
|
|
||||||
ALTER TABLE SMC_PRJDET_T147 ADD CONSTRAINT C146147
|
|
||||||
FOREIGN KEY (ARCH, UNICARCH)
|
|
||||||
REFERENCES PMC.SMC_PRJDOC_T146 (ARCH, UNICARCH) ON DELETE CASCADE
|
|
||||||
|
|
||||||
/
|
|
||||||
|
|
||||||
ALTER TABLE SMC_PRJDET_T147 ADD CONSTRAINT R011147
|
|
||||||
FOREIGN KEY (CODVAL)
|
|
||||||
REFERENCES PMC.VL_T011 (C_VL)
|
|
||||||
|
|
||||||
/
|
|
||||||
|
|
||||||
CREATE OR REPLACE TRIGGER SMC_PRJDET_G147_01 BEFORE INSERT ON SMC_PRJDET_T147 FOR EACH ROW
|
|
||||||
DECLARE
|
|
||||||
TIPO SMC_PRJDOC_T146.TIPDOC%TYPE;
|
|
||||||
ATTIVITA SMC_PRJDET_T147.CODATTCM%TYPE;
|
|
||||||
PROJ PROG_T056.C_PROG%TYPE;
|
|
||||||
COSTO COSTO_AGRT_T022.P_COSTO%TYPE;
|
|
||||||
CAMBIORIF VL_T011.I_CB_CONS%TYPE;
|
|
||||||
CAMBIOPRJ VL_T011.I_CB_CONS%TYPE;
|
|
||||||
VALPRJ VL_T011.C_VL%TYPE;
|
|
||||||
ERRMSG PRACTOR_LOG.TESTO%TYPE;
|
|
||||||
baseERRMSG PRACTOR_LOG.TESTO%TYPE;
|
|
||||||
TCLASSE COSTO_AGRT_T022.T_CLASSE%TYPE;
|
|
||||||
numcosti NUMERIC;
|
|
||||||
CODCURVA CRV_DSBN_T013.C_CRV%TYPE;
|
|
||||||
|
|
||||||
DESSPESA CLASSE_DI_COSTO_T043.S_CLASSE%TYPE;
|
|
||||||
BASEINI DATE;
|
|
||||||
BASEFIN DATE;
|
|
||||||
FORINI DATE;
|
|
||||||
FORFIN DATE;
|
|
||||||
PELMNT STRU_T087.P_ELMNT%TYPE;
|
|
||||||
CBS PROG_T056.C_STRU%TYPE;
|
|
||||||
STIMA COSTO_AGRT_T022.I_STIMA_CMPL%TYPE;
|
|
||||||
BDG_REV COSTO_AGRT_T022.I_BDG_REV%TYPE;
|
|
||||||
COMM COSTO_AGRT_T022.I_COMM%TYPE;
|
|
||||||
ACEM COSTO_AGRT_T022.I_ACEM%TYPE;
|
|
||||||
CONS COSTO_AGRT_T022.I_CONS%TYPE;
|
|
||||||
CNTBZ COSTO_AGRT_T022.I_CNTBZ%TYPE;
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
Prclog('-- Nuovo documento -----------------------------------------------------------------------------------');
|
|
||||||
Prclog('-- ARCH: '||:NEW.ARCH);
|
|
||||||
Prclog('-- UNICARCH: '||:NEW.UNICARCH);
|
|
||||||
Prclog('-- RIGA: '||:NEW.UNICRIGA);
|
|
||||||
-- Tipo documento
|
|
||||||
SELECT NVL(TIPDOC,'XX') INTO TIPO FROM SMC_PRJDOC_T146
|
|
||||||
WHERE
|
|
||||||
ARCH = :NEW.ARCH
|
|
||||||
AND UNICARCH = :NEW.UNICARCH;
|
|
||||||
Prclog('Tipo documento: '||TIPO);
|
|
||||||
|
|
||||||
IF TIPO <> 'XX' THEN
|
|
||||||
-- Ottengo il codice interno del progetto, il codice della valuta e il codice della
|
|
||||||
-- CBS di progetto. Il campo NUMCOMM del documento contiene il nome
|
|
||||||
-- del progetto (campo S_PROG_NOM della tabella PROG_T056).
|
|
||||||
-- Il nome Š univoco.
|
|
||||||
SELECT
|
|
||||||
C_PROG, NVL(C_VL, 'EUR'), C_STRU
|
|
||||||
INTO
|
|
||||||
PROJ, VALPRJ, CBS
|
|
||||||
FROM
|
|
||||||
PROG_T056
|
|
||||||
WHERE
|
|
||||||
S_PROG_NOM = :NEW.NUMCOMM;
|
|
||||||
-- log
|
|
||||||
Prclog('Codice progetto: '||PROJ);
|
|
||||||
Prclog('Codice valuta: '||VALPRJ);
|
|
||||||
Prclog('Codice CBS: '||CBS);
|
|
||||||
|
|
||||||
IF PROJ >= 0 THEN
|
|
||||||
-- CODICE COSTO
|
|
||||||
-- Controllo l'esistenza di un costo che abbia l'incrocio
|
|
||||||
-- corretto fra voce di spesa e attivit…
|
|
||||||
-- ELSPESA <--> S_NOME (voce dispesa ovvero nome del costo)
|
|
||||||
-- CODATTCM <--> TASK_UID (codice attivit…)
|
|
||||||
SELECT
|
|
||||||
NVL(COUNT(*),0)
|
|
||||||
INTO
|
|
||||||
NUMCOSTI
|
|
||||||
FROM
|
|
||||||
COSTO_AGRT_T022
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND S_NOME = :NEW.ELSPESA
|
|
||||||
AND TASK_UID = :NEW.CODATTCM;
|
|
||||||
-- 'SELECT NVL(P_COSTO,-1) INTO COSTO FROM COSTO_AGRT_T022 WHERE C_PROG = '||PROJ||' AND S_NOME = '||:NEW.ELSPESA||' AND TASK_UID = '||:NEW.CODATTCM||';';
|
|
||||||
|
|
||||||
IF NUMCOSTI = 0 THEN
|
|
||||||
-- Valori del costo
|
|
||||||
STIMA := 0;
|
|
||||||
BDG_REV := 0;
|
|
||||||
COMM := 0;
|
|
||||||
ACEM := 0;
|
|
||||||
CONS := 0;
|
|
||||||
CNTBZ := 0;
|
|
||||||
Prclog('Manca il costo ('||:NEW.ELSPESA||'), procedo all''inserimento.');
|
|
||||||
-- Codice costo
|
|
||||||
SELECT S022_P_COSTO.NEXTVAL INTO COSTO FROM dual;
|
|
||||||
Prclog('Nuovo codice costo: '||COSTO);
|
|
||||||
-- CODICE CURVA LINEARE (di default uso la curva lineare del progetto)
|
|
||||||
-- Il campo A_CRV_SIS indica il tipo di curva di sistema.
|
|
||||||
SELECT NVL(C_CRV, -1) INTO CODCURVA FROM CRV_DSBN_T013
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND A_CRV_SIS = 4;
|
|
||||||
Prclog('Codice curva lineare: '||CODCURVA);
|
|
||||||
-- DESCRIZIONE VOCE DI COSTO
|
|
||||||
-- Il campo nome contiene il codice della classe di costo,
|
|
||||||
-- Il campo descrizione contiene la descrizione della classe di costo
|
|
||||||
SELECT
|
|
||||||
NVL(S_CLASSE,'<Descrizione classe di costo>') INTO DESSPESA
|
|
||||||
FROM
|
|
||||||
CLASSE_DI_COSTO_T043
|
|
||||||
WHERE
|
|
||||||
C_CLASSE = :NEW.elspesa;
|
|
||||||
Prclog('Descrizione classe di costo: '||DESSPESA);
|
|
||||||
-- DATE RELATIVI ALL'ATTIVITA DI PROJECT
|
|
||||||
SELECT
|
|
||||||
NVL(TASK_BASE_START, SYSDATE()), NVL(TASK_BASE_FINISH, SYSDATE()), NVL(TASK_START_DATE, SYSDATE()), NVL(TASK_FINISH_DATE, SYSDATE())
|
|
||||||
INTO
|
|
||||||
BASEINI, BASEFIN, FORINI, FORFIN
|
|
||||||
FROM
|
|
||||||
MSP_TASKS
|
|
||||||
WHERE
|
|
||||||
PROJ_ID = PROJ
|
|
||||||
AND TASK_UID = :NEW.CODATTCM;
|
|
||||||
Prclog('Inizio: '||BASEINI||' Fine: '||BASEFIN||' Inizio forecast: '||FORINI||' Fine forecast: '||FORFIN);
|
|
||||||
-- CAMBIO DEL PROGETTO
|
|
||||||
SELECT NVL(I_CB_CONS, 1) INTO CAMBIOPRJ FROM VL_T011 WHERE C_VL = VALPRJ;
|
|
||||||
Prclog('Cambio: '||CAMBIOPRJ);
|
|
||||||
|
|
||||||
-- NODO CBS
|
|
||||||
-- Seleziono il nodo della CBS a cui associare il costo.
|
|
||||||
-- I nodi della CBS sono stati strutturati in modo che
|
|
||||||
-- rappresentino le voci di spesa del piano dei costi.
|
|
||||||
-- I primi due caratteri del nome del costo coincidono
|
|
||||||
-- con il nome della classe di costo inserita nella CBS.
|
|
||||||
-- es. voce di spesa (ELSPESA): 211 -- Emolumenti amministratori
|
|
||||||
-- Nella CBS andr… agganciata al nodo (C_ELMNT) 21 -- Stipendi
|
|
||||||
-- Si suppone che C_ELMNT sia univoco nella CBS. Non esiste per•
|
|
||||||
-- un indice nel database.
|
|
||||||
SELECT NVL(P_ELMNT,-1), NVL(T_CLASSE, 'C') INTO PELMNT, TCLASSE FROM
|
|
||||||
STRU_T087
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND C_STRU = CBS
|
|
||||||
AND C_ELMNT = SUBSTR(:NEW.ELSPESA,1,2);
|
|
||||||
--PRCLOG('SELECT NVL(P_ELMNT,-1) INTO PELMNT FROM STRU_T087 WHERE C_PROG = '||PROJ||' AND C_STRU = '''||CBS||''' AND C_ELMNT = SUBSTR('''||:NEW.ELSPESA||''',1,2);');
|
|
||||||
Prclog('Nodo ('||SUBSTR(:NEW.ELSPESA,1,2)||'): '||PELMNT);
|
|
||||||
IF PELMNT = -1 THEN
|
|
||||||
-- ATTACCO IL COSTO ALLA ROOT
|
|
||||||
SELECT NVL(P_ELMNT,-1) INTO PELMNT FROM
|
|
||||||
STRU_T087
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND C_STRU = CBS
|
|
||||||
AND P_ELMNT_PDR IS NULL;
|
|
||||||
TCLASSE := 'C';
|
|
||||||
Prclog('Nodo ('||SUBSTR(:NEW.ELSPESA,1,2)||') non trovato. Root: '||PELMNT);
|
|
||||||
|
|
||||||
END IF;
|
|
||||||
IF PELMNT >= 0 THEN
|
|
||||||
-- Inserimento
|
|
||||||
INSERT INTO COSTO_AGRT_T022
|
|
||||||
(C_PROG, P_COSTO, S_DES, C_VL, C_CRV, D_INI_ORIG, D_FIN_ORIG, D_INI_REVIS, D_FIN_REVIS, PROJ_UID, TASK_UID, F_EARNED, S_NOME, T_CLASSE)
|
|
||||||
VALUES
|
|
||||||
(PROJ, COSTO, DESSPESA, VALPRJ, CODCURVA, BASEINI, BASEFIN, FORINI, FORFIN, PROJ, :NEW.CODATTCM, 0, :NEW.ELSPESA, TCLASSE);
|
|
||||||
-- ASSOCIAZIONE ALLA CBS
|
|
||||||
INSERT INTO ASCN_STRU_T021
|
|
||||||
(C_PROG, P_ELMNT, P_COSTO)
|
|
||||||
VALUES
|
|
||||||
(PROJ, PELMNT, COSTO);
|
|
||||||
ELSE
|
|
||||||
Prclog('Impossibile trovare un nodo nella CBS per il costo ('||SUBSTR(:NEW.ELSPESA,1,2)||').');
|
|
||||||
END IF; -- pelmnt >= 0
|
|
||||||
|
|
||||||
ELSE -- NUMCOSTI = 0
|
|
||||||
|
|
||||||
-- il costo esiste: ottengo il codice, il tipo e la stima a completamento
|
|
||||||
SELECT
|
|
||||||
NVL(P_COSTO, -1), NVL(T_CLASSE,'C'), NVL(I_STIMA_CMPL, 0), NVL(I_BDG_REV, 0),
|
|
||||||
NVL(I_COMM, 0), NVL(I_ACEM, 0), NVL(I_CONS, 0), NVL(CNTBZ, 0)
|
|
||||||
INTO
|
|
||||||
COSTO, TCLASSE, STIMA, BDG_REV,
|
|
||||||
COMM, ACEM, CONS, CNTBZ
|
|
||||||
FROM
|
|
||||||
COSTO_AGRT_T022
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND S_NOME = :NEW.ELSPESA
|
|
||||||
AND TASK_UID = :NEW.CODATTCM;
|
|
||||||
Prclog('Codice costo: '||COSTO);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF COSTO >= 0 THEN
|
|
||||||
Prclog('Aggiornamento valori del costo ('||COSTO||').');
|
|
||||||
-- CAMBIO DEL PROGETTO
|
|
||||||
SELECT NVL(I_CB_CONS, 0) INTO CAMBIOPRJ FROM VL_T011 WHERE C_VL = VALPRJ;
|
|
||||||
Prclog('Valore cambio: '||CAMBIOPRJ );
|
|
||||||
IF CAMBIOPRJ > 0 THEN
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
-- ORDINE DI ACQUISTO
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
IF TIPO = 'OA' THEN
|
|
||||||
Prclog ('Tipo documento: OA');
|
|
||||||
Prclog ('Importo: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_COMM = NVL(I_COMM,0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_COMM_VL = NVL(I_COMM_VL,0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_COMM_CURR = NVL(I_COMM_CURR,0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_COMM_CURR_VL = NVL(I_COMM_CURR_VL,0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
|
|
||||||
COMM := COMM + NVL(:NEW.IMPVAL, 0);
|
|
||||||
Prclog('Impeganto: '||COMM||' Budget: '||BDG_REV||' Stima a completamento: '||STIMA );
|
|
||||||
|
|
||||||
-- Se l'impegnato supera il budget aumento la stima a finire
|
|
||||||
IF COMM > STIMA THEN
|
|
||||||
Prclog('Aggiorno la stima a completamento.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_STIMA_CMPL = COMM,
|
|
||||||
I_STIMA_CMPL_VL = COMM * CAMBIOPRJ
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
:NEW.STATO_IMP := 'I';
|
|
||||||
END IF;
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
-- BOLLA DI ENTRATA
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
IF TIPO = 'BA' THEN
|
|
||||||
Prclog ('Tipo documento: BA');
|
|
||||||
Prclog ('Importo: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_ACEM = NVL(I_ACEM, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_VL = NVL(I_ACEM_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_ACEM_CURR = NVL(I_ACEM_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_CURR_VL = NVL(I_ACEM_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
|
|
||||||
ACEM := ACEM + NVL(:NEW.IMPVAL, 0);
|
|
||||||
Prclog('Maturato: '||ACEM||' Budget: '||BDG_REV||' Stima a completamento: '||STIMA );
|
|
||||||
|
|
||||||
-- Se l'impegnato supera il budget aumento la stima a finire
|
|
||||||
IF ACEM > STIMA THEN
|
|
||||||
Prclog('Aggiorno la stima a completamento.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_STIMA_CMPL = ACEM,
|
|
||||||
I_STIMA_CMPL_VL = ACEM * CAMBIOPRJ
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
:NEW.STATO_IMP := 'I';
|
|
||||||
END IF;
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
-- FATTURA DI ACQUISTO
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
IF TIPO = 'FA' THEN
|
|
||||||
Prclog ('FA');
|
|
||||||
Prclog ('IMPORTO: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CONS = NVL(I_CONS, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CONS_VL = NVL(I_CONS_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CONS_CURR = NVL(I_CONS_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CONS_CURR_VL = NVL(I_CONS_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
|
|
||||||
CONS := CONS + NVL(:NEW.IMPVAL, 0);
|
|
||||||
Prclog('Fatturato: '||CONS||' Budget: '||BDG_REV||' Stima a completamento: '||STIMA );
|
|
||||||
|
|
||||||
-- Se l'impegnato supera il budget aumento la stima a finire
|
|
||||||
IF CONS > STIMA THEN
|
|
||||||
Prclog('Aggiorno la stima a completamento.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_STIMA_CMPL = CONS,
|
|
||||||
I_STIMA_CMPL_VL = CONS * CAMBIOPRJ
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
:NEW.STATO_IMP := 'I';
|
|
||||||
END IF;
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
-- Movimento dalla contabilit… analitica
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
IF TIPO = 'AN' THEN
|
|
||||||
Prclog ('Movimento dalla contabilit… analitica.');
|
|
||||||
Prclog ('Importo: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
Prclog ('Segno: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
Prclog ('Classe: '||TCLASSE);
|
|
||||||
IF TCLASSE = 'C' THEN
|
|
||||||
-- Costo
|
|
||||||
IF NVL(:NEW.SEGNO, 'D') = 'D' THEN
|
|
||||||
-- Dare
|
|
||||||
Prclog ('Operazione: sommo contabilizzato e maturato.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_ACEM = NVL(I_ACEM, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_VL = NVL(I_ACEM_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_ACEM_CURR = NVL(I_ACEM_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_CURR_VL = NVL(I_ACEM_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
ELSE
|
|
||||||
-- Avere
|
|
||||||
Prclog ('Operazione: sottraggo contabilizzato e maturato.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_ACEM = NVL(I_ACEM, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_VL = NVL(I_ACEM_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_ACEM_CURR = NVL(I_ACEM_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_CURR_VL = NVL(I_ACEM_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
ELSE
|
|
||||||
-- Ricavo
|
|
||||||
IF NVL(:NEW.SEGNO, 'D') = 'D' THEN
|
|
||||||
-- Dare
|
|
||||||
Prclog ('Operazione: sottraggo contabilizzato e maturato.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_ACEM = NVL(I_ACEM, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_VL = NVL(I_ACEM_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_ACEM_CURR = NVL(I_ACEM_CURR, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_CURR_VL = NVL(I_ACEM_CURR_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
ELSE
|
|
||||||
-- Avere
|
|
||||||
Prclog ('Operazione: sommo contabilizzato e maturato.');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_ACEM = NVL(I_ACEM, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_VL = NVL(I_ACEM_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_ACEM_CURR = NVL(I_ACEM_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_ACEM_CURR_VL = NVL(I_ACEM_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
END IF; -- T_CLASSE = 'C'
|
|
||||||
|
|
||||||
-- CNTBZ := CNTBZ + NVL(:NEW.IMPVAL, 0);
|
|
||||||
-- ACEM := ACEM + NVL(:NEW.IMPVAL, 0);
|
|
||||||
-- Prclog('Contabilizzato: '||CNTBZ||' Maturato: '||ACEM||' Budget: '||BDG_REV||' Stima a completamento: '||STIMA );
|
|
||||||
-- -- Se il maturato o il contabilizzato superano il budget aumento la stima a finire
|
|
||||||
-- IF CNTBZ < ACEM THEN
|
|
||||||
-- CNTBZ := ACEM;
|
|
||||||
-- END IF;
|
|
||||||
-- IF (CNTBZ > STIMA) THEN
|
|
||||||
-- Prclog('Aggiorno la stima a completamento.');
|
|
||||||
-- UPDATE COSTO_AGRT_T022
|
|
||||||
-- SET
|
|
||||||
-- I_STIMA_CMPL = CNTBZ,
|
|
||||||
-- I_STIMA_CMPL_VL = CNTBZ * CAMBIOPRJ
|
|
||||||
-- WHERE
|
|
||||||
-- C_PROG = PROJ
|
|
||||||
-- AND P_COSTO = COSTO;
|
|
||||||
-- END IF;
|
|
||||||
|
|
||||||
:NEW.STATO_IMP := 'I';
|
|
||||||
|
|
||||||
END IF;
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
-- Movimento dalla contabilit… analitica derivante da un documento.
|
|
||||||
-- ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *****
|
|
||||||
IF TIPO = 'FM' THEN
|
|
||||||
Prclog ('Movimento dalla contabilit… analitica derivante da un documento.');
|
|
||||||
Prclog ('Importo: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
Prclog ('Segno: '||NVL(:NEW.IMPVAL, 0));
|
|
||||||
Prclog ('Classe: '||TCLASSE);
|
|
||||||
|
|
||||||
IF TCLASSE = 'C' THEN
|
|
||||||
-- Costo
|
|
||||||
IF NVL(:NEW.SEGNO, 'D') = 'D' THEN
|
|
||||||
-- Dare
|
|
||||||
Prclog ('Contabilit… analitica, Costo, Dare (+).');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
ELSE
|
|
||||||
-- Avere
|
|
||||||
Prclog ('Contabilit… analitica, Costo, Avere (-).');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
ELSE
|
|
||||||
-- Ricavo
|
|
||||||
IF NVL(:NEW.SEGNO, 'D') = 'D' THEN
|
|
||||||
-- Dare
|
|
||||||
Prclog ('Contabilit… analitica, Ricavo, Dare (-).');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) - NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) - NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
ELSE
|
|
||||||
-- Avere
|
|
||||||
Prclog ('Contabilit… analitica, Ricavo, Avere (+).');
|
|
||||||
UPDATE COSTO_AGRT_T022
|
|
||||||
SET
|
|
||||||
I_CNTBZ = NVL(I_CNTBZ, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_VL = NVL(I_CNTBZ_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
I_CNTBZ_CURR = NVL(I_CNTBZ_CURR, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_CNTBZ_CURR_VL = NVL(I_CNTBZ_CURR_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ,
|
|
||||||
|
|
||||||
I_STIMA_CMPL = NVL(I_STIMA_CMPL, 0) + NVL(:NEW.IMPVAL, 0),
|
|
||||||
I_STIMA_CMPL_VL = NVL(I_STIMA_CMPL_VL, 0) + NVL(:NEW.IMPVAL, 0) * CAMBIOPRJ
|
|
||||||
|
|
||||||
WHERE
|
|
||||||
C_PROG = PROJ
|
|
||||||
AND P_COSTO = COSTO;
|
|
||||||
END IF;
|
|
||||||
END IF; -- T_CLASSE = 'C'
|
|
||||||
|
|
||||||
-- CNTBZ := CNTBZ + NVL(:NEW.IMPVAL, 0);
|
|
||||||
--
|
|
||||||
-- Prclog('Contabilizzato: '||CNTBZ||' Budget: '||BDG_REV||' Stima a completamento: '||STIMA );
|
|
||||||
-- -- Se il maturato o il contabilizzato superano il budget aumento la stima a finire
|
|
||||||
-- IF (CNTBZ > STIMA) THEN
|
|
||||||
-- Prclog('Aggiorno la stima a completamento.');
|
|
||||||
-- UPDATE COSTO_AGRT_T022
|
|
||||||
-- SET
|
|
||||||
-- I_STIMA_CMPL = CNTBZ,
|
|
||||||
-- I_STIMA_CMPL_VL = CNTBZ * CAMBIOPRJ
|
|
||||||
-- WHERE
|
|
||||||
-- C_PROG = PROJ
|
|
||||||
-- AND P_COSTO = COSTO;
|
|
||||||
-- END IF;
|
|
||||||
|
|
||||||
:NEW.STATO_IMP := 'I';
|
|
||||||
END IF; -- TIPO = 'FM
|
|
||||||
ELSE
|
|
||||||
PrcLog('Cambio non trovato ('||VALPRJ||').');
|
|
||||||
END IF; -- CAMBIOPRJ > 0
|
|
||||||
END IF;
|
|
||||||
ELSE
|
|
||||||
Prclog ('Il nome del progetto ('||:NEW.NUMCOMM||') non Š stato trovato.');
|
|
||||||
END IF; -- PROJ > 0
|
|
||||||
else -- Tipo documento
|
|
||||||
Prclog ('Manca il tipo documento.');
|
|
||||||
END IF; -- Tipo documento
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
Prclog ('ERRORE: '|| SQLERRM(SQLCODE));
|
|
||||||
|
|
||||||
END;
|
|
||||||
/
|
|
@ -1,4 +0,0 @@
|
|||||||
create tablespace pmc001td
|
|
||||||
datafile 'g:\oracle\appdata\crpa\pmc001td.dbf' size 32M;
|
|
||||||
create tablespace pmc001ti
|
|
||||||
datafile 'g:\oracle\appdata\crpa\pmc001ti.dbf' size 10M;
|
|
@ -1,8 +0,0 @@
|
|||||||
create user pmc
|
|
||||||
identified by pmc
|
|
||||||
default tablespace pmc001td
|
|
||||||
quota unlimited on pmc001td
|
|
||||||
temporary tablespace temp;
|
|
||||||
alter user pmc
|
|
||||||
quota unlimited on pmc001ti;
|
|
||||||
grant connect, resource to pmc;
|
|
Loading…
x
Reference in New Issue
Block a user