Bonjour,
Je voudrais dans un free RPG exécuter une requête SQL sur un fichier se trouvant dans 2 bibliothèques (bibliothèque de production et bibliothèque de sauvegarde).
Je veux intervenir sur le fichier se trouvant dans la bibliothèque de sauvegarde (derrière la bibliothèque de production dans *LIBL).
Je récupère le nom de mes bibliothèques dans une Data Area.
J'ai essayé via cette méthode mais ça ne fonctionne pas (la requête s'exécute sur le fichier se trouvant dans la bibliothèque de production) :
dcl-ds *n dtaara(*auto);
Liste_Bib char(1024);
end-ds;
dcl-s Bib_Prod char(10);
dcl-s Bib_SAVDTA char(10);
Bib_Prod = %subst(Liste_Bib:350:10);
Bib_SAVDTA = %subst(Liste_Bib:370:10);
exec sql
set current schema = :Bib_SAVDTA;
exec sql
set path = :Bib_SAVDTA, current path;
EXEC SQL
delete
from COMMANDE
where timestampdiff(256,
cast(current_timestamp -
cast(date(case when BCALIV < 75 then '20' else '19' end
|| digits(BCALIV) || '-' || digits(BCMLIV) || '-' || digits(BCJLIV)
) as timestamp) as char(22)) ) > 5;
Ma demande est-elle réalisable ?
Merci d'avance
Variabiliser le sch�ma � l'ex�cution de requ�te SQL
Construire la requ�te
Bonjour,
Peut-être une piste
Ci-joint un exemple avec update ait dans un pgm
File1 = %trim(E_Bib)+ '/' + %trim(wTABLE_NAME);
Requete = *blanks;
Requete = 'update ' +
%trim(File3) +
' set LAST = '' '' where LAST = ''O'' and NUMFAC = '
+ %trim(E_NumFAC);
exec sql
execute immediate :requete;
Cordialement
Peut-être une piste
Ci-joint un exemple avec update ait dans un pgm
File1 = %trim(E_Bib)+ '/' + %trim(wTABLE_NAME);
Requete = *blanks;
Requete = 'update ' +
%trim(File3) +
' set LAST = '' '' where LAST = ''O'' and NUMFAC = '
+ %trim(E_NumFAC);
exec sql
execute immediate :requete;
Cordialement