Bonsoir, j'ai trouvé une solution mais il y a peut être plus simple :
dcl-proc TESTSQLBOO;
dcl-s trouve ind; //trouve est un indicateur
//article 87 existe
EXEC SQL
VALUES
CASE
WHEN (SELECT '*'
FROM STKART0
WHERE NOARTF = 87
LIMIT 1) IS NULL THEN '0'
ELSE '1'
END INTO :TROUVE;
dsply ('Art 87 : ' + trouve);
// arcicle 87999 n'existe pas
EXEC SQL
VALUES
CASE
WHEN (SELECT '*'
FROM STKART0
WHERE NOARTF = 87999
LIMIT 1) IS NULL THEN '0'
ELSE '1'
END INTO :TROUVE;
dsply ('Art 87999 : ' + trouve);
return;
end-proc;
donne :
3 > call TESTSQLBOO
DSPLY Art 87 : 1
DSPLY Art 87999 : 0
dcl-proc TESTSQLBOO;
dcl-s trouve ind; //trouve est un indicateur
//article 87 existe
EXEC SQL
VALUES
CASE
WHEN (SELECT '*'
FROM STKART0
WHERE NOARTF = 87
LIMIT 1) IS NULL THEN '0'
ELSE '1'
END INTO :TROUVE;
dsply ('Art 87 : ' + trouve);
// arcicle 87999 n'existe pas
EXEC SQL
VALUES
CASE
WHEN (SELECT '*'
FROM STKART0
WHERE NOARTF = 87999
LIMIT 1) IS NULL THEN '0'
ELSE '1'
END INTO :TROUVE;
dsply ('Art 87999 : ' + trouve);
return;
end-proc;
donne :
3 > call TESTSQLBOO
DSPLY Art 87 : 1
DSPLY Art 87999 : 0