Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1920 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL Server - Cobol] Donnée DATETIME2

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL Server - Cobol] Donnée DATETIME2

n°2313787
Kilyn
Milé sek milé
Posté le 10-04-2018 à 18:44:40  profilanswer
 

Bonjour,
 
Je code en cobol un programme qui accède à une base de données sous SQL Server. Dans une table, j’ai la donnée DATE_ENREG de type DATETIME2(3) qui a le format d’un timestamp que je dois alimenter avec la date et l’heure de passage du programme. J’ai constitué ce timestamp en cobol ainsi que la requête SQL mais à l’exécution DATE_ENREG ne contient que la date mais pas l’heure. Que dois-je donc coder ?
Je précise que je ne peux pas utiliser CURRENT_TIMESTAMP car mon programme enregistre plusieurs lignes et doit alimenter la date et heure d’exécution du programme. J’admets que cette demande peut paraître étrange.
 
Merci à vous.


Message édité par Kilyn le 10-04-2018 à 18:48:53

---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
mood
Publicité
Posté le 10-04-2018 à 18:44:40  profilanswer
 

n°2313790
BrisChri
Since 1956
Posté le 10-04-2018 à 18:48:57  profilanswer
 

que mets-tu dans DATE_ENREG ?
(instruction)


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313793
Kilyn
Milé sek milé
Posté le 10-04-2018 à 19:03:54  profilanswer
 

Je déclare en cobol une donnée DATE-ENREG en PIC X(23). Par exemple cet après-midi j’ai fait un test donc DATE-ENREG = « 2018-04-10 15:55:14.036 ».


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313794
Kilyn
Milé sek milé
Posté le 10-04-2018 à 19:10:25  profilanswer
 

J’ai cette zone de travail :

01 W-TIMESTAMP.
    05 ANNEE-TMSP            PIC 9(04).
    05 SEP1-TMSP              PIC X(01).
    05 MOIS-TMSP              PIC 9(02).
    05 SEP2-TMSP              PIC X(01).
    05 JOUR-TMSP              PIC 9(02).
    05 SEP3-TMSP              PIC X(01).
    05 HEURE-TMSP           PIC 9(02).
    05 SEP4-TMSP              PIC X(01).
    05 MINUTE-TMSP         PIC 9(02).
    05 SEP5-TMSP              PIC X(01).
    05 SECONDE-TMSP     PIC 9(02).
    05 SEP6-TMSP             PIC X(01).
    05 CENTIEME-TMSP    PIC 9(03).


C’est bien au bon format de la donnee de la table. J’alimente chaque zone avec les données de la fonction cobol CURRENT-DATE.


Message édité par Kilyn le 10-04-2018 à 19:11:18

---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313795
BrisChri
Since 1956
Posté le 10-04-2018 à 19:32:00  profilanswer
 

autant remplir DATE_ENREG en une fois
http://www.fluffycat.com/COBOL/Current-Date/


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313797
Kilyn
Milé sek milé
Posté le 10-04-2018 à 19:50:44  profilanswer
 

Oui pourquoi pas. Mais le problème c’est SQL Server pas cobol. :/


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313798
BrisChri
Since 1956
Posté le 10-04-2018 à 19:55:36  profilanswer
 

vérifie que ce ne soit pas cobol en DISPLAY DATE_ENREG upon console (ouais, je sais, il doit y avoir mieux maintenant) et W-TIMESTAMP.


Message édité par BrisChri le 10-04-2018 à 20:53:13

---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313800
BrisChri
Since 1956
Posté le 10-04-2018 à 20:51:18  profilanswer
 

si tu prends current date depuis sql, il pourrait n'y avoir que la date, pas le reste, si  c'est le cas, il faudra charger ta date avec cobol (move function current_date to xxx) ; tu n'as que les centièmes de secondes, pic 99, pas 999.
http://www.xdocs400.com/spip.php?article135


Message édité par BrisChri le 10-04-2018 à 20:53:48

---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313819
Kilyn
Milé sek milé
Posté le 11-04-2018 à 08:16:39  profilanswer
 

C’est une date que je détermine en cobol. Je n’ai pas le choix. Enfin je vais voir tes liens en arrivant au taf. C’est chiant ce problème. :/
Il n’y a pas un truc à faire avec CAST ou CONVERT ?


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313822
BrisChri
Since 1956
Posté le 11-04-2018 à 08:45:02  profilanswer
 

Quelle instruction utilises-tu ?


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
mood
Publicité
Posté le 11-04-2018 à 08:45:02  profilanswer
 

n°2313830
Kilyn
Milé sek milé
Posté le 11-04-2018 à 10:44:31  profilanswer
 

CONVERT(DATETIME2(3),:DATE-ENREG,121)
Quand je mets une valeur en dure ça fonctionne. Comment dois-je déclarer DATE-ENREG ?


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313840
BrisChri
Since 1956
Posté le 11-04-2018 à 14:10:03  profilanswer
 

000340 01  W01-CURRENT-DATE.
000370     05  W01-CC   PIC XX.
000370     05  W01-YY   PIC XX.
000380     05  W01-MM   PIC XX.  
000390     05  W01-DD   PIC XX.
000400     05  W01-HH   PIC XX.
000410     05  W01-MM   PIC XX.  
000410     05  W01-SS   PIC XX.  
000420     05  W01-SSHH PIC XX.  
000430     05  W01-GMTO PIC X(5).  
000435*****(NOTE:  W01-GMTO IS GREENWICH MEAN TIME OFFSET INFORMATION)

ou PIC 99 à la place des XX
CC = century, l'année est bien en 4 caractères


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313852
Kilyn
Milé sek milé
Posté le 11-04-2018 à 16:38:09  profilanswer
 

Ça ne fonctionne pas. Tu as déjà fait ce genre de trucs ?


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313855
BrisChri
Since 1956
Posté le 11-04-2018 à 17:53:44  profilanswer
 

Non, je n'ai pas déjà fait ça
 
Quelles est la suite d'instructions que tu utilises ?
Quand et comment est chargé ton champs date ?
Il doit y avoir une floche par-là puisque ça fonctionne si tu mets une date en dur


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313914
Kilyn
Milé sek milé
Posté le 12-04-2018 à 15:47:59  profilanswer
 

Je fais des milliers de recherche sur Internet depuis 3 jours. Là je suis tombée sur ça mais j’ai du mal avec l’anglais : http://comp.lang.cobol.narkive.com [...] -acu-cobol
Comment dois-je coder la variable hôte ?


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313946
BrisChri
Since 1956
Posté le 12-04-2018 à 19:17:49  profilanswer
 

05 VARIABLE USAGE COMP-2.

 

https://www.ibm.com/support/knowled [...] 405158.htm


Message édité par BrisChri le 12-04-2018 à 19:18:18

---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313952
Kilyn
Milé sek milé
Posté le 12-04-2018 à 20:53:23  profilanswer
 

Comment je l’alimente ?


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313954
BrisChri
Since 1956
Posté le 12-04-2018 à 21:01:19  profilanswer
 

quelques détails là : http://www.sqlines.com/sql-server/ [...] atetime2_3


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2313961
Kilyn
Milé sek milé
Posté le 13-04-2018 à 10:02:17  profilanswer
 

Ça ne fonctionne pas ça. Finalement j’ai fais appel à quelqu’un qui va peut-être voir avec Bull. Ça doit être un vrai bug.


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2313969
BrisChri
Since 1956
Posté le 13-04-2018 à 14:03:49  profilanswer
 

Je pense, mais je me trompe peut-être, que, bien que tu doives charger la date en cobol ou en sql, tu mélanges les deux langages.
D'où la demande : "comment fais-tu ?"
 
Cobol : move function current_date to VariableDate
Sql : DECLARE @VariableDate DATETIME2(3) = GETDATE()
Les deux VariableDate ayant des descriptions différentes, elles ne peuvent être utilisées de la même manière ensuite.


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2314018
Kilyn
Milé sek milé
Posté le 14-04-2018 à 20:14:45  profilanswer
 

Oui des descriptions différentes ou plutôt des formats différents. Le problème est résolu en mettant la date au format français avec des slash : JJ/MM/SSAA hh:mn:ss.ccc. Va comprendre. [:tinostar]
Merci quand même pour ton aide. :jap:


---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.
n°2314020
BrisChri
Since 1956
Posté le 14-04-2018 à 20:54:46  profilanswer
 

(y)


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
n°2314022
BrisChri
Since 1956
Posté le 14-04-2018 à 21:02:55  profilanswer
 

si tu travailles avec IBM (peut-être d'autres aussi) :

ENVIRONMENT DIVISION
    CONFIGURATION SECTION
        SPECIAL NAMES
            ici, tu mets tes trucs


Citation :

  • Specifies the default formats for a date or time data type.

https://www.ibm.com/support/knowled [...] b/spec.htm


---------------
Si une frite n'a pas de mayo, alors elle ne pourra pas aller à la piscine
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL Server - Cobol] Donnée DATETIME2

 

Sujets relatifs
[Résolu]Execution de VBS depuis un hta sur windows server 2012Boucle en SQL
injection donnée xls à partir d'une colone précise ?Gestionnaire de contenu moderne [PHP, SQL] Forum de discussion
Vérification dans base de donnéePHPUnit verifier le type de donnée dans un tableau
Vérifier si variable existe dans la base de donnéeEnregistrement dans la base de donnée
Noob: Oracle SQL probleme conversion datebase de donnée enorme sur pc classique
Plus de sujets relatifs à : [SQL Server - Cobol] Donnée DATETIME2


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR