Manuale per la progettazione d'interfaccia Tivoli Service Desk 6.0 Developer's Toolkit

Capitolo 3: File di definizione e Programma di utilità di definizione EHLLAPI

Ritorna all'Indice analitico


Introduzione

Panoramica

I file di definizione utilizzati da EHLLAPI sono file di testo ASCII. Esistono due sezioni in un file di definizione: l'Intestazione e il Campo.

Sezione Intestazione

Le informazioni sull'Intestazione contengono attributi globali per un file di definizione. Ad esempio, è possibile specificare che TSD Script Interpreter esegua ERASE_EOF prima di riempire ciascun campo.

Il formato per un'intestazione è:

*HEADER
CLEAR_FIRST = {{TRUE or ON}|{FALSE or OFF}}
MOVE_CURSOR = {{TRUE or ON}|{FALSE or OFF}}
LIBRARY = {kbc library to use as the default for user- defined format functions}

E' necessario che l'intestazione sia sempre la prima sezione del file di definizione. Le specifiche sono:

Sezione Campi

Questa sezione specifica i campi host e la loro relazione con i dati TSD Script. In sostanza, ogni riga della sezione campi collega la posizione di un campo dati host a un campo record TSD Script. In alternativa, se i dati da trasferire consistono in una singola variabile TSD Script, una riga nella sezione campo collega la posizione del campo dati host con quel nome variabile TSD Script. Ogni riga della sezione campi viene denominata voce di definizione.

Il formato della sezione campi per un file di definizione è:

*FIELDS
{field}[, ]{row}[, ]{{col}[, ]{{len} {{USERFORMAT
[, ]{[file:]routinename}|{SYSFORMAT[, ]{constant [constant
...]}}

E' necessario che ciascun segmento di una voce di definizione sia separato da spazi bianchi (uno o più spazi vuoti o separatori) o da una virgola. Ciascun segmento è descritto di seguito:

E' necessario che ciascun campo dati host venga convertito in o da un tipo TSD Script.

Formati di sistema

Per ciascun tipo di campo semplice TSD Script, alcuni formati di sistema vengono applicati ai tipi.

I formati di sistema possono essere combinati per elencare più di un formato di sistema per un campo. Se si ha una stringa che si desidera allineata a sinistra e con aggiunta di zeri quando la si carica, è possibile farlo scrivendo una parte di codice TSD Script o specificando LEFT_JUSTIFY ZERO_PAD come formato di sistema nel file di definizione. L'utilizzo del formato di sistema è più semplice e viene eseguito in modo più veloce rispetto a una routine di conversione TSD Script. A meno che non sia necessario scrivere una routine di conversione TSD Script speciale, è consigliabile utilizzare il formato di sistema.

L'applicazione di un formato di sistema dipende dal tipo semplice di TSD Script formattato. Sono elencati di seguito i tipi semplici di TSD Script, i formati di sistema applicabili e le descrizioni associate.

Tipo Descrizione
STRING
  • DEFAULT_FORMAT significa che la stringa è allineata a destra e con aggiunta di spazi vuoti.
  • LEFT_JUSTIFY significa che la stringa è allineata a sinistra e con aggiunta di spazi vuoti.
  • ZERO_PAD significa che alla stringa sono stati aggiunti zeri invece che spazi vuoti.
INTEGER
  • DEFAULT_FORMAT è il caso in cui il numero intero è prefissato con il segno solo se negativo, allineato a destra, con aggiunta di spazi vuoti e in base 10 (decimale).
  • LEFT_JUSTIFY significa che il numero intero è allineato a sinistra.
  • ZERO_PAD significa che il numero intero ha un'aggiunta di zeri.
  • PREPEND_SIGN significa che il numero intero è prefissato dal segno, non importa se positivo o negativo.
  • RADIX_16 significa che il numero intero è in base 16 (esadecimale).
  • GROUP_BY_3 significa che il numero intero è diviso in gruppi di tre cifre (migliaia) da una virgola, a meno che non venga specificato un altro separatore. Ad esempio, 1000000 sarà 1,000,000.
  • GROUP_SEPR_DOT significa che il separatore utilizzato con il formato GROUP_BY_3 è un punto.
  • GROUP_SEPR_SPACE significa che il separatore utilizzato con
  • GROUP_BY_3 specifica che il formato è uno spazio.
BOOLEAN
  • DEFAULT_FORMAT significa che il valore viene visualizzato come TRUE/FALSE, allineato a destra.
  • LEFT_JUSTIFY significa che il valore è allineato a sinistra.
  • YES_NO significa che il valore viene visualizzato come SI/NO.
  • 1_0 significa che il valore viene visualizzato come 1/0.
REAL
  • DEFAULT_FORMAT significa che il numero è allineato a destra, con aggiunta di spazi vuoti, non ha un raggruppamento, ha una posizione decimale indicata da un punto ed è prefissato da un segno solo se il numero è negativo.
  • LEFT_JUSTIFY significa che il numero è allineato a sinistra.
  • ZERO_PAD significa che il numero ha un'aggiunta di zero.
  • PREPEND_SIGN significa che il numero è prefissato con un segno, non importa se positivo o negativo.
  • DECIMAL_COMMA significa che la posizione decimale è indicata da una virgola.
  • GROUP_BY_3 significa che il numero è diviso in gruppi di tre cifre (migliaia) da una virgola, a meno che non venga specificato un altro separatore. Ad esempio, 1000000.00 sarà 1,000,000.00.
  • GROUP_SEPR_DOT significa che il separatore da utilizzare con il formato GROUP_BY_3 è un punto.
  • GROUP_SEPR_SPACE significa che il separatore utilizzato con il formato GROUP_BY_3 è uno spazio.
TIME
  • DEFAULT_FORMAT significa che il valore viene visualizzato allineato a destra, con aggiunta di spazi vuoti, di secondi, in formato 24-ore.
  • LEFT_JUSTIFY significa che il valore è allineato a sinistra.
  • ZERO_PAD significa che il valore ha un'aggiunta di zeri.
  • WITHOUT_SECONDS significa che il valore viene visualizzato solo con ore e minuti.
  • AM_PM significa che il valore viene visualizzato nel formato 12-ore seguito da A.M. o P.M..
DATE
  • DEFAULT_FORMAT significa che il valore viene visualizzato allineato a destra, con aggiunta di spazi vuoti, in formato U.S., ha come separatori delle barre, con l'anno completo (secolo compreso, ad esempio: 1999) e numero del mese.
  • LEFT_JUSTIFY significa che il valore è allineato a sinistra.
  • ZERO_PAD significa che il valore ha un'aggiunta di zeri.
  • EUROPEAN_FORMAT significa che il valore viene visualizzato come giorno/mese/anno.
  • YMD_FORMAT significa che il valore viene visualizzato come anno/mese/giorno.
  • DASH_SEPARATORS significa che i separatori sono trattini ("--").
  • NO_SEPARATORS significa che il valore viene visualizzato senza separatori.
  • TRUNCATE_CENTURY significa che l'anno contiene solo le ultime due cifre (presuppone 19 per il secolo).
  • NAMED_MONTHS significa che il valore viene visualizzato con il nome appropriato per il mese. Ad esempio, Gennaio 1, 1999.
  • SHORT_NAMES significa che i nomi dei mesi sono abbreviati. Ad esempio, Gen. 1, 1999.
  • ALL_CAPS significa che il nome del mese viene visualizzato scritto in maiuscole. Ad esempio, Gennaio 1, 1999 o GEN 1, 1999.

Funzioni di formato definito dall'utente

In alcune circostanze, è possibile scrivere funzioni di formato proprie nel TSD Script. Una funzione di formato definito dall'utente accetta dati di immissione, li converte nel nuovo formato e restituisce un valore Boolean che indica la riuscita dell'operazione. Il prototipo per le funzioni di formato definito dall'utente è:

FUNCTION {funcname}(VAL {source}:{sourcetype}, REF
                  {target}:{targettype}):BOOLEAN

Di seguito sono elencate spiegazioni sulle funzioni di formato definite dall'utente:

Funzione di formato definito dall'utente Descrizione
sourcetype
  • Scaricamento significa che il sourcetype deve sempre essere STRING.
  • Caricamento significa che il sourcetype deve corrispondere al tipo di variabile TSD Script o di campo record convertito.
targettype
  • Scaricamento significa che il targettype deve corrispondere al tipo di variabile TSD Script o di campo record convertito.
  • Caricamento significa che targettype deve sempre essere STRING.
returntype Il tipo di restituzione deve essere BOOLEAN. Se la funzione restituisce FALSE, TSD Script Interpreter presume che si è verificato un errore e restituisce EMUERR_FORMAT_FN_FAILURE (-7005) al chiamante. Se la funzione di conversione restituisce TRUE ma il valore di destinazione è impostato su $Unknown, TSD Script Interpreter presume la riuscita della conversione e compie l'operazione. Nel caso di uno scaricamento, la variabile TSD Script o il campo record riceve un valore $Unknown. Nel caricamento, TSD Script Interpreter salta il campo.

Poiché le regole per i tipi differiscono a seconda della direzione del flusso di dati, è necessario che una definizione comprenda funzioni dell'utente, sia dedicata al caricamento o allo scaricamento a meno che entrambi i tipi, origine e destinazione, non siano STRING.

Ad esempio, supporre di convertire un codice di severità TPM, che è numerico, in una scala alfabetica (ad esempio, 1 in A, 2 in B e così via). Inoltre, durante uno scaricamento, è possibile convertire dalla scala alfabetica di nuovo a quella numerica. Innanzitutto, viene scritta una funzione TSD Script per modificare la scala numerica in quella alfabetica (per il caricamento):

FUNCTION ToAlpha(VAL inSeverity:INTEGER, REF
                 outSeverity:STRING):BOOLEAN IS
    ACTIONS
outSeverity := Char(64 + inSeverity);
                Exit(TRUE);
END; -- ToAlpha

Successivamente, viene creata una routine per convertire di nuovo la scala alfabetica in quella numerica (per lo scaricamento):

FUNCTION ToNumeric(VAL inSeverity:STRING, REF
                  outSeverity:INTEGER):BOOLEAN IS
    ACTIONS
outSeverity := CharCode(StrUpper(inSeverity)) - 64;
END; -- ToNumeric

Presumere che queste funzioni siano memorizzate in un file denominato CONVERT. Nella definizione di severità del campo di definizione caricamento, la funzione ToAlpha viene specificata come segue:

SEVERITY 10 10 1 USERFORMAT CONVERT:TOALPHA

Nella definizione di severità del campo di definizione scaricamento, la funzione ToNumeric viene specificata come segue:

SEVERITY 10 10 1 USERFORMAT CONVERT:TONUMERIC

Operazione Programma di utilità di definizione EHLLAPI

Introduzione

Sebbene i file di definizione siano semplici, la creazione manuale di file di definizione per un'intera applicazione di interfaccia può richiedere del tempo.

La determinazione in modo corretto delle posizioni dello schermo host tramite il conteggio delle righe e delle colonne è soggetta all'errore, specialmente quando lo sviluppatore deve confrontarsi con più schermi, ognuno dei quali contiene più campi.

La maggior parte degli sviluppatori d'interfaccia preferisce lavorare sulla logistica dell'interfaccia.

La modifica del file di definizione in una data successiva (o da parte di qualcun altro) risulta difficile se l'utente dispone solo del file di testo da consultare.

Per risolvere questi problemi, i Sistemi Tivoli hanno creato il Programma di utilità di definizione EHLLAPI.

Cosa è il Programma di utilità di definizione?

Il Programma di utilità di definizione EHLLAPI fornisce un modo intuitivo per creare file di definizione utilizzati da EMUMapUpload e EMUMapDownload di TSD Script.

Il Programma di utilità di definizione EHLLAPI consente di catturare gli schermi host e memorizzarli come file di testo (file SCR). I file di definizione, basati sugli schermi catturati, vengono creati quando sono selezionati i campi per cui si desidera creare le voci del campo. Per selezionare le voci del campo, è possibile fare clic su esse e trascinarle nei campi.

Inoltre, il Programma di utilità di definizione EHLLAPI è utile per la gestione dell'interfaccia poiché il tool carica i file SCR (precedentemente catturati) e applica ogni file di definizione allo schermo. Con il Programma di utilità di definizione EHLLAPI, le voci del campo vengono create, visualizzate, modificate e cancellate in modo visivo e intuitivo.

Il Programma di utilità di definizione EHLLAPI è scritto interamente in TSD Script. Se si desidera apportare modifiche al codice TSD Script, i Sistemi Tivoli consigliano di effettuare una copia di riserva del codice originale (maputil.kb, mapentry.df) prima di iniziare.

Avvio

Per utilizzare il Programma di utilità di definizione EHLLAPI, è necessario avere installato TSD Developer's Toolkit sulla propria macchina. Per utilizzare l'opzione Cattura, è necessario installare anche EHLLAPI Extensions for TSD Developer's Toolkit.

Per avviare il tool:

  1. Andare alla directory dove è stato installato il Programma di utilità di definizione EHLLAPI (la directory contiene il file maputil.kb).
  2. Analizzare maputil.kb.
  3. Sulla riga comandi, immettere quanto segue:
    KML MAPUTIL
  4. Premere INVIO.
    Risultato: Viene visualizzata una finestra scorrevole Programma di utilità di definizione EHLLAPI-TSD Developer's Toolkit vuota.

Caratteri speciali

Quando si consultano schermi catturati dall'host, è possibile vedere caratteri non visibili nella finestra di terminale. Questi sono caratteri host nascosti che agiscono da delimitatori di campo. Il Programma di utilità di definizione EHLLAPI non elimina questi caratteri, perchè possono essere di ausilio nel determinare dove iniziano e finiscono i campi di dati.

Cattura di uno schermo host

La prima operazione con cui è necessario familiarizzare, è la cattura di uno schermo host. Questo è il primo passo necessario nell'impostazione di un'operazione di caricamento/scaricamento per un qualsiasi schermo host.

Quando si cattura uno schermo, esso viene:

I Sistemi Tivoli hanno adottato la convenzione di apporre l'estensione .SCR ai file di scermo catturato; tuttavia è possibile scegliere una qualsiasi estensione quando si denomina il file.

Per catturare uno schermo host:

  1. Utilizzare la sessione di emulazione di terminale per raggiungere lo schermo host che si desidera catturare.
  2. Dal menu File del Programma di utilità di definizione EHLLAPI, selezionare Cattura schermo host.
    Risultato: Viene richiesto un nome file.
  3. Immettere un nome file valido nella casella di immissione.
    Risultato: Viene richiesta la sessione di terminale (nome breve) da utilizzare.
  4. Selezionare OK.
    Risultato: Lo schermo viene catturato, salvato e visualizzato nella finestra TSD Developer's Toolkit-Programma di utilità di definizione EHLLAPI

Nota: Una volta catturato uno schermo, il comando del menu Cattura schermo host diventa inattivo.

Se si desidera catturare un altro schermo host:

La finestra Programma di utilità di definizione EHLLAPI è ridimensionabile. Se lo schermo host non è completamente visibile, è possibile ridimensionare la finestra fino a quando l'intero schermo non sarà visibile. Non è possibile creare voci di definizione per le aree al di fuori dello schermo host se la finestra è troppo ampia.

Nota: Vengono utilizzate sessioni di emulazione di terminale solo per catturare schermi. Tutte le altre operazioni del Programma di utilità di definizione EHLLAPI utilizzano solo TSD Developer's Toolkit. Ciò consente di catturare contemporaneamente un certo numero di schermi e crearne, in seguito, le definizioni, anche utilizzando una macchina che non ha CM.

Caricamento di un file di scermo

Se si desidera caricare un file di scermo precedentemente catturato:

Una volta caricato un file di scermo, Carica file di scermo diventa inattivo. Se si desidera caricare un altro schermo:

Creazione di voci di definizione

Una volta caricato un file di scermo, è possibile creare un file di definizione per quello schermo.

Per selezionare il campo per cui viene creata una voce di definizione:

  1. Posizionare il puntatore del mouse sul bordo sinistro della prima posizione del campo.
  2. Trascinare il puntatore alla fine del campo, quindi rilasciare il tasto del mouse.
    Risultato: L'area selezionata viene evidenziata nei colori di evidenziazione del sistema.

Se il puntatore viene trascinato troppo velocemente, è possibile che l'area evidenziata non includa il primo carattere del campo. Se si verifica ciò, ripetere i passi sopra elencati.

Per creare una voce per l'area evidenziata:

  1. Dal menu Definisci, selezionare Crea voce (o premere INSERISCI).
    Risultato: Viene visualizzata una casella di dialogo.
  2. Completare le informazioni nelle caselle di testo.
  3. Selezionare OK.
    Risultato: Il campo evidenziato diventa l'oggetto attivo. L'oggetto attivo viene presentato nel testo del titolo attivo di sistema e nello sfondo di testo del titolo attivo.

Modifica di voci di definizione

Per modificare una voce di definizione:

  1. Selezionare la voce di definizione facendo clic su essa.
    Risultato: La voce di definizione diventa l'oggetto attivo.
  2. Dal menu Definisci, selezionare Modifica voce.
    Risultato: Viene visualizzata una casella di dialogo che consente di modificare le impostazioni per la voce di definizione.
  3. Apportare le modifiche necessarie.
  4. Selezionare OK.

Nota: Fare doppio clic su un oggetto equivale a fare clic una volta su esso e a selezionare Modifica voce.

Cancellazione di voci di definizione

Per cancellare una voce di definizione:

  1. Selezionare la voce facendo clic su essa.
    Risultato: La voce diventa l'oggetto attivo.
  2. Premere CANCELLA.

Impostazione degli attributi di intestazione di definizione

Per impostare informazioni sull'intestazione per il file di definizione:

Salvataggio di un file di definizione

Per salvare un file di definizione non denominato (o se si desidera salvare il file con un nome diverso):

  1. Dal menu File, selezionare Salva definizione come.
    Risultato: Viene visualizzata una casella di dialogo Nome file.
  2. Nella casella di testo, immettere il nome file.
  3. Selezionare OK.

Se si desidera salvare una definizione già denominata:

Applicazione di un file di definizione

L'applicazione di un file di definizione a uno schermo consente a un utente di leggere il file di definizione specificato e di evidenziare le voci di definizione trovate nel file di definizione. Ciò è utile quando agli utenti occorre aggiungere o modificare un file di definizione.

Per applicare un file di definizione a uno schermo:

  1. Dal menu Definisci, selezionare Applica definizione.
    Risultato: Viene visualizzata una casella di dialogo che richiede il nome del file di definizione.
  2. Nella casella di testo, immettere il nome del file di definizione.
  3. Selezionare OK.

Una volta applicata la definizione, è possibile modificare, cancellare e aggiungere voci alla definizione.

Ripristino del Programma di utilità di definizione EHLLAPI

Quando si visualizza uno schermo o se si dispone di una definizione applicata a uno schermo, alcuni comandi del menu File non sono disponibili. Se è necessario catturare un nuovo schermo o caricare un file di scermo diverso, è necessario ripristinare la visualizzazione corrente.

Per ripristinare la visualizzazione corrente:

Impostazione dei font del Programma di utilità di definizione EHLLAPI

Per modificare il font utilizzato sulla finestra programma di utilità:

Nota: L'impostazione del font non viene salvata quando si chiude il Programma di utilità di definizione EHLLAPI.

Uscita dal Programma di utilità di definizione EHLLAPI

E' possibile uscire dall'esecuzione del Programma di utilità di definizione EHLLAPI utilizzando uno dei seguenti metodi:

  1. Dal menu File, selezionare Esci.
  2. Fare doppio clic sul menu sistema della finestra.
  3. Dal menu sistema della finestra, selezionare Chiudi.

Se si seleziona di uscire, ma non sono state salvate le ultime modifiche, viene visualizzato un messaggio che richiede se si desidera salvare il file.

Se si selezione Sì e il file non è stato denominato, viene visualizzata una casella di dialogo File che consente di denominare il file.

Esempio Programma di utilità di definizione EHLLAPI

Esempio schermo AS/400

Per questo esempio, viene visualizzato uno schermo AS/400 che mostra gli attributi di rete. Durante l'esempio, è possibile:

  1. Catturare lo schermo.
  2. Creare una definizione.
  3. Scrivere il segmento di codice necessario per eseguire uno scaricamento dallo schermo.

E' possibile trovare i file di esempio (denominati example.scr, example.kb e example.map) nella directory OS2ASE.

Lo schermo host appare come nel seguente esempio:

Visualizza il sistema degli attributi di rete:

Sistema:
S1028662
Nome sistema corrente . . . . . . . . .. . . : S1028662
Nome sistema in sospeso . . . . . . . . . . . .:
ID rete locale . . . . . . . . . . . . . : APPN
Nome CP locale . . . . . . . . . : S1028662
Ubicazione locale di default . . . . . . . . . . : S1028662
Modalità di default . . . . . . . . . . . . . . . : BLANK
Tipo di nodo APPN . . . . . . . . . . . . . . :*ENDNODE
Numero massimo di sessioni intermedie. . : 200
Route addition resistance . . . . . . . . .: 128
ID rete del server/nome punto controllo .. . .:

Altro...
Premere Invio per continuare.

F3=Esci F12=Annulla

Avvio del Programma di utilità di definizione EHLLAPI

Per utilizzare l'esempio del Programma di utilità di definizione EHLLAPI seguire queste istruzioni:

  1. Avviare il Programma di utilità di definizione EHLLAPI.
  2. Avviare una sessione di emulazione di terminale CM (denominata sessione "A").
  3. Collegarsi e immettere i comandi per visualizzare gli attributi della rete AS/400.

Creazione di una definizione col Programma di utilità di definizione EHLLAPI

Una volta completate le procedure nella sezione precedente, è possibile catturare uno schermo.

Viene selezionato example.scr come nome del file di scermo, sebbene un'interfaccia reale probabilmente utilizza un nome più descrittivo come dnetattr.scr. Utilizzando il nome del file di scermo come base, si crea una definizione denominata example.map.

Per rendere semplice ed efficace questo esempio:

Il seguente elenco espone in dettaglio le informazioni utilizzate per ciascuna voce di definizione:

Voce di definizione Descrizione
Nomesistemacorrente Lunghezza 8, il formato di sistema è DEFAULT_FORMAT, il tipo di TSD Script è STRING.
Nomesistemainsospeso Lunghezza 8, il formato di sistema è DEFAULT_FORMAT, il tipo di TSD Script è STRING.
IDretelocale Lunghezza 8, il formato di sistema è LEFT_JUSTIFY, il tipo di TSD Script è STRING.
NomeCPlocale Lunghezza 8, il formato di sistema è DEFAULT_FORMAT, il tipo di TSD Script è STRING.
Ubicazionelocaledflt Lunghezza 8, il formato di sistema è DEFAULT_FORMAT, il tipo di TSD Script è STRING.
Modalitàdflt Lunghezza 8, il formato di sistema è LEFT_JUSTIFY.
TiponodoAPPN Lunghezza 8, il formato di sistema è DEFAULT_FORMAT, il tipo di TSD Script è INTEGER.
NumMaxSessInterm Lunghezza 4, il formato di sistema è LEFT_JUSTIFY, il tipo di TSD Script è INTEGER.
routeAddRes Lunghezza 3, il formato di sistema è LEFT_JUSTIFY, il tipo di TSD Script è INTEGER.

Questi formati di sistema (diversi da DEFAULT_FORMAT) vengono utilizzati da operazioni di caricamento. Per operazioni di scaricamento, lo spazio bianco viene eliminato dai valori. Gli attributi di intestazione non sono impostati per questa definizione, vengono utilizzate le impostazioni di default.

Una volta create tutte le voci, salvare la definizione come EXAMPLE.MAP. Il Programma di utilità di definizione EHLLAPI crea un file che appare come nel seguente esempio. Questo esempio esegue un semplice scaricamento. Tuttavia, illustra le istruzioni di base per creare una definizione tramite il Programma di utilità di definizione EHLLAPI.

*REM Mapfile name is E:\EHLLAPI\MAPUTIL\example.map
*HEADER
CLEAR_FIRST = FALSE
MOVE_CURSOR = TRUE
*FIELDS
currentSystemName, 3, 55, 8, SYSFORMAT, DEFAULT_FORMAT
pendingSystemName, 4, 57, 8, SYSFORMAT, DEFAULT_FORMAT
localNetworkID,    5, 55, 8, SYSFORMAT, LEFT_JUSTIFY
localCPName,       6, 55, 8, SYSFORMAT, DEFAULT_FORMAT
dfltLocalLocation, 7, 55, 8, SYSFORMAT, DEFAULT_FORMAT
dfltMode,          8, 55, 8, SYSFORMAT, LEFT_JUSTIFY
APPNNodeType,      9, 55, 8, SYSFORMAT, DEFAULT_FORMAT
maxNbrIntSess,    10, 55, 4, SYSFORMAT, LEFT_JUSTIFY
routeAddRes,      11, 55, 3, SYSFORMAT, LEFT_JUSTIFY
The TSD Script code segment to use this map file would look like:
  TYPES
NetAttrRec IS RECORD
    currentSystemName                             :STRING;
    pendingSystemName                             :STRING;
    localNetworkID                                :STRING;
    localCPName                                   :STRING;
    dfltLocalLocation                             :STRING;
    dfltMode                                      :STRING;
    APPNNodeType                                  :STRING;
    maxNbrIntSess                                 :INTEGER;
    routeAddRes                                   :INTEGER;
    $myDnloadMap {'EXAMPLE.MAP'}:STRING;
      END;
ROUTIINES
FUNCTION GetNetAttributes(VAL conn:EMUCONNECTION,
REF netAttr:NetAttrRec):INTEGER IS
-- Assumes you are already at the right screen.
    VARIABLES
            rc :INTEGER;
    ACTIONS
            rc := EMUMapDownload(conn,
                                 netAttr.$myDnloadMap,netAttr);
            IF (rc < 1) THEN
            WinMessageBox($DESKTOP,'Error',$MBOK,
                          'Map dnload returns '& rc);
      END;
            Exit(rc);
END; -- GetNetAttributes

Creazione di una voce di definizione per gli ID di rete

In questa sezione, viene creata una voce di definizione per gli ID di rete del server. Esistono cinque campi che possono contenere un ID di rete del server.

Trascinando il puntatore dal primo carattere del primo campo all'ultimo carattere dell'ultimo campo, viene creata una voce denominata srvrNetworkID e considerata un campo a più righe dal Programma di utilità di definizione EHLLAPI. Viene creata una funzione di formato dell'utente, denominata ParseSrvrNames.

La funzione di formato appare come segue:

FUNCTION ParseSrvrNames(VAL inStr:STRING,
REF srvrNetworkID:LIST OF STRING):BOOLEAN IS
    VARIABLES
                temp            :STRING;
    ACTIONS
                temp         := StrTrim(StrLTrim(inStr)); -- get rid of                                                                                                                                                                                                 blank fields
    WHILE (Known(temp)) DO
                    ListInsert(srvrNetworkID, StrCopy(temp,1,8));
                    temp         := StrDelete(temp,1,80);
      END;
                Exit(TRUE);
END; -- ParseSrvrNames

Dichiarare srvrNetworkID come un elenco di stringhe nel record:

NetAttrRec IS RECORD
    currentSystemName                             :STRING;
    pendingSystemName                             :STRING;
    localNetworkID                                :STRING;
    localCPName                                   :STRING;
    dfltLocalLocation                             :STRING;
    dfltMode                                      :STRING;
    APPNNodeType                                  :STRING;
    maxNbrIntSess                                 :INTEGER;
    routeAddRes                                   :INTEGER;
    srvrNetworkID                                 :LIST OF STRING;
    $myDnloadMap {'EXAMPLE.MAP'}:STRING;
      END;

Quando la funzione di scaricamento è in esecuzione, l'elenco viene aggiornato con i valori corretti. E' possibile che questo metodo risulti più flessibile rispetto al richiamare ripetutamente EMUFillBuffer o alla creazione di campi fittizi nel record TSD Script per scaricare tutti i campi in una definizione e inserire i valori uno alla volta nell'elenco.


Manuale Tivoli Service Desk 6.0 Developer's Toolkit Legacy API

Ritorna all'Indice analitico

Copyright