Operazione: ESTRAI-TESTO

Navigation:  »No topics above this level«

Operazione: ESTRAI-TESTO

Return to chapter overview

Descrizione

Riceve in input i parametri per la ricerca e l'elaborazione di un testo che sarà restituito al programma chiamante, già "completo".

 

Chiamata standard

 

Tipo

Dato

Contenuto

INPUT

COGSA6-OPE

ESTRAI-TESTO

 

COGSA6-CLASSE

Classe descrizione da elaborare

Vedi Descrizioni/testi variabili

 

COGSA6-LNG

 

 

COGSA6-SUDD

Suddivisione richiesta (Dipende dalla classe, vedi Descrizioni/testi variabili)

 

COGSA6-KEY

Chiave di ricerca oggetto (dipende dalla classe)

 

COGSA6-TAB-INFO

In questa tabella saranno passate delle coppie di "TAG/DATO" relative alla classe che si sta elaborando

Le eventuali date dovranno essere passate in "DATO-X" già formattate

I dati numerici saranno invece formattati direttamente dalla subroutine

 

COGSA6-TAB-PNT

 

COGSA6-TAB-ELE

 

oCOGSA6-TAG

 

oCOGSA6-DATO-N

 

oCOGSA6-DATO-X

OUTPUT

COGSA6-TESTO

Testo elaborato

 

COGSA6-TESTO-SIZE

Dimensione restitutita

 

COGSA6-ESITO

Esito dell'operazione:

"S":Operazione riuscita senza errori

"W":Operazione riuscita con errori

"E":Operazione non riuscita

 

COGSA6-MSG

Eventuale messaggio restituito dalla routine al programma chiamante

 

Elaborazione

 

A - Lettura descrizione/testo

 

Eseguire in sequenza le ricerche del testo da elaborare coe indicato finchè non viene trovato un record

 

A.1 - Lettura completa

Dato

Contenuto

DVA-CLASSE

COGSA6-CLASSE

DVA-LNG

COGSA6-LNG

DVA-SUDD

COGSA6-SUDD

 

A.2 - Lettura senza suddivisione

Dato

Contenuto

DVA-CLASSE

COGSA6-CLASSE

DVA-LNG

COGSA6-LNG

DVA-SUDD

" "

 

A.3 - Lettura con suddivisione e lingua base

Dato

Contenuto

DVA-CLASSE

COGSA6-CLASSE

DVA-LNG

"ITA"

DVA-SUDD

COGSA6-SUDD

 

A.4 - Lettura senza suddivisione e lingua base

Dato

Contenuto

DVA-CLASSE

COGSA6-CLASSE

DVA-LNG

"ITA"

DVA-SUDD

" "

 

Se non viene trovato in nessuno dei casi precedenti restituire il risultato vuoto con dimensione 0 impostando:

COGSA6-ESITO = "W"

COGSA6-MSG = "Testo/descrizione non trovato"

 

 

Contare i caratteri presenti realmente nella descrizione (ricerca all'indietro del primo carattere diverso da " ")

 

B - Esame e sostituzione

 

Dopodichè esaminare ciascuna coppia di TAG/DATO, tante volte quante definite in COGSA6-TAG-PNT.

 

Per ciascuna eseguire la ricerca/sostituzione nel testo trovato, usando GESSTR:

 

Tipo

Dato

Contenuto

INPUT

GESSTR-OPE

"REPLACE"


GESSTR-NOTE

Testo


GESSTR-LEN-NOTE

Lunghezza del testo trovata


GESSTR-SOST-DA

"<" TAG ">"


GESSTR-SOST-A

Dato da sostituire:

Se significativo COGSA6-DATO-N: editare e togliere spazi non significativi a sx

Altrimenti usare COGSA6-DATO-X

 

PS: se il dato passato in input è > 100 caratteri, risulterà troncato: ma per il momento non gestiamo questo caso

OUTPUT

GESSTR-NOTE

Campo note convertito e relativa lunghezza modificata.

Saranno riutilizzati per la gestione del tag successivo


GESSTR-LEN-NOTE

 

Al termine della sostituzione, esportare COGSA6-DATO e COGSA6-DATO-SIZE e chiudere.