Closed firebird-automations closed 17 years ago
Commented by: @dyemanov
You need to provide the UDF library, otherwise it's impossible to run your script.
Commented by: Massimo (setec_astronomy)
I send you the UDF
Commented by: @dyemanov
Your plus_ib.dll library seems to allocate output CSTRING parameters using malloc(). That's plain wrong. It should use ib_util_malloc() from ib_util.dll instead. Also check that all UDFs are defined using "cdecl" calling convention.
Commented by: Massimo (setec_astronomy)
Source code of UDF
Commented by: Massimo (setec_astronomy)
Please consider to change Priority to critical, for an error I check Blocker Thanks
Commented by: @dyemanov
It's your problem, not a Firebird one. Your UDFs are implemented wrong.
function DecodeMonth(var AMonth: integer; ARet: PChar): PChar; cdecl; export; begin //Max return length 9 ARet := malloc(10); result := ARet;
if ((AMonth > 0) and (AMonth < 13)) then StrCopy(ARet, PChar(LongMonthNames[AMonth])) else StrCopy(ARet, #0); end;
If you define an output parameter using FREE_IT clause, then you should allocate memory for it using function ib_util_malloc() that's exported from ib_util.dll (included in the package). Otherwise, there's no guarantee that your UDF uses the same memory allocator as the FB engine. Your library uses malloc() imported from msvcrt.dll, while Firebird imports C runtime from msvcr71.dll.
Please read the documentation carefully. The easiest way to fix your library is to replace: function malloc(Size: Integer): Pointer; cdecl; external 'msvcrt.dll'; with: function malloc(Size: Integer): Pointer; cdecl; external 'ib_util.dll' name 'ib_util_malloc';
Commented by: Massimo (setec_astronomy)
Thanks for response I see how to call UDF in Delphi at this link http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_howto2 and I not find any other, please tell me where I can find doc on UDF
Thanks for help
Commented by: @dyemanov
Even the document you're referring to contains the note about memory allocation using ib_util.dll (section "Memory allocation issues"). You can also find more information in InterBase Developer's Guide, page 78. It's available at IBPhoenix: http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download_documentation
Submitted by: Massimo (setec_astronomy)
Attachments: Plus_ib.dll ib_udf.dll UDF.zip
When executing query below engine respond with connection lost to database I post the database dump and the query
Query
SELECT A.STHOSTESS, A.STBRIEFING, A.STREPORT, A.DSPROMOZIONE, A.DSCAMPAGNA, A.CDMESE, A.DSMESE, A.CDANNO, A.DSCOMUNEPV, A.CDPROVINCIAPV, A.DSCOPERTURA, A.DSINSEGNA, A.DSDISPLAYINSEGNA, MIN_DT, MAX_DT, NUM_G, A.CDPUNTOVENDITA, A.CDJOB, A.CDCOPERTURA, A.CDAGENZIA, A.CDOPERATORE, A.NMPREFERENZIALE, A.CDCAMPAGNA, A.CDPROMOZIONE, B.STATTIVITA, B.STMAGAZZINO, B.STSPEDIZIONE, B.STCONSEGNA, B.STRITIRO, A.DSATTIVITA, A.DSOPERATORE FROM VIEW_ALL_INSTORE A LEFT JOIN VIEW_LOGISTICA_MIN B ON A.CDJOB = B.CDJOB WHERE NOT A.CDJOB IS NULL ORDER BY A.DSPROMOZIONE
Database
/******************************************************************************/ /*** Generated by IBExpert 2006.12.10 16/01/2007 23.22.20 ***/ /******************************************************************************/
SET SQL DIALECT 3;
SET NAMES NONE;
/******************************************************************************/ /*** User Defined Functions ***/ /******************************************************************************/
DECLARE EXTERNAL FUNCTION AGE DATE RETURNS INTEGER BY VALUE ENTRY_POINT 'Age' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION DAYOFWEEK DATE RETURNS INTEGER BY VALUE ENTRY_POINT 'OrdDayOfWeek' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION DISPLAYINSEGNA INTEGER, CSTRING(55), INTEGER, CSTRING(55), INTEGER, CSTRING(55), INTEGER, CSTRING(155), INTEGER, CSTRING(55) RETURNS CSTRING(375) FREE_IT ENTRY_POINT 'CalculateDisplayInsegna' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION INTDAY DATE RETURNS INTEGER BY VALUE ENTRY_POINT 'IntDay' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION INTMONTH DATE RETURNS INTEGER BY VALUE ENTRY_POINT 'IntMonth' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION INTYEAR DATE RETURNS INTEGER BY VALUE ENTRY_POINT 'IntYear' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION STRMONTH INTEGER RETURNS CSTRING(10) FREE_IT ENTRY_POINT 'DecodeMonth' MODULE_NAME 'Plus_ib.dll';
DECLARE EXTERNAL FUNCTION SUBSTR CSTRING(255), SMALLINT, SMALLINT RETURNS CSTRING(255) FREE_IT ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION XLATENUMTOSTR CSTRING(255), INTEGER RETURNS CSTRING(255) FREE_IT ENTRY_POINT 'XlateNumToStr' MODULE_NAME 'Plus_ib.dll';
/******************************************************************************/ /*** Domains ***/ /******************************************************************************/
CREATE DOMAIN ANNO AS SMALLINT CHECK (VALUE > 0);
CREATE DOMAIN BOOLEAN AS SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE BETWEEN 0 AND 1);
CREATE DOMAIN CAP AS CHAR(5);
CREATE DOMAIN DESCRIZIONE AS VARCHAR(50);
CREATE DOMAIN DESCRIZIONE_LUNGA AS VARCHAR(100);
CREATE DOMAIN DESCRIZIONE_SHORT AS VARCHAR(5);
CREATE DOMAIN EURO AS NUMERIC(12,2) DEFAULT 0 NOT NULL;
CREATE DOMAIN FIB$BOOLEAN AS SMALLINT DEFAULT 1 NOT NULL CHECK (VALUE IN (0,1));
CREATE DOMAIN FISCALE AS VARCHAR(16);
CREATE DOMAIN MESE AS SMALLINT CHECK(VALUE BETWEEN 1 AND 12);
CREATE DOMAIN NMGGWEEK AS SMALLINT CHECK (VALUE BETWEEN 1 AND 7);
CREATE DOMAIN NOTE AS VARCHAR(250);
CREATE DOMAIN PARTITAIVA AS VARCHAR(11);
CREATE DOMAIN PROGRESSIVO AS INTEGER;
CREATE DOMAIN SEX AS CHAR(1) CHECK (VALUE IN ('M', 'F'));
CREATE DOMAIN STATO AS SMALLINT check (value between 1 and 3);
CREATE DOMAIN TELEFONO AS VARCHAR(15);
/******************************************************************************/ /*** Generators ***/ /******************************************************************************/
CREATE GENERATOR CDAGENZIA; SET GENERATOR CDAGENZIA TO 2;
CREATE GENERATOR CDCAMPAGNA; SET GENERATOR CDCAMPAGNA TO 1;
CREATE GENERATOR CDCLIENTE; SET GENERATOR CDCLIENTE TO 1;
CREATE GENERATOR CDCOMMESSA; SET GENERATOR CDCOMMESSA TO 0;
CREATE GENERATOR CDCOMUNE; SET GENERATOR CDCOMUNE TO 200211;
CREATE GENERATOR CDFORNITORE; SET GENERATOR CDFORNITORE TO 0;
CREATE GENERATOR CDHOSTESS; SET GENERATOR CDHOSTESS TO 2;
CREATE GENERATOR CDJOB; SET GENERATOR CDJOB TO 2;
CREATE GENERATOR CDMANDATO; SET GENERATOR CDMANDATO TO 0;
CREATE GENERATOR CDPROMOZIONE; SET GENERATOR CDPROMOZIONE TO 1;
CREATE GENERATOR CDPUNTOVENDITA; SET GENERATOR CDPUNTOVENDITA TO 1;
CREATE GENERATOR CDSPEDIZIONE; SET GENERATOR CDSPEDIZIONE TO 0;
CREATE GENERATOR CDSTAMPA; SET GENERATOR CDSTAMPA TO 0;
CREATE GENERATOR FIB$FIELD_INFO_VERSION; SET GENERATOR FIB$FIELD_INFO_VERSION TO 1505;
SET TERM ^ ;
/******************************************************************************/ /*** Stored Procedures ***/ /******************************************************************************/
CREATE PROCEDURE SP_CREATE_LOGISTICA_JOB ( CDTEMPLATE INTEGER, CDCAMPAGNA INTEGER, CDJOB INTEGER, CDPUNTOVENDITA INTEGER, CDAGENZIA INTEGER, CDHOSTESS INTEGER, CDUPDATE INTEGER) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_CREATE_SPEDIZIONI ( CDJOB INTEGER, CDUPDATE INTEGER) RETURNS ( RETCODE INTEGER) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_FATTURAZIONE_CLIENTE ( ACDAZIENDA INTEGER, ACDSEDE INTEGER, ADTINIZIO DATE, ADTFINE DATE, ATPDATA SMALLINT, AFLCHIUSE SMALLINT, AFLNOTPAY SMALLINT) RETURNS ( CDJOB INTEGER, DS DATE, DE DATE, AN NUMERIC(7,3), AF NUMERIC(7,3), TA NUMERIC(10,3), DN NUMERIC(7,3), DF NUMERIC(7,3), TD NUMERIC(10,3), TN NUMERIC(12,3), TF NUMERIC(12,3), TT NUMERIC(12,3), DSAZIENDA VARCHAR(100), DSINDIRIZZO VARCHAR(200), DSLOCALITA VARCHAR(200), CDIVA VARCHAR(20), DSSEDE VARCHAR(100), DHSEDE VARCHAR(5)) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_INSTORE ( DTSTART DATE, DTSTOP DATE, CDOPERATORE INTEGER) RETURNS ( CDPROMOZIONE INTEGER, CDCOPERTURA INTEGER, DSPROMOZIONE VARCHAR(200), CDCAMPAGNA INTEGER, STH1 SMALLINT, STB1 SMALLINT, STR1 SMALLINT, DT1 DATE, STH2 SMALLINT, STB2 SMALLINT, STR2 SMALLINT, DT2 DATE, STH3 SMALLINT, STB3 SMALLINT, STR3 SMALLINT, DT3 DATE, STH4 SMALLINT, STB4 SMALLINT, STR4 SMALLINT, DT4 DATE, STH5 SMALLINT, STB5 SMALLINT, STR5 SMALLINT, DT5 DATE, STH6 SMALLINT, STB6 SMALLINT, STR6 SMALLINT, DT6 DATE, STH7 SMALLINT, STB7 SMALLINT, STR7 SMALLINT, DT7 DATE) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_MANDATI_HOSTESS ( ACDMANDATO INTEGER, ACDAZIENDA INTEGER, ACDSEDE INTEGER, ADTINIZIO DATE, ADTFINE DATE, APRRITENUTA SMALLINT, ATPDATA SMALLINT, AFLCHIUSE SMALLINT, ANOTPAY SMALLINT) RETURNS ( CDMANDATO INTEGER, DTINIZIO DATE, DTFINE DATE, CDHOSTESS INTEGER, PRRITENUTA SMALLINT, NMGG INTEGER, IMTOTALE NUMERIC(12,2), IMLORDO NUMERIC(12,2), IMRITENUTA NUMERIC(12,2), DTLAVORO VARCHAR(250), DSAZIENDA VARCHAR(100), DSINDIRIZZO VARCHAR(200), DSLOCALITA VARCHAR(200), CDIVA VARCHAR(20), DSSEDE VARCHAR(100), DHSEDE VARCHAR(5)) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_NUMERO_HOSTESS RETURNS ( CDJOB INTEGER, NMHOSTESS INTEGER) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_SMS_HOSTESS ( ACDJOB INTEGER, ACDHOSTESS INTEGER) RETURNS ( CDJOB INTEGER, CDHOSTESS INTEGER, DSPROMOZIONE VARCHAR(100), DSDISPLAYINSEGNA VARCHAR(500), DSDTJOB VARCHAR(1000), DSOPERATORE VARCHAR(50)) AS BEGIN EXIT; END^
CREATE PROCEDURE SP_STAMPE_HOSTESS ( ACDHOSTESS INTEGER, ACDJOB INTEGER, ADTJOB DATE, APRRITENUTA SMALLINT, ADSCAMICEAG VARCHAR(150), ADSTAILLEURAG VARCHAR(150)) RETURNS ( CDCLIENTE INTEGER, DSCLIENTE VARCHAR(50), DSPROMOZIONE VARCHAR(100), CDPUNTOVENDITA INTEGER, DSPUNTOVENDITA VARCHAR(50), DSDISPLAYINSEGNA VARCHAR(375), DSCOMUNEPV VARCHAR(50), DSLOCALITA VARCHAR(50), CDCAPPV VARCHAR(50), CDPROVINCIAPV VARCHAR(2), CDAGENZIA INTEGER, DSAGENZIA VARCHAR(50), CDHOSTESS INTEGER, DSNOMINATIVO VARCHAR(50), CDMATRICOLA INTEGER, DSINDIRIZZOHS VARCHAR(50), DSINDIRIZZO2HS VARCHAR(50), CDCAPHS VARCHAR(5), DSRESIDENZA VARCHAR(50), DSRESIDENZA2 VARCHAR(50), CDCAPRESIDENZA VARCHAR(5), DSRIFERIMENTO VARCHAR(50), CDSEX CHAR(1), FLCAMICEAG SMALLINT, FLTAILLEURAG SMALLINT, DTNASCITA DATE, DSCOMUNENASHS VARCHAR(150), CDPROVINCIANASHS VARCHAR(2), DSCOMUNEINDHS VARCHAR(150), CDPROVINCIAINDHS VARCHAR(2), DSCOMUNEINDRS VARCHAR(150), CDPROVINCIAINDRS VARCHAR(2), DSCAMPAGNA VARCHAR(50), DSMESE VARCHAR(50), CDANNO INTEGER, CDFISCALE VARCHAR(16), IMGIORNATA NUMERIC(12,2), IMRIMBORSO NUMERIC(12,2), DSDETTAGLIODATE VARCHAR(3000), XTDSDETTAGLIODATE VARCHAR(3000), DSDETTAGLIOIMPORTI VARCHAR(3000), DSDETTAGLIOIMPORTINR VARCHAR(3000), XTDSDETTAGLIOIMPORTI VARCHAR(3000), XTDSDETTAGLIOIMPORTINR VARCHAR(3000), DSDETTAGLIOCONTRATTI VARCHAR(3000), XPART1 VARCHAR(15), XPART2 VARCHAR(15), XPART3 VARCHAR(15), XPART4 VARCHAR(15), XPART5 VARCHAR(15), XPART6 VARCHAR(15), PRRITENUTA SMALLINT, DSTAILLEURAG VARCHAR(150), DSCAMICEAG VARCHAR(150), DTNOW DATE, NMGIORNATE INTEGER, IMGIORNATE NUMERIC(12,2), XTGIORNATE VARCHAR(1250), DSATTIVITA VARCHAR(50), DSAZIENDA VARCHAR(100), DSORARIO1 VARCHAR(100), DSORARIO2 VARCHAR(100), DSORARIO3 VARCHAR(100), DSORARIO4 VARCHAR(100), DSORARIO5 VARCHAR(100), DSORARIO6 VARCHAR(100), DSORARIO7 VARCHAR(100), DTMIN DATE, DTMAX DATE, CDJOB INTEGER, NMLAVORO VARCHAR(50), DTSCADENZALAVORO DATE, CDINPS VARCHAR(50), CDINAIL VARCHAR(50), DSOPERATORE VARCHAR(50), NMPVTELEFONO VARCHAR(15), NMPVTELEFONO1 VARCHAR(15), NMPVFAX VARCHAR(15), NMPVFAX1 VARCHAR(15), NMPVCELLULARE VARCHAR(15), NMPVCELLULARE1 VARCHAR(15), NMPVPREFERENZIALE VARCHAR(15)) AS BEGIN EXIT; END^
SET TERM ; ^
/******************************************************************************/ /*** Tables ***/ /******************************************************************************/
CREATE TABLE DAGENZIE ( CDAGENZIA PROGRESSIVO NOT NULL, DSAGENZIA DESCRIZIONE NOT NULL, DSSHORTAGENZIA DESCRIZIONE_SHORT NOT NULL, DSRESPONSABILE DESCRIZIONE, FLAGENZIA BOOLEAN, FLSUBAGENZIA BOOLEAN, DSVIA DESCRIZIONE, CDCAP CAP, CDRESIDENZA PROGRESSIVO DEFAULT 0 NOT NULL, NMPREFERENZIALE TELEFONO, NMTELEFONO TELEFONO, NMTELEFONO1 TELEFONO, NMCELLULARE TELEFONO, NMCELLULARE1 TELEFONO, NMFAX TELEFONO, NMFAX1 TELEFONO, DSEMAIL DESCRIZIONE, NTAGENZIA NOTE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DAZIENDE ( CDAZIENDA PROGRESSIVO NOT NULL, DSAZIENDA DESCRIZIONE_LUNGA NOT NULL, DSSHORTAZIENDA DESCRIZIONE_SHORT NOT NULL, DSINDIRIZZO DESCRIZIONE_LUNGA, CDCAP CAP, DSLOCALITA DESCRIZIONE_LUNGA, DTSCADENZA DATE NOT NULL, CDIVA PARTITAIVA NOT NULL, CDKEY VARCHAR(50) NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE DCAMPAGNE ( CDCAMPAGNA PROGRESSIVO NOT NULL, DSCAMPAGNA DESCRIZIONE NOT NULL, CDCLIENTE PROGRESSIVO DEFAULT 0 NOT NULL, CDOPERATORE PROGRESSIVO DEFAULT 0 NOT NULL, NTCAMPAGNA NOTE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DCLIENTI ( CDCLIENTE PROGRESSIVO NOT NULL, DSCLIENTE DESCRIZIONE NOT NULL, CDAGENZIA PROGRESSIVO DEFAULT 0 NOT NULL, CDOPERATORE PROGRESSIVO DEFAULT 0 NOT NULL, CDCONTABILITA DESCRIZIONE, DSINDIRIZZO DESCRIZIONE, CDCAP CAP, CDLOCALITA PROGRESSIVO DEFAULT 0 NOT NULL, NMTELEFONO TELEFONO, NMTELEFONO1 TELEFONO, NMCELLULARE TELEFONO, NMCELLULARE1 TELEFONO, NMFAX TELEFONO, NMFAX1 TELEFONO, NMPREFERENZIALE TELEFONO, DSEMAIL DESCRIZIONE, CDPARTITAIVA PARTITAIVA, FLASSUNZIONE BOOLEAN, NTCLIENTE NOTE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DCOMMESSE ( CDCOMMESSA PROGRESSIVO NOT NULL, CDCLIENTE PROGRESSIVO NOT NULL, TPCOMMESSA PROGRESSIVO DEFAULT 0 NOT NULL, DSCOMMESSA DESCRIZIONE, STSTRUTTURAZIONE STATO DEFAULT 1 NOT NULL, STBRIEFING STATO DEFAULT 1 NOT NULL, STLAVORAZIONE STATO DEFAULT 1 NOT NULL, STFATTURAZIONE STATO DEFAULT 1 NOT NULL, NTCOMMESSE NOTE, CDRESPONSABILE PROGRESSIVO DEFAULT 0 NOT NULL, FLFATTURABILE BOOLEAN, NMFATTURA DESCRIZIONE, DTFATTURA DATE, IMFATTURA EURO, NMORDINE PROGRESSIVO, FLCHIUSA BOOLEAN, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE DFORNITORI ( CDFORNITORE PROGRESSIVO NOT NULL, DSFORNITORE DESCRIZIONE NOT NULL, DSINDIRIZZO DESCRIZIONE_LUNGA, CDCOMUNE PROGRESSIVO DEFAULT 0 NOT NULL, CDCAP CAP, NMPREFERENZIALE TELEFONO, NMTELEFONO TELEFONO, NMTELEFONO1 TELEFONO, NMCELLULARE TELEFONO, NMCELLULARE1 TELEFONO, NMFAX TELEFONO, NMFAX1 TELEFONO, DSEMAIL DESCRIZIONE, DSNOMINATIVOTITOLARE DESCRIZIONE, NMTELEFONOTITOLARE TELEFONO, NMCELLULARETITOLARE TELEFONO, DSEMAILTITOLARE DESCRIZIONE, DSNOMINATIVOPRODUZIONE DESCRIZIONE, NMTELEFONOPRODUZIONE TELEFONO, NMCELLULAREPRODUZIONE TELEFONO, DSEMAILPRODUZIONE DESCRIZIONE, DSNOMINATIVOAMMVO DESCRIZIONE, NMTELEFONOAMMVO TELEFONO, NMCELLULAREAMMVO TELEFONO, DSEMAILAMMVO DESCRIZIONE, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE DHOSTESS ( CDHOSTESS PROGRESSIVO NOT NULL, DSCOGNOME DESCRIZIONE NOT NULL, DSNOME DESCRIZIONE NOT NULL, DSNOMINATIVO COMPUTED BY (dscognome || ' ' || dsnome), CDCONTABILITA DESCRIZIONE, CDMATRICOLA DESCRIZIONE, DSINDIRIZZO DESCRIZIONE, DSINDIRIZZO2 DESCRIZIONE, CDCAP CAP, CDINDIRIZZO PROGRESSIVO DEFAULT 0 NOT NULL, FLCOORDINATRICE BOOLEAN, NMTELEFONO TELEFONO, NMTELEFONO1 TELEFONO, NMCELLULARE TELEFONO, NMCELLULARE1 TELEFONO, NMFAX TELEFONO, NMFAX1 TELEFONO, NMPREFERENZIALE TELEFONO, DSEMAIL DESCRIZIONE, CDSEX SEX DEFAULT 'F' NOT NULL, DTNASCITA DATE, CDNASCITA PROGRESSIVO DEFAULT 0 NOT NULL, CDFISCALE FISCALE, CDPAGAMENTO PROGRESSIVO DEFAULT 0 NOT NULL, CDPARTITAIVA PARTITAIVA, CDTRATTAMENTOFISCALE PROGRESSIVO DEFAULT 0 NOT NULL, IMGIORNATA EURO, DSBANCA DESCRIZIONE, CDCIN CHAR(1), CDABI PROGRESSIVO, CDCAB PROGRESSIVO, CDCONTOCORRENTE DESCRIZIONE, CDSTATOCIVILE PROGRESSIVO DEFAULT 0 NOT NULL, CDTITOLODISTUDIO PROGRESSIVO DEFAULT 0 NOT NULL, DSTIPOTITOLO DESCRIZIONE, FLSANITARIO BOOLEAN, NMSANITARIO DESCRIZIONE, DTSCADENZASANITARIO DATE, FLLAVORO BOOLEAN, NMLAVORO DESCRIZIONE, DTSCADENZALAVORO DATE, NMTAGLIA DESCRIZIONE, NMALTEZZA SMALLINT, NMPESO SMALLINT, NMSCARPE SMALLINT, CDOCCHI PROGRESSIVO DEFAULT 0 NOT NULL, CDCAPELLI PROGRESSIVO DEFAULT 0 NOT NULL, FLTAILLEUR BOOLEAN, CDJOBTAILLEUR PROGRESSIVO, FLCAMICE BOOLEAN, CDJOBCAMICE PROGRESSIVO, DTINDISPONIBILEDAL DATE, DTINDISPONIBILEAL DATE, FLAUTO BOOLEAN, FLSPOSTAMENTI BOOLEAN, FLLUNEDIAM BOOLEAN, FLLUNEDIPM BOOLEAN, FLMARTEDIAM BOOLEAN, FLMARTEDIPM BOOLEAN, FLMERCOLEDIAM BOOLEAN, FLMERCOLEDIPM BOOLEAN, FLGIOVEDIAM BOOLEAN, FLGIOVEDIPM BOOLEAN, FLVENERDIAM BOOLEAN, FLVENERDIPM BOOLEAN, FLSABATOAM BOOLEAN, FLSABATOPM BOOLEAN, FLDOMENICAAM BOOLEAN, FLDOMENICAPM BOOLEAN, NTZONE NOTE, NTHOSTESS NOTE, FLFREQUENTE BOOLEAN, FLPROMOTER BOOLEAN, FLMERCHANDISER BOOLEAN, FLASSUNZIONE BOOLEAN, FLEXPORT BOOLEAN, FLTESTCF BOOLEAN, CDREPARTO PROGRESSIVO DEFAULT 0 NOT NULL, DSRESIDENZA DESCRIZIONE, DSRESIDENZA2 DESCRIZIONE, CDRESIDENZA PROGRESSIVO DEFAULT 0 NOT NULL, CDCAPRESIDENZA CAP, CDINAIL DESCRIZIONE, CDINPS DESCRIZIONE, DTISCRIZIONE DATE, DTUSCITA DATE, DTVERSAMENTO DATE, DTRIMBORSO DATE, FLARCHIVIO BOOLEAN, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DMANDATI ( CDMANDATO PROGRESSIVO NOT NULL, CDMESE MESE NOT NULL, DSMESE COMPUTED BY (STRMONTH(CDMESE)), CDANNO ANNO NOT NULL, DSMANDATO DESCRIZIONE NOT NULL, DSMANDATOSIA DESCRIZIONE NOT NULL, CDESERCIZIO DESCRIZIONE, CDPRIMANOTA DESCRIZIONE, NMNOTAHOSTESS PROGRESSIVO, DTPRIMANOTA DATE, DTNOTAHOSTESS DATE, DTQUIETANZA DATE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DOPERATORI ( CDOPERATORE PROGRESSIVO NOT NULL, DSOPERATORE DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DPROMOZIONI ( CDPROMOZIONE PROGRESSIVO NOT NULL, CDCAMPAGNA PROGRESSIVO DEFAULT 0 NOT NULL, CDANNO ANNO NOT NULL, CDMESE MESE NOT NULL, DSMESE COMPUTED BY (STRMONTH(CDMESE)), DSFATTURAZIONE COMPUTED BY (STRMONTH(CDMESE) || ' - ' || CDANNO), NTFATTURAZIONE NOTE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DPUNTI_VENDITA ( CDPUNTOVENDITA PROGRESSIVO NOT NULL, DSPUNTOVENDITA DESCRIZIONE NOT NULL, DSDENOMINAZIONE DESCRIZIONE, CDINSEGNA PROGRESSIVO DEFAULT 0 NOT NULL, CDLOCALITA PROGRESSIVO DEFAULT 0 NOT NULL, DSLOCALITA DESCRIZIONE, DSLOCALITA2 DESCRIZIONE, CDCAP CAP, NMTELEFONO TELEFONO, NMTELEFONO1 TELEFONO, NMCELLULARE TELEFONO, NMCELLULARE1 TELEFONO, NMFAX TELEFONO, NMFAX1 TELEFONO, NMPREFERENZIALE TELEFONO, DSEMAIL DESCRIZIONE, DSRESPONSABILE DESCRIZIONE, DSREPARTORESPONSABILE DESCRIZIONE, NMTELEFONORESPONSABILE TELEFONO, DSEMAILRESPONSABILE DESCRIZIONE, NMMQ SMALLINT, NMCASSE SMALLINT, DSORARIO VARCHAR(100), CDTIPOPUNTOVENDITA PROGRESSIVO DEFAULT 0 NOT NULL, NTPUNTOVENDITA NOTE, FLASSUNZIONE BOOLEAN, CDAREANIELSEN SMALLINT, FLDISPLAYPV BOOLEAN, FLDISPLAYINSEGNA BOOLEAN, FLDISPLAYINDIRIZZO BOOLEAN, FLDISPLAYLOCALITA BOOLEAN, FLDISPLAYDENOMINAZIONE BOOLEAN, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE DSPEDIZIONI ( CDSPEDIZIONE PROGRESSIVO NOT NULL, DSDESTINATARIO VARCHAR(150), DSINDIRIZZO DESCRIZIONE_LUNGA NOT NULL, CDCAP CAP, DSLOCALITA VARCHAR(150), CDPROVINCIA CHAR(2) NOT NULL, DTSPEDIZIONE TIMESTAMP DEFAULT 'NOW' NOT NULL, DSMAGAZZINO DESCRIZIONE NOT NULL, CDMAGAZZINO PROGRESSIVO NOT NULL, DTTASSATIVA DATE NOT NULL, DSSPEDIZIONE COMPUTED BY (DSINDIRIZZO || ' - ' || CDCAP || ' ' || DSLOCALITA || ' (' || CDPROVINCIA || ')'), CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP NOT NULL );
CREATE TABLE DSTAMPE ( CDSTAMPA PROGRESSIVO NOT NULL, TPSTAMPA PROGRESSIVO NOT NULL, DSSTAMPA DESCRIZIONE NOT NULL, FLSELECT BOOLEAN, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE DUTENTI ( CDUTENTE PROGRESSIVO NOT NULL, CDLIVELLO PROGRESSIVO NOT NULL, DSUTENTE DESCRIZIONE NOT NULL, PWUTENTE DESCRIZIONE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE FIB$FIELDS_INFO ( TABLE_NAME VARCHAR(31) NOT NULL, FIELD_NAME VARCHAR(31) NOT NULL, DISPLAY_LABEL VARCHAR(50), VISIBLE FIB$BOOLEAN DEFAULT 1 NOT NULL, DISPLAY_FORMAT VARCHAR(15), EDIT_FORMAT VARCHAR(15), TRIGGERED FIB$BOOLEAN DEFAULT 0 NOT NULL, DISPLAY_WIDTH INTEGER DEFAULT 0, FIB$VERSION INTEGER );
CREATE TABLE RCAMPAGNE_CONTRATTI ( CDCAMPAGNA PROGRESSIVO NOT NULL, CDCONTRATTO SMALLINT NOT NULL, DSSHORTCONTRATTO DESCRIZIONE_SHORT NOT NULL, DSCONTRATTO DESCRIZIONE NOT NULL, TPCONTRATTO PROGRESSIVO DEFAULT 0 NOT NULL, TPUM PROGRESSIVO DEFAULT 0 NOT NULL, IMCLIENTE EURO, IMHOSTESS EURO, FLASSUNZIONE BOOLEAN, FLFESTIVO BOOLEAN, FLDEFAULT BOOLEAN, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE RCAMPAGNE_LOGISTICA_ATTIVITA ( CDCAMPAGNA PROGRESSIVO NOT NULL, CDLOGISTICA PROGRESSIVO NOT NULL, CDTEMPLATE PROGRESSIVO NOT NULL, DSLOGISTICA DESCRIZIONE_LUNGA, FLCHKATTIVITA BOOLEAN, DTUPDATE TIMESTAMP NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RCAMPAGNE_LOGISTICA_MOVIMENTO ( CDCAMPAGNA PROGRESSIVO NOT NULL, CDLOGISTICA PROGRESSIVO NOT NULL, CDTEMPLATE PROGRESSIVO NOT NULL, FLCONSEGNADIRETTA BOOLEAN, FLMAGAZZINO BOOLEAN, CDARTICOLO PROGRESSIVO DEFAULT 0 NOT NULL, CDMAGAZZINO PROGRESSIVO DEFAULT 0 NOT NULL, FLCHKSPEDIZIONE BOOLEAN NOT NULL, FLCHKCONSEGNA BOOLEAN, QTFISSA INTEGER DEFAULT 0 NOT NULL, QTGG INTEGER DEFAULT 0 NOT NULL, FLFORNITURA BOOLEAN, FLRITIRI BOOLEAN, CDDESTINATARIO SMALLINT DEFAULT 0 NOT NULL, DTUPDATE TIMESTAMP NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RCAMPAGNE_LOGISTICA_TEMPLATE ( CDCAMPAGNA PROGRESSIVO NOT NULL, CDTEMPLATE PROGRESSIVO NOT NULL, DSTEMPLATE DESCRIZIONE NOT NULL, BLOB_MECCANICA BLOB SUB_TYPE 1 SEGMENT SIZE 80, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP default 'now' NOT NULL );
CREATE TABLE RCLIENTI_ARTICOLI ( CDCLIENTE PROGRESSIVO NOT NULL, CDARTICOLO PROGRESSIVO NOT NULL, DSARTICOLO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RCLIENTI_REPARTI ( CDCLIENTE PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, DSRESPONSABILE DESCRIZIONE NOT NULL, DSPOSIZIONE DESCRIZIONE, NMTELEFONO TELEFONO, NMFAX TELEFONO, DSEMAIL DESCRIZIONE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RCOMMESSE_REVISIONE ( CDCOMMESSA PROGRESSIVO NOT NULL, CDREVISIONE PROGRESSIVO NOT NULL, DSPATHPDF DESCRIZIONE_LUNGA NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE RCOMMESSE_RIGHE ( CDCOMMESSA PROGRESSIVO NOT NULL, CDRIGA PROGRESSIVO NOT NULL, DSRIGA DESCRIZIONE NOT NULL, TPRIGA PROGRESSIVO DEFAULT 0 NOT NULL, STPREVENTIVAZIONE STATO DEFAULT 1 NOT NULL, TPUM PROGRESSIVO DEFAULT 0 NOT NULL, QTRIGA INTEGER NOT NULL, IMUNITARIO EURO, IMAGENZIA EURO, IMTOTALE COMPUTED BY ((IMUNITARIO * QTRIGA)), PRRICARICO COMPUTED BY (CASE WHEN (IMUNITARIO > 0) THEN ((IMUNITARIO - IMAGENZIA) / IMUNITARIO) ELSE 0 END), CDFORNITORE PROGRESSIVO DEFAULT 0 NOT NULL, NMPREVENTIVO DESCRIZIONE, DTPREVENTIVO DATE, DTTAXPREVENTIVO DATE, FLCOSTO BOOLEAN, DTTAXCONSEGNA DATE, FLCONSUNTIVO BOOLEAN, QTCONSUNTIVA INTEGER DEFAULT 0 NOT NULL, IMCONSUNTIVO EURO, FLFATTURABILE BOOLEAN, NMFATTURA DESCRIZIONE, DTFATTURA DATE, IMFATTURA EURO, FLCHIUSA BOOLEAN, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RCOMMESSE_VOCI_RIGHE_TT ( CDCOMMESSA PROGRESSIVO NOT NULL, CDVOCE PROGRESSIVO NOT NULL, CDRIGA PROGRESSIVO NOT NULL, DSRIGA DESCRIZIONE, DSTIME DESCRIZIONE, TPTIME PROGRESSIVO DEFAULT 0 NOT NULL, STRIGA STATO DEFAULT 0, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE RCOMMESSE_VOCI_TT ( CDCOMMESSA PROGRESSIVO NOT NULL, CDVOCE PROGRESSIVO NOT NULL, DSVOCE DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE RCOMMESSE_WIP ( CDCOMMESSA PROGRESSIVO NOT NULL, CDREVISIONE PROGRESSIVO NOT NULL, DSSETTIMANA DESCRIZIONE_LUNGA NOT NULL, DSPATHPDF NOTE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE RHOSTESS_PAGAMENTI ( CDHOSTESS PROGRESSIVO NOT NULL, CDPROG SMALLINT NOT NULL, DSPAGAMENTO DESCRIZIONE, CDANNO ANNO NOT NULL, CDMESE MESE NOT NULL, DSMESE COMPUTED BY ((STRMONTH(CDMESE))), TPPAGAMENTO PROGRESSIVO DEFAULT 0 NOT NULL, DTPAGAMENTO DATE NOT NULL, IMPAGAMENTO EURO, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE RJOB ( CDJOB PROGRESSIVO NOT NULL, CDPROMOZIONE PROGRESSIVO DEFAULT 0 NOT NULL, CDPUNTOVENDITA PROGRESSIVO DEFAULT 0 NOT NULL, CDTIPOATTIVITA PROGRESSIVO DEFAULT 0 NOT NULL, CDCOPERTURA PROGRESSIVO DEFAULT 0 NOT NULL, MTCONSEGNA PROGRESSIVO DEFAULT 0 NOT NULL, STCONSEGNA PROGRESSIVO DEFAULT 0 NOT NULL, CDAGENZIA PROGRESSIVO DEFAULT 0 NOT NULL, NTAGENZIA NOTE, CDCOORDINATRICE PROGRESSIVO DEFAULT 0 NOT NULL, IMGIORNOCOORDINATRICE EURO DEFAULT 0 NOT NULL, IMFIXCOORDINATRICE EURO DEFAULT 0 NOT NULL, NTCOORDINATRICE NOTE, NMCONSEGNE PROGRESSIVO DEFAULT 0 NOT NULL, NMRITIRI PROGRESSIVO DEFAULT 0 NOT NULL, NTFATTURAZIONE NOTE, DSPROGRAMMA DESCRIZIONE, DSRIFERIMENTO DESCRIZIONE, CDSEDE PROGRESSIVO DEFAULT 0 NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RJOB_HOSTESS ( CDJOB PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, CDAZIENDA PROGRESSIVO DEFAULT 1 NOT NULL, TPJOB INTEGER DEFAULT 0 NOT NULL, CDHOSTESS PROGRESSIVO DEFAULT 0 NOT NULL, CDFORNITORE PROGRESSIVO DEFAULT 0 NOT NULL, STHOSTESS STATO DEFAULT 1 NOT NULL, STBRIEFING STATO DEFAULT 1 NOT NULL, STREPORT STATO DEFAULT 1 NOT NULL, DTJOB DATE NOT NULL, DSORARIO DESCRIZIONE_LUNGA, NMGIORNATE NUMERIC(5,3) DEFAULT 0 NOT NULL, IMGIORNATA EURO DEFAULT 0 NOT NULL, IMRIMBORSO EURO DEFAULT 0 NOT NULL, FLCAMICEAG BOOLEAN, FLTAILLEURAG BOOLEAN, FLASSUNZIONE BOOLEAN, FLFESTIVO BOOLEAN, FLEXPORTED BOOLEAN, CDCONTRATTO SMALLINT NOT NULL, CDCOORDINATRICE PROGRESSIVO DEFAULT 0 NOT NULL, IMGGCOORDINATRICE EURO, IMFIXCOORDINATRICE EURO, DTPAGAMENTO DATE NOT NULL, FLRIMBORSO BOOLEAN, DTRIMBORSO DATE, DTREPORT DATE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RJOB_INFO ( CDJOB PROGRESSIVO NOT NULL, CDINFO PROGRESSIVO NOT NULL, DSINFO DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP NOT NULL );
CREATE TABLE RJOB_LOGISTICA_ATTIVITA ( CDJOB PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, CDCAMPAGNA PROGRESSIVO DEFAULT 0 NOT NULL, DSLOGISTICA DESCRIZIONE_LUNGA NOT NULL, FLCHKATTIVITA BOOLEAN, STATTIVITA STATO DEFAULT 1 NOT NULL, DTUPDATE TIMESTAMP NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RJOB_LOGISTICA_MECCANICA ( CDJOB PROGRESSIVO NOT NULL, BLOB_MECCANICA BLOB SUB_TYPE 1 SEGMENT SIZE 80 NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP NOT NULL );
CREATE TABLE RJOB_LOGISTICA_MOVIMENTO ( CDJOB PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, CDCAMPAGNA PROGRESSIVO DEFAULT 0 NOT NULL, FLCONSEGNADIRETTA BOOLEAN, FLMAGAZZINO BOOLEAN, CDARTICOLO PROGRESSIVO NOT NULL, CDMAGAZZINO PROGRESSIVO DEFAULT 0 NOT NULL, FLCHKSPEDIZIONE BOOLEAN, FLCHKCONSEGNA BOOLEAN, QTMOVIMENTO INTEGER, QTRESO INTEGER DEFAULT 0, FLFORNITURA BOOLEAN, FLRITIRI BOOLEAN, CDSPEDIZIONE PROGRESSIVO DEFAULT 0 NOT NULL, STSPEDIZIONE STATO DEFAULT 1 NOT NULL, STMAGAZZINO STATO DEFAULT 1 NOT NULL, TPDESTINATARIO SMALLINT DEFAULT 0 NOT NULL, CDDESTINATARIO PROGRESSIVO default 0 NOT NULL, STCONSEGNA STATO DEFAULT 1 NOT NULL, STRITIRO STATO DEFAULT 1 NOT NULL, FLKIT SMALLINT, DTUPDATE TIMESTAMP NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RMAGAZZINI_MOVIMENTI ( CDMAGAZZINO PROGRESSIVO NOT NULL, CDCLIENTE PROGRESSIVO NOT NULL, CDARTICOLO PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, CDCAUSALE SMALLINT DEFAULT 0 NOT NULL, QTMOVIMENTO INTEGER NOT NULL, DTMOVIMENTO DATE DEFAULT 'NOW' NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RMANDATI_HOSTESS ( CDMANDATO PROGRESSIVO NOT NULL, CDMESE SMALLINT NOT NULL, DSMESE COMPUTED BY (STRMONTH(CDMESE)), CDANNO ANNO NOT NULL, CDHOSTESS PROGRESSIVO NOT NULL, CDCONTABILITA DESCRIZIONE, DSCOGNOME DESCRIZIONE NOT NULL, DSNOME DESCRIZIONE NOT NULL, DSNOMINATIVO COMPUTED BY (DSCOGNOME || ' ' || DSNOME), CDSEX SEX NOT NULL, DSINDIRIZZO DESCRIZIONE NOT NULL, DSINDIRIZZO2 DESCRIZIONE, CDCAP CAP NOT NULL, DSLOCALITA VARCHAR(150) NOT NULL, CDPROV CHAR(2) NOT NULL, DSCITTA COMPUTED BY (CDCAP || ' ' || DSLOCALITA || ' ' || CDPROV), DTNASCITA DATE NOT NULL, DSNASLOC VARCHAR(150) NOT NULL, CDNASPROV CHAR(2) NOT NULL, CDFISCALE FISCALE NOT NULL, DTLAVORO NOTE NOT NULL, IMRETRIB EURO NOT NULL, PRRITENUTA SMALLINT NOT NULL, IMLORDO COMPUTED BY ((((IMRETRIB * 100) / (100 - PRRITENUTA)) - IMRETRIB) + IMRETRIB), IMRITENUTA COMPUTED BY ((((IMRETRIB * 100) / (100 - PRRITENUTA)) - IMRETRIB)), NMGG SMALLINT NOT NULL, FLEXPORT BOOLEAN, CDABI PROGRESSIVO, CDCAB PROGRESSIVO, CDCONTOCORRENTE DESCRIZIONE, CDCIN CHAR(1), DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RMANDATI_PROVINCIE ( CDMANDATO PROGRESSIVO NOT NULL, CDPROVINCIA CHAR(2) NOT NULL, DTPAGAMENTO DATE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RPROMOZIONI_SPEDIZIONI ( CDPROMOZIONE PROGRESSIVO NOT NULL, CDPROG SMALLINT NOT NULL, CDCONTRATTO PROGRESSIVO DEFAULT 0 NOT NULL, TPMITTENTE SMALLINT NOT NULL, CDCORRIERE PROGRESSIVO DEFAULT 0 NOT NULL, CDHOSTESS PROGRESSIVO DEFAULT 0 NOT NULL, DTSPEDIZIONE DATE DEFAULT 'NOW' NOT NULL, DSSPEDIZIONE DESCRIZIONE, NMSPEDIZIONI INTEGER DEFAULT 1 NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE INTEGER NOT NULL );
CREATE TABLE RPUNTI_VENDITA_REPARTI ( CDPUNTOVENDITA PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, DSRESPONSABILE DESCRIZIONE NOT NULL, DSREPARTO DESCRIZIONE, NMCELLULARE TELEFONO, NMTELEFONO TELEFONO, NMFAX TELEFONO, DSEMAIL DESCRIZIONE, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE RSTAMPE_DETTAGLIO ( CDSTAMPA PROGRESSIVO NOT NULL, CDPROG PROGRESSIVO NOT NULL, CDAZIENDA PROGRESSIVO DEFAULT 0 NOT NULL, CDINSEGNA PROGRESSIVO DEFAULT 0 NOT NULL, CDPUNTOVENDITA PROGRESSIVO DEFAULT 0 NOT NULL, TPEXT PROGRESSIVO DEFAULT 0 NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TATTIVITA ( CDATTIVITA PROGRESSIVO NOT NULL, DSATTIVITA DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCAUSALI_MAGAZZINO ( CDCAUSALE PROGRESSIVO NOT NULL, DSCAUSALE DESCRIZIONE NOT NULL, TPMOVIMENTO SMALLINT NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCOLORE_CAPELLI ( CDCAPELLI PROGRESSIVO NOT NULL, DSCAPELLI DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCOLORE_OCCHI ( CDOCCHI PROGRESSIVO NOT NULL, DSOCCHI DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCOMUNI ( CDCOMUNE PROGRESSIVO NOT NULL, CDCAP CHAR(5) NOT NULL, DSCOMUNE VARCHAR(150) NOT NULL, CDPROVINCIA CHAR(2) NOT NULL, CDFINANZE CHAR(4) NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCONSEGNA_METODO ( CDMETODO PROGRESSIVO NOT NULL, DSMETODO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCONSEGNA_STATO ( CDSTATO PROGRESSIVO NOT NULL, DSSTATO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCONSEGNA_TASSATIVA ( CDGG NMGGWEEK NOT NULL, NMGGEXT INTEGER NOT NULL, NMGGINT INTEGER NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TCOPERTURA ( CDCOPERTURA PROGRESSIVO NOT NULL, DSCOPERTURA DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TCORRIERI ( CDCORRIERE PROGRESSIVO NOT NULL, DSCORRIERE DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TDECODE ( DSDECODE DESCRIZIONE NOT NULL, FDCODICE DESCRIZIONE NOT NULL, FDDESCRIZIONE DESCRIZIONE NOT NULL, DSTABLE DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TDESTINATARIO ( CDDESTINATARIO SMALLINT NOT NULL, DSDESTINATARIO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TEXT_STAMPA ( CDEXTSTAMPA PROGRESSIVO NOT NULL, DSEXTSTAMPA DESCRIZIONE_SHORT NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TFESTIVITA ( CDFESTIVITA SMALLINT NOT NULL, DSFESTIVITA DESCRIZIONE NOT NULL, NMGIORNO SMALLINT NOT NULL, NMMESE MESE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TINI ( CDSECTION VARCHAR(25) NOT NULL, CDKEY DESCRIZIONE NOT NULL, CDVALUE DESCRIZIONE_LUNGA NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TINSEGNA ( CDINSEGNA PROGRESSIVO NOT NULL, DSINSEGNA DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TJOB_INFO ( CDINFO PROGRESSIVO NOT NULL, DSINFO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TMAGAZZINO ( CDMAGAZZINO PROGRESSIVO NOT NULL, DSMAGAZZINO DESCRIZIONE NOT NULL, FLESTERNO BOOLEAN, FLCHKMAGAZZINO BOOLEAN, DTUPDATE TIMESTAMP NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TPAGAMENTO ( CDPAGAMENTO PROGRESSIVO NOT NULL, DSPAGAMENTO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TREPARTO ( CDREPARTO PROGRESSIVO NOT NULL, DSREPARTO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TSEDI ( CDSEDE PROGRESSIVO NOT NULL, DHSEDE DESCRIZIONE_SHORT NOT NULL, DSSEDE DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TSTATO ( CDTIPO SMALLINT NOT NULL, CDSTATO STATO NOT NULL, DSSTATO DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TSTATO_CIVILE ( CDSTATOCIVILE PROGRESSIVO NOT NULL, DSSTATOCIVILE DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TTEMPLATE_CONTRATTI ( CDCONTRATTO SMALLINT NOT NULL, DSSHORTCONTRATTO DESCRIZIONE_SHORT NOT NULL, DSCONTRATTO DESCRIZIONE NOT NULL, TPCONTRATTO PROGRESSIVO DEFAULT 0 NOT NULL, TPUM PROGRESSIVO DEFAULT 0 NOT NULL, IMCLIENTE EURO, IMHOSTESS EURO, FLASSUNZIONE BOOLEAN, FLFESTIVO BOOLEAN, FLDEFAULT BOOLEAN, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTIPO_COMMESSE ( CDTIPOCOMMESSA PROGRESSIVO NOT NULL, DSTIPOCOMMESSA DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTIPO_CONTRATTO ( CDTIPOCONTRATTO PROGRESSIVO NOT NULL, DSTIPOCONTRATTO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TTIPO_JOB ( CDTPJOB PROGRESSIVO NOT NULL, DSTPJOB DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTIPO_PAGAMENTO ( CDTIPOPAGAMENTO PROGRESSIVO NOT NULL, DSTIPOPAGAMENTO DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTIPO_PUNTI_VENDITA ( CDTIPOPUNTOVENDITA PROGRESSIVO NOT NULL, DSTIPOPUNTOVENDITA DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TTIPO_RIGA_COMMESSA ( CDTIPORIGA PROGRESSIVO NOT NULL, DSTIPORIGA DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTIPO_STAMPA ( CDTIPOSTAMPA PROGRESSIVO NOT NULL, DSTIPOSTAMPA DESCRIZIONE NOT NULL, DSSUFIX DESCRIZIONE_SHORT NOT NULL, CDORDER PROGRESSIVO NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTIPO_STATO ( CDTIPO SMALLINT NOT NULL, DSTIPO DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE TTITOLO_STUDIO ( CDTITOLOSTUDIO PROGRESSIVO NOT NULL, DSTITOLOSTUDIO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TTRATTAMENTO_FISCALE ( CDTRATTAMENTO PROGRESSIVO NOT NULL, DSTRATTAMENTO DESCRIZIONE NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL, CDUPDATE PROGRESSIVO NOT NULL );
CREATE TABLE TUNITA_MISURA ( CDUNITA PROGRESSIVO NOT NULL, DSUNITA DESCRIZIONE NOT NULL, CDUPDATE PROGRESSIVO NOT NULL, DTUPDATE TIMESTAMP DEFAULT 'NOW' NOT NULL );
CREATE TABLE VERSIONE ( NMVER INTEGER NOT NULL, DTVER TIMESTAMP DEFAULT 'NOW' NOT NULL, DSVER NOTE );
/******************************************************************************/ /*** Views ***/ /******************************************************************************/
/* View: VIEW_ALL_INSTORE */ CREATE VIEW VIEW_ALL_INSTORE( STHOSTESS, STBRIEFING, STREPORT, DSCAMPAGNA, CDMESE, DSMESE, CDANNO, DSPROMOZIONE, MIN_DT, MAX_DT, NUM_G, CDPUNTOVENDITA, CDJOB, CDCOPERTURA, CDAGENZIA, CDOPERATORE, CDCAMPAGNA, CDPROMOZIONE, DSATTIVITA, DSOPERATORE) AS SELECT MIN(F.STHOSTESS), MIN(F.STBRIEFING), MIN(F.STREPORT), H.DSCAMPAGNA, G.CDMESE, G.DSMESE, G.CDANNO, H.DSCAMPAGNA || ' - ' || G.DSMESE || ' - ' || G.CDANNO, MIN(F.DTJOB), MAX(F.DTJOB), SUM(F.NMGIORNATE), A.CDPUNTOVENDITA, A.CDJOB, A.CDCOPERTURA, A.CDAGENZIA, H.CDOPERATORE, H.CDCAMPAGNA, G.CDPROMOZIONE, M.DSATTIVITA, N.DSOPERATORE FROM RJOB A, TCOPERTURA C, DAGENZIE E, RJOB_HOSTESS F, DPROMOZIONI G, DCAMPAGNE H, DCLIENTI I, TCOPERTURA L, TATTIVITA M, DOPERATORI N WHERE A.CDCOPERTURA = C.CDCOPERTURA AND A.CDAGENZIA = E.CDAGENZIA AND A.CDJOB = F.CDJOB AND A.CDCOPERTURA = L.CDCOPERTURA
;
/* View: VIEW_ANNO_JOB_HOSTESS */ CREATE VIEW VIEW_ANNO_JOB_HOSTESS( CDHOSTESS, CDAZIENDA, NMANNO, NMGIORNATEANNO, IMGIORNATAANNO) AS SELECT A.CDHOSTESS, A.CDAZIENDA, INTYEAR(A.DTJOB), SUM(A.NMGIORNATE), SUM(A.IMGIORNATA + A.IMRIMBORSO) FROM RJOB_HOSTESS A WHERE A.FLASSUNZIONE = 0 GROUP BY A.CDHOSTESS, A.CDAZIENDA, INTYEAR(A.DTJOB) ;
/* View: VIEW_CAMPAGNE_PROMOZIONI */ CREATE VIEW VIEW_CAMPAGNE_PROMOZIONI( CDCAMPAGNA, DSCAMPAGNA, CDCLIENTE, NTCAMPAGNA, CDPROMOZIONE, CDANNO, CDMESE, DSMESE, NTFATTURAZIONE, DSPROMOZIONE, DSCLIENTE, CDAGENZIA, CDOPERATORE, CDCONTABILITA, DSINDIRIZZO, CDCAP, CDLOCALITA, NMTELEFONO, NMTELEFONO1, NMCELLULARE, NMCELLULARE1, NMFAX, NMFAX1, NMPREFERENZIALE, DSEMAIL, CDPARTITAIVA, FLASSUNZIONE, NTCLIENTE, DSCOMUNE, CDPROVINCIA) AS SELECT A.CDCAMPAGNA, A.DSCAMPAGNA, A.CDCLIENTE, A.NTCAMPAGNA, B.CDPROMOZIONE, B.CDANNO, B.CDMESE, B.DSMESE, B.NTFATTURAZIONE, A.DSCAMPAGNA || ' - ' || B.DSMESE || ' - ' || B.CDANNO, C.DSCLIENTE, C.CDAGENZIA, A.CDOPERATORE, C.CDCONTABILITA, C.DSINDIRIZZO, C.CDCAP, C.CDLOCALITA, C.NMTELEFONO, C.NMTELEFONO1, C.NMCELLULARE, C.NMCELLULARE1, C.NMFAX, C.NMFAX1, C.NMPREFERENZIALE, C.DSEMAIL, C.CDPARTITAIVA, C.FLASSUNZIONE, C.NTCLIENTE, D.DSCOMUNE, D.CDPROVINCIA FROM DCAMPAGNE A, DPROMOZIONI B, DCLIENTI C, TCOMUNI D WHERE A.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDCLIENTE = C.CDCLIENTE AND C.CDLOCALITA = D.CDCOMUNE ;
/* View: VIEW_JOB_CLIENTE */ CREATE VIEW VIEW_JOB_CLIENTE( CDJOB, CDCLIENTE, CDCAMPAGNA, CDPROMOZIONE) AS SELECT A.CDJOB, C.CDCLIENTE, C.CDCAMPAGNA, B.CDPROMOZIONE FROM RJOB A, DPROMOZIONI B, DCAMPAGNE C WHERE A.CDPROMOZIONE = B.CDPROMOZIONE AND B.CDCAMPAGNA = C.CDCAMPAGNA ;
/* View: VIEW_CLIENTE_CONTRATTI */ CREATE VIEW VIEW_CLIENTE_CONTRATTI( CDCAMPAGNA, CDPROMOZIONE, CDCLIENTE, CDANNO, CDMESE, DSMESE, DSCAMPAGNA, DSPROMOZIONE, DSCLIENTE, CDPARTITAIVA, DSINDIRIZZO, CDCAP, DSCOMUNE, CDPROVINCIA, NMGIORNATE, CDCONTRATTO, DSSHORTCONTRATTO, DSCONTRATTO, TPCONTRATTO, TPUM, IMCLIENTE, IMHOSTESS, FLASSUNZIONE, FLFESTIVO, FLDEFAULT, DSTIPOCONTRATTO, DSUNITA, DSLOCALITAESTESA, IMTOTALE, DSAGENZIACLIENTE) AS SELECT A.CDCAMPAGNA, A.CDPROMOZIONE, A.CDCLIENTE, E.CDANNO, E.CDMESE, E.DSMESE, E.DSCAMPAGNA, E.DSPROMOZIONE, E.DSCLIENTE, E.CDPARTITAIVA, E.DSINDIRIZZO, E.CDCAP, E.DSCOMUNE, E.CDPROVINCIA, B.NMGIORNATE, C.CDCONTRATTO, C.DSSHORTCONTRATTO, C.DSCONTRATTO, C.TPCONTRATTO, C.TPUM, C.IMCLIENTE, C.IMHOSTESS, C.FLASSUNZIONE, C.FLFESTIVO, C.FLDEFAULT, D.DSTIPOCONTRATTO, F.DSUNITA, E.CDCAP || ' - ' || E.DSCOMUNE || ' - (' || E.CDPROVINCIA || ')', CAST((B.NMGIORNATE * C.IMCLIENTE) AS FLOAT), G.DSAGENZIA || ' - ' || E.DSCLIENTE FROM VIEW_JOB_CLIENTE A, RJOB_HOSTESS B, RCAMPAGNE_CONTRATTI C, TTIPO_CONTRATTO D, VIEW_CAMPAGNE_PROMOZIONI E, TUNITA_MISURA F, DAGENZIE G WHERE A.CDCAMPAGNA = C.CDCAMPAGNA AND A.CDJOB = B.CDJOB AND B.CDCONTRATTO = C.CDCONTRATTO AND C.TPCONTRATTO = D.CDTIPOCONTRATTO AND A.CDCAMPAGNA = E.CDCAMPAGNA AND A.CDPROMOZIONE = E.CDPROMOZIONE AND C.TPUM = F.CDUNITA AND E.CDAGENZIA = G.CDAGENZIA
UNION ALL
SELECT A.CDCAMPAGNA, A.CDPROMOZIONE, A.CDCLIENTE, A.CDANNO, A.CDMESE, A.DSMESE, A.DSCAMPAGNA, A.DSPROMOZIONE, A.DSCLIENTE, A.CDPARTITAIVA, A.DSINDIRIZZO, A.CDCAP, A.DSCOMUNE, A.CDPROVINCIA, B.NMSPEDIZIONI, C.CDCONTRATTO, C.DSSHORTCONTRATTO, C.DSCONTRATTO, C.TPCONTRATTO, C.TPUM, C.IMCLIENTE, C.IMHOSTESS, C.FLASSUNZIONE, C.FLFESTIVO, C.FLDEFAULT, D.DSTIPOCONTRATTO, E.DSUNITA, A.CDCAP || ' - ' || A.DSCOMUNE || ' - (' || A.CDPROVINCIA || ')', CAST((B.NMSPEDIZIONI * C.IMCLIENTE) AS FLOAT), F.DSAGENZIA || ' - ' || A.DSCLIENTE FROM VIEW_CAMPAGNE_PROMOZIONI A, RPROMOZIONI_SPEDIZIONI B, RCAMPAGNE_CONTRATTI C, TTIPO_CONTRATTO D, TUNITA_MISURA E, DAGENZIE F WHERE A.CDCAMPAGNA = C.CDCAMPAGNA AND A.CDPROMOZIONE = B.CDPROMOZIONE AND B.CDCONTRATTO = C.CDCONTRATTO AND C.TPCONTRATTO = D.CDTIPOCONTRATTO AND C.TPUM = E.CDUNITA AND A.CDAGENZIA = F.CDAGENZIA ;
/* View: VIEW_COPERTURA */ CREATE VIEW VIEW_COPERTURA( CDJOB, DSCOPERTURA) AS SELECT A.CDJOB, CASE A.CDCOPERTURA WHEN 1 THEN C.DSCOPERTURA WHEN 2 THEN B.DSAGENZIA END FROM RJOB A, DAGENZIE B, TCOPERTURA C WHERE A.CDCOPERTURA = C.CDCOPERTURA AND A.CDAGENZIA = B.CDAGENZIA AND A.CDCOPERTURA > 0 ;
/* View: VIEW_DESTINATARI */ CREATE VIEW VIEW_DESTINATARI( CDDESTINATARIO, TPDESTINATARIO, DSDESTINATARIO, DSINDIRIZZO, CDCAP, CDLOCALITA) AS /* Serve per fare CDDESTINATARIO = 0 & TPDESTINATARIO = 0, altrimenti non prederebbe alcuni record */
SELECT CDHOSTESS, 0, CAST (DSNOMINATIVO AS VARCHAR(150)), CAST((DSINDIRIZZO || ' ' || DSINDIRIZZO2) AS VARCHAR(100)), CDCAP, CDINDIRIZZO FROM DHOSTESS WHERE CDHOSTESS = 0
UNION ALL
SELECT CDHOSTESS, 1, CAST (DSNOMINATIVO AS VARCHAR(150)), CAST((DSINDIRIZZO || ' ' || DSINDIRIZZO2) AS VARCHAR(100)), CDCAP, CDINDIRIZZO FROM DHOSTESS
UNION ALL
SELECT CDPUNTOVENDITA, 2, CAST (DSPUNTOVENDITA AS VARCHAR(150)), CAST(DSLOCALITA AS VARCHAR (100)), CDCAP, CDLOCALITA FROM DPUNTI_VENDITA
UNION ALL
SELECT CDAGENZIA, 3, CAST (DSAGENZIA AS VARCHAR(150)), CAST(DSVIA AS VARCHAR (100)), CDCAP, CDRESIDENZA FROM DAGENZIE ;
/* View: VIEW_FETCH_HOSTESS */ CREATE VIEW VIEW_FETCH_HOSTESS( CDJOB, NMHOSTESS) AS SELECT CDJOB, COUNT(DTJOB) FROM RJOB_HOSTESS GROUP BY CDJOB, DTJOB ;
/* View: VIEW_HOSTESS_COMPENSI */ CREATE VIEW VIEW_HOSTESS_COMPENSI( CDHOSTESS, CDANNO, CDMESE, IMGIORNATE, IMRIMBORSI, IMTOTALE) AS SELECT A.CDHOSTESS, C.CDANNO, C.CDMESE, SUM(A.IMGIORNATA), SUM(A.IMRIMBORSO), SUM(A.IMGIORNATA + A.IMRIMBORSO) FROM RJOB_HOSTESS A, RJOB B, DPROMOZIONI C WHERE A.CDJOB = B.CDJOB AND B.CDPROMOZIONE = C.CDPROMOZIONE GROUP BY A.CDHOSTESS, C.CDANNO, C.CDMESE ;
/* View: VIEW_HOSTESS_CONTRATTI */ CREATE VIEW VIEW_HOSTESS_CONTRATTI( CDJOB, CDCONTRATTO, CDCLIENTE, CDCAMPAGNA, DSSHORTCONTRATTO, DSCONTRATTO, TPUM, DSUNITA, IMCLIENTE, IMHOSTESS, FLASSUNZIONE, FLFESTIVO, FLDEFAULT) AS SELECT B.CDJOB, C.CDCONTRATTO, B.CDCLIENTE, B.CDCAMPAGNA, C.DSSHORTCONTRATTO, C.DSCONTRATTO, C.TPUM, D.DSUNITA, C.IMCLIENTE, C.IMHOSTESS, C.FLASSUNZIONE, C.FLFESTIVO, C.FLDEFAULT FROM VIEW_JOB_CLIENTE B, RCAMPAGNE_CONTRATTI C, TUNITA_MISURA D WHERE B.CDCAMPAGNA = C.CDCAMPAGNA AND C.TPUM = D.CDUNITA ;
/* View: VIEW_HOSTESS_COORDINATRICE */ CREATE VIEW VIEW_HOSTESS_COORDINATRICE( CDJOB, CDHOSTESS, DSHOSTESS, CDCOORDINATRICE, DSCOORDINATRICE) AS SELECT A.CDJOB, A.CDHOSTESS, B.DSNOMINATIVO, A.CDCOORDINATRICE, C.DSNOMINATIVO FROM RJOB_HOSTESS A, DHOSTESS B, DHOSTESS C WHERE A.CDHOSTESS = B.CDHOSTESS AND A.CDCOORDINATRICE = C.CDHOSTESS GROUP BY A.CDJOB, A.CDHOSTESS, B.DSNOMINATIVO, A.CDCOORDINATRICE, C.DSNOMINATIVO ;
/* View: VIEW_HOSTESS_ENGAGED */ CREATE VIEW VIEW_HOSTESS_ENGAGED( CDHOSTESS, DTJOB, NUM_CX) AS SELECT CDHOSTESS, DTJOB, COUNT(*) FROM RJOB_HOSTESS GROUP BY CDHOSTESS, DTJOB ;
/* View: VIEW_HOSTESS_NMGG */ CREATE VIEW VIEW_HOSTESS_NMGG( CDHOSTESS, NMGG) AS SELECT A.CDHOSTESS, SUM(B.NMGIORNATE) FROM DHOSTESS A LEFT JOIN RJOB_HOSTESS B ON A.CDHOSTESS = B.CDHOSTESS GROUP BY A.CDHOSTESS ;
/* View: VIEW_HOSTESS_PAGAMENTI */ CREATE VIEW VIEW_HOSTESS_PAGAMENTI( CDHOSTESS, CDANNO, CDMESE, IMANTICIPI, IMSALDI, IMALTRI, IMTOTALE) AS SELECT B.CDHOSTESS, B.CDANNO, B.CDMESE, SUM(CASE B.TPPAGAMENTO WHEN 1 THEN B.IMPAGAMENTO ELSE 0 END), SUM(CASE B.TPPAGAMENTO WHEN 2 THEN B.IMPAGAMENTO ELSE 0 END), SUM(CASE WHEN ((NOT (B.TPPAGAMENTO = 1)) AND (NOT (B.TPPAGAMENTO = 2)) AND (NOT B.IMPAGAMENTO IS NULL)) THEN B.IMPAGAMENTO ELSE 0 END), SUM(B.IMPAGAMENTO) FROM RHOSTESS_PAGAMENTI B GROUP BY B.CDHOSTESS, B.CDANNO, B.CDMESE ;
/* View: VIEW_HOSTESS_SALDO */ CREATE VIEW VIEW_HOSTESS_SALDO( CDHOSTESS, CDANNO, CDMESE, DSMESE, IMGIORNATE, IMRIMBORSI, IMANTICIPI, IMSALDI, IMALTRI, IMTOTALE) AS SELECT A.CDHOSTESS, A.CDANNO, A.CDMESE, STRMONTH(A.CDMESE), A.IMGIORNATE, A.IMRIMBORSI, COALESCE(B.IMANTICIPI, 0), COALESCE(B.IMSALDI, 0), COALESCE(B.IMALTRI, 0), A.IMTOTALE - COALESCE(B.IMTOTALE, 0) FROM VIEW_HOSTESS_COMPENSI A LEFT JOIN VIEW_HOSTESS_PAGAMENTI B ON A.CDHOSTESS = B.CDHOSTESS AND A.CDMESE = B.CDMESE AND A.CDANNO = B.CDANNO ;
/* View: VIEW_INSTORE_ATTIVITA */ CREATE VIEW VIEW_INSTORE_ATTIVITA( STHOSTESS, STBRIEFING, STREPORT, CDJOB, DTJOB, CDPROG, CDAZIENDA, DSORARIO, CDFORNITORE, CDHOSTESS, CDATTIVITA, DSATTIVITA, NMPREFERENZIALE, NMCELLULARE, NMCELLULARE1, NMGIORNATE, IMGIORNATA, IMRIMBORSO, CDCONTRATTO, FLASSUNZIONE, FLFESTIVO, FLEXPORTED, DTUPDATE, CDUPDATE, FLCAMICEAG, FLTAILLEURAG, NUM_CX, DSSHORT, CDCAMPAGNA, DSSHORTCONTRATTO, CDCOORDINATRICE, IMGGCOORDINATRICE, IMFIXCOORDINATRICE, FLRIMBORSO, DTRIMBORSO, DTPAGAMENTO, DSCOORDINATRICE, DTREPORT, TPJOB, DSTPJOB) AS SELECT B.STHOSTESS, B.STBRIEFING, B.STREPORT, B.CDJOB, B.DTJOB, B.CDPROG, B.CDAZIENDA, B.DSORARIO, B.CDFORNITORE, B.CDHOSTESS,
FROM RJOB_HOSTESS B, DHOSTESS C, VIEW_HOSTESS_ENGAGED G, DAZIENDE E, VIEW_JOB_CLIENTE D, VIEW_HOSTESS_CONTRATTI F, DHOSTESS A, TTIPO_JOB H, DFORNITORI I WHERE B.CDHOSTESS = C.CDHOSTESS AND B.CDHOSTESS = G.CDHOSTESS AND B.DTJOB = G.DTJOB AND B.CDAZIENDA = E.CDAZIENDA AND B.CDJOB = D.CDJOB AND B.CDJOB = F.CDJOB AND B.CDCONTRATTO = F.CDCONTRATTO AND B.CDCOORDINATRICE = A.CDHOSTESS AND B.TPJOB = H.CDTPJOB AND B.CDFORNITORE = I.CDFORNITORE ;
/* View: VIEW_JOB_GIORNATE */ CREATE VIEW VIEW_JOB_GIORNATE( CDJOB, DTMIN, DTMAX, NMGIORNATE, NMFESTIVE) AS SELECT CDJOB, MIN(DTJOB), MAX(DTJOB), SUM(NMGIORNATE), SUM(FLFESTIVO * NMGIORNATE) FROM RJOB_HOSTESS GROUP BY CDJOB ;
/* View: VIEW_JOB_INFO */ CREATE VIEW VIEW_JOB_INFO( CDJOB, DSINFO, DSVALUE) AS SELECT A.CDJOB, B.DSINFO, A.DSINFO FROM RJOB_INFO A, TJOB_INFO B WHERE A.CDINFO = B.CDINFO ;
/* View: VIEW_LOGISTICA_ART_MAG */ CREATE VIEW VIEW_LOGISTICA_ART_MAG( CDJOB, CDPROG, CDCAMPAGNA, FLCONSEGNADIRETTA, FLMAGAZZINO, CDARTICOLO, DSARTICOLO, CDMAGAZZINO, DSMAGAZZINO, FLESTERNO, FLCHKSPEDIZIONE, FLCHKCONSEGNA, QTMOVIMENTO, QTRESO, FLFORNITURA, FLRITIRI, CDSPEDIZIONE, STSPEDIZIONE, STMAGAZZINO, TPDESTINATARIO, CDDESTINATARIO, STCONSEGNA, STRITIRO, FLKIT) AS SELECT A.CDJOB, A.CDPROG, A.CDCAMPAGNA, A.FLCONSEGNADIRETTA, A.FLMAGAZZINO, A.CDARTICOLO, C.DSARTICOLO, A.CDMAGAZZINO, D.DSMAGAZZINO, D.FLESTERNO, A.FLCHKSPEDIZIONE, A.FLCHKCONSEGNA, A.QTMOVIMENTO, A.QTRESO, A.FLFORNITURA, A.FLRITIRI, A.CDSPEDIZIONE, A.STSPEDIZIONE, A.STMAGAZZINO, A.TPDESTINATARIO, A.CDDESTINATARIO, A.STCONSEGNA, A.STRITIRO, A.FLKIT FROM RJOB_LOGISTICA_MOVIMENTO A, DCAMPAGNE B, RCLIENTI_ARTICOLI C, TMAGAZZINO D WHERE A.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDARTICOLO = C.CDARTICOLO AND B.CDCLIENTE = C.CDCLIENTE AND A.CDMAGAZZINO = D.CDMAGAZZINO ;
/* View: VIEW_LOGISTICA_MIN */ CREATE VIEW VIEW_LOGISTICA_MIN( CDJOB, STATTIVITA, STMAGAZZINO, STSPEDIZIONE, STCONSEGNA, STRITIRO) AS SELECT E.CDJOB, MIN(E.STATTIVITA) STATTIVITA, MIN(F.STMAGAZZINO) STMAGAZZINO, MIN(F.STSPEDIZIONE) STSPEDIZIONE, MIN(F.STCONSEGNA) STCONSEGNA, MIN(F.STRITIRO) STRITIRO FROM RJOB_LOGISTICA_ATTIVITA E, RJOB_LOGISTICA_MOVIMENTO F WHERE E.CDJOB = F.CDJOB
GROUP BY E.CDJOB, F.CDJOB ;
/* View: VIEW_LOGISTICA_MOVIMENTI */ CREATE VIEW VIEW_LOGISTICA_MOVIMENTI( CDCLIENTE, CDARTICOLO, CDMAGAZZINO, FLESTERNO, DSCLIENTE, DSARTICOLO, DSMAGAZZINO, DSMOVIMENTO) AS SELECT B.CDCLIENTE, A.CDARTICOLO, A.CDMAGAZZINO, D.FLESTERNO, E.DSCLIENTE, C.DSARTICOLO, D.DSMAGAZZINO, DSCLIENTE || ' - ' || DSARTICOLO || ' - ' || DSMAGAZZINO FROM RCAMPAGNE_LOGISTICA_MOVIMENTO A, DCAMPAGNE B, RCLIENTI_ARTICOLI C, TMAGAZZINO D, DCLIENTI E WHERE A.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDARTICOLO = C.CDARTICOLO AND B.CDCLIENTE = C.CDCLIENTE AND B.CDCLIENTE = E.CDCLIENTE AND A.CDMAGAZZINO = D.CDMAGAZZINO
UNION
SELECT B.CDCLIENTE, A.CDARTICOLO, A.CDMAGAZZINO, D.FLESTERNO, E.DSCLIENTE, C.DSARTICOLO, D.DSMAGAZZINO, DSCLIENTE || ' - ' || DSARTICOLO || ' - ' || DSMAGAZZINO FROM RJOB_LOGISTICA_MOVIMENTO A, DCAMPAGNE B, RCLIENTI_ARTICOLI C, TMAGAZZINO D, DCLIENTI E WHERE A.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDARTICOLO = C.CDARTICOLO AND B.CDCLIENTE = C.CDCLIENTE AND B.CDCLIENTE = E.CDCLIENTE AND A.CDMAGAZZINO = D.CDMAGAZZINO
UNION
SELECT A.CDCLIENTE, A.CDARTICOLO, A.CDMAGAZZINO, D.FLESTERNO, E.DSCLIENTE, C.DSARTICOLO, D.DSMAGAZZINO, DSCLIENTE || ' - ' || DSARTICOLO || ' - ' || DSMAGAZZINO FROM RMAGAZZINI_MOVIMENTI A, RCLIENTI_ARTICOLI C, TMAGAZZINO D, DCLIENTI E WHERE A.CDARTICOLO = C.CDARTICOLO AND A.CDCLIENTE = C.CDCLIENTE AND A.CDCLIENTE = E.CDCLIENTE AND A.CDMAGAZZINO = D.CDMAGAZZINO ;
/* View: VIEW_MAGAZZINI_MOVIMENTI */ CREATE VIEW VIEW_MAGAZZINI_MOVIMENTI( CDCLIENTE, CDARTICOLO, CDMAGAZZINO, CDPROG, DSCLIENTE, DSARTICOLO, DSMAGAZZINO, DSMOVIMENTO, DTMOVIMENTO, QTMOVIMENTO, CDCAUSALE, DSCAUSALE, QT0, QT1) AS SELECT D.CDCLIENTE, A.CDARTICOLO, A.CDMAGAZZINO, 0, C.DSCLIENTE, D.DSARTICOLO, E.DSMAGAZZINO, (C.DSCLIENTE || ' - ' || E.DSMAGAZZINO || ' - ' || D.DSARTICOLO), CAST(B.DTSPEDIZIONE AS TIMESTAMP), CAST((A.QTMOVIMENTO - CAST(COALESCE(A.QTRESO, 0) AS INTEGER)) * F.TPMOVIMENTO AS INTEGER), CAST(5 AS SMALLINT), F.DSCAUSALE, CAST(COALESCE(A.QTMOVIMENTO, 0) AS INTEGER), CAST(COALESCE(A.QTRESO, 0) AS INTEGER)
FROM RJOB_LOGISTICA_MOVIMENTO A, DSPEDIZIONI B, DCLIENTI C, RCLIENTI_ARTICOLI D, TMAGAZZINO E, TCAUSALI_MAGAZZINO F WHERE A.CDARTICOLO = D.CDARTICOLO AND A.CDSPEDIZIONE = B.CDSPEDIZIONE AND A.CDMAGAZZINO = E.CDMAGAZZINO AND D.CDCLIENTE = C.CDCLIENTE AND F.CDCAUSALE = 5
UNION ALL
SELECT D.CDCLIENTE, A.CDARTICOLO, A.CDMAGAZZINO, A.CDPROG, B.DSCLIENTE, D.DSARTICOLO, E.DSMAGAZZINO, (B.DSCLIENTE || ' - ' || E.DSMAGAZZINO || ' - ' || D.DSARTICOLO), CAST(A.DTMOVIMENTO AS TIMESTAMP), CAST(A.QTMOVIMENTO * F.TPMOVIMENTO AS INTEGER), CAST(A.CDCAUSALE AS SMALLINT), F.DSCAUSALE, CAST(IIF(F.TPMOVIMENTO = -1, A.QTMOVIMENTO * -1, 0) AS INTEGER), CAST(IIF(F.TPMOVIMENTO = -1, 0, A.QTMOVIMENTO) AS INTEGER)
FROM RMAGAZZINI_MOVIMENTI A, RCLIENTI_ARTICOLI D, DCLIENTI B, TMAGAZZINO E, TCAUSALI_MAGAZZINO F WHERE A.CDARTICOLO = D.CDARTICOLO AND A.CDMAGAZZINO = E.CDMAGAZZINO AND A.CDCLIENTE = B.CDCLIENTE AND A.CDCAUSALE = F.CDCAUSALE ;
/* View: VIEW_NUMERO_HOSTESS */ CREATE VIEW VIEW_NUMERO_HOSTESS( CDJOB, NMHOSTESS) AS SELECT CDJOB, MAX(NMHOSTESS) FROM VIEW_FETCH_HOSTESS GROUP BY CDJOB ;
/* View: VIEW_PROMOZIONE_NMGG */ CREATE VIEW VIEW_PROMOZIONE_NMGG( CDPROMOZIONE, NMGIORNATE) AS SELECT A.CDPROMOZIONE, COUNT(C.DTJOB) FROM (DPROMOZIONI A LEFT JOIN RJOB B ON A.CDPROMOZIONE = B.CDPROMOZIONE) LEFT JOIN RJOB_HOSTESS C ON B.CDJOB = C.CDJOB GROUP BY A.CDPROMOZIONE ;
/* View: VIEW_PROMOZIONE_NMPV */ CREATE VIEW VIEW_PROMOZIONE_NMPV( CDPROMOZIONE, NMPUNTIVENDITA) AS SELECT B.CDPROMOZIONE, COUNT(A.CDPROMOZIONE) FROM DPROMOZIONI B LEFT JOIN RJOB A ON B.CDPROMOZIONE = A.CDPROMOZIONE GROUP BY B.CDPROMOZIONE ;
/* View: VIEW_PROMOZIONI_SPEDIZIONI */ CREATE VIEW VIEW_PROMOZIONI_SPEDIZIONI( CDPROMOZIONE, CDPROG, CDCONTRATTO, TPMITTENTE, CDCORRIERE, CDHOSTESS, DTSPEDIZIONE, DSCONTRATTO, DSSHORTCONTRATTO, DSMITTENTE, DSTPMITTENTE) AS SELECT A.CDPROMOZIONE, A.CDPROG, A.CDCONTRATTO, A.TPMITTENTE, A.CDCORRIERE, A.CDHOSTESS, A.DTSPEDIZIONE, B.DSCONTRATTO, B.DSSHORTCONTRATTO, CASE TPMITTENTE WHEN 1 THEN C.DSNOMINATIVO WHEN 2 THEN E.DSCORRIERE END, CASE TPMITTENTE WHEN 1 THEN 'Hostess' WHEN 2 THEN 'Corriere' END
FROM RPROMOZIONI_SPEDIZIONI A, RCAMPAGNE_CONTRATTI B, DHOSTESS C, DPROMOZIONI D, TCORRIERI E WHERE A.CDPROMOZIONE = D.CDPROMOZIONE AND A.CDCONTRATTO = B.CDCONTRATTO AND D.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDHOSTESS = C.CDHOSTESS AND A.CDCORRIERE = E.CDCORRIERE ;
/* View: VIEW_PV_DISPLAYINSEGNA */ CREATE VIEW VIEW_PV_DISPLAYINSEGNA( CDPUNTOVENDITA, DSPUNTOVENDITA, DSDENOMINAZIONE, CDINSEGNA, CDLOCALITA, DSLOCALITA, DSLOCALITA2, CDCAP, NMTELEFONO, NMTELEFONO1, NMCELLULARE, NMCELLULARE1, NMFAX, NMFAX1, NMPREFERENZIALE, DSEMAIL, DSRESPONSABILE, DSREPARTORESPONSABILE, NMTELEFONORESPONSABILE, DSEMAILRESPONSABILE, NMMQ, NMCASSE, DSORARIO, CDTIPOPUNTOVENDITA, NTPUNTOVENDITA, FLASSUNZIONE, CDAREANIELSEN, FLDISPLAYPV, FLDISPLAYINSEGNA, FLDISPLAYINDIRIZZO, FLDISPLAYLOCALITA, FLDISPLAYDENOMINAZIONE, DTUPDATE, CDUPDATE, DSDISPLAYINSEGNA, DSINSEGNA, DSCOMUNEPV, CDPROVINCIAPV) AS SELECT CDPUNTOVENDITA, DSPUNTOVENDITA, DSDENOMINAZIONE, A.CDINSEGNA, CDLOCALITA, DSLOCALITA, DSLOCALITA2, A.CDCAP, NMTELEFONO, NMTELEFONO1, NMCELLULARE, NMCELLULARE1, NMFAX TELEFONO, NMFAX1, NMPREFERENZIALE, DSEMAIL, DSRESPONSABILE, DSREPARTORESPONSABILE, NMTELEFONORESPONSABILE, DSEMAILRESPONSABILE, NMMQ, NMCASSE, DSORARIO, CDTIPOPUNTOVENDITA, NTPUNTOVENDITA, FLASSUNZIONE, CDAREANIELSEN, FLDISPLAYPV, FLDISPLAYINSEGNA, FLDISPLAYINDIRIZZO, FLDISPLAYLOCALITA, FLDISPLAYDENOMINAZIONE, A.DTUPDATE, A.CDUPDATE, DISPLAYINSEGNA( A.FLDISPLAYINSEGNA, B.DSINSEGNA, A.FLDISPLAYPV, A.DSPUNTOVENDITA, A.FLDISPLAYDENOMINAZIONE, A.DSDENOMINAZIONE, A.FLDISPLAYLOCALITA, C.DSCOMUNE, A.FLDISPLAYINDIRIZZO, A.DSLOCALITA ), DSINSEGNA, DSCOMUNE, CDPROVINCIA FROM DPUNTI_VENDITA A, TINSEGNA B, TCOMUNI C WHERE A.CDINSEGNA = B.CDINSEGNA AND A.CDLOCALITA = C.CDCOMUNE ;
/* View: VIEW_SPEDIZIONE_CAMPAGNA_PV */ CREATE VIEW VIEW_SPEDIZIONE_CAMPAGNA_PV( CDSPEDIZIONE, CDCAMPAGNA, CDPUNTOVENDITA) AS SELECT A.CDSPEDIZIONE, A.CDCAMPAGNA, B.CDPUNTOVENDITA FROM RJOB_LOGISTICA_MOVIMENTO A, RJOB B WHERE A.CDJOB = B.CDJOB GROUP BY A.CDSPEDIZIONE, A.CDCAMPAGNA, B.CDPUNTOVENDITA ;
/* View: VIEW_SPEDIZIONE_JOB */ CREATE VIEW VIEW_SPEDIZIONE_JOB( CDJOB, CDSPEDIZIONE) AS SELECT CDJOB, CDSPEDIZIONE FROM RJOB_LOGISTICA_MOVIMENTO GROUP BY CDJOB, CDSPEDIZIONE ;
/* View: VIEW_SPEDIZIONI_MIN */ CREATE VIEW VIEW_SPEDIZIONI_MIN( CDSPEDIZIONE, STMAGAZZINO, STSPEDIZIONE, STCONSEGNA, STRITIRO) AS SELECT F.CDSPEDIZIONE, MIN(F.STMAGAZZINO) STMAGAZZINO, MIN(F.STSPEDIZIONE) STSPEDIZIONE, MIN(F.STCONSEGNA) STCONSEGNA, MIN(F.STRITIRO) STRITIRO FROM RJOB_LOGISTICA_MOVIMENTO F WHERE F.CDSPEDIZIONE IS NOT NULL GROUP BY F.CDSPEDIZIONE ;
/* View: VIEW_STAMPE_DETTAGLIO */ CREATE VIEW VIEW_STAMPE_DETTAGLIO( CDSTAMPA, TPSTAMPA, DSTIPOSTAMPA, FLSELECT, CDORDER, DSSTAMPA, CDPROG, CDAZIENDA, CDINSEGNA, CDPUNTOVENDITA, DSAZIENDA, DSINSEGNA, DSPUNTOVENDITA, DSDISPLAYINSEGNA, DSSTAMPADETTAGLIO, TPEXT, DSEXTSTAMPA, DSSUFIX) AS SELECT A.CDSTAMPA, A.TPSTAMPA, G.DSTIPOSTAMPA, A.FLSELECT, G.CDORDER, A.DSSTAMPA, B.CDPROG, B.CDAZIENDA, B.CDINSEGNA, B.CDPUNTOVENDITA, C.DSAZIENDA, D.DSINSEGNA, E.DSPUNTOVENDITA, E.DSDISPLAYINSEGNA, C.DSAZIENDA || ' - ' || D.DSINSEGNA || ' - ' || E.DSPUNTOVENDITA, B.TPEXT, F.DSEXTSTAMPA, G.DSSUFIX FROM DSTAMPE A, RSTAMPE_DETTAGLIO B, DAZIENDE C, TINSEGNA D, VIEW_PV_DISPLAYINSEGNA E, TEXT_STAMPA F, TTIPO_STAMPA G WHERE A.CDSTAMPA = B.CDSTAMPA AND B.CDAZIENDA = C.CDAZIENDA AND B.CDINSEGNA = D.CDINSEGNA AND B.CDPUNTOVENDITA = E.CDPUNTOVENDITA AND B.TPEXT = F.CDEXTSTAMPA AND A.TPSTAMPA = G.CDTIPOSTAMPA ;
/******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/
ALTER TABLE DAGENZIE ADD CONSTRAINT PK_DAGENZIE PRIMARY KEY (CDAGENZIA); ALTER TABLE DAZIENDE ADD CONSTRAINT PK_DAZIENDE PRIMARY KEY (CDAZIENDA); ALTER TABLE DCAMPAGNE ADD CONSTRAINT PK_DCAMPAGNE PRIMARY KEY (CDCAMPAGNA); ALTER TABLE DCLIENTI ADD CONSTRAINT PK_DCLIENTI PRIMARY KEY (CDCLIENTE); ALTER TABLE DCOMMESSE ADD CONSTRAINT PK_DCOMMESSE PRIMARY KEY (CDCOMMESSA); ALTER TABLE DFORNITORI ADD CONSTRAINT PK_DFORNITORI PRIMARY KEY (CDFORNITORE); ALTER TABLE DHOSTESS ADD CONSTRAINT PK_DHOSTESS PRIMARY KEY (CDHOSTESS); ALTER TABLE DMANDATI ADD CONSTRAINT PK_DMANDATI PRIMARY KEY (CDMANDATO); ALTER TABLE DOPERATORI ADD CONSTRAINT PK_DOPERATORI PRIMARY KEY (CDOPERATORE); ALTER TABLE DPROMOZIONI ADD CONSTRAINT PK_DPROMOZIONI PRIMARY KEY (CDPROMOZIONE); ALTER TABLE DPUNTI_VENDITA ADD CONSTRAINT PK_DPUNTI_VENDITA PRIMARY KEY (CDPUNTOVENDITA); ALTER TABLE DSPEDIZIONI ADD CONSTRAINT PK_DSPEDIZIONI PRIMARY KEY (CDSPEDIZIONE); ALTER TABLE DSTAMPE ADD CONSTRAINT PK_DSTAMPE PRIMARY KEY (CDSTAMPA); ALTER TABLE DUTENTI ADD CONSTRAINT PK_DUTENTI PRIMARY KEY (CDUTENTE); ALTER TABLE FIB$FIELDS_INFO ADD CONSTRAINT PK_FIB$FIELDS_INFO PRIMARY KEY (TABLE_NAME, FIELD_NAME); ALTER TABLE RCAMPAGNE_CONTRATTI ADD CONSTRAINT PK_RCAMPAGNE_CONTRATTI PRIMARY KEY (CDCAMPAGNA, CDCONTRATTO); ALTER TABLE RCAMPAGNE_LOGISTICA_ATTIVITA ADD CONSTRAINT PK_RCAMPAGNE_LOGISTICA_ATTIVITA PRIMARY KEY (CDCAMPAGNA, CDLOGISTICA, CDTEMPLATE); ALTER TABLE RCAMPAGNE_LOGISTICA_MOVIMENTO ADD CONSTRAINT PK_RCAMPAGNE_LOGISTICA_MOV PRIMARY KEY (CDCAMPAGNA, CDLOGISTICA, CDTEMPLATE); ALTER TABLE RCAMPAGNE_LOGISTICA_TEMPLATE ADD CONSTRAINT PK_RCAMPAGNE_LOGISTICA_TEMPLATE PRIMARY KEY (CDCAMPAGNA, CDTEMPLATE); ALTER TABLE RCLIENTI_ARTICOLI ADD CONSTRAINT PK_RCLIENTI_ARTICOLI PRIMARY KEY (CDCLIENTE, CDARTICOLO); ALTER TABLE RCLIENTI_REPARTI ADD CONSTRAINT PK_RCLIENTI_REPARTI PRIMARY KEY (CDCLIENTE, CDPROG); ALTER TABLE RCOMMESSE_REVISIONE ADD CONSTRAINT PK_RCOMMESSE_REVISIONE PRIMARY KEY (CDCOMMESSA, CDREVISIONE); ALTER TABLE RCOMMESSE_RIGHE ADD CONSTRAINT PK_RCOMMESSE_RIGHE PRIMARY KEY (CDCOMMESSA, CDRIGA); ALTER TABLE RCOMMESSE_VOCI_RIGHE_TT ADD CONSTRAINT PK_RCOMMESSE_VOCI_RIGHE_TT PRIMARY KEY (CDCOMMESSA, CDVOCE, CDRIGA); ALTER TABLE RCOMMESSE_VOCI_TT ADD CONSTRAINT PK_RCOMMESSE_VOCI_TT PRIMARY KEY (CDCOMMESSA, CDVOCE); ALTER TABLE RCOMMESSE_WIP ADD CONSTRAINT PK_RCOMMESSE_WIP PRIMARY KEY (CDCOMMESSA, CDREVISIONE); ALTER TABLE RHOSTESS_PAGAMENTI ADD CONSTRAINT PK_RHOSTESS_PAGAMENTI PRIMARY KEY (CDHOSTESS, CDPROG); ALTER TABLE RJOB ADD CONSTRAINT PK_RJOB PRIMARY KEY (CDJOB); ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT PK_RJOB_HOSTESS PRIMARY KEY (CDJOB, CDPROG); ALTER TABLE RJOB_INFO ADD CONSTRAINT PK_RJOB_INFO PRIMARY KEY (CDJOB, CDINFO); ALTER TABLE RJOB_LOGISTICA_ATTIVITA ADD CONSTRAINT PK_RJOB_LOGISTICA_ATTIVITA PRIMARY KEY (CDJOB, CDPROG); ALTER TABLE RJOB_LOGISTICA_MECCANICA ADD CONSTRAINT PK_RJOB_LOGISTICA_MECCANICA PRIMARY KEY (CDJOB); ALTER TABLE RJOB_LOGISTICA_MOVIMENTO ADD CONSTRAINT PK_RJOB_LOGISTICA_MOVIMENTO PRIMARY KEY (CDJOB, CDPROG); ALTER TABLE RMAGAZZINI_MOVIMENTI ADD CONSTRAINT PK_RMAGAZZINI_MOVIMENTI PRIMARY KEY (CDMAGAZZINO, CDCLIENTE, CDARTICOLO, CDPROG); ALTER TABLE RMANDATI_HOSTESS ADD CONSTRAINT PK_RMANDATI_HOSTESS PRIMARY KEY (CDMANDATO, CDHOSTESS); ALTER TABLE RMANDATI_PROVINCIE ADD CONSTRAINT PK_RMANDATI_PROVINCIE PRIMARY KEY (CDMANDATO, CDPROVINCIA); ALTER TABLE RPROMOZIONI_SPEDIZIONI ADD CONSTRAINT PK_RPROMOZIONI_SPEDIZIONI PRIMARY KEY (CDPROMOZIONE, CDPROG); ALTER TABLE RPUNTI_VENDITA_REPARTI ADD CONSTRAINT PK_RPUNTI_VENDITA_REPARTI PRIMARY KEY (CDPUNTOVENDITA, CDPROG); ALTER TABLE RSTAMPE_DETTAGLIO ADD CONSTRAINT PK_RSTAMPE_DETTAGLIO PRIMARY KEY (CDSTAMPA, CDPROG); ALTER TABLE TATTIVITA ADD CONSTRAINT PK_TATTIVITA PRIMARY KEY (CDATTIVITA); ALTER TABLE TCAUSALI_MAGAZZINO ADD CONSTRAINT PK_TCAUSALI_MAGAZZINO PRIMARY KEY (CDCAUSALE); ALTER TABLE TCOLORE_CAPELLI ADD CONSTRAINT PK_TCOLORE_CAPELLI PRIMARY KEY (CDCAPELLI); ALTER TABLE TCOLORE_OCCHI ADD CONSTRAINT PK_TCOLORE_OCCHI PRIMARY KEY (CDOCCHI); ALTER TABLE TCOMUNI ADD CONSTRAINT PK_TCOMUNI PRIMARY KEY (CDCOMUNE); ALTER TABLE TCONSEGNA_METODO ADD CONSTRAINT PK_TCONSEGNA_METODO PRIMARY KEY (CDMETODO); ALTER TABLE TCONSEGNA_STATO ADD CONSTRAINT PK_TCONSEGNA_STATO PRIMARY KEY (CDSTATO); ALTER TABLE TCONSEGNA_TASSATIVA ADD CONSTRAINT PK_TCONSEGNA_TASSATIVA PRIMARY KEY (CDGG); ALTER TABLE TCOPERTURA ADD CONSTRAINT PK_TCOPERTURA PRIMARY KEY (CDCOPERTURA); ALTER TABLE TCORRIERI ADD CONSTRAINT PK_TCORRIERI PRIMARY KEY (CDCORRIERE); ALTER TABLE TDESTINATARIO ADD CONSTRAINT PK_TDESTINATARIO PRIMARY KEY (CDDESTINATARIO); ALTER TABLE TEXT_STAMPA ADD CONSTRAINT PK_TEXT_STAMPA PRIMARY KEY (CDEXTSTAMPA); ALTER TABLE TFESTIVITA ADD CONSTRAINT PK_TFESTIVITA PRIMARY KEY (CDFESTIVITA); ALTER TABLE TINI ADD CONSTRAINT PK_TINI PRIMARY KEY (CDSECTION, CDKEY); ALTER TABLE TINSEGNA ADD CONSTRAINT PK_TINSEGNA PRIMARY KEY (CDINSEGNA); ALTER TABLE TJOB_INFO ADD CONSTRAINT PK_TJOB_INFO PRIMARY KEY (CDINFO); ALTER TABLE TMAGAZZINO ADD CONSTRAINT PK_TMAGAZZINO PRIMARY KEY (CDMAGAZZINO); ALTER TABLE TPAGAMENTO ADD CONSTRAINT PK_TPAGAMENTO PRIMARY KEY (CDPAGAMENTO); ALTER TABLE TREPARTO ADD CONSTRAINT PK_TREPARTO PRIMARY KEY (CDREPARTO); ALTER TABLE TSEDI ADD CONSTRAINT PK_TSEDI PRIMARY KEY (CDSEDE); ALTER TABLE TSTATO ADD CONSTRAINT PK_TSTATO PRIMARY KEY (CDTIPO, CDSTATO); ALTER TABLE TSTATO_CIVILE ADD CONSTRAINT PK_TSTATO_CIVILE PRIMARY KEY (CDSTATOCIVILE); ALTER TABLE TTEMPLATE_CONTRATTI ADD CONSTRAINT PK_TTEMPLATE_CONTRATTI PRIMARY KEY (CDCONTRATTO); ALTER TABLE TTIPO_COMMESSE ADD CONSTRAINT PK_TTIPO_COMMESSE PRIMARY KEY (CDTIPOCOMMESSA); ALTER TABLE TTIPO_CONTRATTO ADD CONSTRAINT PK_TTIPO_CONTRATTO PRIMARY KEY (CDTIPOCONTRATTO); ALTER TABLE TTIPO_JOB ADD CONSTRAINT PK_TTIPO_JOB PRIMARY KEY (CDTPJOB); ALTER TABLE TTIPO_PAGAMENTO ADD CONSTRAINT PK_TTIPO_PAGAMENTO PRIMARY KEY (CDTIPOPAGAMENTO); ALTER TABLE TTIPO_PUNTI_VENDITA ADD CONSTRAINT PK_TTIPO_PUNTI_VENDITA PRIMARY KEY (CDTIPOPUNTOVENDITA); ALTER TABLE TTIPO_RIGA_COMMESSA ADD CONSTRAINT PK_TTIPO_RIGA_COMMESSA PRIMARY KEY (CDTIPORIGA); ALTER TABLE TTIPO_STAMPA ADD CONSTRAINT PK_TTIPO_STAMPA PRIMARY KEY (CDTIPOSTAMPA); ALTER TABLE TTIPO_STATO ADD CONSTRAINT PK_TTIPO_STATO PRIMARY KEY (CDTIPO); ALTER TABLE TTITOLO_STUDIO ADD CONSTRAINT PK_TTITOLO_STUDIO PRIMARY KEY (CDTITOLOSTUDIO); ALTER TABLE TTRATTAMENTO_FISCALE ADD CONSTRAINT PK_TTRATTAMENTO_FISCALE PRIMARY KEY (CDTRATTAMENTO); ALTER TABLE TUNITA_MISURA ADD CONSTRAINT PK_TUNITA_MISURA PRIMARY KEY (CDUNITA);
/******************************************************************************/ /*** Foreign Keys ***/ /******************************************************************************/
ALTER TABLE DAGENZIE ADD CONSTRAINT FK_DAGENZIE__CDRESIDENZA FOREIGN KEY (CDRESIDENZA) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCAMPAGNE ADD CONSTRAINT FK_DCAMPAGNE_CDOPER FOREIGN KEY (CDOPERATORE) REFERENCES DOPERATORI (CDOPERATORE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCAMPAGNE ADD CONSTRAINT FK_DCAMPAGNE__CDCLIENTE FOREIGN KEY (CDCLIENTE) REFERENCES DCLIENTI (CDCLIENTE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCLIENTI ADD CONSTRAINT FK_DCLIENTI__CDAGENZIA FOREIGN KEY (CDAGENZIA) REFERENCES DAGENZIE (CDAGENZIA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCLIENTI ADD CONSTRAINT FK_DCLIENTI__CDLOCALITA FOREIGN KEY (CDLOCALITA) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCLIENTI ADD CONSTRAINT FK_DCLIENTI__CDOPERATORE FOREIGN KEY (CDOPERATORE) REFERENCES DOPERATORI (CDOPERATORE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCOMMESSE ADD CONSTRAINT FK_DCOMMESSE_1 FOREIGN KEY (CDCLIENTE) REFERENCES DCLIENTI (CDCLIENTE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE DCOMMESSE ADD CONSTRAINT FK_DCOMMESSE_2 FOREIGN KEY (TPCOMMESSA) REFERENCES TTIPO_COMMESSE (CDTIPOCOMMESSA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DCOMMESSE ADD CONSTRAINT FK_DCOMMESSE_3 FOREIGN KEY (CDRESPONSABILE) REFERENCES DUTENTI (CDUTENTE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DFORNITORI ADD CONSTRAINT FK_DFORNITORI_1 FOREIGN KEY (CDCOMUNE) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDCAPELLI FOREIGN KEY (CDCAPELLI) REFERENCES TCOLORE_CAPELLI (CDCAPELLI) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDINDIRIZZO FOREIGN KEY (CDINDIRIZZO) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDNASCITA FOREIGN KEY (CDNASCITA) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDOCCHI FOREIGN KEY (CDOCCHI) REFERENCES TCOLORE_OCCHI (CDOCCHI) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDPAGAMENTO FOREIGN KEY (CDPAGAMENTO) REFERENCES TPAGAMENTO (CDPAGAMENTO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDREPARTO FOREIGN KEY (CDREPARTO) REFERENCES TREPARTO (CDREPARTO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDRESIDENZA FOREIGN KEY (CDRESIDENZA) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDSTATOCIVILE FOREIGN KEY (CDSTATOCIVILE) REFERENCES TSTATO_CIVILE (CDSTATOCIVILE) ON DELETE SET DEFAULT ON UPDATE CASCADE USING INDEX FK_DHOSTESS_CDSTATOCIVILE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDTITOLO FOREIGN KEY (CDTITOLODISTUDIO) REFERENCES TTITOLO_STUDIO (CDTITOLOSTUDIO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DHOSTESS ADD CONSTRAINT FK_DHOSTESS__CDTRATTAMENTO FOREIGN KEY (CDTRATTAMENTOFISCALE) REFERENCES TTRATTAMENTO_FISCALE (CDTRATTAMENTO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DPROMOZIONI ADD CONSTRAINT FK_DPROMOZIONI__CDCAMPAGNA FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DPUNTI_VENDITA ADD CONSTRAINT FK_DPUNTI_VENDITA__CDINSEGNA FOREIGN KEY (CDINSEGNA) REFERENCES TINSEGNA (CDINSEGNA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DPUNTI_VENDITA ADD CONSTRAINT FK_DPUNTI_VENDITA__CDLOCALITA FOREIGN KEY (CDLOCALITA) REFERENCES TCOMUNI (CDCOMUNE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DPUNTI_VENDITA ADD CONSTRAINT FK_DPUNTI_VENDITA__CDTIPOPV FOREIGN KEY (CDTIPOPUNTOVENDITA) REFERENCES TTIPO_PUNTI_VENDITA (CDTIPOPUNTOVENDITA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE DSTAMPE ADD CONSTRAINT FK_DSTAMPE_TPSTAMPA FOREIGN KEY (TPSTAMPA) REFERENCES TTIPO_STAMPA (CDTIPOSTAMPA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_CONTRATTI ADD CONSTRAINT FK_RCAMPAGNE_CONTRATTI_CDCAMP FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_CONTRATTI ADD CONSTRAINT FK_RCAMPAGNE_CONTRATTI_TPCON FOREIGN KEY (TPCONTRATTO) REFERENCES TTIPO_CONTRATTO (CDTIPOCONTRATTO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_CONTRATTI ADD CONSTRAINT FK_RCAMPAGNE_CONTRATTI_TPUM FOREIGN KEY (TPUM) REFERENCES TUNITA_MISURA (CDUNITA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_ATTIVITA ADD CONSTRAINT FK_RCAMPAGNE_LOG_AT__CDCAMPAGNA FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_ATTIVITA ADD CONSTRAINT FK_RCAMPAGNE_LOG_AT__CDCA_CDTE FOREIGN KEY (CDCAMPAGNA, CDTEMPLATE) REFERENCES RCAMPAGNE_LOGISTICA_TEMPLATE (CDCAMPAGNA, CDTEMPLATE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RCAMPAGNE_LOG_MOV_TPDEST FOREIGN KEY (CDDESTINATARIO) REFERENCES TDESTINATARIO (CDDESTINATARIO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RCAMPAGNE_LOG_MOV__CDCAM FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RCAMPAGNE_LOG_MOV__CDCA_CDTE FOREIGN KEY (CDCAMPAGNA, CDTEMPLATE) REFERENCES RCAMPAGNE_LOGISTICA_TEMPLATE (CDCAMPAGNA, CDTEMPLATE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RCAMPAGNE_LOG_MOV__CDMAGA FOREIGN KEY (CDMAGAZZINO) REFERENCES TMAGAZZINO (CDMAGAZZINO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCAMPAGNE_LOGISTICA_TEMPLATE ADD CONSTRAINT FK_RCAMPAGNE_LOGISTICA_TEMPLATE FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCLIENTI_ARTICOLI ADD CONSTRAINT FK_RCLIENTI_ARTICOLI__CDCLIENTE FOREIGN KEY (CDCLIENTE) REFERENCES DCLIENTI (CDCLIENTE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCLIENTI_REPARTI ADD CONSTRAINT FK_RCLIENTI_REPARTI__CDCLIENTE FOREIGN KEY (CDCLIENTE) REFERENCES DCLIENTI (CDCLIENTE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_REVISIONE ADD CONSTRAINT FK_RCOMMESSE_REVISIONE_1 FOREIGN KEY (CDCOMMESSA) REFERENCES DCOMMESSE (CDCOMMESSA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_RIGHE ADD CONSTRAINT FK_RCOMMESSE_RIGHE_1 FOREIGN KEY (TPRIGA) REFERENCES TTIPO_RIGA_COMMESSA (CDTIPORIGA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_RIGHE ADD CONSTRAINT FK_RCOMMESSE_RIGHE_2 FOREIGN KEY (TPUM) REFERENCES TUNITA_MISURA (CDUNITA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_RIGHE ADD CONSTRAINT FK_RCOMMESSE_RIGHE_3 FOREIGN KEY (CDFORNITORE) REFERENCES DFORNITORI (CDFORNITORE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_RIGHE ADD CONSTRAINT FK_RCOMMESSE_RIGHE_4 FOREIGN KEY (CDCOMMESSA) REFERENCES DCOMMESSE (CDCOMMESSA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_VOCI_RIGHE_TT ADD CONSTRAINT FK_RCOMMESSE_VOCI_RIGHE_TT_1 FOREIGN KEY (CDCOMMESSA, CDVOCE) REFERENCES RCOMMESSE_VOCI_TT (CDCOMMESSA, CDVOCE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_VOCI_TT ADD CONSTRAINT FK_RCOMMESSE_VOCI_TT_1 FOREIGN KEY (CDCOMMESSA) REFERENCES DCOMMESSE (CDCOMMESSA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RCOMMESSE_WIP ADD CONSTRAINT FK_RCOMMESSE_WIP_1 FOREIGN KEY (CDCOMMESSA) REFERENCES DCOMMESSE (CDCOMMESSA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RHOSTESS_PAGAMENTI ADD CONSTRAINT FK_RHOSTESS_PAGAMENTI_CDHS FOREIGN KEY (CDHOSTESS) REFERENCES DHOSTESS (CDHOSTESS) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RHOSTESS_PAGAMENTI ADD CONSTRAINT FK_RHOSTESS_PAGAMENTI_TPPAG FOREIGN KEY (TPPAGAMENTO) REFERENCES TTIPO_PAGAMENTO (CDTIPOPAGAMENTO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB_CDSEDE FOREIGN KEY (CDSEDE) REFERENCES TSEDI (CDSEDE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__CDAGENZIA FOREIGN KEY (CDAGENZIA) REFERENCES DAGENZIE (CDAGENZIA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__CDCOORD FOREIGN KEY (CDCOORDINATRICE) REFERENCES DHOSTESS (CDHOSTESS) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__CDCOPERTURA FOREIGN KEY (CDCOPERTURA) REFERENCES TCOPERTURA (CDCOPERTURA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__CDPROMOZIONE FOREIGN KEY (CDPROMOZIONE) REFERENCES DPROMOZIONI (CDPROMOZIONE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__CDPV FOREIGN KEY (CDPUNTOVENDITA) REFERENCES DPUNTI_VENDITA (CDPUNTOVENDITA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__CDTPATTIVITA FOREIGN KEY (CDTIPOATTIVITA) REFERENCES TATTIVITA (CDATTIVITA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__MTCONSEGNA FOREIGN KEY (MTCONSEGNA) REFERENCES TCONSEGNA_METODO (CDMETODO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB ADD CONSTRAINT FK_RJOB__STCONSEGNA FOREIGN KEY (STCONSEGNA) REFERENCES TCONSEGNA_STATO (CDSTATO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT FK_RJOB_HOSTESS_1 FOREIGN KEY (CDFORNITORE) REFERENCES DFORNITORI (CDFORNITORE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT FK_RJOB_HOSTESS_3 FOREIGN KEY (TPJOB) REFERENCES TTIPO_JOB (CDTPJOB) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT FK_RJOB_HOSTESS__CDAZIENDA FOREIGN KEY (CDAZIENDA) REFERENCES DAZIENDE (CDAZIENDA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT FK_RJOB_HOSTESS__CDCOORD FOREIGN KEY (CDCOORDINATRICE) REFERENCES DHOSTESS (CDHOSTESS) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT FK_RJOB_HOSTESS__CDHS FOREIGN KEY (CDHOSTESS) REFERENCES DHOSTESS (CDHOSTESS) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_HOSTESS ADD CONSTRAINT FK_RJOB_HOSTESS__CDJOB FOREIGN KEY (CDJOB) REFERENCES RJOB (CDJOB) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_INFO ADD CONSTRAINT FK_RJOB_INFO__CDINFO FOREIGN KEY (CDINFO) REFERENCES TJOB_INFO (CDINFO) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_INFO ADD CONSTRAINT FK_RJOB_INFO__CDJOB FOREIGN KEY (CDJOB) REFERENCES RJOB (CDJOB) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_ATTIVITA ADD CONSTRAINT FK_RJOB_LOG_ATT__CDCAMPAGNA FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_ATTIVITA ADD CONSTRAINT FK_RJOB_LOG_ATT__CDJOB FOREIGN KEY (CDJOB) REFERENCES RJOB (CDJOB) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_MECCANICA ADD CONSTRAINT FK_RJOB_LOG_MEC__CDJOB FOREIGN KEY (CDJOB) REFERENCES RJOB (CDJOB) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RJOB_LOG_MOV__CDCAMPAGNA FOREIGN KEY (CDCAMPAGNA) REFERENCES DCAMPAGNE (CDCAMPAGNA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RJOB_LOG_MOV__CDJOB FOREIGN KEY (CDJOB) REFERENCES RJOB (CDJOB) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RJOB_LOG_MOV__CDMAGAZZINO FOREIGN KEY (CDMAGAZZINO) REFERENCES TMAGAZZINO (CDMAGAZZINO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RJOB_LOG_MOV__CDSPEDIZIONE FOREIGN KEY (CDSPEDIZIONE) REFERENCES DSPEDIZIONI (CDSPEDIZIONE) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE RJOB_LOGISTICA_MOVIMENTO ADD CONSTRAINT FK_RJOB_LOG_MOV__TPDESTINATARIO FOREIGN KEY (TPDESTINATARIO) REFERENCES TDESTINATARIO (CDDESTINATARIO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RMAGAZZINI_MOVIMENTI ADD CONSTRAINT FK_RMAGAZZINI_MOV_CDCAUSALE FOREIGN KEY (CDCAUSALE) REFERENCES TCAUSALI_MAGAZZINO (CDCAUSALE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RMAGAZZINI_MOVIMENTI ADD CONSTRAINT FK_RMAGAZZINI_MOV__CDART_CDCLI FOREIGN KEY (CDCLIENTE, CDARTICOLO) REFERENCES RCLIENTI_ARTICOLI (CDCLIENTE, CDARTICOLO) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RMAGAZZINI_MOVIMENTI ADD CONSTRAINT FK_RMAGAZZINI_MOV__CDCLIENTE FOREIGN KEY (CDCLIENTE) REFERENCES DCLIENTI (CDCLIENTE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RMAGAZZINI_MOVIMENTI ADD CONSTRAINT FK_RMAGAZZINI_MOV__CDMAGAZZINO FOREIGN KEY (CDMAGAZZINO) REFERENCES TMAGAZZINO (CDMAGAZZINO) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RMANDATI_HOSTESS ADD CONSTRAINT FK_RMANDATI_HOSTESS_CDMANDATO FOREIGN KEY (CDMANDATO) REFERENCES DMANDATI (CDMANDATO) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RMANDATI_PROVINCIE ADD CONSTRAINT FK_RMANDATI_PROVINCIE_CDMANDATO FOREIGN KEY (CDMANDATO) REFERENCES DMANDATI (CDMANDATO) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RPROMOZIONI_SPEDIZIONI ADD CONSTRAINT FK_RPROMOZIONI_SPEDIZIONI_1 FOREIGN KEY (CDPROMOZIONE) REFERENCES DPROMOZIONI (CDPROMOZIONE) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RPROMOZIONI_SPEDIZIONI ADD CONSTRAINT FK_RPROMOZIONI_SPEDIZIONI_2 FOREIGN KEY (CDHOSTESS) REFERENCES DHOSTESS (CDHOSTESS) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RPROMOZIONI_SPEDIZIONI ADD CONSTRAINT FK_RPROMOZIONI_SPEDIZIONI_3 FOREIGN KEY (CDCORRIERE) REFERENCES TCORRIERI (CDCORRIERE) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RPUNTI_VENDITA_REPARTI ADD CONSTRAINT FK_RPUNTI_VENDITA_REPARTI_CDPV FOREIGN KEY (CDPUNTOVENDITA) REFERENCES DPUNTI_VENDITA (CDPUNTOVENDITA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RSTAMPE_DETTAGLIO ADD CONSTRAINT FK_RSTAMPE_DETTAGLIO_CDAZIENDA FOREIGN KEY (CDAZIENDA) REFERENCES DAZIENDE (CDAZIENDA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RSTAMPE_DETTAGLIO ADD CONSTRAINT FK_RSTAMPE_DETTAGLIO_CDINSEGNA FOREIGN KEY (CDINSEGNA) REFERENCES TINSEGNA (CDINSEGNA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RSTAMPE_DETTAGLIO ADD CONSTRAINT FK_RSTAMPE_DETTAGLIO_CDPV FOREIGN KEY (CDPUNTOVENDITA) REFERENCES DPUNTI_VENDITA (CDPUNTOVENDITA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE RSTAMPE_DETTAGLIO ADD CONSTRAINT FK_RSTAMPE_DETTAGLIO_CDSTAMPA FOREIGN KEY (CDSTAMPA) REFERENCES DSTAMPE (CDSTAMPA) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RSTAMPE_DETTAGLIO ADD CONSTRAINT FK_RSTAMPE_DETTAGLIO_TPEXT FOREIGN KEY (TPEXT) REFERENCES TEXT_STAMPA (CDEXTSTAMPA) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE TSTATO ADD CONSTRAINT FK_TSTATO_CDTIPO FOREIGN KEY (CDTIPO) REFERENCES TTIPO_STATO (CDTIPO) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE TTEMPLATE_CONTRATTI ADD CONSTRAINT FK_TTEMPLATE_CONTRATTI_TPCONTR FOREIGN KEY (TPCONTRATTO) REFERENCES TTIPO_CONTRATTO (CDTIPOCONTRATTO) ON DELETE SET DEFAULT ON UPDATE CASCADE; ALTER TABLE TTEMPLATE_CONTRATTI ADD CONSTRAINT FK_TTEMPLATE_CONTRATTI_TPUM FOREIGN KEY (TPUM) REFERENCES TUNITA_MISURA (CDUNITA) ON DELETE SET DEFAULT ON UPDATE CASCADE;
/******************************************************************************/ /*** Indices ***/ /******************************************************************************/
CREATE INDEX DHOSTESS_CDINDIRIZZO ON DHOSTESS (CDINDIRIZZO); CREATE INDEX DHOSTESS_CDNASCITA ON DHOSTESS (CDNASCITA); CREATE INDEX DSNOMINATIVO ON DHOSTESS (DSCOGNOME, DSNOME); CREATE INDEX DTNASCITA ON DHOSTESS (DTNASCITA); CREATE INDEX FLFREQUENTE ON DHOSTESS (FLFREQUENTE); CREATE UNIQUE INDEX DPROMOZIONI_CAM_ANN_MES ON DPROMOZIONI (CDCAMPAGNA, CDANNO, CDMESE); CREATE INDEX RCAMPAGNE_LOGISTICA_MOVIME_IDX1 ON RCAMPAGNE_LOGISTICA_MOVIMENTO (CDCAMPAGNA); CREATE INDEX RCAMPAGNE_LOGISTICA_MOVIME_IDX2 ON RCAMPAGNE_LOGISTICA_MOVIMENTO (CDMAGAZZINO, CDARTICOLO); CREATE INDEX RCAMPAGNE_LOGISTICA_MOVIME_IDX3 ON RCAMPAGNE_LOGISTICA_MOVIMENTO (CDCAMPAGNA, CDARTICOLO); CREATE INDEX RJOB_CDAGENZIA ON RJOB (CDAGENZIA); CREATE INDEX RJOB_CDCOORDINATRICE ON RJOB (CDCOORDINATRICE); CREATE INDEX RJOB_CDPROMOZIONE ON RJOB (CDPROMOZIONE); CREATE INDEX RJOB_CDPUNTOVENDITA ON RJOB (CDPUNTOVENDITA); CREATE INDEX RJOB_HOSTESS_CDHOSTESS ON RJOB_HOSTESS (CDHOSTESS); CREATE INDEX RJOB_HOSTESS_DTJOB ON RJOB_HOSTESS (DTJOB); CREATE INDEX RJOB_HOSTESS_ENGAGED ON RJOB_HOSTESS (CDHOSTESS, DTJOB); CREATE INDEX RJOB_HOSTESS_FLASSUNZIONE ON RJOB_HOSTESS (FLASSUNZIONE); CREATE INDEX RJOB_LOGISTICA_ATT_IDX1 ON RJOB_LOGISTICA_ATTIVITA (CDCAMPAGNA); CREATE INDEX RJOB_LOGISTICA_MOV_IDX1 ON RJOB_LOGISTICA_MOVIMENTO (CDCAMPAGNA); CREATE INDEX RJOB_LOGISTICA_MOV_IDX2 ON RJOB_LOGISTICA_MOVIMENTO (CDCAMPAGNA, CDARTICOLO); CREATE INDEX RJOB_LOGISTICA_MOV_IDX3 ON RJOB_LOGISTICA_MOVIMENTO (CDMAGAZZINO); CREATE INDEX RJOB_LOGISTICA_MOV_IDX4 ON RJOB_LOGISTICA_MOVIMENTO (CDDESTINATARIO, TPDESTINATARIO); CREATE INDEX RMAGAZZINI_MOVIMENTI_IDX1 ON RMAGAZZINI_MOVIMENTI (CDCAUSALE); CREATE INDEX RMAGAZZINI_MOVIMENTI_IDX2 ON RMAGAZZINI_MOVIMENTI (CDMAGAZZINO, CDCLIENTE, CDARTICOLO); CREATE INDEX TCOMUNI_DSCOMUNE ON TCOMUNI (DSCOMUNE);
/******************************************************************************/ /*** Triggers ***/ /******************************************************************************/
SET TERM ^ ;
/******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/
/* Trigger: DAGENZIE_BD0 */ CREATE TRIGGER DAGENZIE_BD0 FOR DAGENZIE ACTIVE BEFORE DELETE POSITION 0 AS begin UPDATE RJOB_LOGISTICA_MOVIMENTO SET CDDESTINATARIO = 0 WHERE CDDESTINATARIO = OLD.CDAGENZIA AND TPDESTINATARIO = 3;
end ^
/* Trigger: DAZIENDE_BI0 */ CREATE TRIGGER DAZIENDE_BI0 FOR DAZIENDE ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; BEGIN
if (NEW.CDAZIENDA is null) then begin SELECT MAX(CDAZIENDA) FROM DAZIENDE INTO :iMAX; if (iMax is null) then iMAX = 0;
end
END ^
/* Trigger: DCAMPAGNE_AI0 */ CREATE TRIGGER DCAMPAGNE_AI0 FOR DCAMPAGNE ACTIVE AFTER INSERT POSITION 0 AS begin /* Trigger text */ INSERT INTO RCAMPAGNE_LOGISTICA_TEMPLATE (CDCAMPAGNA, DSTEMPLATE, CDUPDATE) VALUES (NEW.CDCAMPAGNA, 'Base', 0);
end ^
/* Trigger: DCAMPAGNE_AI2 */ CREATE TRIGGER DCAMPAGNE_AI2 FOR DCAMPAGNE ACTIVE AFTER INSERT POSITION 1 AS declare variable CDCONTRATTO smallint ; declare variable DSSHORTCONTRATTO varchar(5); declare variable DSCONTRATTO varchar(50); declare variable TPCONTRATTO integer; declare variable TPUM integer; declare variable IMCLIENTE numeric(12,2); declare variable IMHOSTESS numeric(12,2); declare variable FLASSUNZIONE smallint; declare variable FLFESTIVO smallint; declare variable FLDEFAULT smallint;
begin /* Trigger text */ for SELECT CDCONTRATTO, DSSHORTCONTRATTO, DSCONTRATTO, TPCONTRATTO, TPUM, IMCLIENTE, IMHOSTESS, FLASSUNZIONE, FLFESTIVO, FLDEFAULT FROM TTEMPLATE_CONTRATTI into :CDCONTRATTO, :DSSHORTCONTRATTO, :DSCONTRATTO, :TPCONTRATTO, :TPUM, :IMCLIENTE, :IMHOSTESS, :FLASSUNZIONE, :FLFESTIVO, :FLDEFAULT do begin
end
end ^
/* Trigger: DHOSTESS_BD0 */ CREATE TRIGGER DHOSTESS_BD0 FOR DHOSTESS ACTIVE BEFORE DELETE POSITION 0 AS BEGIN
UPDATE RJOB_LOGISTICA_MOVIMENTO SET CDDESTINATARIO = 0 WHERE CDDESTINATARIO = OLD.CDHOSTESS AND TPDESTINATARIO = 1;
END ^
/* Trigger: DOPERATORI_BI0 */ CREATE TRIGGER DOPERATORI_BI0 FOR DOPERATORI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDOPERATORE is null) then begin SELECT MAX(CDOPERATORE) FROM DOPERATORI INTO :iMAX;
end end ^
/* Trigger: DPUNTI_VENDITA_BD0 */ CREATE TRIGGER DPUNTI_VENDITA_BD0 FOR DPUNTI_VENDITA ACTIVE BEFORE DELETE POSITION 0 AS BEGIN
UPDATE RJOB_LOGISTICA_MOVIMENTO SET CDDESTINATARIO = 0 WHERE CDDESTINATARIO = OLD.CDPUNTOVENDITA AND TPDESTINATARIO = 2;
END ^
/* Trigger: DUTENTI_BI0 */ CREATE TRIGGER DUTENTI_BI0 FOR DUTENTI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDUTENTE is null) then begin SELECT MAX(CDUTENTE) FROM DUTENTI INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDUTENTE = iMAX + 1; end end ^
/* Trigger: FIB$FIELDS_INFO_BI */ CREATE TRIGGER FIB$FIELDS_INFO_BI FOR FIB$FIELDS_INFO ACTIVE BEFORE INSERT POSITION 0 as begin new.fib$version=gen_id(fib$field_info_version,1); end ^
/* Trigger: FIB$FIELDS_INFO_BU */ CREATE TRIGGER FIB$FIELDS_INFO_BU FOR FIB$FIELDS_INFO ACTIVE BEFORE UPDATE POSITION 0 as begin new.fib$version=gen_id(fib$field_info_version,1); end ^
/* Trigger: RCAMPAGNE_CONTRATTI_AD0 */ CREATE TRIGGER RCAMPAGNE_CONTRATTI_AD0 FOR RCAMPAGNE_CONTRATTI ACTIVE AFTER DELETE POSITION 0 AS begin
/* Imposto il contratto a null, non posso farlo con l'integrit? referenziale poich? in RJOB_HOSTESS non conosco la campagna */ UPDATE RJOB_HOSTESS SET CDCONTRATTO = 0 WHERE CDCONTRATTO = OLD.CDCONTRATTO AND CDJOB IN ( SELECT (CDJOB) FROM VIEW_JOB_CLIENTE WHERE CDCAMPAGNA = OLD.CDCAMPAGNA );
end ^
/* Trigger: RCAMPAGNE_CONTRATTI_AD1 */ CREATE TRIGGER RCAMPAGNE_CONTRATTI_AD1 FOR RCAMPAGNE_CONTRATTI ACTIVE AFTER DELETE POSITION 1 AS begin
/* Imposto il contratto a null, non posso farlo con l'integrit? referenziale poich? in RPROMOZIONI_SPEDIZIONI non conosco la campagna */ UPDATE RPROMOZIONI_SPEDIZIONI SET CDCONTRATTO = 0 WHERE CDCONTRATTO = OLD.CDCONTRATTO AND CDPROMOZIONE IN ( SELECT (CDPROMOZIONE) FROM VIEW_JOB_CLIENTE WHERE CDCAMPAGNA = OLD.CDCAMPAGNA );
end ^
/* Trigger: RCAMPAGNE_CONTRATTI_BI0 */ CREATE TRIGGER RCAMPAGNE_CONTRATTI_BI0 FOR RCAMPAGNE_CONTRATTI ACTIVE BEFORE INSERT POSITION 0 AS DECLARE VARIABLE IMAX INTEGER; BEGIN if (new.cdcontratto is null) then begin SELECT MAX(CDCONTRATTO) FROM RCAMPAGNE_CONTRATTI WHERE CDCAMPAGNA = NEW.CDCAMPAGNA INTO :IMAX;
end
END ^
/* Trigger: RCAMPAGNE_LOG_ATT_BI0 */ CREATE TRIGGER RCAMPAGNE_LOG_ATT_BI0 FOR RCAMPAGNE_LOGISTICA_ATTIVITA ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; begin if (New.cdLogistica is null) then begin SELECT MAX(cdLogistica) FROM RCAMPAGNE_LOGISTICA_ATTIVITA WHERE CDCAMPAGNA = NEW.CDCAMPAGNA AND CDTEMPLATE = NEW.CDTEMPLATE INTO :iMAX;
end end ^
/* Trigger: RCAMPAGNE_LOG_MOV_BI0 */ CREATE TRIGGER RCAMPAGNE_LOG_MOV_BI0 FOR RCAMPAGNE_LOGISTICA_MOVIMENTO ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; begin if (New.cdLogistica is Null) then begin SELECT MAX(cdLogistica) FROM RCAMPAGNE_LOGISTICA_MOVIMENTO WHERE CDCAMPAGNA = NEW.CDCAMPAGNA AND CDTEMPLATE = NEW.CDTEMPLATE INTO :iMAX;
end end ^
/* Trigger: RCAMPAGNE_LOG_TEMPLATE_BI0 */ CREATE TRIGGER RCAMPAGNE_LOG_TEMPLATE_BI0 FOR RCAMPAGNE_LOGISTICA_TEMPLATE ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTEMPLATE is null) then begin SELECT MAX(CDTEMPLATE) FROM RCAMPAGNE_LOGISTICA_TEMPLATE WHERE CDCAMPAGNA = NEW.CDCAMPAGNA INTO :iMAX;
end END ^
/* Trigger: RCLIENTI_ARTICOLI_BD0 */ CREATE TRIGGER RCLIENTI_ARTICOLI_BD0 FOR RCLIENTI_ARTICOLI ACTIVE BEFORE DELETE POSITION 0 AS BEGIN
DELETE FROM RCAMPAGNE_LOGISTICA_MOVIMENTO WHERE CDARTICOLO = OLD.CDARTICOLO AND CDCAMPAGNA IN ( SELECT (A.CDCAMPAGNA) FROM DCAMPAGNE A, RCAMPAGNE_LOGISTICA_MOVIMENTO B WHERE A.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDCLIENTE = OLD.CDCLIENTE );
DELETE FROM RJOB_LOGISTICA_MOVIMENTO WHERE CDARTICOLO = OLD.CDARTICOLO AND CDCAMPAGNA IN ( SELECT (A.CDCAMPAGNA) FROM DCAMPAGNE A, RCAMPAGNE_LOGISTICA_MOVIMENTO B WHERE A.CDCAMPAGNA = B.CDCAMPAGNA AND A.CDCLIENTE = OLD.CDCLIENTE );
end ^
/* Trigger: RCLIENTI_ARTICOLI_BI0 */ CREATE TRIGGER RCLIENTI_ARTICOLI_BI0 FOR RCLIENTI_ARTICOLI ACTIVE BEFORE INSERT POSITION 0 AS DECLARE VARIABLE IMAX INTEGER; begin if (New.cdArticolo is Null) then begin SELECT MAX(CDARTICOLO) FROM RCLIENTI_ARTICOLI WHERE CDCLIENTE = NEW.CDCLIENTE INTO :IMAX;
end end ^
/* Trigger: RCLIENTI_REPARTI_BI0 */ CREATE TRIGGER RCLIENTI_REPARTI_BI0 FOR RCLIENTI_REPARTI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin SELECT MAX(cdProg) FROM RCLIENTI_REPARTI WHERE cdCliente = New.cdCliente INTO :iMAX;
if (iMax is null) then iMax = 0; New.cdProg = iMax + 1; end ^
/* Trigger: RCOMMESSE_RIGHE_BI0 */ CREATE TRIGGER RCOMMESSE_RIGHE_BI0 FOR RCOMMESSE_RIGHE ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDRIGA is null) then begin SELECT MAX(CDRIGA) FROM RCOMMESSE_RIGHE WHERE CDCOMMESSA = NEW.CDCOMMESSA INTO :iMAX;
end end ^
/* Trigger: RCOMMESSE_VOCI_TT_BI0 */ CREATE TRIGGER RCOMMESSE_VOCI_TT_BI0 FOR RCOMMESSE_VOCI_TT ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDVOCE is null) then begin SELECT MAX(CDVOCE) FROM RCOMMESSE_VOCI_TT WHERE CDCOMMESSA = NEW.CDCOMMESSA INTO :iMAX;
end end ^
/* Trigger: RHOSTESS_PAGAMENTI_BI0 */ CREATE TRIGGER RHOSTESS_PAGAMENTI_BI0 FOR RHOSTESS_PAGAMENTI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin
SELECT MAX(CDPROG) FROM RHOSTESS_PAGAMENTI WHERE CDHOSTESS = NEW.CDHOSTESS INTO :iMax;
if (iMax is null) then iMax = 0;
NEW.CDPROG = iMax + 1;
end ^
/* Trigger: RJOB_HOSTESS_BI0 */ CREATE TRIGGER RJOB_HOSTESS_BI0 FOR RJOB_HOSTESS ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin SELECT MAX(cdProg) FROM RJob_hostess WHERE cdjob = New.cdjob INTO :iMAX;
if (iMax is null) then iMax = 0; New.cdProg = iMax + 1; end ^
/* Trigger: RJOB_LOG_ATTIVITA_BI1 */ CREATE TRIGGER RJOB_LOG_ATTIVITA_BI1 FOR RJOB_LOGISTICA_ATTIVITA ACTIVE BEFORE INSERT POSITION 1 AS Declare variable iMax integer; begin SELECT MAX(cdProg) FROM rjob_logistica_attivita WHERE cdjob = New.cdjob INTO :iMAX;
if (iMax is null) then iMax = 0; New.cdProg = iMax + 1;
end ^
/* Trigger: RJOB_LOG_MOVIMENTO_BI1 */ CREATE TRIGGER RJOB_LOG_MOVIMENTO_BI1 FOR RJOB_LOGISTICA_MOVIMENTO ACTIVE BEFORE INSERT POSITION 1 AS Declare variable iMax integer; begin SELECT MAX(cdProg) FROM rjob_logistica_movimento WHERE cdjob = New.cdjob INTO :iMAX;
if (iMax is null) then iMax = 0; New.cdProg = iMax + 1;
end ^
/* Trigger: RMAGAZZINI_MOVIMENTI_BI0 */ CREATE TRIGGER RMAGAZZINI_MOVIMENTI_BI0 FOR RMAGAZZINI_MOVIMENTI ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; begin SELECT MAX(CDPROG) FROM RMAGAZZINI_MOVIMENTI WHERE CDCLIENTE = NEW.CDCLIENTE AND CDMAGAZZINO = NEW.CDMAGAZZINO AND CDARTICOLO = NEW.CDARTICOLO INTO :iMax;
if (iMax is null) then iMax = 0;
New.CDPROG = iMax + 1; end ^
/* Trigger: RPROMOZIONI_SPEDIZIONI_BI0 */ CREATE TRIGGER RPROMOZIONI_SPEDIZIONI_BI0 FOR RPROMOZIONI_SPEDIZIONI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin SELECT MAX(CDPROG) FROM RPROMOZIONI_SPEDIZIONI WHERE CDPROMOZIONE = NEW.CDPROMOZIONE INTO :iMAX;
if (iMax is null) then iMax = 0; NEW.CDPROG = iMax + 1; end ^
/* Trigger: RPUNTI_VENDITA_REPARTI_BI0 */ CREATE TRIGGER RPUNTI_VENDITA_REPARTI_BI0 FOR RPUNTI_VENDITA_REPARTI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin SELECT MAX(cdProg) FROM RPUNTI_VENDITA_REPARTI WHERE cdPuntoVendita = New.cdPuntoVendita INTO :iMAX;
if (iMax is null) then iMax = 0; New.cdProg = iMax + 1;
end ^
/* Trigger: RSTAMPE_DETTAGLIO_BI0 */ CREATE TRIGGER RSTAMPE_DETTAGLIO_BI0 FOR RSTAMPE_DETTAGLIO ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; begin if (NEW.CDPROG is null) then begin SELECT MAX(CDPROG) FROM RSTAMPE_DETTAGLIO WHERE CDSTAMPA = NEW.CDSTAMPA INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDPROG = iMAX + 1; end end ^
/* Trigger: TATTIVITA_BI0 */ CREATE TRIGGER TATTIVITA_BI0 FOR TATTIVITA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDATTIVITA is null) then begin SELECT MAX(CDATTIVITA) FROM TATTIVITA INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDATTIVITA = iMAX + 1; end end ^
/* Trigger: TCOLORE_CAPELLI_BI0 */ CREATE TRIGGER TCOLORE_CAPELLI_BI0 FOR TCOLORE_CAPELLI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDCAPELLI is null) then begin SELECT MAX(CDCAPELLI) FROM TCOLORE_CAPELLI INTO :iMAX;
end end ^
/* Trigger: TCOLORE_OCCHI_BI0 */ CREATE TRIGGER TCOLORE_OCCHI_BI0 FOR TCOLORE_OCCHI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDOCCHI is null) then begin SELECT MAX(CDOCCHI) FROM TCOLORE_OCCHI INTO :iMAX;
end end ^
/* Trigger: TCONSEGNA_METODO_BI0 */ CREATE TRIGGER TCONSEGNA_METODO_BI0 FOR TCONSEGNA_METODO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDMETODO is null) then begin SELECT MAX(CDMETODO) FROM TCONSEGNA_METODO INTO :iMAX;
end end ^
/* Trigger: TCONSEGNA_STATO_BI0 */ CREATE TRIGGER TCONSEGNA_STATO_BI0 FOR TCONSEGNA_STATO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDSTATO is null) then begin SELECT MAX(CDSTATO) FROM TCONSEGNA_STATO INTO :iMAX;
end end ^
/* Trigger: TCORRIERI_BI0 */ CREATE TRIGGER TCORRIERI_BI0 FOR TCORRIERI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDCORRIERE is null) then begin SELECT MAX(CDCORRIERE) FROM TCORRIERI INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDCORRIERE = iMAX + 1; end end ^
/* Trigger: TDESTINATARIO_BI0 */ CREATE TRIGGER TDESTINATARIO_BI0 FOR TDESTINATARIO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDDESTINATARIO is null) then begin SELECT MAX(CDDESTINATARIO) FROM TDESTINATARIO INTO :iMAX;
end end ^
/* Trigger: TEXT_STAMPA_BI0 */ CREATE TRIGGER TEXT_STAMPA_BI0 FOR TEXT_STAMPA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDEXTSTAMPA is null) then begin SELECT MAX(CDEXTSTAMPA) FROM TEXT_STAMPA INTO :iMAX;
end end ^
/* Trigger: TFESTIVITA_BI0 */ CREATE TRIGGER TFESTIVITA_BI0 FOR TFESTIVITA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDFESTIVITA is null) then begin SELECT MAX(CDFESTIVITA) FROM TFESTIVITA INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDFESTIVITA = iMAX + 1; end end ^
/* Trigger: TINSEGNA_BI0 */ CREATE TRIGGER TINSEGNA_BI0 FOR TINSEGNA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDINSEGNA is null) then begin SELECT MAX(CDINSEGNA) FROM TINSEGNA INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDINSEGNA = iMAX + 1; end end ^
/* Trigger: TJOB_INFO_BI0 */ CREATE TRIGGER TJOB_INFO_BI0 FOR TJOB_INFO ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; BEGIN
if (NEW.CDINFO is null) then begin SELECT MAX(CDINFO) FROM TJOB_INFO INTO :iMAX; if (iMax is null) then iMAX = 0;
end
END ^
/* Trigger: TMAGAZZINO_BI0 */ CREATE TRIGGER TMAGAZZINO_BI0 FOR TMAGAZZINO ACTIVE BEFORE INSERT POSITION 0 AS Declare variable iMax integer; begin if (NEW.CDMAGAZZINO is null) then begin SELECT MAX(CDMAGAZZINO) FROM TMAGAZZINO INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDMAGAZZINO = iMAX + 1; end end ^
/* Trigger: TREPARTO_BI0 */ CREATE TRIGGER TREPARTO_BI0 FOR TREPARTO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDREPARTO is null) then begin SELECT MAX(CDREPARTO) FROM TREPARTO INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDREPARTO = iMAX + 1; end end ^
/* Trigger: TSEDI_BI0 */ CREATE TRIGGER TSEDI_BI0 FOR TSEDI ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDSEDE is null) then begin SELECT MAX(CDSEDE) FROM TSEDI INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDSEDE = iMAX + 1; end end ^
/* Trigger: TSTATO_CIVILE_BI0 */ CREATE TRIGGER TSTATO_CIVILE_BI0 FOR TSTATO_CIVILE ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDSTATOCIVILE is null) then begin SELECT MAX(CDSTATOCIVILE) FROM TSTATO_CIVILE INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDSTATOCIVILE = iMAX + 1; end end ^
/* Trigger: TTEMPLATE_CONTRATTI_BI0 */ CREATE TRIGGER TTEMPLATE_CONTRATTI_BI0 FOR TTEMPLATE_CONTRATTI ACTIVE BEFORE INSERT POSITION 0 AS DECLARE VARIABLE IMAX INTEGER; BEGIN if (NEW.CDCONTRATTO is null) then begin SELECT MAX(CDCONTRATTO) FROM TTEMPLATE_CONTRATTI INTO :IMAX;
end
END ^
/* Trigger: TTIPO_COMMESSE_BI0 */ CREATE TRIGGER TTIPO_COMMESSE_BI0 FOR TTIPO_COMMESSE ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTIPOCOMMESSA is null) then begin SELECT MAX(CDTIPOCOMMESSA) FROM TTIPO_COMMESSE INTO :iMAX;
end end ^
/* Trigger: TTIPO_CONTRATTO_BI0 */ CREATE TRIGGER TTIPO_CONTRATTO_BI0 FOR TTIPO_CONTRATTO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTIPOCONTRATTO is null) then begin SELECT MAX(CDTIPOCONTRATTO) FROM TTIPO_CONTRATTO INTO :iMAX;
end end ^
/* Trigger: TTIPO_PAGAMENTO_BI0 */ CREATE TRIGGER TTIPO_PAGAMENTO_BI0 FOR TTIPO_PAGAMENTO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTIPOPAGAMENTO is null) then begin SELECT MAX(CDTIPOPAGAMENTO) FROM TTIPO_PAGAMENTO INTO :iMAX;
end end ^
/* Trigger: TTIPO_PUNTI_VENDITA_BI0 */ CREATE TRIGGER TTIPO_PUNTI_VENDITA_BI0 FOR TTIPO_PUNTI_VENDITA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTIPOPUNTOVENDITA is null) then begin SELECT MAX(CDTIPOPUNTOVENDITA) FROM TTIPO_PUNTI_VENDITA INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDTIPOPUNTOVENDITA = iMAX + 1; end end ^
/* Trigger: TTIPO_RIGA_COMMESSA_BI0 */ CREATE TRIGGER TTIPO_RIGA_COMMESSA_BI0 FOR TTIPO_RIGA_COMMESSA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTIPORIGA is null) then begin SELECT MAX(CDTIPORIGA) FROM TTIPO_RIGA_COMMESSA INTO :iMAX;
end end ^
/* Trigger: TTIPO_STAMPA_BI0 */ CREATE TRIGGER TTIPO_STAMPA_BI0 FOR TTIPO_STAMPA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTIPOSTAMPA is null) then begin SELECT MAX(CDTIPOSTAMPA) FROM TTIPO_STAMPA INTO :iMAX;
end end ^
/* Trigger: TTITOLO_STUDIO_BI0 */ CREATE TRIGGER TTITOLO_STUDIO_BI0 FOR TTITOLO_STUDIO ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTITOLOSTUDIO is null) then begin SELECT MAX(CDTITOLOSTUDIO) FROM TTITOLO_STUDIO INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDTITOLOSTUDIO = iMAX + 1; end end ^
/* Trigger: TTRATTAMENTO_FISCALE_BI0 */ CREATE TRIGGER TTRATTAMENTO_FISCALE_BI0 FOR TTRATTAMENTO_FISCALE ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDTRATTAMENTO is null) then begin SELECT MAX(CDTRATTAMENTO) FROM TTRATTAMENTO_FISCALE INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDTRATTAMENTO = iMAX + 1; end end ^
/* Trigger: TUNITA_MISURA_BI0 */ CREATE TRIGGER TUNITA_MISURA_BI0 FOR TUNITA_MISURA ACTIVE BEFORE INSERT POSITION 0 as Declare variable iMax integer; begin if (NEW.CDUNITA is null) then begin SELECT MAX(CDUNITA) FROM TUNITA_MISURA INTO :iMAX; if (iMax is null) then iMAX = 0; NEW.CDUNITA = iMAX + 1; end end ^
SET TERM ; ^
/******************************************************************************/ /*** Stored Procedures ***/ /******************************************************************************/
SET TERM ^ ;
ALTER PROCEDURE SP_CREATE_LOGISTICA_JOB ( CDTEMPLATE INTEGER, CDCAMPAGNA INTEGER, CDJOB INTEGER, CDPUNTOVENDITA INTEGER, CDAGENZIA INTEGER, CDHOSTESS INTEGER, CDUPDATE INTEGER) AS DECLARE VARIABLE DSLOGISTICA VARCHAR(100); DECLARE VARIABLE FLCONSEGNADIRETTA SMALLINT; DECLARE VARIABLE FLMAGAZZINO SMALLINT; DECLARE VARIABLE CDARTICOLO INTEGER; DECLARE VARIABLE CDMAGAZZINO INTEGER; DECLARE VARIABLE FLCHKSPEDIZIONE SMALLINT; DECLARE VARIABLE FLCHKCONSEGNA SMALLINT; DECLARE VARIABLE FLFORNITURA SMALLINT; DECLARE VARIABLE FLRITIRI SMALLINT; DECLARE VARIABLE QTMOVIMENTO INTEGER; DECLARE VARIABLE QTFISSA INTEGER; DECLARE VARIABLE QTGG INTEGER; DECLARE VARIABLE FLCHKATTIVITA SMALLINT; DECLARE VARIABLE NMGG INTEGER; DECLARE VARIABLE CDDESTINATARIO SMALLINT; DECLARE VARIABLE BLOB_MECCANICA BLOB SUB_TYPE 1 SEGMENT SIZE 80; DECLARE VARIABLE BLOB_MECCANICA_TMP BLOB SUB_TYPE 1 SEGMENT SIZE 80; DECLARE VARIABLE CDJOBDESTINATARIO INTEGER; BEGIN
/* Calcolo del numero giornate*/ SELECT COUNT(*) FROM RJOB_HOSTESS WHERE CDJOB = :CDJOB INTO :NMGG;
/* Logistica Movimento */ FOR SELECT A.FLCONSEGNADIRETTA, A.FLMAGAZZINO, A.CDARTICOLO, A.CDMAGAZZINO, A.FLCHKSPEDIZIONE, A.FLCHKCONSEGNA, A.FLFORNITURA, A.QTFISSA, A.QTGG, A.FLRITIRI, A.CDDESTINATARIO FROM RCAMPAGNE_LOGISTICA_MOVIMENTO A WHERE A.CDCAMPAGNA = :CDCAMPAGNA AND A.CDTEMPLATE = :CDTEMPLATE
DO BEGIN /* Generazione dei movimenti */ QTMOVIMENTO = :QTFISSA + (QTGG * NMGG);
END
/* Logistica Attivita */
FOR SELECT DSLOGISTICA, FLCHKATTIVITA FROM RCAMPAGNE_LOGISTICA_ATTIVITA WHERE CDCAMPAGNA = :CDCAMPAGNA AND CDTEMPLATE = :CDTEMPLATE INTO :DSLOGISTICA, :FLCHKATTIVITA
DO BEGIN /* Generazione dei movimenti */ INSERT INTO RJOB_LOGISTICA_ATTIVITA ( CDJOB, CDCAMPAGNA, DSLOGISTICA, FLCHKATTIVITA, DTUPDATE, CDUPDATE ) VALUES ( :CDJOB, :CDCAMPAGNA, :DSLOGISTICA, :FLCHKATTIVITA, current_timestamp, :CDUPDATE );
END
/* * Generazione della meccanica * Se esiste una meccanica in job che ? nulla la elimino * poi aggiungo, se esiste quella di template */
SELECT BLOB_MECCANICA FROM RJOB_LOGISTICA_MECCANICA WHERE CDJOB = :CDJOB INTO :BLOB_MECCANICA_TMP;
IF ((BLOB_MECCANICA_TMP IS NULL) OR (BLOB_MECCANICA_TMP = '')) THEN BEGIN DELETE FROM RJOB_LOGISTICA_MECCANICA WHERE CDJOB = :CDJOB;
END
SUSPEND;
END ^
ALTER PROCEDURE SP_CREATE_SPEDIZIONI ( CDJOB INTEGER, CDUPDATE INTEGER) RETURNS ( RETCODE INTEGER) AS DECLARE VARIABLE NMJOB INTEGER; DECLARE VARIABLE CDDESTINATARIO INTEGER; DECLARE VARIABLE CDCAMPAGNA INTEGER; DECLARE VARIABLE CDPUNTOVENDITA INTEGER; DECLARE VARIABLE TPDESTINATARIO SMALLINT; DECLARE VARIABLE DSDESTINATARIO VARCHAR(150); DECLARE VARIABLE DSINDIRIZZO VARCHAR(100); DECLARE VARIABLE CDCAP CHAR(5); DECLARE VARIABLE DSCOMUNE VARCHAR(150); DECLARE VARIABLE CDPROVINCIA CHAR(2); DECLARE VARIABLE CDSPEDIZIONE INTEGER; DECLARE VARIABLE STSPEDIZIONE SMALLINT; DECLARE VARIABLE STMAGAZZINO SMALLINT; DECLARE VARIABLE STCONSEGNA SMALLINT; DECLARE VARIABLE STRITIRO SMALLINT; DECLARE VARIABLE FLCONSEGNADIRETTA SMALLINT; DECLARE VARIABLE FLCHKSPEDIZIONE SMALLINT; DECLARE VARIABLE FLCHKCONSEGNA SMALLINT; DECLARE VARIABLE FLRITIRI SMALLINT; DECLARE VARIABLE CDJOB_1 INTEGER; DECLARE VARIABLE CDPROG INTEGER; DECLARE VARIABLE CDMAGAZZINO INTEGER; DECLARE VARIABLE DSMAGAZZINO VARCHAR(50); DECLARE VARIABLE DTINT DATE; DECLARE VARIABLE DTEXT DATE; DECLARE VARIABLE FLESTERNO SMALLINT; DECLARE VARIABLE DTTASSATIVA DATE; BEGIN /* Generazione di una spedizione, inserimento nella tabella DSPEDIZIONI e update della tabella RJOB_LOGISTICA_MOVIMENTO vengono aggiornati anche i flag relativi
*/
/* blank FLDESTINATARI ? 0 se ho trovato tutti i destinatari 1 se ALMENO uno ? <non assegnato> */
RETCODE = 0;
/* Controllo che la spedizione NON esista */ IF (NOT CDJOB = 0) THEN BEGIN SELECT COUNT(CDJOB) FROM RJOB_LOGISTICA_MOVIMENTO WHERE CDJOB = :CDJOB AND CDSPEDIZIONE = 0 INTO :NMJOB; END ELSE BEGIN SELECT COUNT(CDJOB) FROM RJOB_LOGISTICA_MOVIMENTO WHERE CDSPEDIZIONE = 0 INTO :NMJOB; END
/* Se non ci sono spedizioni genero eccezione*/ IF (NMJOB = 0) THEN BEGIN RETCODE = 1; /* EXCEPTION EXC_ERR_CREATE_SPEDIZIONI; */ END ELSE BEGIN
END
SUSPEND;
END ^
ALTER PROCEDURE SP_FATTURAZIONE_CLIENTE ( ACDAZIENDA INTEGER, ACDSEDE INTEGER, ADTINIZIO DATE, ADTFINE DATE, ATPDATA SMALLINT, AFLCHIUSE SMALLINT, AFLNOTPAY SMALLINT) RETURNS ( CDJOB INTEGER, DS DATE, DE DATE, AN NUMERIC(7,3), AF NUMERIC(7,3), TA NUMERIC(10,3), DN NUMERIC(7,3), DF NUMERIC(7,3), TD NUMERIC(10,3), TN NUMERIC(12,3), TF NUMERIC(12,3), TT NUMERIC(12,3), DSAZIENDA VARCHAR(100), DSINDIRIZZO VARCHAR(200), DSLOCALITA VARCHAR(200), CDIVA VARCHAR(20), DSSEDE VARCHAR(100), DHSEDE VARCHAR(5)) AS DECLARE VARIABLE ICDJOB INTEGER; DECLARE VARIABLE IFLFESTIVO SMALLINT; DECLARE VARIABLE IFLASSUZIONE SMALLINT; DECLARE VARIABLE INMGIORNATE NUMERIC(5,3); DECLARE VARIABLE IDS DATE; DECLARE VARIABLE IDE DATE; DECLARE VARIABLE IFG INTEGER; DECLARE VARIABLE IDSAZIENDA VARCHAR(100); DECLARE VARIABLE IDSINDIRIZZO VARCHAR(200); DECLARE VARIABLE IDSLOCALITA VARCHAR(200); DECLARE VARIABLE ICDIVA VARCHAR(20); DECLARE VARIABLE IDSSEDE VARCHAR(100); DECLARE VARIABLE IDHSEDE VARCHAR(5); BEGIN /* Select per le date lavorate per job e hostess */ CDJOB = 0; iFG = 0;
END ^
ALTER PROCEDURE SP_INSTORE ( DTSTART DATE, DTSTOP DATE, CDOPERATORE INTEGER) RETURNS ( CDPROMOZIONE INTEGER, CDCOPERTURA INTEGER, DSPROMOZIONE VARCHAR(200), CDCAMPAGNA INTEGER, STH1 SMALLINT, STB1 SMALLINT, STR1 SMALLINT, DT1 DATE, STH2 SMALLINT, STB2 SMALLINT, STR2 SMALLINT, DT2 DATE, STH3 SMALLINT, STB3 SMALLINT, STR3 SMALLINT, DT3 DATE, STH4 SMALLINT, STB4 SMALLINT, STR4 SMALLINT, DT4 DATE, STH5 SMALLINT, STB5 SMALLINT, STR5 SMALLINT, DT5 DATE, STH6 SMALLINT, STB6 SMALLINT, STR6 SMALLINT, DT6 DATE, STH7 SMALLINT, STB7 SMALLINT, STR7 SMALLINT, DT7 DATE) AS DECLARE VARIABLE DTJOB DATE; DECLARE VARIABLE STH SMALLINT; DECLARE VARIABLE STB SMALLINT; DECLARE VARIABLE STR SMALLINT; DECLARE VARIABLE LAST1 VARCHAR(200); DECLARE VARIABLE DSPROMO VARCHAR(200); DECLARE VARIABLE CDCOP INTEGER; DECLARE VARIABLE CDCAM INTEGER; DECLARE VARIABLE CDPRO INTEGER; DECLARE VARIABLE FIRST_CYCLE SMALLINT; begin FIRST_CYCLE = 1; LAST1 = ''; CDCOPERTURA = 0; DSPROMOZIONE = ''; CDCAMPAGNA = 0;
/* Riporto le righe di instore in colonna cos? da poter stampare il planning viene generato un record per ogni promozione in una settimana
*/
IF ((DTSTART + 6) = DTSTOP) THEN BEGIN IF (CDOPERATORE = -1) THEN BEGIN
END
END ^
ALTER PROCEDURE SP_MANDATI_HOSTESS ( ACDMANDATO INTEGER, ACDAZIENDA INTEGER, ACDSEDE INTEGER, ADTINIZIO DATE, ADTFINE DATE, APRRITENUTA SMALLINT, ATPDATA SMALLINT, AFLCHIUSE SMALLINT, ANOTPAY SMALLINT) RETURNS ( CDMANDATO INTEGER, DTINIZIO DATE, DTFINE DATE, CDHOSTESS INTEGER, PRRITENUTA SMALLINT, NMGG INTEGER, IMTOTALE NUMERIC(12,2), IMLORDO NUMERIC(12,2), IMRITENUTA NUMERIC(12,2), DTLAVORO VARCHAR(250), DSAZIENDA VARCHAR(100), DSINDIRIZZO VARCHAR(200), DSLOCALITA VARCHAR(200), CDIVA VARCHAR(20), DSSEDE VARCHAR(100), DHSEDE VARCHAR(5)) AS DECLARE VARIABLE IDTJOB DATE; DECLARE VARIABLE ICDHOSTESS INTEGER; DECLARE VARIABLE IIMGIORNATA NUMERIC(12,2); DECLARE VARIABLE IIMRIMBORSO NUMERIC(12,2); DECLARE VARIABLE IFG INTEGER; DECLARE VARIABLE IDSAZIENDA VARCHAR(100); DECLARE VARIABLE IDSINDIRIZZO VARCHAR(200); DECLARE VARIABLE IDSLOCALITA VARCHAR(200); DECLARE VARIABLE ICDIVA VARCHAR(20); DECLARE VARIABLE IDSSEDE VARCHAR(100); DECLARE VARIABLE IDHSEDE VARCHAR(5); BEGIN
CDHOSTESS = 0; iFG = 0;
/* Escludere il codice 0 altrimenti errore di string truncation */
FOR SELECT A.CDHOSTESS, A.DTJOB, A.IMGIORNATA, A.IMRIMBORSO, C.DSAZIENDA, C.DSINDIRIZZO, C.DSLOCALITA, C.CDIVA, D.DSSEDE, D.DHSEDE FROM RJOB_HOSTESS A, RJOB B, DAZIENDE C, TSEDI D WHERE A.CDJOB = B.CDJOB AND A.CDHOSTESS > 0 AND B.CDCOPERTURA = 1 AND A.FLASSUNZIONE = 0 AND (A.IMGIORNATA > 0 OR A.IMRIMBORSO > 0) AND A.CDAZIENDA = C.CDAZIENDA AND B.CDSEDE = D.CDSEDE
DO BEGIN IF (iCDHOSTESS <> :CDHOSTESS) THEN BEGIN IF (iFG = 0) THEN iFG = 1; ELSE SUSPEND;
END
IF (iFG = 1) THEN SUSPEND;
END ^
ALTER PROCEDURE SP_NUMERO_HOSTESS RETURNS ( CDJOB INTEGER, NMHOSTESS INTEGER) AS DECLARE VARIABLE ICDJOB INTEGER; DECLARE VARIABLE IFG INTEGER; BEGIN /* Select per per job e hostess */ iFG = 0; CDJOB = 0; NMHOSTESS = 0; FOR SELECT CDJOB FROM RJOB_HOSTESS GROUP BY CDJOB, CDHOSTESS ORDER BY 1 INTO :iCDJOB DO BEGIN /* Dettaglio date */ IF (iCDJOB <> :CDJOB) THEN BEGIN IF (iFG = 0) THEN iFG = 1; ELSE SUSPEND; CDJOB = iCDJOB; NMHOSTESS = 0; END NMHOSTESS = NMHOSTESS +1; END IF (iFG = 1) THEN SUSPEND; END ^
ALTER PROCEDURE SP_SMS_HOSTESS ( ACDJOB INTEGER, ACDHOSTESS INTEGER) RETURNS ( CDJOB INTEGER, CDHOSTESS INTEGER, DSPROMOZIONE VARCHAR(100), DSDISPLAYINSEGNA VARCHAR(500), DSDTJOB VARCHAR(1000), DSOPERATORE VARCHAR(50)) AS DECLARE VARIABLE DTJOB DATE; DECLARE VARIABLE LASTMONTH SMALLINT; begin
LastMonth = 0; DSDTJOB = '';
for SELECT B.CDJOB, B.CDHOSTESS, B.DTJOB, D.DSPROMOZIONE, C.DSDISPLAYINSEGNA, E.DSOPERATORE FROM RJOB A, RJOB_HOSTESS B, VIEW_PV_DISPLAYINSEGNA C, VIEW_CAMPAGNE_PROMOZIONI D, DOPERATORI E WHERE A.CDJOB = B.CDJOB AND A.CDPUNTOVENDITA = C.CDPUNTOVENDITA AND A.CDPROMOZIONE = D.CDPROMOZIONE AND D.CDOPERATORE = E.CDOPERATORE AND B.CDJOB = :ACDJOB AND B.CDHOSTESS = :ACDHOSTESS ORDER BY B.DTJOB DESC INTO :CDJOB, :CDHOSTESS, :DTJOB, :DSPROMOZIONE, :DSDISPLAYINSEGNA, :DSOPERATORE do begin
end
suspend;
end ^
ALTER PROCEDURE SP_STAMPE_HOSTESS ( ACDHOSTESS INTEGER, ACDJOB INTEGER, ADTJOB DATE, APRRITENUTA SMALLINT, ADSCAMICEAG VARCHAR(150), ADSTAILLEURAG VARCHAR(150)) RETURNS ( CDCLIENTE INTEGER, DSCLIENTE VARCHAR(50), DSPROMOZIONE VARCHAR(100), CDPUNTOVENDITA INTEGER, DSPUNTOVENDITA VARCHAR(50), DSDISPLAYINSEGNA VARCHAR(375), DSCOMUNEPV VARCHAR(50), DSLOCALITA VARCHAR(50), CDCAPPV VARCHAR(50), CDPROVINCIAPV VARCHAR(2), CDAGENZIA INTEGER, DSAGENZIA VARCHAR(50), CDHOSTESS INTEGER, DSNOMINATIVO VARCHAR(50), CDMATRICOLA INTEGER, DSINDIRIZZOHS VARCHAR(50), DSINDIRIZZO2HS VARCHAR(50), CDCAPHS VARCHAR(5), DSRESIDENZA VARCHAR(50), DSRESIDENZA2 VARCHAR(50), CDCAPRESIDENZA VARCHAR(5), DSRIFERIMENTO VARCHAR(50), CDSEX CHAR(1), FLCAMICEAG SMALLINT, FLTAILLEURAG SMALLINT, DTNASCITA DATE, DSCOMUNENASHS VARCHAR(150), CDPROVINCIANASHS VARCHAR(2), DSCOMUNEINDHS VARCHAR(150), CDPROVINCIAINDHS VARCHAR(2), DSCOMUNEINDRS VARCHAR(150), CDPROVINCIAINDRS VARCHAR(2), DSCAMPAGNA VARCHAR(50), DSMESE VARCHAR(50), CDANNO INTEGER, CDFISCALE VARCHAR(16), IMGIORNATA NUMERIC(12,2), IMRIMBORSO NUMERIC(12,2), DSDETTAGLIODATE VARCHAR(3000), XTDSDETTAGLIODATE VARCHAR(3000), DSDETTAGLIOIMPORTI VARCHAR(3000), DSDETTAGLIOIMPORTINR VARCHAR(3000), XTDSDETTAGLIOIMPORTI VARCHAR(3000), XTDSDETTAGLIOIMPORTINR VARCHAR(3000), DSDETTAGLIOCONTRATTI VARCHAR(3000), XPART1 VARCHAR(15), XPART2 VARCHAR(15), XPART3 VARCHAR(15), XPART4 VARCHAR(15), XPART5 VARCHAR(15), XPART6 VARCHAR(15), PRRITENUTA SMALLINT, DSTAILLEURAG VARCHAR(150), DSCAMICEAG VARCHAR(150), DTNOW DATE, NMGIORNATE INTEGER, IMGIORNATE NUMERIC(12,2), XTGIORNATE VARCHAR(1250), DSATTIVITA VARCHAR(50), DSAZIENDA VARCHAR(100), DSORARIO1 VARCHAR(100), DSORARIO2 VARCHAR(100), DSORARIO3 VARCHAR(100), DSORARIO4 VARCHAR(100), DSORARIO5 VARCHAR(100), DSORARIO6 VARCHAR(100), DSORARIO7 VARCHAR(100), DTMIN DATE, DTMAX DATE, CDJOB INTEGER, NMLAVORO VARCHAR(50), DTSCADENZALAVORO DATE, CDINPS VARCHAR(50), CDINAIL VARCHAR(50), DSOPERATORE VARCHAR(50), NMPVTELEFONO VARCHAR(15), NMPVTELEFONO1 VARCHAR(15), NMPVFAX VARCHAR(15), NMPVFAX1 VARCHAR(15), NMPVCELLULARE VARCHAR(15), NMPVCELLULARE1 VARCHAR(15), NMPVPREFERENZIALE VARCHAR(15)) AS DECLARE VARIABLE IDTJOB DATE; DECLARE VARIABLE IIMGIORNATA NUMERIC(12,2); DECLARE VARIABLE IIMRIMBORSO NUMERIC(12,2); DECLARE VARIABLE IFLTAILLEURAG SMALLINT; DECLARE VARIABLE IFLCAMICEAG SMALLINT; DECLARE VARIABLE INMGIORNATE INTEGER; DECLARE VARIABLE DSORARIO VARCHAR(100); DECLARE VARIABLE DSCONTRATTO VARCHAR(50); DECLARE VARIABLE CDCONTRATTO INTEGER; DECLARE VARIABLE FLDTMIN SMALLINT; BEGIN
SELECT E.CDCLIENTE, E.DSCLIENTE, C.CDPUNTOVENDITA, C.DSPUNTOVENDITA, C.DSDISPLAYINSEGNA, C.DSCOMUNEPV, C.DSLOCALITA, C.CDCAP CDCAPPV, C.CDPROVINCIAPV, D.CDAGENZIA, D.DSAGENZIA, H.CDHOSTESS, H.DSNOMINATIVO, H.CDMATRICOLA, H.DSINDIRIZZO DSINDIRIZZOHS, H.DSINDIRIZZO2 DSINDIRIZZO2HS, H.CDCAP CDCAPHS, H.DSRESIDENZA, H.DSRESIDENZA2, H.CDCAPRESIDENZA, A.DSRIFERIMENTO, H.CDSEX, G.FLCAMICEAG, G.FLTAILLEURAG, H.DTNASCITA, I.DSCOMUNE DSCOMUNENASHS, I.CDPROVINCIA CDPROVINCIANASHS, L.DSCOMUNE DSCOMUNEINDHS, L.CDPROVINCIA CDPROVINCIAINDHS, O.DSCOMUNE DSCOMUNEINDRS, O.CDPROVINCIA CDPROVINCIAINDRS, E.DSCAMPAGNA, E.DSMESE, E.CDANNO, E.DSPROMOZIONE, H.CDFISCALE, M.DSATTIVITA, N.DSAZIENDA, H.NMLAVORO, H.DTSCADENZALAVORO, H.CDINPS, H.CDINAIL, P.DSOPERATORE, C.NMTELEFONO, C.NMTELEFONO1, C.NMCELLULARE, C.NMCELLULARE1, C.NMFAX, C.NMFAX1, C.NMPREFERENZIALE
FROM RJOB A, VIEW_PV_DISPLAYINSEGNA C, DAGENZIE D, VIEW_CAMPAGNE_PROMOZIONI E, RJOB_HOSTESS G, DHOSTESS H, TCOMUNI I, TCOMUNI L, TATTIVITA M, DAZIENDE N, TCOMUNI O, DOPERATORI P WHERE A.CDPROMOZIONE = E.CDPROMOZIONE AND A.CDPUNTOVENDITA = C.CDPUNTOVENDITA AND A.CDJOB = G.CDJOB AND G.CDHOSTESS = H.CDHOSTESS AND E.CDAGENZIA = D.CDAGENZIA AND H.CDNASCITA = I.CDCOMUNE AND H.CDINDIRIZZO = L.CDCOMUNE AND H.CDRESIDENZA = O.CDCOMUNE AND A.CDTIPOATTIVITA = M.CDATTIVITA AND G.CDAZIENDA = N.CDAZIENDA AND E.CDOPERATORE = P.CDOPERATORE AND G.CDHOSTESS = :ACDHOSTESS AND G.CDJOB = :ACDJOB AND G.DTJOB = :ADTJOB INTO :CDCLIENTE, :DSCLIENTE, :CDPUNTOVENDITA, :DSPUNTOVENDITA, :DSDISPLAYINSEGNA, :DSCOMUNEPV, :DSLOCALITA, :CDCAPPV, :CDPROVINCIAPV, :CDAGENZIA, :DSAGENZIA, :CDHOSTESS, :DSNOMINATIVO, :CDMATRICOLA, :DSINDIRIZZOHS, :DSINDIRIZZO2HS, :CDCAPHS, :DSRESIDENZA, :DSRESIDENZA2, :CDCAPRESIDENZA, :DSRIFERIMENTO, :CDSEX, :FLCAMICEAG, :FLTAILLEURAG, :DTNASCITA, :DSCOMUNENASHS, :CDPROVINCIANASHS, :DSCOMUNEINDHS, :CDPROVINCIAINDHS, :DSCOMUNEINDRS, :CDPROVINCIAINDRS, :DSCAMPAGNA, :DSMESE, :CDANNO, :DSPROMOZIONE, :CDFISCALE, :DSATTIVITA, :DSAZIENDA, :NMLAVORO, :DTSCADENZALAVORO, :CDINPS, :CDINAIL, :DSOPERATORE, :NMPVTELEFONO, :NMPVTELEFONO1, :NMPVCELLULARE, :NMPVCELLULARE1, :NMPVFAX, :NMPVFAX1, :NMPVPREFERENZIALE ; /* Inizializzazione delle variabili */ DSTAILLEURAG = ''; DSCAMICEAG = ''; NMGIORNATE = 0; IMGIORNATE = 0;
FLDTMIN = 0;
/* Select per le date lavorate per job e hostess */ FOR SELECT A.DTJOB, A.IMGIORNATA, A.IMRIMBORSO, A.FLTAILLEURAG, A.FLCAMICEAG, A.NMGIORNATE, A.DSORARIO, B.DSCONTRATTO, B.CDCONTRATTO FROM RJOB_HOSTESS A, VIEW_HOSTESS_CONTRATTI B WHERE A.CDJOB = B.CDJOB AND A.CDCONTRATTO = B.CDCONTRATTO AND A.CDHOSTESS = :ACDHOSTESS AND A.CDJOB = :ACDJOB ORDER BY 1 INTO :iDTJOB, :iIMGIORNATA, :iIMRIMBORSO, :iFLTAILLEURAG, :iFLCAMICEAG, :iNMGIORNATE, :DSORARIO, :DSCONTRATTO, :CDCONTRATTO DO BEGIN /* Data minima job hostess */ if (FLDTMIN = 0) then begin FLDTMIN = 1; DTMIN = iDTJOB; end
END /* Data max job hostess */ DTMAX = iDTJOB;
/* Frasi di rito per sesso del soggetto */ IF (CDSEX = 'F') THEN BEGIN XPART1 = 'la'; XPART2 = 'Sig.ra'; XPART3 = 'promotrice'; XPART5 = 'a'; XPART6 = 'collaboratrice'; END IF (CDSEX = 'M') THEN BEGIN XPART1 = 'il'; XPART2 = 'Sig.'; XPART3 = 'promotore'; XPART5 = 'o'; XPART6 = 'collaboratore'; END
/* Importo in lettere */ XTGIORNATE = XLATENUMTOSTR(IMGIORNATE, 0); PRRITENUTA = APRRITENUTA; DTNOW = 'NOW'; CDJOB = ACDJOB; SUSPEND;
END ^
SET TERM ; ^
/******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/
DESCRIBE TABLE DAZIENDE 'Il record *zero deve essere presente Il record 1 ? la ditta principale';
DESCRIBE TABLE RHOSTESS_PAGAMENTI 'Pagamenti ed anticipi per le hostess';
DESCRIBE TABLE RPROMOZIONI_SPEDIZIONI 'Spedizioni per promozione';
DESCRIBE TABLE TDESTINATARIO 'Vedi RJOB_LOGISTICA_MOVIMENTO';
DESCRIBE TABLE TEXT_STAMPA 'Descrizioni tipi estensioni file delle stampe';
DESCRIBE TABLE TINI 'File INI del programma';
DESCRIBE TABLE TTIPO_JOB 'Tipo job relativo a RJOB_HOSTESS';
DESCRIBE TABLE TTIPO_PAGAMENTO 'Tipi pagamento per i compensi hostess RHOSTESS_PAGAMENTI';
DESCRIBE TABLE TTIPO_STAMPA 'Descrizioni tipi stampe';
/******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/
DESCRIBE VIEW VIEW_ANNO_JOB_HOSTESS 'Vista del compenso e numero giorni delle hostess per anno solare (Legge Biagi), divisa per azienda';
DESCRIBE VIEW VIEW_COPERTURA 'Copertura per il singolo RJOB';
DESCRIBE VIEW VIEW_DESTINATARI 'Lista dei destinatri, viene utilizzata per la logistica';
DESCRIBE VIEW VIEW_FETCH_HOSTESS 'Dipende da VIEW_NUMERO_HOSTESS, per ili job quante date ci sono uguali';
DESCRIBE VIEW VIEW_HOSTESS_COMPENSI 'Compenso della hostess da rjob_hostess diviso per mese/anno di promozione';
DESCRIBE VIEW VIEW_HOSTESS_CONTRATTI 'I contratti per le righe di RJOB_HOSTESS';
DESCRIBE VIEW VIEW_HOSTESS_COORDINATRICE 'Coordinatrice per la hostess in RJOB_HOSTESS';
DESCRIBE VIEW VIEW_HOSTESS_ENGAGED 'Se la hostess ? impegnata per lo stesso giorno il conteggio ? maggiore di 1, non si possono escludere quelle a 0 poich? servono nella join';
DESCRIBE VIEW VIEW_HOSTESS_NMGG 'Quanti giorni a lavorato la hostess';
DESCRIBE VIEW VIEW_HOSTESS_PAGAMENTI 'Pagamenti effettuati alla hostess per mese/anno di promozione, i codici pagamento DEVO essere uguali a quelli in tabella TTIPO_PAGAMENTO';
DESCRIBE VIEW VIEW_HOSTESS_SALDO 'Saldi delle hostess, dal compenso di RJOB_HOSTESS vengono tolti i pagamenti che sono su RHOSTESS_PAGAMENTI';
DESCRIBE VIEW VIEW_JOB_CLIENTE 'Vista per prendere il CDCLIENTE per il CDJOB';
DESCRIBE VIEW VIEW_JOB_INFO 'Le info per il job';
DESCRIBE VIEW VIEW_LOGISTICA_ART_MAG 'Gli articoli del cliente, per la logistica, divisi per magazzino';
DESCRIBE VIEW VIEW_LOGISTICA_MIN 'La situazione peggiore a livello di LOGISTICA';
DESCRIBE VIEW VIEW_LOGISTICA_MOVIMENTI 'Prendo tutti gli articoli NON generati in InStore (solo elencati in DCAMPAGNA, quelli utilizzati in RJOB_LOGISTICA_MOVIMENTO, e quelli movimentati in RMAGAZZINI_MOVIMENTI';
DESCRIBE VIEW VIEW_MAGAZZINI_MOVIMENTI 'Movimenti di magazzino divisi per articolo';
DESCRIBE VIEW VIEW_NUMERO_HOSTESS 'Il numero di hostess per ogni JOB, vedi anche VIEW_FETCH_HOSTESS';
DESCRIBE VIEW VIEW_PROMOZIONE_NMGG 'Il numero di giornate per ogni promozione, molto lenta poich? fa tre LEFT JOIN';
DESCRIBE VIEW VIEW_PROMOZIONE_NMPV 'Numero di punti vendita per ogni promozione';
DESCRIBE VIEW VIEW_PROMOZIONI_SPEDIZIONI 'Vista di decodifica delle spedizioni per promozione';
DESCRIBE VIEW VIEW_PV_DISPLAYINSEGNA 'Calcolo del displayinsegna, modificare anche CalculateDisplayInsegna su PV';
DESCRIBE VIEW VIEW_SPEDIZIONE_CAMPAGNA_PV 'le spedizioni della logistica per ogni campagna e punto vendita';
DESCRIBE VIEW VIEW_SPEDIZIONE_JOB 'Le spedizioni per ogni JOB, raggruppate';
DESCRIBE VIEW VIEW_SPEDIZIONI_MIN 'La situazione peggiore per le spedizioni';
/******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/
DESCRIBE FUNCTION AGE 'Et? da una data';
DESCRIBE FUNCTION INTDAY 'Giorno da una data';
DESCRIBE FUNCTION INTMONTH 'Mese da una data';
DESCRIBE FUNCTION INTYEAR 'Anno da una data';
DESCRIBE FUNCTION STRMONTH 'Descrizione del mese da un numero';
DESCRIBE FUNCTION XLATENUMTOSTR 'Traduzione in lettere di una data, il parametro se 1 traduce anche i decimali';
/******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/
DESCRIBE PROCEDURE SP_FATTURAZIONE_CLIENTE 'Conteggio giornate divise tra assunzione/non assunzione coordinatrice/non coordinatrice';
/******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/
DESCRIBE TRIGGER DCAMPAGNE_AI0 'Quando inserisco un record creo in automatico anche un kit di stampa';
DESCRIBE TRIGGER DCAMPAGNE_AI2 'Creazione dei contratti dalla tabella TTEMPLATE_CONTRATTI';
DESCRIBE TRIGGER RCAMPAGNE_CONTRATTI_AD0 'Imposto il contratto a null, poich? in RJOB_HOSTESS non conosco la campagna';
DESCRIBE TRIGGER RCAMPAGNE_CONTRATTI_AD1 'Imposto il contratto a null, poich? in RPROMOZIONI_SPEDIZIONE non conosco la campagna';
/* Fields descriptions */
DESCRIBE FIELD DSSHORTAGENZIA TABLE DAGENZIE 'Descrizione breve per InStore';
DESCRIBE FIELD CDAZIENDA TABLE DAZIENDE 'Il codice 1 rappresenta l''azienda principale';
DESCRIBE FIELD CDOPERATORE TABLE DCAMPAGNE 'Eredita quello presente in DCLIENTI';
DESCRIBE FIELD DTISCRIZIONE TABLE DHOSTESS 'Libro soci';
DESCRIBE FIELD DTUSCITA TABLE DHOSTESS 'Libro soci';
DESCRIBE FIELD DTVERSAMENTO TABLE DHOSTESS 'Libro soci';
DESCRIBE FIELD DTRIMBORSO TABLE DHOSTESS 'Libro soci';
DESCRIBE FIELD FLARCHIVIO TABLE DHOSTESS 'Visibile/Non visibile in lista';
DESCRIBE FIELD TPUM TABLE RCAMPAGNE_CONTRATTI 'Unit? di misura, vedi tabella TUNITA_MISURA';
DESCRIBE FIELD DSTIME TABLE RCOMMESSE_VOCI_RIGHE_TT 'Elenco date per Time Table';
DESCRIBE FIELD TPTIME TABLE RCOMMESSE_VOCI_RIGHE_TT 'Tipo (Simbolo, colore)';
DESCRIBE FIELD STRIGA TABLE RCOMMESSE_VOCI_RIGHE_TT 'Elenco simboli e colori';
DESCRIBE FIELD CDAZIENDA TABLE RJOB_HOSTESS 'Contiene l''azienda a cui ? intestata la riga (stampe base)';
DESCRIBE FIELD TPJOB TABLE RJOB_HOSTESS '1=Persona Fisica; 2=Fornitore';
DESCRIBE FIELD CDCONTRATTO TABLE RJOB_HOSTESS 'Viene gestito con un trigger sulla tabella relativa';
DESCRIBE FIELD DTPAGAMENTO TABLE RJOB_HOSTESS 'Data pagamento Hostess';
DESCRIBE FIELD DTRIMBORSO TABLE RJOB_HOSTESS 'Data rimborso hostess';
DESCRIBE FIELD DTREPORT TABLE RJOB_HOSTESS 'STREPORT = 3';
DESCRIBE FIELD TPDESTINATARIO TABLE RJOB_LOGISTICA_MOVIMENTO 'TDESTINATARIO in base a quello CDDESTINATARIO';
DESCRIBE FIELD CDDESTINATARIO TABLE RJOB_LOGISTICA_MOVIMENTO 'Gestito con trigger';
DESCRIBE FIELD CDHOSTESS TABLE RMANDATI_HOSTESS 'Non c''? integrit?';
DESCRIBE FIELD CDCONTRATTO TABLE RPROMOZIONI_SPEDIZIONI 'Non esiste la FOREIGN (non conosco CDCAMPAGNA), viene utilizzato un trigger su RCAMPAGNE_CONTRATTI';
DESCRIBE FIELD CDORDER TABLE TTIPO_STAMPA 'Serve per l''ordinamento della lista stampe';
/* Parameters descriptions */
DESCRIBE PARAMETER AF PROCEDURE SP_FATTURAZIONE_CLIENTE 'Assunzione Festive';
DESCRIBE PARAMETER AN PROCEDURE SP_FATTURAZIONE_CLIENTE 'Assunzione NON Festive';
DESCRIBE PARAMETER DE PROCEDURE SP_FATTURAZIONE_CLIENTE 'Data Fine';
DESCRIBE PARAMETER DF PROCEDURE SP_FATTURAZIONE_CLIENTE 'Dirette Festive';
DESCRIBE PARAMETER DN PROCEDURE SP_FATTURAZIONE_CLIENTE 'Dirette NON Festive';
DESCRIBE PARAMETER DS PROCEDURE SP_FATTURAZIONE_CLIENTE 'Data Inizio';
DESCRIBE PARAMETER TA PROCEDURE SP_FATTURAZIONE_CLIENTE 'Totale in Assunzione (Festive e NON)';
DESCRIBE PARAMETER TD PROCEDURE SP_FATTURAZIONE_CLIENTE 'Totale Dirette (NON Assunzione)(Festive e NON)';
DESCRIBE PARAMETER TF PROCEDURE SP_FATTURAZIONE_CLIENTE 'Totale Festive (Dirette e NON)';
DESCRIBE PARAMETER TN PROCEDURE SP_FATTURAZIONE_CLIENTE 'Totale NON Festive (Dirette e NON)';
DESCRIBE PARAMETER TT PROCEDURE SP_FATTURAZIONE_CLIENTE 'Totale generale';