Vai al contenuto

TGP435 - Importazione lanci

Posizione nel menu di Area

  1. Magazzino
  2. Produzione
  3. Taglio
  4. Profilati
  5. Import lancio eseguito

Linkage section Il programma potrà essere richiamato da menu.

Configurazioni possibili

Gruppo Parametro Note
tagliolm mag-clavoro

Logica del programma

Il software Alma dove aver effettuato i nesting necessari per soddisfare un lancio, e aver effettuato il taglio, potrà esportare dei files che contengono grosso modo le seguenti informazioni:

  • Dati generali nesting con riferimento al file di disegno
  • Particolari tagliati
  • Materie prime (tubi/verghe) utilizzate
  • Sfridi risultanti

Questo programma dovrà permettere di selezionare un file da importare, effettuare i controlli sui dati e gli aggiornamenti necessari:

  • Generare un consuntivo di lavorazione per il taglio
  • Scaricare le materie prime utilizzate
  • Caricare gli sfridi risultanti, collegando gli eventuali certificati presenti sulle materie prime utilizzate.

Si dovrà impedire la selezione di un file relativo ad un lancio NON eseguito sulla macchina di "taglio tubi".

Maschera del programma

La maschera è divisa in 2 parti

Testata

File da importare Richiesta di un file da importare. Controllare se il file contiene nella selezione generale (vedi sotto) il codice macchina usata per il taglio tubi "3D", che sarà "TTM_FL400_T12090"; se NON lo contiene segnalare "Questo lancio deve essere importato con la funzione specifica per il taglio lamiere" e uscire. Proporre il percorso configurato in "tagliolm"-"path-import-alma". Usare il t.f. "F5 Apri" con cui richiamare la dialog standard di ricerca files.

Data operazione Data di effettuazione aggiornamenti. Proporre data sistema.

Tipologia di produzione Campo combo-box in sola lettura, che conterrà:

  • "V":Vendita
  • "C":C/lavoro

Questo campo sarà valorizzato durante la lettura dei particolari contenuti nel file importato, che dovranno essere omogenei per tipologia (dato che comunque il lancio è stato creato omogeneo, eseguire comunque un controllo per coerenza)

Dettaglio

Nel dettaglio è presente una griglia (in sola visualizzazione ma ti consiglio comunque di gestirla come se fosse modificabile): le colonne saranno:

  • Progressivo nesting
  • Tipo:
    • "Particolare"
    • "Materia prima"
    • "Sfrido"
  • Merce
  • Caratteristiche merce
    • Tipo materiale
    • Durezza
    • Comp.chimica
    • Lunghezza
    • Famiglia
    • Profilo
    • Designazione
  • Segno del movimento
    • Entrata
    • Uscita
  • Quantità movimentata
  • Riferimento a riga ordine
  • Cliente
  • Locazione:
    • Box
    • Corsia
    • Colonna
    • Piano

La locazione va cercata sull'anagrafica merci per le righe di tipo "materia prima". Dovrà essere modificabile per le righe di tipo "sfrido"

Elaborazione

Nel programma definire

  • un file di transito "nesting" che chiameremo "TRS-NES" che conterrà
    • Chiave primaria
      • Progressivo
    • Path immagine
    • Codice materia prima
    • Quantità
    • % sfrido
    • Tempo taglio
    • Lunghezza
    • ID Nesting
  • un file di transito "dettaglio" che chiameremo "TRS-DET" che conterrà:
    • Chiave primaria
      • Progressivo nesting
      • Tipo record:
        • P: Particolare
        • M: Materia prima
        • S: Sfrido
      • Progressivo di riga
    • Codice merce
    • Codice merce "Materia prima"
    • Lunghezza
    • Chiave riga ordine
    • Quantità
    • Segno
      • E: "Entrata"
      • U: "Uscita"
    • Path

Lettura file

Aprire il file richiesto in testata; il formato sarà il seguente: Sezione generale # Sezione nesting 1 # Sezione nesting 2 .....

Esempio SMS 90|Acciaio|4|ciccio91| # C:\Alma\data\SMS Engineering\WorkDoc\doc.pdf|1|80,5|83,2|01:15:52|6000,0|0,0||1| SCRAP_FILE|4979,8|0,0| C:\Alma\data\SMS Engineering\tubes\d91x4.atd|5|00:15:10|2,122||| SCRAP|1|00:00:00|0,000|||

Sezione generale Nella sezione generale ci sarà un solo record, che dovrebbe corrispondere al codice macchina utilizzata, da mettere in un campo di working.

Sezione nesting "n" Questa sezione sarà ripetuta tante volte quanti sono i nesting effettuati per chiudere il lancio. Per ciascun nesting i dati sono i seguenti:

  • Riga testata + materia prima
    • Eventuale sfrido 1
    • Eventuale sfrido "n"
    • ...
  • Particolare 1
  • Particolare "n"
  • ....

Riga testata Il formato è il seguente: PathImmagine|Quantità|%sfrido|?|tempotaglio|Lunghezza|Codice verga|N.sfridi generati 1 2 3 4 5 6 7 8 es: T:\Data\laser\resul\000000000002(prova2).r01.emf|1|9.4|29.4|02:01:29|1500.0|M1200005/001|0| 1 2 3 4 5 6 7 8

Dopo la lettura di questo record si dovrà:

Aggiungere un record su TRS-NES:

Campo Contenuto
Progressivo Nuovo progressivo
Path immagine Path immagine
Quantità Quantità
Tempo taglio Tempo taglio
Lunghezza Lunghezza
Codice materia prima "Codice verga" dovrebbe corrispondere ad un CMA: mettere il codice merce corrispondente
ID Nesting 0

Aggiungere un record sul TRS-DET

Campo Contenuto
Progressivo nesting Progressivo nesting
Tipo record "M"
Progressivo Progressivo di record di tipo "M"
Codice merce "Codice verga" dovrebbe corrispondere ad un CMA: mettere il codice merce corrispondente
Codice merce "materia prima" vuoto
Riga ordine vuoto
Quantità Quantità
Path Path immagine
Lunghezza 0
Segno "U"

Il campo "N. sfridi generati" indicherà quante righe di "sfrido" sono presenti successivamente.

Riga sfrido Il formato è il seguente: File DPR sfrido|Lunghezza sfrido generato Si dovranno trovare tante righe quante sono quelle indicate nel campo "n.sfridi generati" del record di testata nesting.

Per ciascun record trovato:

Aggiungere un record sul TRS-DET

Campo Contenuto
Progressivo nesting Progressivo nesting
Tipo record "S"
Progressivo Progressivo di record di tipo "S"
Codice merce vuoto
Codice merce "materia prima" il codice merce memorizzato sulla riga di testata precedente
Riga ordine vuoto
Quantità Quantità materia prima utilizzata (si dà per scontato che a parità di nesting ogni tubo tagliato genera uguali sfridi)
In precedenza era fissa 1
Path File DPR sfrido
Lunghezza "Lunghezza"
Segno "E"

Riga particolare Il formato è il seguente: NomeFileDPR|Quantità|tempotaglio|Peso|?|nOrdineLavoro 1 2 3 4 5 6 Esempio y:\progmacc\plasma-dpr\10127_6.dpr|10|00:01:36|3179.250|IWS|C20120000007/0001| 1 2 3 4 5 6

Per ciascun record trovato:

Controllare se la riga ordine esiste: Usando nOrdineLavoro e il codice merce ricavato comporre la chiave riga ordine, ed eseguire la lettura su COGRIGOR. Se non trovato, segnalare un messaggio di Warning "Lettura di particolare cancellato, verrà scartato: " + riferimento di chiave ordine, riga e codice particolare. Dopodichè skippare la riga.

Ricerca tipologia di produzione Per trovare la tipologia di produzione a cui è collegata una riga ordine:

  1. Ricerca riga preventivo (TGPPRRIP) usando TRPP-CHIA2
  2. Ricerca testata preventivo (TGLPRTES)
  3. Il dato TTPR-FL-CLAVORO vale "S" se il preventivo è in "C/lavoro"; altrimenti è in "Vendita"

In base alla tipologia trovata valorizzare il campo "Tipologia di produzione" in testata; controllare che le tipologie siano omogenee, altrimenti emettere un messaggio di avviso.

Aggiungere un record sul TRS-DET

Campo Contenuto
Progressivo nesting Progressivo nesting
Tipo record "P"
Progressivo Progressivo di record di tipo "P"
Codice merce Il codice merce è contenuto nel "NomeFileDPR": è il nome del file, isolato dal path e dall'estensione; corrisponde al codice merce avanzato, quindi da questo cercare il codice merce interno.
Codice merce "materia prima" il codice merce memorizzato sulla riga di testata precedente
Riga ordine Chiave riga ordine ricavata da nOrdineLavoro, che è nel formato esportato in TGL430, quindi: "C20120001234/0001".
La riga ordine dovrà avere il codice merce corrispondente a quello trovato nel NomeFileDPR
Quantità Quantità * quantità materia prima
Path NomeFileDpr
Lunghezza 0
Segno "E"

Visualizzazione dati

Caricare la griglia di dettaglio partendo da TRS-DET

Colonna Contenuto
Progr. nesting Progressivo nesting
Tipo Tipo record
Merce Codice merce, se presente; in questo caso cercare le caratteristiche merce: se il tipo record è:
"P": ricerca della riga preventivo collegata alla riga ordine trovata: le caratteristiche del particolare sono le solite:









caratteristiche Vedi sopra
Segno Segno
Quantità Quantità
Riga ordine Riga ordine
Cliente Cliente trovato sull'ordine, se presente la riga ordine

NB: la visualizzazione dei dati sulla griglia aiuta anche in fase di test a controllare i dati caricati!!! Quindi se ci possono essere altre informazioni utili conviene aggiungerle alla griglia.

In questa fase attivare un t.f. "F3 Aggiorna"; se premuto:

Aggiornamento

Si dovranno effettuare diversi tipi di aggiornamento:

  • Nesting
    • Archiviare il file PDF contenuto in PathImmagine in un apposito documento collegato al gestionale, e linkarlo a tutti i particolari prodotti con quel nesting.
  • Materie prime: scaricare le materie prime dal magazzino
  • Sfridi:
    • Creare il codice merce
    • Se presente il certificato sulla materia prima abbinarlo anche allo sfrido
    • Caricare lo sfrido in magazzino
  • Particolari
    • Aggiornare la quantità prodotta sul file "lancio"
    • Per ciascun ordine interessato, se a parità di macchina sono stati prodotti tutti i particolari richiesti, chiudere la fase di lavorazione
    • Se tutti i particolari presenti su un lancio sono stati avenzati, chiusura lancio

A - Creazione nesting

A.1 Creazione testata nesting Dovremo alimentare la tabella testata nesting: scorrere le righe di TRS-NES. Per ciascuna riga:

  • Attribuire un ID al nesting corrente cercando il primo id disponibile su TGLNESTS, con il solito metodo della start all'indietro su chiave primaria. Il codice ID attribuito al nesting sarà "TNST-ID + 1".
  • Creare un nuovo record su TGLNESTS:
Campo Contenuto
TNST-ID Nuovo id attribuito
In casi come questo dopo la scrittura se viene restituito errore 22 ripartire dalla ricerca dell'id!!!
TNST-DES Mettere il nome del file contenuto in "Path Immagine", togliendo il path
TNST-MATERIA-PRIMA Codice merce "materia prima"
TNST-MOLTEPLICITA "Molteplicita" trovata sul record di TRS-NES
  • Dopo la scrittura del suddetto record salvare TNST-ID sul record di transito TRS-NES nel campo "Id nesting"

A.1 archiviazione documento nesting Il PathImmagine contiene il riferimento ad un file (dovrebbe essere un PDF) che contiene i dati del nesting. Questo file va archiviato e collegato la nesting stesso. Eseguire quindi una chiamata a COGU06 passando i seguenti parametri:

Campo Contenuto
U06-OPE "Inserisci-file"
U06-FILE Path Immagine
U06-FL-INTERNO "D"
U06-TIP-DOC "NS"
U06-DOC-COGE Id nesting; passato ad un campo alfanumerico risulterà di 12 cifre riempito di "0"
U06-DO-TIP-DOC "NESTING"
U06-DO-NUM-INT come U06-DOC-COGE
U06-DO-DATA Data sistema
U06-DO-NUM-EST come U06-DO-NUM-INT
U06-DO-DATA-EST Data sistema
U06-OGGETTO "Nesting n. " + U06-DOC-COGE

Al termine dell'operazione il nesting risulterà archiviato.

B - Aggiornamento materie prime

Si dovrà eseguire la creazione di un documento di magazzino che contiene lo scarico delle materie prime utilizzando COGS26 (vedi TGL460) Scorrere le righe di TRS-DET con tipo = "M" Per ciascuna riga valida inserire un record sul file di transito per COGS26:

Campo Contenuto
Trs-s26-rig Numero di riga progressive a partire da 1
Trs-s26-merce Codice merce
Trs-s26-qta Quantità
Trs-s26-segno "U"
Trs-s26-lotto-int 0

Al termine eseguire la chiamata a COGS26 passando in linkage:

Campo Contenuto
S26-ope "Inserimento"
S26-note-1 "Scarico materia prima per lancio: " codice lancio
S26-note-2 "Macchina: " codice macchina
S26-data Data sistema
S26-mag In base alla tipologia di produzione:


S26-causale Causale configurata in "tagliolm"-"causale-scarico-mp"
S26-fl-link "N"
S26-fl-gia "S"
S26-fl-prod "N"
s26-commessa vuoto
S26-fl-pn-car " "
S26-fl-matricole "N"

Il programma restituirà in S26-DOCUMENTO-OUT la chiave del documento di p.n. magazzino creata. che dovrà essere visualizzata: "Documento di scarico materie prime: " riferimento p.n. magazzino

B.1 Scarico prenotazione materia prima

Per ciascuna materia prima scaricata, verifichiamo se esiste una prenotazione:

  • Ricerca su COGRIGBP attraverso RBP-CHIA2 impostando:
    • RBP-MERCE = materia prima
  • Per ciascuna riga cercare la testata COGTESBP; se TBP-FL-CLS = "A" eseguire Chiusura buono di prelievo

Chiusura buono di prelievo il buono di prelievo dovrebbe contenere solo la riga relativa alla materia prima in esame; se non è cosi' emettere un messaggio dove si riporta: "Sto chiudendo un buono di prelievo di prenotazione materia prima che contiene altre merci: riferimento buono di prelievo" In ogni caso proseguire con la chiusura:

  • Scorrere le righe del buono di prelievo usando la chiave primaria; per ciascuna riga:
    • Togliere la quantità prenotata dalla giacenza, attraverso una chiamata a COGU12 (vedi COGU11 in tratta-qta-pren, ma muovere RBP-QTA in U12-QTA-OLD)
  • Al termine chiudere il buono di prelievo impostando TBP-FL-CLS = "C"

C - Aggiornamento sfridi

Svuotare il file di transito x COGS26.

C.1 creazione merce e preparazione file Scorrere il file TRS-DET; per ciascuna riga di tipo "S":

C.1.1 Creazione merce "sfrido" Eseguire la creazione di una nuova materia prima risultante dallo sfrido. Il codice merce sfrido sarà simile, come caratteristiche, alla lastra da cui è nato: sarà diversa solo la lunghezza e il riferimento ordine, a cui TGLS02 aggiungerà un progressivo. Quindi come prima casa, richiamare TGLS02 per cercare le informazioni relative alla materia prima:

Campo Contenuto
tgls02-ope "CERCA-INFO"
tgls02-merce codice merce "materia prima" trovato sul record di TRS-DET

Poi richiamarlo nuovamente per inserire la nuova merce; la linkage potrà essere lasciata come risultante dalla prima chiamata, modificando solamente:

Campo Contenuto
tgls02-ope "INSERISCI"
tgls02-merce vuoto
tgls02-mp-lunghezza lunghezza trovata
tgls02-mp-fl-sfr "S"
tgls02-mp-prog-sfr 0

Dopo la chiamata TGLS02 restituirà il codice merce creato. Dopodiche aggiornare la locazione indicata sulla griglia su COGLGMER, Poi duplicare le descrizioni aggiuntive della materia prima:

  • Scorrere COGDESAG sulla chiave principale con:
    • DAG-R-M = "M"
    • DAG-MERCE = Codice materia prima originale
  • Ciascun record valido deve essere duplicato impostando DAG-MERCE = codice merce sfrido creato

C.1.2 Aggiornamento transito x COGS26 Aggiungere un record al file di transito x COGS26:

Campo Contenuto
Trs-s26-rig Numero di riga progressive a partire da 1
Trs-s26-merce Codice merce sfrido creata
Trs-s26-qta Quantità
Trs-s26-segno "E"
Trs-s26-lotto-int 0

C.2 Carico sfrido Al termine eseguire la chiamata a COGS26 passando in linkage:

Campo Contenuto
S26-ope "Inserimento"
S26-note-1 "Carico sfrido per lancio: " codice lancio
S26-note-2 "Macchina: " codice macchina
S26-data Data sistema
S26-mag In base alla tipologia di produzione:


S26-causale Causale configurata in "tagliolm"-"causale-carico-sfrido"
S26-fl-link "N"
S26-fl-gia "S"
S26-fl-prod "N"
s26-commessa vuoto
S26-fl-pn-car " "
S26-fl-matricole "N"

C.3 Aggancio certificato allo sfrido Se la materia prima originale era abbinata ad un certificato, agganciarlo anche allo sfrido:

  • Ricerca su COGIMAGE di un record attraverso IMG-CHIA2 (lettura secca) impostando:
    • IMG-TIP-DOC = "AM"
    • IMG-DOC-COGE: stringa composta da:
      • Codice merce interno "materia prima"
      • "IM9000"
  • Se viene trovato il record, significa che c'è un certificato archiviato sulla materia prima originale. Quindi:
    • Inserimento nuovo record su COGIMAGE:
Campo Contenuto
IMG-PROTOCOLLO Nuovo numero di protocollo cercato nell'apposita numerazione, vedi COGD40
IMG-TIP-DOC "AM"
IMG-DOC-COGE Stringa composta da:


IMG-OGGETTO "Certificato"
IMG-FL-LINK "S"
IMG-LNK-TIP "D"
IMG-LNK-DOC-TIP "AM"
IMG-LNG-DOC-DOC IMG-DOC-COGE trovato sul record precedente

D - Aggiornamento particolari

D.1 Aggiornamento quantità lavorate Scorrere le righe di TRS-DET con tipo = "P" Per ciascuna riga valida:

  • Posizionarsi sul record dettaglio lanci TGLLNCDT usando la chiave TCLD-CHIA2, impostando:
    • TCLD-RIGA-ORDINE = riga ordine trovata sul record di TRS-DET
  • Si dovrà trovare un record. Sommare la quantità del record di TRS-DET a TCLD-QTA-TAGLIATA.
  • Aggiornare un file di transito, o una tabella interna al programma, che contiene l'elenco degli ordini cliente (solo la testata) toccati durante questo aggiornamento.
  • Aggiornare un file di transito, o una tabella interna al programma, che contiene l'elenco dei lanci toccati durante questo aggiornamento:
    • Aggiungere il lancio trovato (TCLD-ID) alla tabella/file di transito lanci
  • Eseguire l'aggiornamento dettaglio nesting:
    • Inserire un nuovo record su TCLLNCNS con i seguenti campi:
Campo Contenuto
TLCN-ID TLCD-ID
TLCN-PROG TLCD-PROG
TLCN-ID-NESTING Con il "progressivo nesting" trovato sul record TRS-DET, leggere il corrispondente record del TRS-NES.
In questo campo inserire l'ID nesting trovato
TLCN-QTA quantità trovata su TRS-DET

D.2 Aggiornamento consuntivo fase Scopo di questa parte è di aggiornare lo stato delle fasi di lavorazione (CLCCCRIG) in modo corretto, a seconda che tutti i particolari siano stati tagliati

  • Scorrere il file di transito (o la tabella) con gli ordini toccati durante l'aggiornamento. Per ciascun ordine:
    • Leggere il record di COGLAVOR collegato, usando CLA-CHIA5, impostando:
      • CLA-ORDINE = chiave ordine
    • Si dovrà trovare un record collegato all'ordine: questa è la commessa di lavorazione collegata all'ordine
    • Scorrere le righe ordine (COGRIGOR); per ciascuna riga:
      • Leggere il record COGDETOR collegato alla riga ordine;
      • Se DTR-MAC corrisponde al codice macchina prelevato dal file di import:
        • Cercare il dettaglio "lancio" corrispondente alla riga ordine: posizionarsi sul record dettaglio lanci TGLLNCDT usando la chiave TCLD-CHIA2, impostando:
        • TCLD-RIGA-ORDINE = riga ordine trovata sul record di transito
        • Si potranno trovare "n" record (1 per ciascun lancio in cui è stata inserita la riga ordine); eseguire la sommatoria di TCLD-QTA-TAGLIATA
        • Confrontare la sommatoria con ROR-QTAORD
      • Per tutte le righe esaminate in questo modo, confrontare: (sommatoria di TCLD-QTA-TAGLIATA) con ROR-QTAORD; aggiornare un file di transito che ha come chiave principale:
        • Ordine
        • Macchina taglio
        • Riga ordine
      • Su questo file di transito creare un record per ciascuna riga esaminata, dove impostare un campo che contiene lo stato del taglio sulla riga ordine:
        • "A": Se (sommatoria di TCLD-QTA-TAGLIATA) = 0
        • "C": Se (sommatoria di TCLD-QTA-TAGLIATA) >= ROR-QTAORD
        • "P": in tutti gli altri casi.
    • Archiviazione nesting sul dossier "ordine": vedi D.2.1
    • Archiviazione certificati sul dossier "ordine": vedi D.2.2
    • Aggiornamento stato fasi di lavorazione:
      • Scorrere CLCCCRIG sulla chiave primaria impostando:
          • CCR-ANN = CLA-ANNO
          • CCR-NUM = CLA-NUMERO
      • Per ciascun record che ha CCR-LAV che contiene una lavorazione di tipo "taglio",
        • Scorrere i record sul file di transito creato in precedenza, a parità di ordine/macchina; se
          • Tutti i record sono in stato "A": impostare CCR-STATO = "A"
          • Tutti i record sono in stato "C": impostare CCR-STATO = "C"
          • In tutti gli altri casi: impostare CCR-STATO = "P"
        • Aggiornare il record

D.2.1 Archiviazione nesting su dossier ordine Scorrere TRS-NES; per ciascun record eseguire una chiamata a CRMS10 impostando:

Dato Contenuto
CRMS10-OPE "COLLEGA-DOC"
CRMS10-ID Stringare insieme:


CRMS10-DES "Nesting n." + Id nesting
CRMS10-NODO-DES K-DSR-NODO-OC-NESTING
CRMS10-ALL-DES "Nesting n." + Id nesting
CRMS10-ALL-ID Id nesting su 10 cifre in formato numerico; ad esempio: "0000012345"
CRMS10-ALLEGATO " "
CRMS10-SE-DOC-ESISTE "S"
CRMS10-LNK-TIP "D"
CRMS10-LNK-DOC-TIP "NS"
CRMS10-LNK-DOC-DOC Id nesting; passato ad un campo alfanumerico risulterà di 12 cifre riempito di "0"

Se la chiamata fallisce, CRMS10-STATO sarà diverso da " "; in questo caso mettere lo stato in un messaggio e visualizzarlo.

D.2.2 Archiviazione certificati su dossier ordine Scorrere TRS-DET per il tipo "M"; per ciascun record:

1) Vedere se la materia prima originale era abbinata ad un certificato:

  • Ricerca su COGIMAGE di un record attraverso IMG-CHIA2 (lettura secca) impostando:
    • IMG-TIP-DOC = "AM"
    • IMG-DOC-COGE: stringa composta da:
      • Codice merce interno "materia prima"
      • "IM9000"
  • Se viene trovato il record, significa che c'è un certificato archiviato sulla materia prima originale. Quindi proseguire con il punto 2

2) eseguire una chiamata a CRMS10 impostando:

Dato Contenuto
CRMS10-OPE "COLLEGA-DOC"
CRMS10-ID Stringare insieme:


CRMS10-DES "Certificato su " + codice merce avanzato relativo alla materia prima
CRMS10-NODO-DES K-DSR-NODO-OC-CERTIFICATI
CRMS10-ALL-DES "Certificato su " + codice merce avanzato relativo alla materia prima
CRMS10-ALL-ID Codice merce "materia prima"
CRMS10-ALLEGATO " "
CRMS10-SE-DOC-ESISTE "S"
CRMS10-LNK-TIP "D"
CRMS10-LNK-DOC-TIP "AM"
CRMS10-LNK-DOC-DOC Se IMG-FL-LINK e':


Se la chiamata fallisce, CRMS10-STATO sarà diverso da " "; in questo caso mettere lo stato in un messaggio e visualizzarlo.

D.2.3 Archiviazione ddt di entrata materia prima su dossier ordine Scorrere TRS-DET per il tipo "M"; per ciascun record:

1) Vedere se il documento di carico la materia prima originale è stato archiviato: Ricerca su COGIMAGE usando IMG-CHIA2:

Dato Contenuto
IMG-TIP-DOC "BE"
IMG-DOC-COGE Chiave bolla con separatori, ad esempio:
"1/2016/C/123456"

Se esiste, allora si potrà collegare il documento al dossier:

2) eseguire una chiamata a CRMS10 impostando:

Dato Contenuto
CRMS10-OPE "COLLEGA-DOC"
CRMS10-ID Stringare insieme:


CRMS10-DES "Documento entrata: " chiave documento di entata con separatori
CRMS10-NODO-DES K-DSR-NODO-OC-ENTRATE-MP
CRMS10-ALL-DES "Documento entrata: " chiave documento di entata con separatori
CRMS10-ALL-ID Chiave documento di entrata senza separatori (es. "12016C123456")
CRMS10-ALLEGATO " "
CRMS10-SE-DOC-ESISTE "S"
CRMS10-LNK-TIP "D"
CRMS10-LNK-DOC-TIP "BE"
CRMS10-LNK-DOC-DOC Se IMG-FL-LINK e':


Se la chiamata fallisce, CRMS10-STATO sarà diverso da " "; in questo caso mettere lo stato in un messaggio e visualizzarlo.

D.3 Chiusura lancio

  • Scorrere il file di transito (o la tabella) con i lanci toccati durante l'aggiornamento. Per ciascun lancio:
    • Leggere il dettaglio lancio scorrendo TGLLNCDT sulla chiave primaria e impostando:
      • TCLD-ID = TCLC-ID
    • Per ciascun record di dettaglio trovato, leggere la riga ordine collegata COGRIGOR usando TCLD-RIGA-ORDINE
    • Confrontare TCLD-QTA-TAGLIATA con ROR-QTAORD
    • Se per tutte le righe del lancio, TCLD-QTA-TAGLIATA è >= ROR-QTAORD, il lancio è completo; altrimenti se almeno una riga non soddisfa la condizione, il lancio è completo (se almeno una riga non soddisfa la condizione, inutile proseguire con l'analisi delle righe rimanenti!!).
    • Quindi, impostare sempre TCLT-STATO = "D" anche se il lancio non risulta completo. (i particolari non tagliati potranno essere reinviati con un nuovo lancio).
    • Salvare il record TGLLNCTS

E - Rimozione file di import

Il file importato deve essere spostato in una sottocartella chiamata "salva" della cartella da dove è stato prelevato. Accertarsi che dopo lo spostamento il file non esista più nella cartella originale.