OpenEdge 11.6 - Generate ABL Doc Feature - Forum - OpenEdge Development - Progress Community

OpenEdge 11.6 - Generate ABL Doc Feature

 Forum

OpenEdge 11.6 - Generate ABL Doc Feature

  • Hi All,

    I am working on OpenEdge 11.6 - Generate ABL Doc Feature. I am trying this feature to generate the standard layout for our team to follow the coding standards mainly for comments section but I don't know exactly where to place the comments so that those can be reflected on the generated layout correctly.

    Is there any help available on this new feature of OE11.6 ?

     


  • Hi,

    You can find the complete documentation on ABLDoc generation from the following link:

    documentation.progress.com/.../index.html

    Following is the sample code to generate the comments for method parameters. Unfortunately this is not working for constructor parameters. Will get you back on this whether it is a bug or limitation.

    CLASS testClass2:

       /*------------------------------------------------------------------------------

        Purpose:

        Notes:

            @param p1 - character value  input parameter

            @param p2 - integer value input parameter

       ------------------------------------------------------------------------------*/

       METHOD PUBLIC VOID meth1(

           p1 AS CHARACTER,

           p2 AS INTEGER  ):      

           RETURN.

       END METHOD.

    END CLASS.

    Thanks,

    Rama

  • Hi,

    ABLDoc supports only the predefined tags. It won't support '@Purpose:' tag. It support 'Purpose:' tag. ‘@param’ tag has to be used if we want to generate the documentation for method parameters.

    Please have a look at the following code and the respective ABLDoc output generated.

    My class file:

    Generated ABLDoc Output for testClass2:

    Thanks & Regards,

    Rama

  • Yes, finally its working for class methods. I am looking the same for class constructor as well.

  • Any update on class constructor ? Also can we use the same for .p program ?

  • Hi,

    I tried generating doc with constructor and this looks like a bug, we will validate and will log a bug for this.

    and for procedure you have to do it this way:

    PROCEDURE pr :
    /*------------------------------------------------------------------------------
     Purpose:
     Notes:
         @param a this is a
    ------------------------------------------------------------------------------*/
    DEFINE INPUT PARAMETER a as INTEGER.
    END PROCEDURE.

  • I found few more interesting things here

    1. File tag is not working for both class file and procedure program at the top section

    2. Along with the File tag, Purpose, Description, Notes etc these tags also not working at the top section for the procedure file but working for class file.

    Are these also OE bugs ?

  • Hello Atul,
     
    By default, File name information will be available in the generated ABLDoc as title of that particular file. Regarding other tags, I am able to see file level Purpose and Description information in documentation generated. Here is my procedure code with comments and respective documentation.
     
    In case, if you would like to have file information available in documentation, you will be able to customize the template as per your needs. Template files will be available at <DLC>\oeide\eclipse\plug-ins\com.progress.openedge.pdt.abldoc.core_<version>\abldoc-artifacts\templates. To display file name in ABL documentation, add following highlighted line in procedure_template.vm file and restart PDS OE.
     
          <!--Procedure Name -->
                   <div class="title_name">$unitName $unitType</div>
                   <div class="paragraph">
                   <span class="detail_field_title" width="50px">File</span>:
                     #getDisplayString($model "File")<br>
                   <span class="detail_field_title" width="50px">Purpose</span>:
                     #getDisplayString($model "Purpose")<br>
     
    Here is the documentation generated after changing template file:
     
    Hope this helps,
    DivyaTheja
  • Thanks for your update but if u check ur 1st screenshot where Syntax tag missing. that is because you have not added any value for it in the code ?

  • Strange behavior for few files -

    when I am creating a new class file from OpenEdge studio, it is designing defaualt header structure as below where I am putting my comments and those r reflecting as well on the ABLDoc template. No issue

    /*------------------------------------------------------------------------

       File              : Batch

       Purpose     : 123

       Syntax         :

       Description : 456

       Author(s)   : H035002

       Created     : Tue Feb 09 15:52:05 CET 2016

       Notes       : 7890

     ----------------------------------------------------------------------*/

    But there are few files available in the source where the same header with comments are available but those are not reflecting in the ABL template page, showing blank values against each attribute.  Its also working for METHODS but not for header part of the class. Don't know whether those class files have been designed in OE studio or by normal editor.

    Pls help.

  • Hi

    I have generated ABLDoc template for full source code folder and below is the output. If you see there are 2 packages created in left side for a single sub folder. The only difference I am getting is the folder names in lower and upper case.

    Any idea on this ?

  • May be that the Java code doing the generation is not case-sensitive?
     
    In general, I would recommend you be consistent with type names (and the file names containing OOABL types) since you don't always know in advance when it will matter. This is one (minor) case but if your code is deployed to non-Windows platforms you will run into more serious problems (like file-not-found etc).
     
  • thanks buddy i will check the code for consistent  names. Also as i said in my earlier post that for some old files its not working means header part is not reflecting in the output but reflecting for methods. Do u have any idea on that ?

  • I don't see any other reason why i shouldn't be generating the doc if you are following the same comment format for older files.

    Is this the comment format in the old files?

    /*------------------------------------------------------------------------

      File              : Batch

      Purpose     : 123

      Syntax         :

      Description : 456

      Author(s)   : H035002

      Created     : Tue Feb 09 15:52:05 CET 2016

      Notes       : 7890

    ----------------------------------------------------------------------*/

    If so it should work, i tried using the above comment in a procedure and it worked fine.

  • Old files are designed in 10.2B and now I am generating ABLDoc for them from 11.6.

    Is that the reason ?