Workaround to prevent table abbreviations from compiling - Forum - OpenEdge Development - Progress Community

Workaround to prevent table abbreviations from compiling

 Forum

Workaround to prevent table abbreviations from compiling

  • Unfortunately OpenEdge does not have an option to prevent table abbreviations.

    In our development environment I've set up following workaround to prevent table abbreviations.

    1. Create an extra database, I called it NONUNIQ

    2. Add a table for each table in the real database, append an underscore to the filename

    3. Connect the extra database in the development enviroment

    From now on all abbreviated table references cause a compile error because they have become ambiguous due to the extra table in the nonuniq database.

    I used following piece of code to create a df for the nonuniq db.

    &scoped db DBNAME
    def stream sdf.
    
    output stream sdf to nonuniq.df.
    
    for each {&db}._file where not {&db}._file._file-name begins "_" and {&db}._file._owner = "pub":
        run AddTable({&db}._file._file-name).
    end.
    output stream sdf close.
    
    
    procedure AddTable:
    def input param itable as char.
    put stream sdf unformatted
    
    subst('ADD TABLE "&1_"', itable) skip(2).
    
    end procedure.
    


  • Hi Carl,
     
    great trick! I think I’ll add this ASAP to our integration tests on Jenkins.
     
    See you at #PUGChallenge
     
    Mike
    Von: cverbiest [mailto:bounce-cverbiest@community.progress.com]
    Gesendet: Dienstag, 18. November 2014 10:08
    An: TU.OE.Development@community.progress.com
    Betreff: [Technical Users - OE Development] Workaround to prevent table abbreviations from compiling
     
    Thread created by cverbiest

    Unfortunately OpenEdge does not have an option to prevent table abbreviations.

    In our development environment I've set up following workaround to prevent table abbreviations.

    1. Create an extra database, I called it NONUNIQ

    2. Add a table for each table in the real database, append an underscore to the filename

    3. Connect the extra database in the development enviroment

    From now on all abbreviated table references cause a compile error because they have become ambiguous due to the extra table in the nonuniq database.

    I used following piece of code to create a df for the nonuniq db.

    &scoped db DBNAME
    def stream sdf.
     
    output stream sdf to nonuniq.df.
     
    for each {&db}._file where not {&db}._file._file-name begins "_" and {&db}._file._owner = "pub":
        run AddTable({&db}._file._file-name).
    end.
    output stream sdf close.
     
     
    procedure AddTable:
    def input param itable as char.
    put stream sdf unformatted
     
    subst('ADD TABLE "&1_"', itable) skip(2).
     
    end procedure.

     

    Stop receiving emails on this subject.

    Flag this post as spam/abuse.

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • Nice one!