Esempio di cicli basati su tabelle
Questa sezione descrive brevemente una mappa usando i functoid del ciclo tabella e dell'estrattore di tabelle . Per informazioni dettagliate sulla selezione, l'inserimento, il collegamento e la configurazione dei functoid, vedere How to Add Table Looping and Table Extractor Functoids to a una Mappa.
Si supponga di disporre di un elenco di indirizzi che è necessario usare in un documento che richiede indirizzi di spedizione e di fatturazione separati. Nel codice seguente viene illustrato il formato degli indirizzi.
<ns0:Root xmlns:ns0="http://TableLoopingSample.Addresses">
<Address>
<Name>Kelly Focht</Name>
<Street>456 1st Ave</Street>
<City>Miami</City>
<State>FL</State>
<PostalCode>81406</PostalCode>
</Address>
<Address>
<Name>Wendy Wheeler</Name>
<Street>7890 Broadway</Street>
<City>Columbus</City>
<State>OH</State>
<PostalCode>46290</PostalCode>
</Address>
</ns0:Root>
L'output potrebbe essere nel formato illustrato nel codice seguente, in cui gli indirizzi vengono duplicati ma contrassegnati con attributi.
<ns0:Root xmlns:ns0="http://TableLoopingSample.POAddresses">
<Address Type="ShipTo">
<Name>Kelly Focht</Name>
<Street>456 1st Ave</Street>
<City>Miami</City>
<State>FL</State>
<PostalCode>81406</PostalCode>
</Address>
<Address Type="BillTo">
<Name>Kelly Focht</Name>
<Street>456 1st Ave</Street>
<City>Miami</City><State>FL</State>
<PostalCode>81406</PostalCode>
</Address>
<Address Type="ShipTo">
<Name>Wendy Wheeler</Name>
<Street>7890 Broadway</Street>
<City>Columbus</City>
<State>OH</State>
<PostalCode>46290</PostalCode>
</Address>
<Address Type="BillTo">
<Name>Wendy Wheeler</Name>
<Street>7890 Broadway</Street>
<City>Columbus</City>
<State>OH</State>
<PostalCode>46290</PostalCode>
</Address>
</ns0:Root>
The following figure shows a map using the
Estrattore tabellaciclofunctoid and
tabellafunctoids to generate the desired output instance message.
Functoid Ciclo tabelle ed Estrazione da tabella
Si noti che il functoid ciclo tabella collega l'elemento a livello di record negli schemi di input e di output. Il collegamento garantisce la creazione della struttura di inclusione e, pertanto, la creazione degli elementi all'interno del record. Si noti anche che è presente un functoid dell'estrattore di tabella per ogni campo nello schema di output.
Il collegamento al record nello schema di input è il primo parametro nella finestra di dialogo Configura <functoid Functoid>.
Il secondo parametro è il numero di colonne nella tabella griglia del functoid: una colonna per il tipo di indirizzo, il nome, la strada, la città, lo stato e il codice postale. Dopo il secondo parametro, nella tabella della griglia potrebbe essere visualizzato un elenco di tutti i valori. Questi valori includono costanti stringa per il tipo di indirizzo ("ShipTo", "BillTo") e collegamenti ai campi dell'indirizzo. Ai collegamenti ai campi dell'indirizzo sono associati nomi. L'assegnazione di nomi ai collegamenti nella mappa consente di semplificare la creazione della tabella. In caso contrario, i percorsi completi vengono visualizzati nella finestra di dialogo Configura functoid ciclo tabella .
Dopo aver configurato il functoid Ciclo tabella , è possibile costruire la tabella usando la finestra di dialogo Configura functoid ciclo tabella . La finestra di dialogo viene visualizzata quando si fa clic sul pulsante con i puntini di sospensione (...) associato alla proprietà Griglia ciclo tabella nella finestra Proprietà .
Si noti che nella finestra di dialogo Configura functoid ciclo tabella sono presenti sei colonne: una colonna per ogni campo nello schema di output. L'elenco a discesa mostra i valori possibili per un campo, anche come specificato dal terzo e i parametri seguenti nella finestra di dialogo Configura functoid ciclo tabella . La tabella contiene due righe, una per ciascun tipo di record nello schema di output. Poiché sono presenti due righe, questa mappa produce due record per ogni record di input. Se fossero presenti quattro righe, verrebbero prodotti quattro record di output per ciascun record di input.
Poiché il functoid Ciclo tabella accetta ogni record, riempie la tabella con i valori del record e quindi invia una riga alla volta ai functoid dell'estrattore di tabella . Il functoid dell'estrattore di tabella estrae ogni valore dalla riga della tabella e lo passa al campo collegato nel messaggio dell'istanza di output.
Vedere anche
Functoid Ciclo tabelle
Functoid Estrazione da tabella
Configurazione di cicli basati su tabelle
Come aggiungere functoid Ciclo tabelle ed Estrazione da tabella a una mappa
Functoid avanzati
Functoid Indice
Functoid Iterazione
Functoid Ciclo
Functoid Conteggio record