If you take a look at the pcml.dtd (in your jt400.jar) you'll see that
it does not support date, time nor timestamp data types.
What should be a bug?
Regards
Mihael Schmidt
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Vern Hamberg
Sent: Wednesday, August 05, 2009 12:24 PM
To: RPG programming on the IBM i / System i
Subject: Re: Global variable search
Hi David
Happy middle of the day to you!
I just created a test program with a date variable in a PLIST - it
compiled fine at V5R3 and at V5R4. The code is this
d datefld s d
C parm1 plist
C parm datefld
C
C time datefld
C call 'DATEPGM' parm1
C move *on *inlr
PCML generated looks like this
<pcml version="4.0">
<!-- RPG program: TSTDATEPGM -->
<!-- created: 2009-08-05-04.56.22 -->
<!-- source: VHCURLIB/QRPGLESRC(TSTDATEPGM) -->
<program name="TSTDATEPGM"
path="/QSYS.LIB/VHCURLIB.LIB/TSTDATEPGM.PGM">
</program>
</pcml>
Maybe you are talking about an *ENTRY PLIST, so I tried that.
d datefld s d
C *entry plist
C parm datefld
C
C dsply datefld
C move *on *inlr
compiled fine at V5R3 with PGMINFO(*NO). So I tried it with
PGMINFO(*PCML) - this failed, same as yours. XML looks like this
<pcml version="4.0">
<!-- RPG program: DATEPGM -->
<!-- created: 2009-08-05-05.04.17 -->
<!-- source: VHCURLIB/QRPGLESRC(DATEPGM) -->
<program name="DATEPGM" path="/QSYS.LIB/VHCURLIB.LIB/DATEPGM.PGM">
<data name="DATEFLD" type=" " length="10" usage="inputoutput" />
<!-- Error: unsupported data type (E) -->
</program>
</pcml>
I see that the data type is blank.
I then made a prototyped version of the above, as here
h dftactgrp(*no)
d datepgm pr
D dateprm d
d datepgm pi
D dateprm d
/free
dsply dateprm;
*inlr = *on;
/end-free
That resulted in the same problem at V5R3 -
<pcml version="4.0">
<!-- RPG program: DATEPGM -->
<!-- created: 2009-08-05-05.13.12 -->
<!-- source: VHCURLIB/QRPGLESRC(DATEPGM) -->
<!-- 2 -->
<program name="DATEPGM" path="/QSYS.LIB/VHCURLIB.LIB/DATEPGM.PGM">
<data name="DATEPRM" type=" " length="10" usage="inputoutput" />
<!-- Error: unsupported data type (E) -->
</program>
</pcml>
So I suspect that this is a bug - you should report it to IBM. Had the
same result at V5R4.
Regards
Vern
David FOXWELL wrote:
Hi Mark,
You just made me cry. About 3 years ago I wrote an application that
"waded through" the source code. We used it to produce our own XML
documents. A web application uses this to replace written program
documentation which was too often neglected and usually duplicated in
the source.
But my first attempt with the PGMINFO(*PCML) parameter didn't quite
work. Despite a pretty XML document being produced, I get an error
*RNF0319 ( error generating information ) and the object is not created.
It seems I can't put a date field in a parameter list :
<data name="ANEDTDL" type="" length="10" usage="inputoutput" />
- <!-- Erreur : type de donn{es non admis (E) -->
Any idea why?
-----Message d'origine-----
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] De la part de Mark S.
Waterbury
I think you guys are all working too hard ... why not let the
compiler do the work for you?
Since at least V5R2, the ILE RPG IV compiler command has the
optional parameter PGMINFO(*PCML), which generates a PCML XML
file in the IFS, that you specify with the INFOSTMF parameter.
This should be a lot easier to read and parse, to find the
"interface"
information -- the main procedure and its parameters, type,
length, decimal places, etc., versus trying to "wade through"
all of the RPG IV source code ... :-o
As an Amazon Associate we earn from qualifying purchases.