L19.4 - Gestione eCOMMERCE


4.1 - Configurazione dei parametri e Attività Propedeutiche

4.1.1 - Tabella Procedurale ECO: Parametri eCOMMERCE

EE0 1.1 7

Percorso: BE0 \ 1.1 Parametri base \ 7 Tabelle procedurali

image.png

La tabella procedurale ECO deve essere preventivamente censita e valorizzata per ogni Ditta per definire le direttive fondamentali di interscambio e le specifiche di connessione verso le piattaforme esterne. All'interno di questa tabella sono configurabili i seguenti campi:

`0` – File (Formato standard CSV/XML salvato in locale o su server FTP).

`1` – Database MySQL.

`2` – Database SQL Server.

`3` – Database Oracle.

Nota di attenzione: Le fasce orarie sono sempre digitabili a terminale, ma verranno elaborate e considerate dall'applicativo "se e solo se" l'utente ha preventivamente selezionato e attivato il flag *Export per Fascia oraria*.

4.1.2 - Manutenzione XRTB

EE0 1.20 3

La tabella tecnica di manutenzione **XRTB** sovrintende ai criteri di sincronizzazione delle singole tavole dati del gestionale. Per abilitare il corretto funzionamento dell'eCOMMERCE è necessario impostare i seguenti campi di controllo:

4.1.2.1 - Classificazione delle tavole in base agli indicatori XRTB

A seconda delle esigenze operative, le tavole di eSIGEA si dividono nei due macro-gruppi gestiti dalla manutenzione:

  1. Tavole interessate dalla Sincronizzazione WEB (eCOMMERCE core):
AAT2 Condizioni di pagamento

AAT7

Porti
AATC Categoria Clienti

AATM

Voci Complementari (Tariffario Spese di Trasporto)
AAT5 Gruppi/Sottogruppi Articoli
AETF Classificazione Articoli (ECR)

AETA

ECR - Reparti
AETB ECR - Settori
AETC ECR - Famiglie
AETD ECR - Sub-famiglie
AETE ECR - Gruppi

ASCP

Tabella Sconti
AACC Anagrafica Clienti
AAMG Anagrafica Articoli di Magazzino
ACMG Contabile Articoli di Magazzino (Generale o del Deposito specifico indicato nel file `.fio`)
AABR Anagrafica Codici EAN Articoli

AALV

Listino Prezzi Articoli
MCPB Relazioni Campagne promozionali/Clienti (Promozioni/Volantini: Beneficiari)
MCPP Relazioni Campagne promozionali/Articoli (Promozioni/Volantini: Articoli)

2. Tavole abilitate per la Sincronizzazione TEST:

ABTF

Filiali
AATD Depositi

ATBL

Tabelle procedurali
AACC Anagrafica Conti Clienti
AACF Anagrafica Conti Fornitori

AACG

Anagrafica Conti Generali
ARCC Relazione Rapporti Contabili
AATG Conti Standard
ATO Agenti

AATQ

Zone
AAT4 Centri di Costo/Ricavo
AAMG Anagrafica Articoli di Magazzino
AAME Dati aggiuntivi Articoli
AAT5 Gruppi/Sottogruppi

ABTL

Brand e Sub-brand
AETF Classificazione Articoli (ECR)
AETA ECR - Reparti
AETB ECR - Settori
AETC ECR - Famiglie
AETD ECR - Sub-famiglie
AETE ECR - Gruppi

4.2 - Architettura di interscambio dati e modalità di integrazione

eSIGEA supporta due differenti architetture tecniche di integrazione con il portale eCOMMERCE, configurabili a livello di Ditta tramite la tabella procedurale ECO.

La modalità operativa è determinata dal parametro Formato Export, che definisce il meccanismo fisico di trasporto, sincronizzazione e acquisizione dei dati tra il gestionale e la piattaforma esterna.

Valore

Modalità

Tecnologia

0

Interscambio tramite File

File CSV/XML su cartelle di spool o portale web

1

Database MySQL

Connessione diretta DB

2

Database SQL Server

Connessione diretta DB

3

Database Oracle

Connessione diretta DB

Le due architetture condividono le medesime logiche funzionali di sincronizzazione delle tavole gestionali, ma differiscono completamente nella modalità tecnica di scambio dati.


4.2.1 - Interscambio tramite File (CSV/XML)

La modalità File rappresenta il modello standard di integrazione basato sulla generazione e acquisizione di flussi fisici memorizzati nelle cartelle di interscambio del server eSIGEA o trasferiti da/verso il portale web.

Questa architettura viene attivata impostando:

Formato Export = 0 (File)

Principio di funzionamento

L'integrazione avviene attraverso due processi distinti:

Export dati verso il portale

eSIGEA genera file in formato CSV, contenenti le tavole anagrafiche e commerciali abilitate alla sincronizzazione WEB tramite configurazione XRTB.

I file vengono inizialmente prodotti nella cartella temporanea:

SPOOL/EXCH/<codiceditta>/WEB0/EXP/TMP

e successivamente trasferiti nella cartella di elaborazione:

SPOOL/EXCH/<codiceditta>/WEB0/EXP/ELA

Qualora nella tabella ECO sia attivo il parametro Upload flussi, i file vengono automaticamente pubblicati sul server del portale web e rimossi dalle directory locali dopo il completamento del trasferimento.

La nomenclatura dei file è governata dal parametro Nome flussi:

Import dati dal portale

L'acquisizione dei dati provenienti dall'eCOMMERCE avviene mediante lettura di file strutturati, normalmente in formato XML.

La principale implementazione standard riguarda l'importazione degli Ordini Clienti Web, tramite file XML depositati nella directory:

SPOOL/EXCH/<codiceditta>/WEB0/IMP/ORDC/ELA

In alternativa, qualora configurato il parametro Download flussi nella tabella ECO, il sistema può eseguire automaticamente il recupero dei file dal portale remoto.

Regole di mapping e trasformazione

Nella modalità file, la struttura dei tracciati non è determinata dal database, ma da specifici file di configurazione tecnica.

Per il corretto funzionamento dell’interscambio devono essere presenti nella directory:

$PROCLIB/fio

i seguenti file:

Export CSV

WEB0_EXPO_<nometavola>.fio

Tali file definiscono:

Esempi:

ACMG
richiede l'attributo:

code-depo

per determinare il deposito utilizzato nel calcolo delle giacenze esportate.

AABR
può utilizzare:

tipc--ean

per filtrare la tipologia di codici EAN da esportare.

Import XML Ordini

WEB0_IMPO_ORDC.fio

WEB0_IMPO_ORDC.xsl

Il file .fio governa la mappatura tecnica dei campi, mentre il foglio di stile .xsl esegue:

Nel file .fio è inoltre possibile valorizzare il parametro:

CODE_DEPO

per forzare il deposito di intestazione dell’ordine cliente generato.


4.2.2 - Interscambio tramite Database di Frontiera

La modalità Database di Frontiera realizza una sincronizzazione diretta tra eSIGEA e il database del portale eCOMMERCE, eliminando la necessità di generare file intermedi di interscambio.

L’integrazione viene attivata impostando il parametro:

Formato Export = 1, 2 oppure 3

in funzione del motore database utilizzato dal cliente:

  1. MySQL
  2. SQL Server
  3. Oracle

In tale scenario il campo Gruppo DB della tabella ECO diventa obbligatorio e identifica la connessione tecnica verso il database remoto.

Principio di funzionamento

In questa architettura:

Il motore di sincronizzazione aggiorna esclusivamente le tavole abilitate nella manutenzione XRTB, filtrando i record con:

Sincronizzazione WEB > 0

La logica di export rimane invariata:

Inizializzazione del database di frontiera

Prima dell’attivazione della sincronizzazione è necessario creare la struttura fisica del database remoto.

A tale scopo deve essere utilizzata la funzione:

B31 (3109) → 2.23 eCommerce → 10 Manutenzione e assestamento → 1 Agg.to DB frontiera

La procedura esegue i seguenti passaggi:

1. Verifica parametri ECO

Il sistema controlla la presenza della tabella procedurale ECO.

Se assente:

"Parametri eCOMMERCE non presenti"

la procedura viene bloccata.

Se il parametro Formato Export risulta uguale a 0 (File), l’elaborazione viene ugualmente interrotta poiché la funzione è disponibile esclusivamente in modalità database.

2. Apertura connessione DB

La procedura utilizza le credenziali definite nel Gruppo DB per collegarsi al database remoto.

3. Analisi tavole sincronizzabili

Il sistema legge la manutenzione XRTB ed individua le sole tavole aventi:

Sincronizzazione WEB > 0

4. Generazione struttura fisica

Alla conferma dell’utente vengono eseguiti automaticamente gli script SQL di creazione tabelle, memorizzati nella directory:

../H02/comn

L’esito viene rappresentato graficamente:

Eccezioni tecniche automatiche

Generazione automatica MPMG

La creazione della tabella:

MMMG

produce automaticamente anche la generazione della tabella logistica:

MPMG

Creazione tabella SEMAFORO

Contestualmente all’inizializzazione del database di frontiera, il sistema genera automaticamente la tabella tecnica:

SEMAFORO

utilizzata per il controllo anticoncorrenziale dei processi di sincronizzazione.

4.3 - Gestione dei flussi ed esecuzione delle fasi operative

La trasmissione e la ricezione dei dati tra eSIGEA e il portale eCOMMERCE possono avvenire secondo due differenti modalità tecniche:

Le procedure operative descritte nei paragrafi successivi si applicano in funzione della modalità di integrazione configurata nella tabella ECO.

4.3.1 - Scambio Dati e Logica dei Semafori Anticoncorrenziali

Per impedire fenomeni distruttivi di sovrascrittura dei dati, conflitti di accesso alla rete o letture parziali delle righe durante le fasi di aggiornamento, l'architettura tecnica prevede un blocco a semaforo gestito tramite l'omonima tabella `"SEMAFORO"` creata sul database di frontiera.

Algoritmo di Controllo del Semaforo nell'Export

[Avvio Procedura Export]

         

         

[Verifica Stato Tabella SEMAFORO]

         

          ── Se Stato = "ACCESO" (In corso) ── [Blocco Procedura] ── Notifica Errore a Terminale

         

          └── Se Stato = "SPENTO" (Libero)

                     

                     

               [Accensione Semaforo]

                     

                     

          [Esecuzione Export Tabelle]

         (Sincronizzazione Web > 0)

                     

                     

               [Scrittura Dati]

                     

                     

               [Spegnimento Semaforo]

                     

                     

               [Fine Processo]

4.3.1.1 Funzioni di Forzatura per l'Assistenza Tecnica

In caso di arresti anomali del server, cadute di connessione o necessità di sblocco manuale da parte dell'assistenza tecnica, sono state predisposte due voci di menù dedicate al ripristino forzato degli stati interni del semaforo sul database:

* Percorso: `B31 (3109)\2.23 eCommerce\10 Manutenzione e assestamento\2 Ripristina stato "ESPORTARE"`

* Percorso: `B31 (3109)\2.23 eCommerce\10 Manutenzione e assestamento\3 Ripristina stato "AGGIORNARE"`

4.3.2 - Procedura di Export Files

E29 2.23 1

Percorso di menù: E29 \ 2.23 \ 1

La funzione genera i flussi estratti dalle tavole gestionali per allineare il Portale Web. Prevede due modalità esecutive distinte richiamabili da menù:

1. **Export Ordinario:** Esporta selettivamente solo le righe inserite, modificate o rimosse, a meno che sulla Manutenzione XRTB non sia impostato il valore `9` (*refresh ever*) su una specifica tavola, inducendo l'esportazione totale della stessa.

2. **Prima installazione / Refresh:** Forza l'estrazione e l'esportazione integrale e massiva di tutte le tabelle censite con indicatore maggiore di zero.

4.3.2.1 Regole di Mappatura tramite file di configurazione (.fio)

Per la corretta formattazione e mappatura delle colonne, la procedura richiede il caricamento nella cartella di sistema `$PROCLIB/fio` di file di configurazione dedicati per ciascuna tavola, rinominati tassativamente secondo la regola: `WEB0_EXPO_<nometavola>.fio`.

All'interno di questi file `.fio` devono essere valorizzati alcuni attributi strutturali specifici per le seguenti tavole:

4.3.2.2 Denominazione, Percorsi di Spool e Tracciamento Log

4.3.3 - Procedura di Import Ordini Vendita

E29 2.23 4 1

Percorso di menù: E29 \ 2.23 \ 4 \ 1

Questa funzione automatizza la ricezione e la conversione dei flussi acquisti generati dal portale web in Ordini Clienti standard all'interno di eSIGEA.

4.3.3.1 Requisiti strutturali del file e mappatura d'ingresso
4.3.3.2 Tracciato Record Obbligatorio del flusso XML di Import

Il file XML deve presentare una struttura gerarchica divisa in due blocchi informativi, contenenti i seguenti campi:

1. **Dati di Testata dell'Ordine:**

* Codice Cliente (Codifica interna del gestionale eSIGEA)

* Data dell'Ordine

* Numero identificativo dell'Ordine

* Data di Consegna richiesta (*Opzionale*)

* Codice della condizione di pagamento (*Opzionale*)

2. **Dati di Corpo dell'Ordine (Righe ripetitive):**

* Tipo Riga: Campo numerico fisso. Vale `0` per riga Articolo standard; vale `1` per riga addebiti spese di trasporto.

* Codice Articolo (Codifica interna eSIGEA)

* Quantità ordinata

* Prezzo unitario applicato dal portale

* Percentuali di Sconto: Campi opzionali che mappano dallo Sconto 1 allo Sconto 5.

4.3.3.3 Regole di archiviazione esiti e logica di svincolo

Terminata l'elaborazione del file XML, il sistema sposta il file in base all'esito del parsing e della validazione:


4.3.4 - Export Ordinario - Aggiornamento frequente

EE0 1.20 20 21

Schedulazione: EE0 \ 1.20 \ 20 \ 21

Questa variante della procedura di export è attivabile **esclusivamente** tramite lo schedulatore dei processi batch in background. Consente di estrarre un sottoinsieme di tavole critiche con una frequenza temporale molto più ravvicinata (es. allineamento giacenze ogni ora) rispetto al ciclo di export ordinario globale.

Configurazione: All'interno dei parametri della stringa di comando dello schedulatore, il tecnico deve valorizzare il campo **Stringa 1** inserendo i codici delle sole tavole da sottoporre ad aggiornamento frequente, separandoli rigidamente con il carattere punto e virgola `;` (Esempio: `ACMG;AABR`).

4.3.5 - Funzione Pubblica files

E29 2.23 10 1

Percorso: E29 \ 2.23 \ 10 \ 1

Consente all'operatore di forzare manualmente la trasmissione verso il portale web dei file CSV di export precedentemente generati e rimasti parcheggiati sul server. Questa opzione è adoperata come soluzione di ripiego in caso di guasti temporanei della rete durante l'export automatico.

Condizione vincolante: La funzione esegue l'invio **solo se** verifica che la cartella remota di interscambio del portale WEB risulta completamente vuota.

4.3.6 - Funzione Inquiry Ordini Importati

E29 2.23 6 1

Percorso: E29 \ 2.23 \ 6 \ 1

Interfaccia grafica di consultazione a video di tutti gli ordini elettronici transitati dal portale eCOMMERCE verso i registri interni di eSIGEA. La maschera mette a disposizione dell'utente una serie di filtri di ricerca:

4.4 - Specifiche tecniche e sintassi dei flussi export

4.4.1 - Standard Formattazione File CSV

I file estratti da eSIGEA e inviati verso il database o le cartelle di frontiera rispettano le seguenti specifiche sintattiche di formattazione:

  1. `AZIO_TABE`: Indica l'azione di tipo DML da eseguire sul database del portale web.
  2. `TABL_ID`: Contiene il codice numerico univoco progressivo (ID) della riga della tabella.

Tabella di decodifica del campo AZIO_TABE

 Valore 

 Azione 

 5 

 Inserimento/Modifica riga nella tavola 

 8 

 Cancellazione riga della tavola 

 80 

 Svuotamento completo della tavola (in caso di refresh tavole) 

 

4.4.2 - Struttura Dettagliata dei Tracciati Record delle Tabelle Esportate

I formati dei campi seguono la legenda: `N` = Numerico intero, `ND` = Numerico decimale (es. `N8D6` indica 8 cifre intere e 6 decimali), `X` = Alfanumerico/Stringa.

4.4.2.1 - TAVOLA `AAT2`: Tabella Condizioni di pagamento

Raccoglie i codici di pagamento. Si relaziona alla tabella clienti `AACC` tramite la colonna comune `CODE_PAGA`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_PAGA 

 Codice Pagamento 

 N5 

 DESC_PAGA 

 Descrizione Pagamento 

 X50 

 
4.4.2.2 - TAVOLA `AAT7`: Tabella Porti

Contiene la codifica dei porti di resa merci. Si relaziona alla tabella clienti AACC tramite la colonna comune CODE_PORT.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_PORT 

 Codice Porto 

 N5 

 DESC_PORT 

 Descrizione Porto 

 X50 

 
4.4.2.3 - TAVOLA `AATC`: Tabella Categoria Clienti

Fornisce la segmentazione commerciale dei clienti. Si relaziona alla tabella `AACC` tramite la colonna CODE_CATG.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_CATG 

 Codice Categoria 

 N5 

 DESC_CATG 

 Descrizione Categoria 

 X50 

 
4.4.2.4 - TAVOLA `AAT5`: Tabella Gruppi/Sottogruppi Articoli

Definisce l'albero della classificazione merceologica standard degli articoli.

Logica gerarchica di riga: Se il campo CODE_SGRU è **uguale a 0**, la riga descrive un Gruppo principale. Se il campo CODE_SGRU è **maggiore di 0**, la riga rappresenta un Sottogruppo analitico.

Si relaziona all'Anagrafica Articoli AAMG tramite l'accoppiata dei campi CODE_SETT e CODE_SGRU.

 Colonna 

 Descrizione 

 Formato 

AZIO_TABE

 Azione tabella 

 N2 

TABL_ID

 ID tabella 

 N12 

CODE_SETT

 Codice Gruppo Articoli 

 N4 

CODE_SGRU

 Codice Sottogruppo Articoli 

 N4 

DESC_CATG

 Descrizione Gruppo/Sottogruppo Articoli 

 X50 

 
4.4.2.5 - TAVOLA `AETA`: ECR - Reparti

Contiene la codifica dei Reparti secondo lo standard di classificazione ECR. Si relaziona alle tabelle gerarchiche AETF e AETB tramite il campo TABL_ID.

 Colonna 

 Descrizione 

 Formato 

AZIO_TABE

 Azione tabella 

 N2 

TABL_ID

 ID tabella 

 N12 

CODE_REPR

 Codice Reparto 

 N2 

DESC_REPR

 Descrizione Reparto 

 X50 

 
4.4.2.6 - TAVOLA `AETB`: ECR - Settori

Rappresenta i Settori ECR. Si collega a monte ad `AETA` tramite il campo `AETA_ID` (corrispondente al `TABL_ID` della tabella `AETA`) e a valle alle Famiglie `AETC` tramite il proprio `TABL_ID`.

 Colonna 

 Descrizione 

 Formato 

AZIO_TABE

 Azione Tabella 

 N2 

TABL_ID

 ID Tabella 

 N12 

CODE_SETT

 Codice Settore 

 N2 

DESC_SETT

 Descrizione Settore 

 X50 

AETA_ID

 ID Reparti ECR (AETA). Relazionata a TABL_ID di AETA. 

 N12 

 
4.4.2.7 - TAVOLA `AETC`: ECR - Famiglie

Identifica le Famiglie ECR. Si collega a monte ad `AETB` tramite il campo `AETB_ID` e a valle alle Sub-famiglie `AETD` tramite il proprio `TABL_ID`.

 Colonna 

 Descrizione 

 Formato 

AZIO_TABE

 Azione Tabella 

 N2 

TABL_ID

 ID Tabella 

 N12 

CODE_FAMI

 Codice Famiglia 

 N2 

DESC_FAMI

 Descrizione Famiglia 

 X50 

AETB_ID

 ID Settori ECR (AETB). Relazionata a TABL_ID di AETB. 

 N12 

 
4.4.2.8 - TAVOLA `AETD`: ECR - Sub-famiglie

Identifica le Sub-famiglie ECR. Si collega a monte ad AETC tramite il campo `AETC_ID` e a valle ai Gruppi ECR AETE tramite il proprio TABL_ID.

 Colonna 

 Descrizione 

 Formato 

AZIO_TABE

Azione Tabella 

 N2 

TABL_ID

ID Tabella 

 N12 

CODE_SUBF

Codice Sub-famiglia 

 N2 

DESC_SUBF

Descrizione Sub-famiglia 

 X50 

AETC_ID

ID Famiglie ECR (AETC). Relazionata a TABL_ID di AETC. 

 N12 

 
4.4.2.9 - TAVOLA `AETE`: ECR - Gruppi

Rappresenta l'ultimo livello di scomposizione della classificazione. Si relaziona a monte alla Sub-famiglia tramite l'attributo `AETD_ID`.

 Colonna 

 Descrizione 

AZIO_TABE

 Azione Tabella 

TABL_ID 

 ID Tabella 

CODE_GRUP

 Codice Gruppo 

DESC_GRUP

 Descrizione Gruppo 

AETD_ID

 ID Sub-famiglie ECR (AETC). Relazionata a TABL_ID di AETD. 

 
4.4.2.10 - TAVOLA `AETF`: Classificazione Articoli (ECR)

Tavola di sintesi che mappa la stringa ECR completa da associare ai prodotti. Si collega all'Anagrafica Articoli `AAMG` tramite la colonna chiave `CODE__ECR`. Contiene i puntatori diretti a tutta la gerarchia ECR precedentemente descritta.

Colonna

 Descrizione 

 Formato 

AZIO_TABE

Azione Tabella 

 N2 

TABL_ID

ID Tabella 

 N12 

CODE__ECR

Codice ECR 

 N10 

DESC_GRUP

Descrizione ECR 

 X50 

AETA_ID

ID Reparti ECR (AETA). Relazionata a TABL_ID di AETA. 

 N12 

AETB_ID

ID Reparti ECR (AETB). Relazionata a TABL_ID di AETB. 

 N12 

AETC_ID

ID Reparti ECR (AETC). Relazionata a TABL_ID di AETC. 

 N12 

AETD_ID

ID Reparti ECR (AETD). Relazionata a TABL_ID di AETD. 

 N12 

AETE_ID

ID Reparti ECR (AETE). Relazionata a TABL_ID di AETE. 

 N12 

 
4.4.2.11 - TAVOLA `AATM`: Voci Complementari (Tariffario Spese di Trasporto)

Contiene le matrici numeriche e i parametri adoperati dall'algoritmo di calcolo per determinare le spese di spedizione degli ordini web. Si collega all'Anagrafica Clienti AACC tramite il campo CODE_VOCC.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_VOCC 

 Codice Tabella Tariffario Trasporto 

 N5 

 DESC_VOCC 

 Descrizione Tariffario Trasporto 

 X50 

 SPES_FISS 

 Importo Costo Trasporto 

 N6D4 

 SPES_PERC 

 % da applicare sul Valore Ordine per calcolo Trasporto 

 N3D2 

 MAXI_SC01 

 1° massimale Valore Ordine per calcolo Trasporto 

 N9D2 

 VALO_SC01 

 1° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC02 

 2° massimale Valore Ordine per calcolo Trasporto 

 N9D2 

 VALO_SC02 

 2° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC03 

 3° massimale Valore Ordine per calcolo Trasporto 

 N9D2 

 VALO_SC03 

 3° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC04 

 4° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC04 

 4° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC05 

 5° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC05 

 5° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC06 

 6° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC06 

 6° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC07 

 7° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC07 

 7° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC08 

 8° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC08 

 8° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC09 

 9° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC09 

 9° importo Costo Trasporto in base al massimale 

 N7D5 

 
4.4.2.12 - TAVOLA `AACC`: Anagrafica Clienti

Raccoglie i record anagrafici, fiscali e le regole di configurazione commerciale per ogni singolo cliente abilitato.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_CONT 

 Codice Conto Cliente 

 N9 

 DESC_CONT 

 Denominazione Cliente 

 X90 

 STAT_RECO 

 Stato del Cliente. Può assumere i seguenti valori: 

  • A = Attivo
  • C = Cessato (in via di estinzione)
  • D = Disattivo

 X1 

 INDR_DOFI 

 Indirizzo domicilio fiscale 

 X90 

 CITT_DOFI 

 Città domicilio fiscale 

 X90 

 CAP__DOFI 

 C.a.p. domicilio fiscale 

 N5 

 PROV_DOFI 

 Sigla Provincia domicilio fiscale 

 X2 

 CODE_FISC 

 Codice fiscale 

 X16 

 PART_IVAC 

 Partita IVA 

 X14 

 LISP_FATT 

 Numero Listino fatturazione (assume valori da 1 a 8) 

 N2 

 LISP_PUBL 

 Numero Listino al pubblico (assume valori da 1 a 8) 

 N2 

 CODE_CATG 

 Codice Categoria Clienti. Relazionata a CODE_CATG di AATC. 

 N5 

 CODE_PAGA 

 Codice Condizione pagamento. Relazionata a CODE_PAGA di AAT2. 

 N5 

 CODE_PORT 

 Codice Porto. Relazionata a CODE_PAGA di AAT7. 

 N5 

 VOCC_TRAS 

 Codice tariffario trasporti. Relazionata a CODE_VOCC di AATM. 

 N5 

 CODE_SCON 

 Codice tabella sconti. Relazionata a CODE_SCON di ASCP. 

 N5 

 PERC_SCON 

 % Sconto da applicare su ciascuna riga dell'Ordine 

 N3D2 

 NOTE_CLIE 

 Annotazione Cliente 

 X30 

 NOTE_AGGV 

 Ulteriore annotazione Cliente 

 X250 

 RSOC_DIVE 

 Ragione sociale diversa destinazione merce 

 X90 

 INDR_DIVE 

 Indirizzo diverso destinazione merce 

 X90 

 CITT_DIVE 

 Città diversa destinazione merce 

 X90 

 CAP__DIVE 

 C.a.p. diverso destinazione merce 

 N5 

 PROV_DIVE 

 Sigla Provincia diversa destinazione merce 

 X2 

 CODE_RCON 

 Codice Rapporto Contabile 

 N9 

 DESC_RCON 

 Ragione sociale Rapporto Contabile 

 X90 

 
4.4.2.13 - AAMG: Anagrafica Articoli

In questa tavola è presente l'Anagrafica degli Articoli.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_ARTK 

 Codice Articolo 

 X18 

 DESC_ARTK 

 Descrizione Articolo 

 X40 

 STAT_RECO 

 Stato dell'Articolo. Può assumere i seguenti valori: 

  • A = Attivo
  • B = Attivo per rete commerciale
  • D = Disattivo

 X1 

 CODE_SETT 

 Codice Settore. Relazionata a CODE_SETT di AAT5. 

 N5 

 CODE_SGRU 

 Codice Sottogruppo. Relazionata a CODE_SGRU di AAT5. 

 N5 

 CODE__ECR 

 Codice ECR. Relazionata a CODE__ECR di AETF. 

 N10 

 COAR_SOST 

 1° Codice Articolo sostitutivo/alternativo 

 X18 

 COAR_SOS2 

 2° Codice Articolo sostitutivo/alternativo 

 X18 

 COAR_SOS3 

 3° Codice Articolo sostitutivo/alternativo 

 X18 

 DESC_UMIS 

 Unità di misura 

 X2 

 GIOR_VALI 

 Giorni shelf-life 

 N4 

 GIOR_VAL2 

 Giorni di logistica 

 N4 

 PEZZ_CONF 

 Pezzi per confezione 

 N4 

 PESN_UNPZ 

 Peso netto per pezzo, espresso in kg 

 N4D6 

 PESL_UNPZ 

 Peso lordo per pezzo, espresso in kg 

 N4D6 

 VOLM_UNPZ 

 Volume per pezzo, espresso in cm³ 

 N5D3 

 VOLM_UNCO 

 Volume per confezione, espresso in cm³ 

 N5D3 

 NCON_STRA 

 Numero colli per strato 

 N2 

 NUMR_STRA 

 Numero strati per pallet 

 N2 

 IDEN_TRAF 

 Identificativo trafila 

 X4 

 GRUP_SCON 

 Gruppo Sconti. Utile per determinare le % di sconto. 

 N2 

 QESI_ACTL 

 Giacenza dell'Articolo espressa nell'unità di misura. 

 N8D3 

 UMIN_VEND 

 Unità minima di vendita (se 10 o 15 può accettare anche input qtà) 

 N2 

 
4.4.2.14 - TAVOLA `AABR`: Anagrafica Codici EAN Articoli

Associa i codici a barre ai prodotti. Il campo `DATE_VALI` determina l'inizio della validità temporale del codice.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_ARTK 

 Codice Articolo. Relazionata a CODE_ARTK di AAMG. 

 X18 

 CODE__EAN 

 Codice EAN 

 N14 

 DATE_VALI 

 Data Inizio Validità Codice EAN (nel formato AAAAMMGG) 

 N8 

 
4.4.2.15 - TAVOLA `AALV`: Listino Prezzi Articoli

Contiene i prezzi monetari lordi. I campi `DATE_INIZ` e `DATE_FINE` circoscrivono il range temporale di validità del listino.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_ARTK 

 Codice Articolo. Relazionata a CODE_ARTK di AAMG 

 X18 

 DATE_INIZ 

 Data inizio validità listino (espressa nel formato AAAAMMGG) 

 N8 

 DATE_FINE 

 Data fine validità listino (espressa nel formato AAAAMMGG) 

 N8 

 PREZ_LIS1 

 1° Prezzo del Listino 

 N8D6 

 PREZ_LIS2 

 2° Prezzo del Listino 

 N8D6 

 PREZ_LIS3 

 3° Prezzo del Listino 

 N8D6 

 PREZ_LIS4 

 4° Prezzo del Listino 

 N8D6 

 PREZ_LIS5 

 5° Prezzo del Listino 

 N8D6 

 PREZ_LIS6 

 6° Prezzo del Listino 

 N8D6 

 PREZ_LIS7 

 7° Prezzo del Listino 

 N8D6 

 PREZ_LIS8 

 8° Prezzo del Listino 

 N8D6 

 
4.4.2.16 - TAVOLA `ASCP`: Tabella Sconti

Rappresenta la matrice bidimensionale per il calcolo delle catene di sconti. L'accesso avviene incrociando il codice sconto del cliente con il gruppo sconto del prodotto.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_SCON 

 Codice Tabella Sconti 

 N5 

 GRUP_SCON 

 Gruppo Sconti 

 N2 

 PERC_SCO1 

 1° percentuale sconto 

 N3D2 

 PERC_SCO2 

 2° percentuale sconto 

 N3D2 

 PERC_SCO3 

 3° percentuale sconto 

 N3D2 

 PERC_SCO4 

 4° percentuale sconto 

 N3D2 

 PERC_SCO5 

 5° percentuale sconto 

 N3D2 

 
4.4.2.17 - TAVOLA `MCPB`: Promozioni/Volantini - Beneficiari

Contiene l'anagrafica dei clienti inclusi in contratti promozionali.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CCOM_ID 

 Identificativo campagna promozionale 

 N12 

 TIPO_CCOM 

 Tipologia campagna promozionale. Può assumere i seguenti valori: 

  •  5 = promozione
  •  7 = canvass
  • 10 = volantino
  • 50 = listino dedicato per cliente

 N2 

 CODE_CONT 

 Codice Cliente Beneficiario. Relazionata a CODE_CONT di AACC. 

 N9 

 DATE_SLII 

 Data d'inizio sell-in (nel formato AAAAMMGG) 

 N8 

 DATE_SLIF 

 Data di fine sell-in (nel formato AAAAMMGG) 

 N8 

 DATE_SLOI 

 Data d'inizio sell-out (nel formato AAAAMMGG) 

 N8 

 DATE_SLOF 

 Data di fine sell-out (nel formato AAAAMMGG) 

 N8 

Logica di visualizzazione Banner Volantini sul Portale Web: Per stabilire se attivare e mostrare a schermo il banner grafico dei prodotti in offerta a un determinato utente, l'applicazione web deve interrogare in tempo reale la tavola `MCPB` inserendo come chiavi di ricerca la data corrente dell'ordine (o della consegna) ed il codice del cliente loggato.

Se il cliente viene intercettato in una riga in cui l'attributo `TIPO_CCOM` è uguale al valore `10` (Volantino), la piattaforma estrae i prodotti in offerta associati dalla tabella correlata `MCPP` e visualizza il banner.

Se per quel determinato codice cliente non viene trovata alcuna corrispondenza attiva per la data indicata, la visualizzazione del banner sul portale eCOMMERCE deve rimanere tassativamente **disattivata**.

 

4.4.2.18 - TAVOLA `MCPP`: Promozioni/Volantini - Articoli

Contiene l'elenco degli articoli in offerta agganciati alle campagne contrattualizzate nella tabella MCPB.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CCOM_ID 

 Identificativo campagna promozionale 

 N12 

 CODE_ARTK 

 Codice Articolo. Relazionata a CODE_ARTK di AAMG. 

 X18 

 APPL_PRIO 

 Livello priorità 

 N2 

 TIPO_BENF 

 Tipo beneficio. Può assumere i seguenti valori:

  • 1 = Prezzo lordo
  • 2 = Sconto integrativo
  • 3 = Sconto sostitutivo
  • 4 = Prezzo netto

 N2 

 PREZ_CCOM 

 Prezzo. Valido solo in caso di TIPO_BENF uguale a 1 o 4.

 N8D6 

 SCON_CCOM 

 % Sconto. Valido solo in caso di TIPO_BENF uguale a 2 o 3.

 N3D2 

 

4.5 - Logiche di calcolo delle condizioni commerciali

L'applicazione corretta delle condizioni economiche sul portale eCOMMERCE deve combinare in modo deterministico i dati estratti dalle anagrafiche, dai listini standard e dalle tabelle promozionali attive alla data dell'ordine.

4.5.1 - Algoritmo Sequenziale a Cascata per la Determinazione del Prezzo di Vendita

Il motore di calcolo esegue un controllo rigorosamente sequenziale (a cascata), basato sulla data dell'operazione, incrociando il Codice Cliente ed il Codice Articolo all'interno delle tabelle MCPB e MCPP per verificare la presenza di benefici di tipo "Prezzo Lordo" (valore `1`) o "Prezzo Netto" (valore `4`). La gerarchia dei controlli segue questo ordine fisso:

[Inizio Calcolo Prezzo]

         

         

[1. Cerca Volantino in MCPB/MCPP (TIPO_CCOM = 10)] ── Trovato ── [Preleva Prezzo da MCPP]

         

       Assente

         

[2. Cerca Promozione in MCPB/MCPP (TIPO_CCOM = 5)] ── Trovato ── [Preleva Prezzo da MCPP]

         

       Assente

         

[3. Cerca Canvass in MCPB/MCPP (TIPO_CCOM = 7)] ─── Trovato ── [Preleva Prezzo da MCPP]

         

       Assente

         

[4. Cerca Listino Dedicato in MCPB/MCPP (TIPO_CCOM = 50)] ─ Trovato ─ [Preleva Prezzo da MCPP]

         

       Assente

         

[5. Applica Listino Standard da AALV]

  ┌────────────────────────────────────────────────────────────────────────┐

  │ 1. Legge il campo LISP_FATT nell'Anagrafica Cliente (AACC).            

  │ 2. Estrae il prezzo dalla colonna di AALV corrispondente all'indice.   

      (Es: Se LISP_FATT = 3 ── Legge AALV.PREZ_LIS3)                      

  │ 3. Valida la corrispondenza temporale con DATE_INIZ e DATE_FINE.       

  └─────────────────────────────────────────────────────────────────────────┘

4.5.2 - Iter di Determinazione delle Percentuali di Sconto di Riga

Il sistema eSIGEA prevede l'applicazione in cascata aritmetica di un numero **massimo di 5 percentuali di sconto** sulla medesima riga d'ordine.

Regola di esclusione totale: Qualora l'algoritmo al punto precedente (Fase 5.1) abbia intercettato una condizione promozionale con beneficio impostato su **"Prezzo Netto"** (TIPO_BENF = 4), tutte le percentuali di sconto di riga vengono azzerate e non viene applicato nessuno sconto.

In caso contrario, la catena dei 5 sconti viene valorizzata seguendo la seguente sequenza logica:

1. **Estrazione Sconti Standard Matrice:** Il sistema interroga la tabella sconti ASCP estraendo la riga che presenta la combinazione tra il codice sconto del cliente (AACC.CODE_SCON) ed il gruppo sconti dell'articolo (AAMG.GRUP_SCON). Le percentuali valorizzate si posizionano in sequenza sulle prime colonne di sconto (dallo Sconto 1 a salire).

2. **Iniezione Sconti Promozionali:** Si verifica la presenza in `MCPB` di una Promozione attiva (TIPO_CCOM = 5) che contenga un beneficio di tipo Sconto.

* Se il beneficio è un **"Sconto sostitutivo"** (TIPO_BENF = 3): La percentuale promozionale MCPP.SCON_CCOM cancella e sostituisce interamente tutti gli sconti precedentemente estratti dalla matrice standard.

* Se il beneficio è un **"Sconto integrativo"** (TIPO_BENF = 2): La percentuale promozionale si inietta e si posiziona sulla prima colonna di sconto rimasta vuota ed inutilizzata nella catena dei 5 sconti standard.

* *Esempio di integrazione A:* Se la matrice standard occupava solo le prime 2 colonne di sconto, lo sconto promozionale si posiziona come 3° sconto della riga.

* *Esempio di integrazione B (Saturazione):* Nel caso in cui la matrice standard della tabella ASCP avesse già occupato tutte e 5 le colonne di sconto disponibili, lo sconto promozionale si somma matematicamente al valore numerico già presente nella quinta colonna di sconto.

3. **Applicazione Sconto Anagrafica Cliente:** Qualora non vi siano promozioni attive sulla riga, l'algoritmo verifica il campo AACC.PERC_SCON nell'Anagrafica del Cliente. Se superiore a zero, questa percentuale viene applicata come valore integrativo inserendosi sulla prima colonna di sconto libera della catena o sommandosi al quinto sconto in caso di totale saturazione.

4.5.3 - Calcolo Matematico del Netto Riga

Ottenuti il Prezzo Lordo e la catena delle percentuali di sconto, il calcolo del valore netto di riga si articola in due passi:

1. **Determinazione del Prezzo Netto Unitario:** Si applicano in successione aritmetica le percentuali di sconto determinate sul valore del Prezzo Lordo. Il formato del prezzo netto prevede un massimo di **6 decimali**. Durante i passaggi di calcolo intermedi delle percentuali, il valore risultante **non deve subire alcun arrotondamento** al sesto decimale, bensì viene applicato un **troncamento** netto alla sesta cifra decimale.

2. **Calcolo del Netto di Riga Complessivo:** Si moltiplica il Prezzo Netto Unitario troncato per la Quantità di prodotto inserita nell'ordine. Il valore monetario del Netto Riga finale viene espresso con **2 decimali**, applicando l'**arrotondamento** standard in conformità alle direttive legislative europee.

4.5.4 - Algoritmo per il Calcolo delle Spese di Trasporto

Le spese di spedizione da imputare in riga (Tipo riga = 1) all'interno dell'ordine vengono calcolate estraendo i parametri dal tariffario `AATM` secondo i seguenti passaggi:

1. Il sistema legge il valore contenuto nel campo AACC.VOCC_TRAS dall'Anagrafica Cliente per individuare la riga corrispondente nella tabella del tariffario trasporti AATM.

2. Se il codice AACC.VOCC_TRAS è **maggiore di zero**, l'algoritmo preleva la quota fissa espressa nel campo AATM.SPES_FISS e la imposta come base di partenza del costo.

3. Alle spese fisse viene sommata la componente variabile, calcolata applicando l'aliquota percentuale contenuta nel campo AATM.SPES_PERC sul valore imponibile complessivo dell'ordine web.

4. Infine, il sistema analizza il valore totale dell'ordine e lo confronta sequenzialmente con gli scaglioni di massimale censiti nei campi da AATM.MAXI_SC01 a AATM.MAXI_SC09. Al superamento di uno scaglione, viene estratto il corrispondente valore di costo inserito nei campi da AATM.VALO_SC01 a `AATM.VALO_SC09` e sommato al totale delle spese di trasporto dell'ordine.

4.6 - Note tecniche per l'assistenza: Tracciato nuovi campi

A corredo dell'integrazione nativa delle logiche commerciali per i canali B2B e B2C aziendali, all'interno delle tabelle del database di eSIGEA sono stati inseriti i seguenti campi integrativi che devono essere mappati nei flussi.

4.6.1 - Campi Aggiuntivi su Tabella `AACC` (Anagrafica Clienti)

INDR__PEC

Stringa alfanumerica contenente l'indirizzo PEC (Posta Elettronica Certificata) aziendale principale del cliente
UAMM__PEC Indirizzo PEC specifico adibito alle comunicazioni dell'ufficio amministrativo
UFIN__PEC Indirizzo PEC specifico per le comunicazioni dell'ufficio finanza e tesoreria
UCOM__PEC Indirizzo PEC specifico per le comunicazioni dell'ufficio commerciale

CODE__SDI

Codice alfanumerico di 7 caratteri che identifica l'indirizzo telematico univoco (SDI) per l'invio della fatturazione elettronica
TIPG_CONT Campo di classificazione per determinare la tipologia di conto aziendale utilizzato, distinguendo gli account abilitati alla *Fatturazione* dagli account logistici abilitati alla sola *Consegna*
VALR_COLL Campo numerico decimale che definisce il valore minimo in Euro richiesto per ogni singolo collo d'ordine in fase di checkout sul portale

VALM_ORDN

Valore monetario imponibile minimo complessivo richiesto come soglia per permettere al cliente la convalida e l'invio dell'ordine dal web
COLM_ORDN Quantità numerica minima di colli totali obbligatori da inserire all'interno del carrello per validare l'ordine
CLPN_CTRA Valore numerico indicante il costo specifico fisso associato alla gestione del trasporto merci per il cliente
TIPG_CTRA Codice identificativo della regola e della tipologia di applicazione economica del costo di trasporto (es. tariffazione calcolata a singolo collo o a pedana intera)

 

4.6.2 - Campi Aggiuntivi su Tabella `AAMG` (Anagrafica Articoli)

CODE_BRAN

Codice identificativo univoco del Brand/Marchio associato al prodotto
DESC_BRAN Descrizione testuale estesa del Brand/Marchio dell'articolo da esporre sul portale web
DATE_ASSI Campo data indicante il giorno di inizio dell'inserimento dell'articolo nell'assortimento commerciale ordinabile
DATE_SOSI Data di inizio del periodo di sospensione temporanea della visibilità e dell'ordinabilità del prodotto sul portale web

DATE_SOSF

Data di fine del periodo di sospensione temporanea del prodotto sul web
IDEN_TRAF Codice identificativo interno della trafila tecnica associata all'articolo
DESC_TRAF Descrizione estesa e specifiche tecniche della trafila del prodotto
CODE_SSUP Codice identificativo del tipo di supporto logistico o di imballaggio protettivo utilizzato per l'articolo

DATE_LIMI

Data di inizio del periodo entro cui si applicano specifiche restrizioni o limitazioni di vendita sul portale
DATE_LIMF Data di fine del periodo delle limitazioni di vendita
NCOL__MAX Numero massimo di colli ordinabili sul portale per singolo ordine o singolo utente
QUAN__MAX Quantità massima complessiva di unità di prodotto ordinabili dal portale web per singolo utente

FLAG_EXPO

Flag utilizzato per definire se lo specifico articolo è abilitato o meno all'esportazione e alla pubblicazione sulla piattaforma web eCOMMERCE
QSAL_ORDF Quantità residua totale dei saldi d'ordine in corso ancora da ricevere lato Fornitori per l'articolo
QSAL_ORDC Quantità residua totale dei saldi d'ordine in corso ordinati e ancora da evadere lato Clienti

ALTZ_CONF

Misura dell'Altezza fisica della confezione del prodotto espressa in unità di misura logistica
LARG_CONF Misura della Larghezza fisica della confezione del prodotto
PROF_CONF Misura della Profondità fisica della confezione del prodotto
PESO_COLL Peso lordo complessivo del collo d'imballaggio espresso in unità di misura
NCON_USTR Numero di colli totali posizionabili e stivabili per l'ultimo strato superiore del pallet logistico
NCOL_PALL Numero di colli totali necessari per completare un pallet logistico standard del prodotto
VOLM_STRA Volume complessivo espresso in unità logistica occupato da un singolo strato completo di merci sul pallet




Revisione #8
Creato 21 settembre 2016 09:55:46 da Giuseppe Anelli
Aggiornato 12 giugno 2026 14:42:19 da Giuseppe Marangi