Dans cette section : Comment : |
La concaténation universelle permet de récupérer des données à partir de différentes sources de données dans une seule requête ; toutes les données, quelles que soient leurs sources, semblent provenir d'un seul fichier. La phrase MORE peut concaténer tous types de sources de données (tel que FOCUS, DB2, IMS, et VSAM), à condition qu'elles partagent des champs correspondants au même format. Vous pouvez utiliser les tests de sélection WHERE et IF conjointement avec MORe. Pour plus d'informations, consultez Sélection d'enregistrements pour votre rapport.
Pour utiliser MORE, vous devez diviser la requête en :
Lors de la récupération, des données sont prises de chaque source de données individuellement, puis toutes les données sont triées et la sortie est formatée comme le spécifie la requête principale.
La phrase MORE, qui est accessible dans les commandes TABLE et MATCH, spécifie la façon de concaténer des données des sources de données avec des fichiers Master dissemblables.
{TABLE|MATCH} FILE file1main request MORE FILE file2 subrequest MORE FILE file3 subrequest MORE . . . {END|RUN}
où :
Commence la requête qui concatène les sources de données.
Est le nom de la première source de données.
Est une requête, sans END ou RUN, qui récupère la première source de données et définit les champs de données, les critères de tri et le format de sortie pour toutes les données. Les critères WHERE et IF dans la requête principale ne s'appliquent qu'à file1.
Lorsque vous concaténez des fichiers dans la commande TABLE, vous pouvez aussi définir des valeurs calculées pour la première source de données.
Commence une sous requête. Il n'y a pas de limite au nombre de sous requêtes, à part le mémoire disponible.
définit file2 comme la deuxième source de données à concaténer.
Est une sous requête. Les sous requêtes ne peuvent comprendre que des phrases WHERE et IF.
Termine la requête.
Les sources de données EMPLOYEE et EXPERSON comprennent des informations d'employé. Vous pouvez concaténer leurs données communes dans un seul fichier :
La requête annotée suivante concatène les deux sources de données :
DEFINE FILE EXPERSON 1. EMP_ID/A9 = SSN; CURR_SAL/D12.2 = WAGE; END 2. TABLE FILE EMPLOYEE PRINT CURR_SAL BY EMP_ID 3. MORE FILE EXPERSON END
Tous les champs référencés dans la requête principale doivent exister avec les mêmes noms et formats dans tous les fichiers concaténés, ou ils doivent être re-mappés vers ces noms et formats au moyen de champs virtuels. Parmi les champs référencés sont ceux utilisé dans les commandes COMPUTE, les en-têtes, les phrases d'agrégation, les phrases de tri, et les commandes PRINT, LIST, SUM, COUNT, WRITE ou ADD.
Un format réussi implique que :
Type de format d'utilisation (USAGE) |
Correspondance |
---|---|
A |
Le type et la longueur de format doivent être égaux. |
I, F, D |
Le type de format doit être le même. |
P |
Le type de format et l'échelle doivent être égaux. |
DATE (nouvelle) |
Les informations de format (type, longueur, composants et ordre) doivent toujours se correspondre. |
DATE (ancienne) |
Les options d'édition doivent être les mêmes. |
DATE - HEURE |
Les informations de format (type, longueur, composants et ordre) doivent toujours se correspondre. |
Les champs de texte et les champs CLOB (s'ils sont supportés) ne peuvent pas être concaténés.
L'exemple annoté suivant concatène des données des sources de données EMPDATA et SALHIST.
DEFINE FILE EMPDATA 1. NEWID/A11=EDIT (ID,'999-99-9999'); END DEFINE FILE SALHIST 2. NEWID/A11=EDIT (ID,'999-99-9999'); CSAL/D12.2M=OLDSALARY; END 3. TABLE FILE EMPDATA HEADING "EMPLOYEE SALARIES" " " PRINT CSAL BY NEWID 4. WHERE CSAL GT 65000 5. MORE FILE SALHIST 6. WHERE OLDSALARY GT 65000 END
La sortie est :
EMPLOYEE SALARIES | |
NEWID | SALARY |
000-00-0030 | $70,000.00 |
$70,000.00 | |
000-00-0070 | $83,000.00 |
$83,000.00 | |
$79,100.00 | |
000-00-0200 | $115,000.00 |
$115,000.00 | |
$102,500.00 | |
$89,500.00 | |
000-00-0230 | $80,500.00 |
$80,500.00 | |
$75,000.00 | |
$70,800.00 | |
000-00-0300 | $79,000.00 |
$79,000.00 | |
$75,000.00 | |
$70,000.00 |
Lorsque vous concaténez des données, les ensembles d'enregistrements sont tout simplement annexés, et non pas regroupés ou agrégés à travers les fichiers. Par conséquent, s'il existe des critères de tri doubles, ils s'affichent deux fois dans la sortie de rapport.
WebFOCUS |