Procedure to create a simple Time Dimension Table seed data

Here is how to create a simple time dimesion table and to populate it with seed data.
CREATE TABLE “CUBE_DATA”.”W_DAY_D”
(    “ROW_WID” NUMBER(10,0),
“DAY_DATE” DATE,
“YEAR_NUM” NUMBER(10,0),
“MONTH_NAME” VARCHAR2(30 BYTE),
“MONTH_NUMBER” NUMBER(10,0),
“QUARTER_NAME” VARCHAR2(30 BYTE),
“QUARTER_NUMBER” NUMBER(10,0),
“WEAK_YR” NUMBER(10,0),
“WEAK_MTH” NUMBER(10,0),
“MONTH_AGO_WID” NUMBER(10,0),
“QUARTER_AGO_WID” NUMBER(10,0),
“YEAR_AGO_WID” NUMBER(10,0),
“FISCAL_YEAR_NUM” NUMBER(10,0),
“FISCAL_MONTH_NUMBER” NUMBER(10,0),
“FISCAL_QUARTER_NAME” VARCHAR2(30 BYTE),
“FISCAL_QUARTER_NUMBER” NUMBER(10,0),
“FISCAL_WEEK_YR” NUMBER(10,0)
)
create or replace
PROCEDURE W_DAY_D_PROC
( BEGIN_YEAR IN NUMBER
, END_YEAR IN NUMBER,FY_DIFF IN NUMBER
)
AS
/* FY_DIFF is the diiference [...]