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