SWN140: codici merce fornitore modificati non esportati su ARPMERCA¶
| Campo | Valore |
|---|---|
| ID ClickUp | 869e9k8jc |
| Data segnalazione | 2026-07-27 |
| Data risoluzione | 2026-07-27 |
| Programmi coinvolti | SWN140 |
| Impatto | Alto |
| Cliente | Blutekna |
Sintomo¶
Dopo l'aggiornamento di alcuni codici merce fornitore sul gestionale, la modifica non risultava propagata sull'APP. Nel caso segnalato da Blutekna, la merce "005704" (CMA) con codice fornitore "19/11/03571" (CM) era stata aggiornata il 23 luglio, ma la tabella APP ARPMERCA continuava a riportare il valore precedente.
Il log di SWN140 dichiarava di aver esportato dei record, ma senza indicare quali. Anche forzando una riesportazione a partire dal 22 luglio, il programma dichiarava di esportare, ma il dato su ARPMERCA restava invariato.
Causa¶
SWN140 esporta i codici merce fornitore (COGMERFO) sulla tabella APP ARPMERCA con tipo-codice = "F".
Il codice fornitore mfr-cod-for viene scritto nel campo a-mca-codice, che fa parte della chiave
del record su ARPMERCA.
Nel paragrafo di esportazione del singolo record (b-esporta-record) il programma ricercava il record
esistente tramite la chiave parziale (azienda + merce + tipo-codice + anagrafica) e, se trovato,
si limitava ad aggiornarne la descrizione e i flag. Quando la modifica riguardava proprio il codice
fornitore (mfr-cod-for), l'aggiornamento avrebbe dovuto cambiare un campo in chiave del record
gia' presente: il vecchio record con il codice precedente rimaneva, e il nuovo codice non veniva mai
propagato. Il log, inoltre, non riportava i codici toccati, rendendo la diagnosi difficile.
Correzione¶
Nel paragrafo b-esporta-record (marcatore TASK-5716 nel sorgente) e' stato aggiunto il controllo
sul cambio del codice fornitore: se il codice letto dalla sorgente (mfr-cod-for) e' diverso da quello
del record ARPMERCA esistente (a-mca-codice), il programma:
- esegue la cancellazione logica del vecchio record, impostando
a-mca-fl-canc = "C"e aggiornando l'id-sincro; - inserisce un nuovo record con il nuovo codice fornitore (
a-mca-codice = mfr-cod-for), descrizione aggiornata e flag di cancellazione azzerato.
Questa doppia operazione e' necessaria perche' a-mca-codice e' in chiave e non puo' essere modificato
"in place".
A corredo, il log di processo (gesdebug-write) e' stato arricchito con i codici effettivamente
modificati o inseriti (merce - fornitore - codice), cosi' che l'esito dell'esportazione sia
tracciabile.
Modifica rilasciata e verificata su Blutekna il 2026-07-27.