Vai al contenuto

TGL470 - Acquisizione packing list

Posizione nel menu: Programma non a menu Linkage section: Programma senza linkage

Logica generale

Questo programma viene innescato direttamente da runtime (vedi GRI000). Il programma dovra' essere residente su un pc, similmente a quanto avviene per i motori di Apollonia. Attraverso l'uso di Schedula.exe si dovra' controllare se il programma e' attivo e operativo. Ogni 5-10 secondi, dovra' essere eseguito un loop principale che esegue la scansione di una cartella path-bdp che conterra' alcuni files di testo prodotti da un tablet. I files dopo essere stati elaborati vengono spostati nella sottocartella "path-bdp\backup".

Attraverso l'analisi di questi files il programma dovra' capire cosa fare: * Creazione nuovo BDP * Aggiornamento BDP * Passaggio BDP da provvisorio a definitivo

Formato dei files da acquisire

Testata packing list

Se nella cartella e' presente un file chiamato "t*.dat", e' un file di testata. Esempio:

Device=147
DataScarico=20151222
OraScarico=15:41:26
DetFile=d147_20151222154126.dat
TipoContenuto=1
ContenutoCodice=C20120001776001
IngombroLunghezza=123
IngombroLarghezza=456
IngombroAltezza=67
FlagEvasione=S
Allegato=nomefile

Device: Id del dispositivo che ha prodotto il file. DataScarico / OraScarico: Data/ora in cui il file e' stato prodotto. DetFile: Nome del file che contiene il dettaglio. TipoContenuto: * "1": Aggiornamento Packing list (buono di prelievo) * "2": Aggiornamento stato (nessun file di dettaglio previsto)

ContenutoCodice: Identificativo univoco della packing list (es. C20120001776001 = chiave ordine + progressivo PL). IngombroLunghezza / IngombroLarghezza / IngombroAltezza: Ingombro del collo. FlagEvasione: Se vale "S" il BDP diventera' definitivo.

Dettaglio packing list

File con dettaglio, formato:

C2016000123400001,100
C2016000123400005,72
C2016000123400012,4

Ciascuna riga contiene: * Id particolare: ROR-TESTA+ROR-RIG-PRO * Quantita' nel collo

Elaborazione

Per ciascun file di testata analizzare il contenuto e determinare l'operazione.

A - Aggiornamento packing list

Verificare se la packing list e' gia' stata acquisita (TBP-RIF). Ricavare la chiave ordine da ContenutoCodice, poi: * Scorrere la testata delle consegne dell'ordine * Per ciascuna consegna cercare i bdp collegati * Per ciascun bdp verificare se TBP-RIF corrisponde

A.1 - Inserimento buono di prelievo

A.1.1 - Inserimento testata (COGTESBP):

Etichetta Contenuto
TBP-BDP-MAG az-main-mag
TBP-BDP-ANN Anno documento (da DataScarico)
TBP-BDP-NUM Numero documento (cercare nell'apposito numeratore)
TBP-CLI Il cliente trovato sull'ordine
TBP-DATA DataScarico
TBP-RIF ContenutoCodice
TBP-NOTE Comporre dai dati di ingombro, es: "Lun=123;Lar=456;Alt=123"
TBP-FL-CLS "A"
TBP-CURRENCY W-CURRENCY-CONTO
TBP-FL-PROVVISORIO "P"

A.1.2 - Inserimento dettaglio

Per ciascuna riga: * Ricerca codice merce su ROR-MERCE * Ricerca riga consegna usando COR-CHIA5

Etichetta Contenuto
RBP-TESTA TBP-CHIA1
RBP-DATA TBP-DATA
RBP-MERCE ROR-MERCE
RBP-CLI TBP-CLI
RBP-QTA Quantita' dal dettaglio
RBP-CURRENCY TBP-CURRENCY
RBP-CONSEGNA COR-CHIA1

Poi con COGU12 aumentare la qta prenotata.

A.1.3 - Post-elaborazione Al termine, il buono viene stampato e archiviato nel dossier dell'ordine.

A.2 - Aggiornamento buono di prelievo Leggere la testata del buono. Se chiuso, segnalare e skippare. Altrimenti aggiornare, cancellare le righe COGRIGBP ripristinando la quantita' prenotata, e reinserire le righe.

B - Aggiornamento stato

Rendere "definitivo" un bdp (sara' visibile dalla funzione di Evasione vendite).

B.1 - Aggiornamento stato Ricerca del bdp corrispondente, poi: TBP-FL-PROVVISORIO = " "

B.2 - Archiviazione immagine Per ciascuna riga "Allegato=nomefile" nel file di input, eseguire una chiamata a CRMS10 con operazione "ALLEGA-DOC" per archiviare nel dossier dell'ordine.

Dato Contenuto
CRMS10-OPE "ALLEGA-DOC"
CRMS10-NODO-DES K-DSR-NODO-OC-PACKING
CRMS10-ALL-DES "Packing: chiave BDP"
CRMS10-ALLEGATO Percorso completo del file da archiviare
CRMS10-ALL-CS "C"
CRMS10-SE-DOC-ESISTE "A"

Estratto da documentazione interna ClickUp