Merci j'avais perdu la syntaxe le fichier src et créer maintenant je vais mettre en place le membre pour mon sql
faut-il le compiler sous PDM ou non?
Merci j'avais perdu la syntaxe le fichier src et créer maintenant je vais mettre en place le membre pour mon sql
faut-il le compiler sous PDM ou non?
J'ai écrit ma requête dans mon membre à partir du fichier QCLSRC sous PDM pour faire le test je l'exécute en ligne de commande par RUNSQLSTM mais j'ai un message d'erreur
Le membre:
La commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Columns . . . : 1 100 Edit MABIB/QCLSRC SEU==> SQLUSERACT FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0 *************** Beginning of data *************************************************************************************** 0001.00 SELECT * FROM MABIB/LISTEUSERS 090923 ****************** End of data ******************************************************************************************
Le message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part RUNSQLSTM SRCFILE(MABIB/QCLSRC) SRCMBR(SQLUSERACT) NAMING(*SYS)
Ci-joint la description de mon membre sous PDM es-ce bon?
Code : Sélectionner tout - Visualiser dans une fenêtre à part RUNSQLSTM command failed.
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
20
21
22
23 Work with Members Using PDM ASP EAST File . . . . . . QCLSRC Library . . . . MABIB Position to . . . . . Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename 8=Display description 9=Save 13=Change text 14=Compile 15=Create module... Opt Member Type Text SQLUSERACT TXT Bottom Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F6=Create F9=Retrieve F10=Command entry F23=More options F24=More keys
Tu ne peux pas utiliser directement des SELECT (ou alors en sous requetes derrière un CREATE TABLE ou INSERT INTO)
alors comment le d'écrire en sous requête pour que je puisse faire mon test
Ben j'ai écrit ça mais c'est pas mieux il doit y avoir une erreur dans l'écriture de mon membre
Je me pose une question par exemple sur ma ligne INSERT celle-ci ne tient pas sur une seule ligne donc j'ai mis le symbole + pour prendre en compte la ligne suivante comme une suite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Columns . . . : 1 100 Edit MABIB/QCLSRC SEU==> SQLUSERACT FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0 *************** Beginning of data *************************************************************************************** 0001.00 DROP TABLE MABIB/LISTEUSERS RESTRICT 090923 0002.00 CREATE TABLE MABIB/LISTEUSERS (USERJOB CHAR (13 ) NOT NULL WITH DEFAULT, + 090923 0003.00 "USER" NUMERIC (8 ) NOT NULL WITH DEFAULT) 090923 0004.00 INSERT INTO MABIB/LISTEUSERS SELECT substr(LSTUSRTEMP,4,9) as USERJOB, + 090923 0005.00 substr(LSTUSRTEMP,29,6 ) as USERACTIF FROM MABIB/LSTUSRSACT 090923 ****************** End of data ******************************************************************************************
es-ce la bonne syntaxe?????
Tu viens de le dire toi même !
Un select en sous-requête est permis :
Create table as (Select.....) with data
Insert ..... (Select.....)
Mais pas Select uniquement dans le source.
Car un Select... tout seul est utilisé pour l'affichage par exemple.Or dans le runsqlstm il s'agit de manipuler les données Insert/Update/create/alter etc... mais pas de tenter d'afficher quoi que ce soit
Ben j'ai mis les points virgules mais c'est pas mieux j'ai tjrs le message d'erreur
J'ai regardé dans la log mais ça ne me dit trop rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Columns . . . : 1 100 Browse MABIB/QCLSRC SEU==> SQLUSERACT FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0 *************** Beginning of data *************************************************************************************** 0001.00 DROP TABLE MABIB/LISTEUSERS RESTRICT; 090923 0002.00 CREATE TABLE MABIB/LISTEUSERS (USERJOB CHAR (13 ) NOT NULL WITH DEFAULT, + 090923 0003.00 "USER" NUMERIC (8 ) NOT NULL WITH DEFAULT); 090923 0004.00 INSERT INTO MABIB/LISTEUSERS SELECT substr(LSTUSRTEMP,4,9) as USERJOB, + 090923 0005.00 substr(LSTUSRTEMP,29,6 ) as USERACTIF FROM MABIB/LSTUSRSACT; 090923 ****************** End of data ******************************************************************************************
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 > RUNSQLSTM SRCFILE(MABIB/QCLSRC) SRCMBR(SQLUSERACT) RUNSQLSTM command failed. Function check. SQL9010 unmonitored by WSMAIN at statement 0000092800, instruction X'0000'. >> dspjoblog
RUNSQLSTM SRCFILE(MABIB/QCLSRC) SRCMBR(SQLUSERACT) COMMIT(*NONE) ERRLVL(30)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 > RUNSQLSTM SRCFILE(MABIB/QCLSRC) SRCMBR(SQLUSERACT) RUNSQLSTM command failed. Function check. SQL9010 unmonitored by WSMAIN at statement 0000092800, instruction X'0000'. >> dspjoblog
Ici on ne plante pas avec des erreurs de niveau 30, car dans ton script tu essayes de supprimer une table qui n'existe pas.
Regarde les spools pour plus dinfos
Merci
mais je n'ai que ça comme trace et je vois pas ou il me parle d'une table qui n'existe pas?
Je n'ai pas d'autre spool a ma connaissance
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 Additional Message Information Message ID . . . . . . : CPF9999 Severity . . . . . . . : 40 Message type . . . . . : Escape Date sent . . . . . . : 23/09/09 Time sent . . . . . . : 16:43:05 Message . . . . : Function check. SQL9010 unmonitored by WSMAIN at statement 0000092800, instruction X'0000'. Cause . . . . . : An escape exception message was sent to a program which did not monitor for that message. The full name of the program to which the unmonitored message was sent is WSMAIN WSMAIN WSMAIN. At the time the message was sent the program was stopped at higher level language statement number(s) 0000092800. If more than one statement number is shown, the program was a bound program. Optimization does not allow a single statement number to be determined. If *N is shown as a value, it means the actual value was not available. Recovery . . . : See the low level messages previously listed to locate the cause of the function check. Correct any errors, and then try the request again.
Tu dois avoir un spool qui porte le nom de ton SQL , contenant les resultats de ton RUNSQLSTM.
dspjoblog c'est pour voir l'historique de ton travail.
Fais un Wrksplf plutôt.
Et enlève les + car c'est le ; qui détermine la fin d'une instruction
OHOHOH les amisssssss j'ai bien un spool mais il y a x spool au nom de mon sql comment déterminer le dernier du premier es-ce un ordre chronologique ?
OK dac c'est mieux sans les ;;;;;;;
Par contre j'ai un autre pb au niveau du résultat de ma colonne les chiffres ont une virgule BEN ça alors je ne comprends pas je ne l'avais pas auparavant
La def du create table est:
Le résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE TABLE MABIB/LISTEUSERS (USERJOB CHAR (13 ) NOT NULL WITH DEFAULT, "USER" NUMERIC (8 ) NOT NULL WITH DEFAULT);
Je devrais avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 USERJOB USER xxxxRTPTA 522,373 xxxxRTPTB 522,374
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 USERJOB USER xxxxRTPTA 522373 xxxxRTPTB 522374
Ton separateur de milliers doit être la virgule (à l'anglaise)
Fait F13 dans ta session SQL et regarde les options.
Dans le RUNSQLSTM + F4 + F10 , de mémoire on peut aussi choisir les options !!!
Pour les Spolls , fait F11 dans le wrksplf et tu verras la date et l'heure de création...
J'ai fait F13 dans ma séquence SQL mais je n'ai que ça comme param
Je peux agir sur quoi???
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
20
21
22
23
24
25
26
27 Change Session Defaults Type choices, press Enter. Amount to roll . . . . . . . . . . . H H=Half, F=Full C=Cursor, D=Data 1-999 Uppercase input only . . . . . . . . N Y=Yes, N=No Tabs on . . . . . . . . . . . . . . N Y=Yes, N=No Increment of insert record . . . . . 0.01 0.01-999.99 Full screen mode . . . . . . . . . . N Y=Yes, N=No Screen size . . . . . . . . . . . . 1 1=27x132, 2=24x80 Source type . . . . . . . . . . . . TXT Syntax checking: When added/modified . . . . . . . Y Y=Yes, N=No From sequence number . . . . . . . 0000.00-9999.99 To sequence number . . . . . . . . 0000.00-9999.99 Set records to date . . . . . . . . / / YY/MM/DD or YYMMDD Resequence member default . . . . . P Y=Yes, N=No P=Previous Default to uppercase input for this source type . . . . . . . N Y=Yes, N=No User exit program . . . . . . . . . *REGFAC *REGFAC, *NONE, Name Program selection filter . . . . . *ALL *ALL, *USRPRF, String
Mon ami, tu ne devrais pas te précipiter et bien lire les réponses que l'on t'envoie.
On te disais de faire F13 dans ta session SQL (strsql) et non dans PDM.
A bon entendeur
OK désolé mais je veux bien changer un param de ma session sql mais ça va changer quoi le but par la suite et de lancer le runsqlstm à travers un pgm et non pas sur ma session
Il ne faut pas plutôt modifier ou ajouter un param dans ma requête???
Je suis désolé mais je n'arrive pas à faire le rapprochement de ma session et mon futur pgm BOUAHHHHHH
tu vois un séparateur de millier car tu interroges ta table avec STRSQL.
Car ton champ est numérique et il veut te le présenter sous une forme propre, c'est à dire avec un séprateur de millier.
Dans ta table, le champ est normal.
Fais un
dsppfm MABIB/LISTEUSERS
tu verras bien
ou un
upddta MABIB/LISTEUSERS
C'est donc dans STRSQL uniquement qu'il te transforme le champ numérique et le présente avec le séparateur de millier pour faire joli.
Bonjour à tous,
Merci K2R400 j'ai regardé avec la commande DSPPFM et je consate que la virgule n'est pas dans le fichier c'est vraiment trompeur qd on ne connait pas
par contre je peux agir sur quel param de STRSQL pour ne plus avoir la virgule je suis perdu dans cet anglais la galère pourquoi ce y a pas du bon français j'ai la rage
mes param STRSQL:
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
20
21
22
23
24
25
26
27 Change Session Defaults Type choices, press Enter. Amount to roll . . . . . . . . . . . H H=Half, F=Full C=Cursor, D=Data 1-999 Uppercase input only . . . . . . . . N Y=Yes, N=No Tabs on . . . . . . . . . . . . . . N Y=Yes, N=No Increment of insert record . . . . . 0.01 0.01-999.99 Full screen mode . . . . . . . . . . N Y=Yes, N=No Screen size . . . . . . . . . . . . 1 1=27x132, 2=24x80 Source type . . . . . . . . . . . . TXT Syntax checking: When added/modified . . . . . . . Y Y=Yes, N=No From sequence number . . . . . . . 0000.00-9999.99 To sequence number . . . . . . . . 0000.00-9999.99 Set records to date . . . . . . . . / / YY/MM/DD or YYMMDD Resequence member default . . . . . P Y=Yes, N=No P=Previous Default to uppercase input for this source type . . . . . . . N Y=Yes, N=No User exit program . . . . . . . . . *REGFAC *REGFAC, *NONE, Name Program selection filter . . . . . *ALL *ALL, *USRPRF, String
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager