Bonjour,
Je suis actuellement en train de travailler sur un programme CobolSQL sous AS/400, qui prend des données d'un fichiers et les place dans un autre fichier (jusque la tout va bien)
La ou tout se complique est lorsqu'en plus des données (normales) il m'a fallu insérer dans le fichier "résultat" une clef unique : un code pays suivi d'un numéro incrémenté au fur et a mesure.
J'ai découvert alors l'utilisation des séquences, qui répond à mon attente.
sous STRSQL, j'arrive à créer ma séquence, l'utiliser, etc.
Mais dans le SQLCBL, ma requête de création de séquence sort en erreur et fait planter mon programme :
Si je copie la string ainsi définie telle quelle dans STRSQL la séquence se crée, mais pas dans le programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 MOVE SPACE TO W-REQUETE-SQL STRING "CREATE SEQUENCE SEQSWIFT " "AS INTEGER " " START WITH " WW-COMPTAGE-debut (cette donnée est à 01) " INCREMENT BY 1 " "NO MINVALUE " "MAXVALUE 999999 " "NO CYCLE " "CACHE 50 " "ORDER " DELIMITED BY SIZE INTO W-REQUETE-SQL. EXEC SQL EXECUTE IMMEDIATE :W-REQUETE-SQL END-EXEC.
J'ai cherché sur le net le code erreur (-7017 si je ne me suis pas trompé) et l'explication ne m'est pas très utile...
Est ce que quelqu'un a déjà utilisé cette fonction dans un programme?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Explanation: Commitment control is already active to a DDM target.
Merci d'avance,
P.S.
Je ne sais pas exactement ou placer ce post, parce qu'il pourrait se promener entre DB2, AS400... Prière de le déplacer en cas de besoin.
Partager