Plex 2E

  • 1.  CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 08, 2013 10:32 AM
    Hello all
    I'm just wondering why I can't find any description of the triple FldDdlNme inside Plex help.
    Is anyone familiar with it? Any explanation would be appreciated.
    Axel


  • 2.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 08, 2013 11:26 AM
    Hi Axel,

    I asked CA support about this triple awhile ago. They said it isn't used for anything currently. We are using it to specify longer implementation names for fields that are used in web services. Hope that helps.

    Dean Eshleman,
    Everence Financial


  • 3.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 08, 2013 11:39 AM
    Dean
    thanks for answering. I suspect, that you will get in trouble if CA will use this triple some day.
    I'm looking for a place to store the DDS fieldname (DDSVNM in Synon modelfile YFLDDTARFP), so that we can modify the generated CREATE TABLE-Source with a column renaming, using the DDS fieldname in combination with a longer SQL fieldname, we used while generating our SQL tables on the iSeries (with JAVA JDBC server)

    This will allow us to have access with older Synon RPG programs and with JDBC from Plex generated JAVA programs.

    Thanks,
    Axel

    Update: It would be the best, if CA describes this triple, so that U can be sure how to use it. Otherwise, if U use the triple your work could get damaged, if CA comes arround the corner and uses this triple with a newer version of Plex.


  • 4.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 08, 2013 11:58 AM
    Hi Axel and Dean,

    This is Jill Hitz from CA Support and as Dean said, he did raise an issue about this. As a result of his issue, the following Enhancement Request was submitted:

    Currently the Plex generators do not use the FLD DDL override NME triple to
    generate a name for fields. Client has written his own meta-code to queury
    his model for this triple, so does not want this triple to ever be removed
    even if this Enhancement Request is denied. Client would like this triple to
    be used by the generators to generate a DDL name for fields.

    So, although I don't know the status of this request, I do know that we will not remove this triple from the product or use it for anything else other than what is in this request.

    Also, this may be a good thing to put on the Ideas wall?

    Thank you,
    Jill Hitz


  • 5.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 08, 2013 12:00 PM
    thanks for answering. I suspect, that you will get in trouble if CA will use this triple some day.
    That was why I asked CA Support about the triple. The values we are putting there currently are fine if CA does start to use the triple. Currently, we target DB2/400 so it isn't much of an issue.
    I'm looking for a place to store the DDS fieldname (DDSVNM in Synon modelfile YFLDDTARFP), so that we can modify the generated CREATE TABLE-Source with a column renaming, using the DDS fieldname in combination with a longer SQL fieldname, we used while generating our SQL tables on the iSeries (with JAVA JDBC server)
    So, 2E can generate DDL for your tables instead of DDS? I wish Plex would do that. I'm working on a similar problem here. I want to assign long names to our fields in addition to our existing 10 char impl names. That way, JDBC/ODBC interfaces can use the long name. This is mainly for query tools such as MS Access. I have figured out that assigning a long name to a field does not change the format identifier for a file. So, you can recreate the file with the long names and not have to recompile any of your existing RPG programs.

    We were discussing what to use for the long name, and decided to use the Plex field name replacing blanks with "_". I was trying to figure out how to automate this for the developers. Since Plex doesn't generate the DDL, I discovered a command that will generate the DDL for me from an existing file object. I then want to read the DDL and modify it to assign the long name to each field. At first, I was trying to figure out how to export the Plex field names into a file. I then discovered that there is a system view called SYSCOLUMNS that contains all of the field and table definitions on your system. I can use it to retrieve the text for a column, replace the blanks with an "_" and update the DDL source with it. Sorry for the long winded response.

    Dean Eshleman,
    Everence Financial


  • 6.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 08, 2013 12:14 PM
    Dean,

    Interesting to read you are doing this. I presented a topic at the last 2E/Plex User conference on doing this for 2E. In 2E you can't keep RLA and generate DDL for the tables/view, so I automate the process in the post-compile phase, and keep RLA in 2E. My presentation is available in the download section, and covers the QSQGNDDL API as well as updating the generated DDL to add For Column naming for long fields, and I also replace the space with _ and remove characters that are not SQL compatible.

    While at the conference I chatted with Niels from Websydian. I think he also has something for doing this in Plex, very similar to what I did, and what it sounds like you have in place.

    I too wish that both Plex and 2E would do this, yet allow me to choose what access method I use for accessing the data (RLA vs. SQL). Sometimes SQL is the faster method, sometimes RLA is, and I want to make that decision :smile

    I have been replacing the DDS generated by 2E with DDL (for PF's and LF's) for 3 years now. Works just fine, have had no issues with level checks or anything like that...

    Crispin.


  • 7.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)
    Best Answer

    Posted Feb 08, 2013 08:56 PM
    So, 2E can generate DDL for your tables instead of DDS? I wish Plex would do that. I'm working on a similar problem here. I want to assign long names to our fields in addition to our existing 10 char impl names. That way, JDBC/ODBC interfaces can use the long name. This is mainly for query tools such as MS Access. I have figured out that assigning a long name to a field does not change the format identifier for a file. So, you can recreate the file with the long names and not have to recompile any of your existing RPG programs.
    Dean, Crispin,
    this is exactly what we do while modernizing Synon built applications and DDS described databases on iSeries machines. To avoid most of the stupid and boring work that has to be done, if you want to put your Synon datamodel to Plex, we developed (and still do) our own tool, to do this work for us. We exactly follow what you described above, but we have an automated process, that triggers the generation of the tables and after this modifies the table source file, putting all the neccessary column renaming into it.
    So we actually can use Synon-views and the existing RPG programs and on the other side use our new JAVA classes with JDBC access. Nothing has to be re-generated or recompiled. And as an additional benefit, the system uses the new SQL engine (since r6.1) which is much faster, because we created the tables DDL-described.
    Because we put all the triples defining the data model into Plex using the Plex API-model, using Synon model files or the information in a Database schema, we found it neccessary to always know the original objectnames and the Synon implnames (ddsvnm) and so store it all in the Plex model. This is, to also be able, finding the way back to the original object for changes.

    I would like CA to build some new triples for defining more informations on DDL defined database tables, so that the power of the iSeries SQL engine can be used much better.

    Thanks for sharing your thoughts.
    Axel


  • 8.  RE: CA Plex 6.1 Help for "FLD DDL override NME" (FldDdlNme)

    Posted Feb 11, 2013 10:25 AM
    You can find my presentation here 2B - Generating DDL from a DDS CA 2E Model with No Changes.pdf

    Crispin.