|
SQL : récupérer le nom d'un PF |
|
Si vous créez une table SQL, vous n'êtes plus obligé de vous limiter à 10 caractères mais le système maintient le lien pour pouvoir utiliser un pf sous 10 caractères.
Voici un petit exemple qui permet de retrouver le nom PF à partir du nom de table en utilisant l'API QDBRTVSN
PGM PARM(&PFLONG &LIB &PFCOURT) /*-----------------------------------*/
/* */
/* RETROUVER LE NOM DU PF EN AYANT LE NOM DE LA TABLE SQL */
/* */
/* */
/*-------------------------------------------------------------------*/
DCL VAR(&PFLONG) TYPE(*CHAR) LEN(138) +
VALUE(TABLES_DES_CLIENTS)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10) VALUE(RECUP)
DCL VAR(&PFCOURT) TYPE(*CHAR) LEN(10)
DCL VAR(&RETOUR) TYPE(*CHAR) LEN(20)
DCL VAR(&NOMLEN) TYPE(*INT) LEN(4 )
DCL VAR(&ERREUR) TYPE(*CHAR) LEN(28)
DCL VAR(&I) TYPE(*DEC) LEN(3) VALUE(1)
/* CALCUL DE LA TAILLE DU NOM LONG */
BOUCLE:
IF COND(%SST(&PFLONG &I 1) = ' ') THEN(DO)
CHGVAR &NOMLEN (&I -1)
ENDDO
ELSE DO
CHGVAR &I (&I +1)
GOTO BOUCLE
ENDDO
/* APPEL DE L'API */
CALL PGM(QDBRTVSN) PARM(&RETOUR &PFLONG &NOMLEN &LIB +
&ERREUR)
IF COND(%SST(&ERREUR 9 7) = ' ') THEN(DO)
CHGVAR &PFCOURT (%SST(&RETOUR 1 10))
ENDDO
ELSE DO
CHGVAR &PFCOURT ('*ERROR')
ENDDO
ENDPGM
|