Override for the _getRowInfo method of the Table Data Model.
   /*  This is a method override for the _getRowInfo method
    *    of the Table Data Model, which provides the table editor with
    *    the information about the row labels. Parameters passed to this method:
    *        'rcdvecid'  - Use instance of the Row/Column data vector.
    *                      The information about the requested row is
    *                      set on the data vector. */
GETROW: method rcdvecid 8;
      /*  Retrieve the value of the instance variable DATABASE
       *    which contains the information for this multi-dimensional example.
       *    From the DATABASE list, retrieve the ROWS sublist which
       *    contains the information about the rows.  Within the ROWS
       *    list, the rows are stored in order starting at the beginning
       *    of the list.  For example, the first row, 1998, in the
       *    ROWS list is the first row to display in the table editor. */
   database = getniteml( _self_, 'DATABASE' );
   rowlst = getniteml( database, 'ROWS' );

      /*  Use the _getCoordinates method of the Row/Column Data Vector
       *     to retrieve which row is currently being requested by the
       *     table editor for display. */
   coords = makelist();
   call send ( rcdvecid, '_getCoordinates', coords );

      /* Get the first row dimension off of the COORDS list */
   rownum = getitemn( coords, 1 );

      /*  Retrieve the other row subdimension if available on the
       *     COORDS list. */
   if ( listlen( coords ) = 1 ) then
      subrownum = 0;
   else
      subrownum = getitemn( coords, 2 );

      /* The COORDS list is no longer needed. Delete the COORDS list. */
   coords = dellist( coords );

      /*  Determine the label for the row to be displayed. */
      /* If Table Editor has requested two dimensions... */
   if ( subrownum ) then
   do;
         /*  Using the top-level row dimension(ROWNUM), retrieve the
          *     top-level dimension list from ROWS.  For example, if
          *     ROWNUM is 1, then the sublist 1998 would be retrieved
          *     from the ROWS list. */
      rowlst = getiteml( rowlst, rownum );

         /*  Since the last requested level is the second-level dimension,
          *     you need retrieve the row label by getting the
          *     name of the SUBROWNUM item from the top-level list. */
      label = nameitem( rowlst, subrownum );
   end;
      /* If Table Editor has requested one dimension... */
   else
         /*  Since the last requested level is the top-level dimension,
          *     you need retrieve the row label by getting the
          *     name of the ROWNUM item from the ROWS list. */
      label = nameitem( rowlst, rownum );

      /* Set the label on the Row/Column Data Vector for the row. */
   call send( rcdvecid, '_setText', label );
endmethod;