Reverse Engineering Tools For Pl Sql To_date

Hello, We are using EA as a metadata and model repository for large Oracle project. We do use reverse engineering and code generation on everyday basis. Is there a solution (add-in, template) to reverse engineer PLSQL package to the point of having its real functions and procedures represented under package as operations? Currently EA provides reverse of PLSQL package as Package: Package name Package operations: specification operation as for package speciffication and body where whole code for each part is stored in Behavior:Initial Code.

We are looking for soultion to reverse package into a following representation. For example: Package:Package name Package operations: Function1(int) Function2(int) Procedure1 I would strongly appreciate any help with this.

Database Reverse Engineering Tools

To_date

Junior Member Hello Everyone, I'm wondering if someone could help me understand the steps that the following query is taking. I'm trying to rebuild the output of this query using Vrealize Suite. A gentlemen from VmWare wrote this query before my time at my company.

Rettungswagen simulator 2012 patch. For the Rettungswagen-Simulator 2014! It is available on the RTWS patches page: Everyone who has problems starting the game should apply this patch. It also contains all previous updates, the whole changelog can be seen at the patches page! Download the first RTWS 2012 patch.

This query was built to rollup ledger data into a YTD format. It utilizes 3 tables and im just unsure of the steps/formulas it is using to bring these tables together. I'm new to understanding pl sql and any help on this would be greatly appreciated. Senior Member The following is an attempt to explain things from top to bottom: It SELECTs a bunch of columns from three tables. Some of the columns are listed by themselves, like funding and board.

Some of the columns are prefaced with table aliases, like g1.project and g1.gl.sfdim10110mapping, where g1 is the table alias for the qbeglallmonth table. Table aliases are necessary where different tables have the same column name, in order to resolve ambiguity. They are otherwise optional.

There are also some column aliases. For example, projectid is a column alias for g1.project. The column alias is the heading for that column that will appear in the output. Some of the columns have functions applied to them.

For example, the Oracle supplied TODATE function accepts a value to be converted and a format that matches that value and converts it to a date. So, if the value of g1.year (the year column in the qbeglallmonth table with g1 as the table alias) is 2016, then TODATE(g1.year,'yyyy') would return the first day of the current month for the year 2016, as shown below. SCOTT@orcl12.1.0.2.0 select todate('2016','yyyy') from dual; TODATE('2016', - Mon 01-Aug-2016 1 row selected.

Tosfdate must be a function, but is not an Oracle supplied function. It apparently accepts a date and converts it to something. Only you can determine what the user-defined sfdate function returns.

You should be able to tell that by viewing the output for that column that has a column alias of year. The CASE statement: CASE WHEN cp.year IS NOT NULL THEN gl.amount ELSE 0 END curryearamount says when the year column of the inline view with the alias of cp that selects from the wfglperiodclosed table is not null then select the amount column from the qbeglallmonth table aliased by g1 otherwise select 0 and label that column using the column alias of curryearamount. The following is an Oracle analytic function, followed by the column alias ytdspent: sum(gl.amount) OVER(partition BY gl.project,dept,gl.year,sfdim10064mapping,sfdim10mapping,gl.sfdim10110mapping ORDER BY gl.starttime rows BETWEEN UNBOUNDED PRECEDING AND CURRENT row) ytdspent The above analytic function produces a rolling total for each group of project, dept, year, sfdim10046mapping, sfdim10mapping, and sfdim10110mapping. The rows within each group are displayed in the order of starttime with the value of amount in each row being added to the previous rolling total, until the next group, where it starts again. All of these columns are selected from the three tables that are joined on the columns that they have in common. The following join: FROM (qbeglallmonth) gl LEFT JOIN completeprojectlist pt ON gl.project = pt.projectid means that the qbeglallmonth table with a table alias of g1 is joined to the completeprojectlist table with a table alias of pt in such a manner (LEFT JOIN) that there may be values for g1.project where there aren't any corresponding values from pt.projectid.

The previous is then similarly joined to an inline view (a subquery in the from clause that is used the same as a table) that selects from the wfglperiodclosed restricting the rows from that select to those where the value of the closed column is 1. That inline view has an alias of cp, just as the other tables have been assigned aliases for the purpose of using shorter references to table names and column names and eliminating ambiguity. LEFT JOIN ( SELECT.

FROM wfglperiodclosed WHERE closed=1) cp ON tn(addmonths(nt(cp.year),cp.period-1)) = gl.starttime The final join condition above indicates that the tables are joined by comparing the starttime of the qbeglallmonth table aliased by g1 to some functions applied to the year and period columns of the inline view aliased as cp that select from the wfglperiodclosed table. The addmonths function is an Oracle supplied function that adds the number of months represented by the numerical value in the second parameter to the date value in the first parameter. The tn function and nt function are apparently user-defined functions on your system, so will you have to figure out what they do, based on viewing the output. To view the source code of your user-defined functions, you can use: select name, text from usersource where name in ('TOSFDATE', 'TN', 'NT') order by name, line; If needed, you can post the output of the above query for explanation of what those functions do.