Vai al contenuto

ASNS17 - Operazioni su contratti a scalare

Posizione nel menu Programma non a menu Linkage section

Tipo Dato Formato Contenuto
INPUT ASNS17-OPE x(20) Vedi argomenti successivi
ASNS17-CONTRATTO 9(12) ID contratto
ASNS17-CREA-DETTAGLIO x(01) Deve essere creato il file di dettaglio? S/N
OUTPUT ASNS17-MODO-SCALARE Restituisce se il contratto è a scalare:



ASNS17-MONTE-ORE 9(04) Monte ore previsto
ASNS17-MONTE-VALORE 9(12)v999999 Monte valore previsto
ASNS17-USO-ORE 9(04) Monte ore utilizzato
ASNS17-USO-VALORE 9(12)v999999 Monte valore utilizzato
ASNS17-RESIDUO-ORE 9(04) Monte ore residuo
ASNS17-RESIDUO-VALORE 9(12)v999999 Monte valore residuo
ASNS17-NOME-FILE x(150) Nome del file di dettaglio generato, se richiesto
FILLER x(349)

Logica generale Lo scopo principale del programma è di calcolare i dati riepilogativi di ore/valore per un contratto a scalare, e restituire i dati al programma chiamante. Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.

Operazione: CERCA-RESIDUO

Descrizione Riceve in input un contratto e restituisce i dati di sintesi relativi alla gestione "a scalare", quando previsto. Chiamata standard

Tipo Dato Contenuto
INPUT ASNS17-OPE "CERCA-RESIDUO"
ASNS17-CONTRATTO ID contratto
ASNS17-CREA-DETTAGLIO S/N a seconda dell'esigenza
(Default "N")
OUTPUT ASNS17-MODO-SCALARE Restituisce se il contratto è a scalare:



ASNS17-MONTE-ORE Monte ore previsto
ASNS17-MONTE-VALORE Monte valore previsto
ASNS17-USO-ORE Monte ore utilizzato
ASNS17-USO-VALORE Monte valore utilizzato
ASNS17-RESIDUO-ORE Monte ore residuo
ASNS17-RESIDUO-VALORE Monte valore residuo
ASNS17-ESITO Esito
ASNS17-MSG messaggio inputput
ASNS17-NOME-FILE Nome del file di dettaglio generato

Elaborazione In questa modalità gli eventuali messaggi non dovranno essere visibili, ma passati all'esterno. Leggere la testata contratto ASNCNTE2: qui si trova il flag che permette di riconoscere un contratto a scalare: ACN2-TIPO-SCALARE, che può essere restituito direttamente su ASNS17-MODO-SCALARE.ù Quindi, se è vuoto, uscire con tutti gli altri dati = 0. Altrimenti procedere come segue Ricerca prestazioni "a scalare" Preparare una tabella interna al programma che conterrà tutte le prestazioni indicati nel contratto che sono incluse nel monte ore/valore: sono tutte le prestazioni indicate in ASNCNTAR, dove ACNR-FL-SCALARE = "S". Ricerca interventi collegati a contratto Scorrere ASNCHTES usando ACHT-CHIA2, per tutte le chiamate collegate al contratto in esame. Per ciascuna chiamata cercare tutti gli interventi chiusi (ricerca su ASNINTES usando ACIT-CHIA2): sono quelli con ACIT-STATO = "C" -> gli interventi pre-chiusi non sono ancora considerati nel monte ore/valore. Per ciascun intervento valido scorrere le prestazioni: scansione su ASNINDET per tutte le righe collegate all'intervento con ACID-TIP = "P"; per ciascuna leggere anche ASNINDE2 e considerare solo le righe con ACID2-MONTE-APPLICATO = "S" (sono le righe su cui è stato effettivamente calcolato e applicato il contratto a scalare); quindi calcolare: * Se il contratto è a "monte ore" (ACN2-TIPO-SCALARE = "Q"): sommare ACID-QTA a ASNS17-USO-ORE * Se il contratto è a "monte valore" (ACN2-TIPO-SCALARE = "V"): sommare ACID2-MONTE-VALORE a ASNS17-USO-VALORE Alla fine del procedimento quindi si dovrà restituire al programma chiamante i seguenti dati:

Dato Contenuto
ASNS17-MODO-SCALARE ACN2-TIPO-SCALARE
Se il contratto è a "Monte ore":
ASNS17-MONTE-ORE ACN2-QTA-SCALARE
ASNS17-USO-ORE Totale ore calcolate
ASNS17-RESIDUO-ORE ASNS17-MONTE-ORE - ASNS17-USO-ORE
Se il contratto è a "Monte valore":
ASNS17-MONTE-VALORE ACNT-IMPORTO
ASNS17-USO-VALORE Totale valore calcolato
ASNS17-RESIDUO-VALORE ASNS17-MONTE-VALORE - ASNS17-USO-VALORE

Quindi dopo aver determinato le quantità scaricate (evase) per ciascuna riga, esportare il residuo sulla tabella di linkage. Creazione file di dettaglio Se richiesto (ASNS17-CREA-DETTAGLIO = "S"), creare un file di transito in EXT-TMP-DIR, con il tracciato descritto in ASNS17-T-MOV.

Nome campo Note

"I"

ACID-CHIA1

ACID-MERCE

ACID-QTA

ACID2-MONTE-VALORE

Data chiusura intervento

ASNS17-T-MOV

Tabella che conterrà il dettaglio dei movimenti considerati nel calcolo monte ore/valore per un contratto Per questa tabella è necessario creare delle copy riutilizzabili in altri programmi.

Tabella: ASNS17-T-MOV
Nome campo
T-ASNS17-REC







FILLER
Chiavi necessarie:


Estratto da documentazione interna ClickUp