Bonjour,
J'ai modifié un script initialement prévu pour DB2 pour tourner sur SQL server 2005 et qui genere un fichier .csv.

Voici le code modifié :
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
17
18
19
 
 SET NOCOUNT ON;
 SELECT 
 I.ITEMUTXTYP,
        C.CURRISO,
        SUM(I.AMOUNT * CAST(REPLACE(REPLACE(REPLACE(REPLACE(I.ITEMSIGN,'RC',-1),'RD',1),'C',1),'D',-1) AS SMALLINT)) AS AMOUNT,
        (SELECT SUBSTRING(SYSTIME,1,8) FROM MVTIME) AS RUNDATE,
        (SELECT SYSTIME FROM MVTIME) AS RUNTIME
 FROM ITEMS I, CURCD C, VDEPTM D
 WHERE I.CURIDE = C.CURIDE
   AND I.ITEMSAVAIL = 'A'
 AND I.ITEMSTAT != 'M'
   AND I.ITEMUTXTYP LIKE 'N___'
   AND I.ITEMDAVAIL <=  & strDate
   AND (I.CODEID IS NULL OR I.CODEID = D.VDEPID)
   AND D.MODXONKEY != 'NOT'
 GROUP BY I.ITEMUTXTYP,
          C.CURRISO
 HAVING SUM(I.AMOUNT * CAST(REPLACE(REPLACE(REPLACE(REPLACE(I.ITEMSIGN,'RC',-1),'RD',1),'C',1),'D',-1) AS SMALLINT)) != 0;
Exemple de resultat à obtenir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
NINV;EUR;-000000000000000000000000850.0000;20071128;20071128143611900000
Exemple d'un resultat obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
NTEL;EUR;                               -188.5100;20120313;20120313154735060000
Question 1 : Comment puis je faire pour inserer des leading zero entre le signe et le montant afin que tout s'affiche toujours avec un total de 32 caracteres ?
Question 2 : A votre avis, est ce que ce script retournera un signe "+" lorsque le montant est positif ? (pour l'instant je n'ai que des signes "-" dans mes resultats, mais peut etre est ce du aux montants de la DB... que je n'ai pas encore vérifié.)
Merci par avance pour votre aide.