This is one is more so a process I wish I had started doing sooner. Nowadays in every app I build, I create a script section named ‘Change Log’. This little piece of documentation gives a bit of background on the app, and then a list of changes over time with tags to be able to find where they were done easily.

Example:


///$tab Main 

SET ThousandSep=',';
SET DecimalSep='.';
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$#,##0.00;-$#,##0.00';
SET TimeFormat='h:mm:ss TT';
SET DateFormat='M/D/YYYY';
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
SET FirstWeekDay=6;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='en-US';
SET CreateSearchIndexOnReload=0;
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
SET LongMonthNames='January;February;March;April;May;June;July;August;September;October;November;December';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET NumericalAbbreviation='3:k;6:M;9:G;12:T;15:P;18:E;21:Z;24:Y;-3:m;-6:μ;-9:n;-12:p;-15:f;-18:a;-21:z;-24:y';

/// $tab Subroutine
Sub RowCount(pRowTable)

Let RC.Rows = Num(NoOfRows('$(pRowTable)'),'#,##0'); 


Trace ---------------- $(pRowTable): $(RC.Rows) rows;


RC.Rows=;


End Sub; 


Fact:
Load
    Rand() as Random
AutoGenerate
    (100000);                     // [v1.1.01] 


CALL RowCount('Fact');            // [v1.1.02]

Temp:
Load
    Chr(IterNo()) as Char
AutoGenerate
    (1)
While
    IterNo() <= 2;
    
Outer Join(Fact)
Load
    Char
Resident
    Temp;
    
Drop Table Temp;


CALL RowCount('Fact');
///$tab Exit

exit script;
///$tab Change Log
/*******************************************************************************************************

    Application: 101 - Subroutine
    Author: Trey Smith (tsmith@bardess.com)
    
    Description:
        Example application to provide a simple example of how a sub routine
        works.
    
    
********************************************************************************************************
********************************************************************************************************    
    Version: 1.1
    Date: 2019-05-01
    Author: Trey Smith (tsmith@bardess.com)
    Notes: None

    Changes:
        - Upped the fact records from 1000 to 100000     [v.1.1.01] 
        - Added additional RowCount call.         [v1.1.02]

********************************************************************************************************
********************************************************************************************************    
    Version: 1.0
    Date: 2019-041-12
    Author: Trey Smith (tsmith@bardess.com)
    Notes: None

    Changes:
        - Initial Build 

********************************************************************************************************
********************************************************************************************************    
    Version: X.X (Change Log Definition)
    Date: %Date of Change%
    Author: %Full Name% (%Email Address%)
    Notes: 
        Used for change log template. 
        [Tags] can be used to take advantage of the search box to navigate directly to change specified.
        

    Changes:
        - .... [vX.X.x1] 
        - .... [vX.X.x2]
        - .... [vX.X.x3]

********************************************************************************************************/