The default Oracle DDL template is stored in <program installation folder>\ data\DB_engineering\Oracle_template folder. The template consists of many macros - velocity functions. Each macro is dedicated for a particular object generation.

This example shows the velocity macro for the Oracle VIEW object generation:

    #macro ( generateView $data )
    #set ( $QUERY_RESTICTION = "query restriction")
    #set ( $force = false)
    #set ( $force = $oracleHelper.getBooleanValueFromDefaultProfile($data,$VIEW_STEREOTYPE, $FORCE_TAG ) )
    #set ( $sqlrestriction = false)
    #set ( $sqlrestriction = $ oracleHelper.getFirstPropertyValueFromProfile($data,$VIEW_STEREOTYPE, $QUERY_RESTICTION ) )
    #set ( $sql = false)
    #set ( $sql = $ oracleHelper.getFirstPropertyValueFromProfile($data,$VIEW_STEREOTYPE, $QUERY_TAG ))
    #set ( $columns = false)
    #set ( $columns = $ oracleHelper.getViewColumnList( $data ) )
    #if ($columns)
        #set ( $columns = " ($columns)" )
    #else
        #set ( $columns = $nospace )
    #end
    #writeDocumentation ( $data $nospace )
    #writeLine( "$ oracleHelper.getCreate($data)
    #if ( $oracleHelper.getPropertiesListFromDefaultProfile($data, $VIEW_STEREOTYPE,$FORCE_TAG).size()>0 )
        #if( $force ) FORCE
        #else NO FORCE
        #end
    #end 
    VIEW $oracleHelper.getQualifiedName( $data )$columns AS" $nospace)
    #if ( $sql )
        #writeLine( $sql $tab )
    #end
    #writeText( ${sqlrestriction} ${space}${nospace})${semicolon}
    #end

 

A model element with the stereotype “view” is passed to a macro function, and then all element information is retrieved by the $oracleHelper utility class. The Oracle View stereotype has 3 properties. These tagged values store information about the force, query restriction, and query statements.

    Method $oracleHelper.getFirstPropertyValueFromProfile( $data,$VIEW_STEREOTYPE, $QUE- RY_RESTICTION) gets query restriction statement from element $data.