Les valeurs de types de données que vous sélectionnez dans l'assistant d'interaction Web ou l'assistant d'appel de programme sont des valeurs PCML (Program Call Markup Language). PCML normalise la spécification des valeurs et des types, quel que soit le langage ILE ou OPM utilisé. Par exemple, la définition d'un nombre entier est I en RPG et int en C++. Dans PCML, vous indiquez un nombre entier sous la forme int quel que soit le langage utilisé. L'assistant d'interaction Web écrit le code PCML utilisé pour interagir avec vos objets ILE et OPM.
Dans l'assistant d'interaction Web ou l'assistant d'appel de programme, vous devez entrer les valeurs de types de données PCML correspondant aux types de données de votre langage. Les tableaux ci-dessous indiquent les types de données de langage et les valeurs PCML correspondantes. Par exemple, pour affecter à l'un des paramètres de votre programme RPG un nombre entier de 5 chiffres, entrez dans les assistants le type de données int, la longueur 2 et la précision 15.
N'oubliez pas que la signification de la longueur et de la précision dépend du type de données utilisées. Ainsi, pour un entier, l'attribut longueur fait référence au nombre d'octets nécessaires pour contenir une valeur, tandis que pour un condensé, il fait référence au nombre de chiffres qui composent le nombre. De même, pour un entier, précision fait référence au nombre d'octets requis pour le nombre (ce qui permet à PCML de déterminer s'il s'agit d'une valeur signée ou non signée). Pour un condensé, précision fait référence au nombre de positions décimales requises.
Lorsque vous spécifiez les attributs de type de données dans des composants Web IBM® i, vous pouvez choisir Numérique ou Caractère comme type de données. Pour les données de type numérique, longueur fait référence au nombre de chiffres, et décimal, au nombre de positions décimales requises. Par exemple, un nombre tel que 12345,67 aura 7 pour longueur et 2 pour décimale. Pour les données de type caractère, longueur fait référence au nombre de caractères. Dans les composants Web i, les variables flottantes sont des données de type Caractère de longeur 14 ou 23, correspondant respectivement à la précision simple et double.
Cliquez sur les liens ci-dessous pour afficher les tables associées aux types de données RPG, C/C++ et COBOL, avec des valeurs PCML.
| Description du type de données | Définition RPG | Données de type base de données | Valeurs PCML dans l'assistant d'interaction Web et dans l'assistant d'appel de programme | Valeurs PCML dans les composants Web i (attributs Zone de saisie et Libellé) |
|---|---|---|---|---|
| Caractère (longueur fixe) | A | A | caractère |
Caractère |
| Caractère (longueur variable) | A (variant) | VARLEN | Pris en charge par l'assistant d'appel de programme. |
Non pris en charge |
| Indicateur | N | A |
caractère |
Caractère |
Binaire 2 octets (1-4) |
B | B | Non pris en charge | Non pris en charge |
| Variable flottante 4 octets (simple précision) | F | F | variable flottante |
Caractère |
| Variable flottante 8 octets (double précision) | F | Pour utilisation 8 octets |
variable flottante |
Caractère |
| Entier 1 octet = 3 chiffres | I (0 décimale) | Aucune | Non pris en charge | Non pris en charge |
| Entier 2 octets = 5 chiffres | I (0 décimale) | Aucune | entier |
Numérique |
| Entier 4 octets = 10 chiffres | I (0 décimale) | Aucune | entier |
Numérique |
| Nombre entier 8 octets = 20 chiffres | I (0 décimale) | Aucune | entier |
Numérique |
Décimale condensée |
P | P | décimal condensé |
Numérique |
Décimal étendu |
S | S | décimal étendu |
Numérique |
| Non signé 2 octets = 5 chiffres | U |
Aucune | entier |
Numérique |
| Non signé 4 octets = 10 chiffres | U |
Aucune | entier |
Numérique |
| 8 octets non signé = 20 chiffres | U |
Aucune | Non pris en charge | Non pris en charge |
| Date | D | L | Non pris en charge | Non pris en charge |
| Heure | T | T | Non pris en charge | Non pris en charge |
| Horodatage | Z | Z | Non pris en charge | Non pris en charge |
| Graphique (format fixe) | G | G | caractère |
Non pris en charge |
| Graphique (format variable) | G |
G |
Non pris en charge | Non pris en charge |
| Pointeur | * | Aucune | Non pris en charge | Non pris en charge |
| Pointeur de procédure | * |
Aucune | Non pris en charge | Non pris en charge |
| Structure de données contenant des sous-zones | DS | Aucune | structure | Non pris en charge |
| Données de type C++ | Données de type PCML | Définition de structure | Longueur | Précision | Nombre |
|---|---|---|---|---|---|
char[n] |
char |
- | n |
- | - |
| char | char | - | 1 | - | - |
| wchar_t[n] | char | - | n | - | - |
_Packed struct |
struct | <struct> |
- | - | - |
| entier court | ent | - | 2 | 15 | - |
| entier court non signé | ent | - | 2 | 16 | - |
| ent | ent | - | 4 | 31 | - |
| entier non signé | ent | - | 4 | 32 | - |
| entier long | ent | - | 4 | 31 | - |
| entier long non signé | ent | - | 4 | 32 | - |
| long long | ent | - | 8 | 63 | - |
| struct {entier non signé : n}x | Non pris en charge | - | - | - | - |
| variable flottante | variable flottante | - | 4 | - | - |
| double | variable flottante | - | 8 | - | - |
| long double | variable flottante | - | 8 | - | - |
| énumération | Non pris en charge | - | - | - | - |
| _Décimal T<n,p> | décimale condensée | - | n | p | - |
| union.element | Non pris en charge | - | - | - | - |
| dataType[n] | type | - | - | - | n |
| structure de classe | struct | - | - | - | - |
| pointeur de fonction | Non pris en charge | - | - | - | - |
| pointeur | Non pris en charge | - | - | - | - |
| Données de type COBOL | Format COBOL | Données de type PCML | Longueur | Précision | Nombre |
|---|---|---|---|---|---|
| Caractère | X(n) | Caractère | n | - | - |
| A(n) | Caractère | n | - | - | |
| X(n) OCCURS DEPENDING ON m | structure | - | - | m | |
| A(n) OCCURS DEPENDING ON m | structure | - | - | m | |
| Numérique | 9(n) DISPLAY | décimal étendu | n | 0 | - |
| S9(n-p) V9(p) DISPLAY | décimal étendu | n | p | - | |
9(n-p) V9(p) |
décimal condensé | n | p | - | |
S9(n-p) V9(p) |
décimal condensé | n | p | - | |
9(4) BINARY Voir remarques 1, 2 |
entier | 2 | 16 | - | |
S9(4) BINARY Voir remarques 1, 2 |
entier | 2 | 15 | - | |
9(9) BINARY Voir remarques 1, 2 |
entier | 4 | 32 | - | |
S9(9) BINARY Voir remarques 1, 2 |
entier | 4 | 31 | - | |
9(18) BINARY Voir remarques 1, 2 |
entier | 8 | 63 | - | |
S9(18) BINARY Voir remarques 1, 2 |
Non pris en charge | - | - | - | |
| 9(31) BINARY | Non pris en charge | - | - | - | |
| S9(31) BINARY | Non pris en charge | - | - | - | |
| USAGE COMP-1 | variable flottante | 4 | - | - | |
| USAGE COMP-2 | variable flottante | 8 | - | - | |
| UCS2 | N(n) Voir remarque 4 |
UCS-2/graphique | n | - | - |
N(n) OCCURS DEPENDING ON m Voir remarque 4 |
structure | - | - | m | |
| Graphique | G(n) | UCS-2/graphique | n | - | - |
| G(n) OCCURS DEPENDING ON m | structure | - | - | m | |
| Index | USAGE INDEX | entier | 4 | 31 | - |
| Booléen | 1 | Non pris en charge | - | - | - |
| Date | FORMAT DATE | Non pris en charge | - | - | - |
| Heure | FORMAT TIME | Non pris en charge | - | - | - |
| Horodatage | FORMAT TIMESTAMP | Non pris en charge | - | - | - |
| Pointeur | POINTEUR UTILISATION | Non pris en charge | - | - | - |
| Pointeur de procédure | POINTEUR DE PROCEDURE | Non pris en charge | - | - | - |