4 pièce(s) jointe(s)
Prepared Statement, tOracleRow et "Char"
Bonjour à tous,
Je suis confronté à un problème avec un instruction préparée dans un tOracleRow.
A force d'essais j'ai cerné le problème, mais je n'ai pas la réponse par contre :)
En gros, ma requête:
"select count(*) as myTopRupture FROM f_Out_Of_Stocks F WHERE
F.id_supplier=?
and F.SID_DEPARTMENT=?
and F.ID_activity=?
and F.id_day=to_date(?, 'DD/MM/YYYY')
and F.ID_ORD_NUM=?
and F.ID_STORE=?
and F.ID_DATASUBTYPE=?
and F.ID_FLOW=? "
mes paramètres :
Pièce jointe 297412
J'ai un tLogRow en sortie de mon tParseRecordSet et les valeurs sont correctes, par contre la sortie de mon resultSet (derniere colonne) est à 0 :
Pièce jointe 297417
Si je modifie tout le nécéssaire et que je met le "ID_DATASUBTYPE" en dur :
"select count(*) as myTopRupture FROM f_Out_Of_Stocks F WHERE
F.id_supplier=?
and F.SID_DEPARTMENT=?
and F.ID_activity=?
and F.id_day=to_date(?, 'DD/MM/YYYY')
and F.ID_ORD_NUM=?
and F.ID_STORE=?
and F.ID_DATASUBTYPE='R'
and F.ID_FLOW=? "
Là, j'ai du résultat cohérent :
Pièce jointe 297422
Donc, c'est clairement le "R" de mon ID_DATASUBTYPE qui déconne. Mais comme vous pouvez voir dans les captures du tlogrow, c'est bien un "R", sans espace ni rien autour.
Je l'extrais d'un fichier positionnel, en type "String".
Le job actuellement :
Pièce jointe 297426
J'ai également tenté de mettre "R" en dur dans les paramètres de l'instruction préparée (en lieu et place de flux_nettoye.P_ID_DATASUBTYPE) sans succès...
Est-ce que quelqu'un aurait une idée?
Merci d'avance de votre aide!