Friday, November 11, 2011

OMB Get Repository Documentation

#########################################################################################################
#                                                                                                        #
# COMPILE OWB Repository                                                                                #
#                                                                                                        #
# Get the Repository documentation                                                                        #
# Output is written to file in RootDir                                                                    #
#                                                                                                        #
# (C) Ciber Nederland John Minkjan    OMB101.blogspot.com                                                    #
#        V001    Init Version                                                                            #
#        V002    Validated against OWB11gR2                                                                #
#                                                                                                        #
#########################################################################################################
#OMBCONNECT rep_owner/rep_owner@localhost:1521:orcl USE WORKSPACE 'My_Workspace'
#set OMBPROMPT ON

# RootDir
set RootDir "C:\\temp\\"

set ProjectList [OMBLIST PROJECTS];
foreach ProjectName $ProjectList {
if {$ProjectName != "PUBLIC_PROJECT"} {
    set chan [open [string map {\\ /} "$RootDir\\ProjectSummery_$ProjectName.txt"] w];
    set timestamp [clock format [clock seconds]];
       
        puts $chan "Project Summery: $ProjectName Run: $timestamp";
        puts $chan "";
        set ProjectDescription [OMBRETRIEVE PROJECT '$ProjectName' GET PROPERTIES (DESCRIPTION)];
        puts $chan "Project Description: $ProjectDescription";
                       
        OMBCC '$ProjectName';
        puts $chan "";
        puts $chan "$ProjectName: ORACLE_MODULES";
        puts $chan "";
        set ModuleList [OMBLIST ORACLE_MODULES];
        foreach ModuleName $ModuleList {
            OMBCC '$ModuleName';
            set plural "S"
            set ObjectList [list MAPPING DATA_AUDITOR DIMENSION CUBE TABLE EXTERNAL_TABLE VIEW MATERIALIZED_VIEW SEQUENCE FUNCTION PROCEDURE TABLE_FUNCTION PACKAGE]
            foreach ObjectName $ObjectList {
                set workListName [concat $ObjectName$plural];                       
                set workList [OMBLIST $workListName];
                foreach workName $workList {
                        set ProjectDescription [OMBRETRIEVE $ObjectName '$workName' GET PROPERTIES (DESCRIPTION)]
                        puts "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                        puts $chan "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                        }
                    ;                                   
                };               
            OMBCC '..';
        };
       
        puts $chan "";
        puts $chan "$ProjectName: FLAT_FILE_MODULES";   
        puts $chan "";       
        set ModuleList [OMBLIST FLAT_FILE_MODULES];
        foreach ModuleName $ModuleList {
            OMBCC '$ModuleName';
            set plural "S"
            set ObjectList [list FLAT_FILE]
            foreach ObjectName $ObjectList {
                set workListName [concat $ObjectName$plural];
                set workList [OMBLIST $workListName];
                foreach workName $workList {
                    set ProjectDescription [OMBRETRIEVE $ObjectName '$workName' GET PROPERTIES (DESCRIPTION)]
                    puts "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                    puts $chan "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                };
            };
            OMBCC '..';           
        };
       
        puts $chan "";
        puts $chan "$ProjectName: PROCESS_FLOW_MODULES";
        puts $chan "";
       
        set ModuleList [OMBLIST PROCESS_FLOW_MODULES]
        puts $ModuleList
        foreach ModuleName $ModuleList {
        puts $ModuleName
        OMBCC '$ModuleName';
        set plural "S"
            set ObjectList [list PROCESS_FLOW_PACKAGE]
            foreach ObjectName $ObjectList {
                set workListName [concat $ObjectName$plural];
                set workList [OMBLIST $workListName];
                foreach workName $workList {
                    set ProjectDescription [OMBRETRIEVE $ObjectName '$workName' GET PROPERTIES (DESCRIPTION)]
                    puts "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                    puts $chan "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                };
            };
            OMBCC '..';       
        };
       
        puts $chan "";
        puts $chan "$ProjectName: CALENDAR_MODULES";
        puts $chan "";
        set ModuleList [OMBLIST CALENDAR_MODULES]
        foreach ModuleName $ModuleList {
        OMBCC '$ModuleName';
        set plural "S"
            set ObjectList [list CALENDAR]
            foreach ObjectName $ObjectList {
                set workListName [concat $ObjectName$plural];
                set workList [OMBLIST $workListName];
                foreach workName $workList {
                    set ProjectDescription [OMBRETRIEVE $ObjectName '$workName' GET PROPERTIES (DESCRIPTION)]
                    puts "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                    puts $chan "$ProjectName - $ModuleName - $ObjectName - '$workName' - $ProjectDescription"
                };
            };
        OMBCC '..';       
        };   
       
        puts $chan "";
        puts $chan "$ProjectName: CONFIGURATIONS";
        puts $chan "";
       
        set ModuleList [OMBLIST CONFIGURATIONS];
        foreach ModuleName $ModuleList {
            set ProjectDescription [OMBRETRIEVE CONFIGURATION '$ModuleName' GET PROPERTIES (DESCRIPTION)]
                    puts "$ProjectName - $ModuleName - $ProjectDescription"
                    puts $chan "$ProjectName - $ModuleName - $ProjectDescription"
        };
       
        OMBCC '..';
    close $chan;   
    }
}

No comments:

Post a Comment