Data being dropped after joining Fiscal Time with Fact Table

Hi,
In my RPD, i have jolined the Fiscal Calendar with my fact tables : Fiscal Day is joined to Create Time column in the fact table.
Fiscal Day Data is : 6/6/2006 12:00:00
Creare Time Data is : 6/6/2006 11:45:49
6/6/2006 11:56:50
When i pull the fiscal day column with the other columns fromthe fact table in the report, i only see a subset of my data. I beleive this is due to the timestamp and it is causing to drop records.
Is there anyway, i can join this and not drop records due to the timestamp.
ANy suggestions will be appreciated.
Thanks

I assume that fiscal day table is at the day level. I would suggest that you store the date in an integer format (for example 20060606 'YYYYMMDD') similarly you may store the creation_date_key in fact table which is also in the same format, then do a direct join. This will be provide good performance for your reporting since you are joining integers and not date or char formats.
If you want time of creation date also, you might want to store it in a seperate column in say HHMMSS format, this when joined with time dimension will allow you hierarchical reporting for time too.

Similar Messages

  • HT201263 my ipod touch 4th gen isnt work after a long time with 0 percent battery power.Then its not working. computer doesnt respond to my ipod .only black screen is appearing it even not wake up after reset it what can i do please help me

    my ipod touch 4th gen isnt work after a long time with 0 percent battery power.Then its not working. computer doesnt respond to my ipod .only black screen is appearing it even not wake up after reset it what can i do please help me

    After being connected to a charging source overnight try:
    - iOS: Not responding or does not turn on
    - Also try DFU mode after try recovery mode
    How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
    - If not successful and you can't fully turn the iOS device fully off, let the battery fully drain. After charging for an least an hour try the above again.
    - Try on another computer
    - If still not successful that usually indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order.
      Apple Retail Store - Genius Bar

  • Modelling Time Dimension with Fact Table containing Start Date and End Date

    Hi Gurus,
    I have a time dimension with Year till Date. I have a fact table which consists of Start Date, End Date, Person ID, Department ID.
    How do i design Time dimension with fact table the below scenario
    In the dashboard i have start Month and End month as prompts.
    In the report i need to display Count(Person ID) > Start Date and < End Date along the trend.
    For instance, i have selected Jan-2009 as start date and Apr-2009 as End Date, then i need to display Count(Person ID) of Jan-2009, Feb2009, Mar-2009 andApr-2009.
    I Can not connect Time dimension with only Start Date or only with End Date to get the trend along the months.
    Please advice on the issue which i am having.

    Hi,
    Thanks for the response, Infact i tried using Complex join in physical layer. I have considered Time table joined with Fact table, and used >= and took and alias of the Time table and joined fact table using <=. When coming to BMM, i am not knowing how do i design this as if i merge the both the time dimensiona and its alias into single table, values will not be correct and if i make them as seperate columns. i can not show the trend as both are different columns.
    Can you please let know where i am going wrong.
    Thanks

  • After trying many times with two different debit cards still does not allows me to buy a game from the app store gives error "YOUR PAYMENT METHOD WAS DECLINE.PLEASE ENTER VALID PAYMENT METHOD INFORMATION"  Please help me out

    I WANT TO PURCHASE NFS MOST WANTED GAME FROM APP STORE BUT IT DOESN'T ALLOW ME TO PROCEED FURTHER
    after trying many times with two different debit cards still does not allows me to buy a game from the app store gives error "YOUR PAYMENT METHOD WAS DECLINE.PLEASE ENTER VALID PAYMENT METHOD INFORMATION"  Please help me out

    In most cases, you can't use a Debit card anymore. So, either redeem an iTunes gift card or use a credit card.

  • Viewing Data Usage For A Period Of Time With The WRT1900AC

    Is there a way to view the overall data usage for a period of time with the WRT1900AC? For example, I would like to see how much data I've used (up and/or down) for this month.

    Hi. The Linksys firmware does not have that feature.

  • Query Designer slows down after working some time with it

    Hi all,
    the new BEx Query Designer slows down when working some time with it. The longer it remains open, the slower it gets. Especially formula editing slows down extremely.
    Did anyone of you encounter the same problem? Do you have an idea, how to fix this. To me it seems as if the Designer allocates more and more RAM and does not free that up.
    My version: BI AddOn 7.X, Support Package 13, Revision 467
    Kind regards,
    Philipp

    I have seen a similar problem on one of my devices, the 'Samsung A-920'. Every time the system would pop up the 'Will you allow Network Access' screen , the imput from all keypresses from then on would be strangely delayed. It looked like the problem was connected with the switching from my app and the system dialog form. I tried for many many long hours / days to fix this, but just ended up hacking my phone to remove the security questions. After removing the security questions my problem went away.
    I don't know if it's an option in your application, but is it possible to do everything using just one Canvas, and not switch between displayables? You may want to do an experiment using a single displayable Canvas, and just change how it draws. I know this will make user input much more complicated, but you may be able to avoid the input delays.
    In my case, I think the device wasn't properly releasing / un-registering the input handling from the previous dialogs, so all keypresses still went through the non-current network-security dialog before reaching my app.

  • Self join with fact table in Obie 10G

    I am a newbie to obiee.I have a development requirement as follows-
    I need to find supervisors designation with the existing star RPD design. explanation is below
                                                        DIM_Designation(Desig_Wid)
                                                      |(Row_wid)
                                                      |
    DIM_EMPLOYEE--------WORKER_FACT------------DIM_Supervisor
    (Row_Wid)-----------------(Employee_Wid)
                                      (Supervisor_Wid)------------(Row_Wid)
    3 dimension is joined to fact to get employee, his supervisor and designation of employee. now i want to get the supervisor's designation? how is it possible? already employee and supervisor dimension is same W_employee_d table joined with fact as alias DIM_EMPLOYEE and DIM_SUPERVISOR. how to do self join with fact to get supervisor's designation. i do not have any supervisor_desig_wid in fact table. any help is deeply appreciated.

    Yes,Duplicate the fact table create a primary key on the newly fact table alias dimension table.So you can ur data modelling as usual.

  • Calc problem with fact table measure used as part of bridge table model

    Hi all,
    I'm experiencing problems with the calculation of a fact table measure ever since I've used it as part of a calculation in a bridge table relationship.
    In a fact table, PROJECT_FACT, I had a column (PROJECT_COST) whose default aggregate was SUM. Whenever PROJECT_COST was used with any dimension, the proper aggregation was done at the proper levels. But, not any longer. One of the relationships PROJECT_FACT has is with a dimension, called PROJECT.
    PROJECT_FACT contains details of employees and each day they worked on a PROJECT_ID. So for a particular day, employee, Joe, might have a PROJECT_COST of $80 for PROJECT_ID 123, on the next day, Joe might have $40 in PROJECT_COST for the same project.
    Dimension table, PROJECT, contains details of the project.
    A new feature was added to the software - multiple customers can now be charged for a PROJECT, where as before, only one customer was charged.
    This percentage charge break-down is in a new table - PROJECT_BRIDGE. PROJECT_BRIDGE has the PROJECT_ID, CUSTOMER_ID, BILL_PCT. BILL_PCT will always add up to 1.
    So, the bridge table might look like...
    PROJECT_ID CUSTOMER_ID BILL_PCT
    123          100     .20
    123          200     .30
    123          300     .50
    456 400 1.00
    678 400 1.00
    Where for project 123, is a breakdown for multiple customers (.20, .30. .50).
    Let's say in PROJECT_FACT, if you were to sum up all PROJECT_COST for PROJECT_ID = 123, you get $1000.
    Here are the steps I followed:
    - In the Physical layer, PROJECT_FACT has a 1:M with PROJECT_BRIDGE as does PROJECT to PROJECT_BRIDGE (a 1:M).
    PROJECT_FACT ===> PROJECT_BRIDGE <=== PROJECT
    - In the Logical layer, PROJECT has a 1:M with PROJECT_FACT.
    PROJECT ===> PROJECT_FACT
    - The fact logical table source is mapped to the bridge table, PROJECT_BRIDGE, so now it has multiple tables it maps to (PROJECT_FACT & PROJECT_BRIDGE). They are set for an INNER join.
    - I created a calculation measure, MULT_CUST_COST, using physical columns, that calculates the sum of the PROJECT_COST X the percentage amount in the bridge table. It looks like: SUM(PROJECT_FACT.PROJECT_COST * PROJECT_BRIDGE.BILL_PCT)
    - I brought MULT_CUST_COST into the Presentation layer.
    We still want the old PROJECT_COST around until it get's phased out, so it's in the Presentation layer as well.
    Let's say I had a request with only PROJECT_ID, MULT_CUST_COST (the new calculation), and PROJECT_COST (the original). I'd expect:
    PROJECT_ID MULT_CUST_COST PROJECT_COST
    123          $1000     $1000
    I am getting this for MULT_CUST_COST, however, for PROJECT_COST, it's tripling the value (possibly because there are 3 percent amounts?)...
    PROJECT_ID MULT_CUST_COST PROJECT_COST
    123          $1000 (correct)      $3000 (incorrect, it's been tripled)
    If I were to look at the SQL, it would have:
              SELECT SUM(PROJECT_COST),
    SUM(PROJECT_FACT.PROJECT_COST * PROJECT_BRIDGE.BILL_PCT),
                   PROJECT_ID
              FROM ...
              GROUP BY PROJECT_ID
    PROJECT_COST used to work correctly before modeling a bridge table.
    Any ideas on what I did wrong?
    Thanks!

    Hi
    Phew, what a long question!
    If I understand correctly I think the problem lies with your old cost measure, or rather combining that with you new one in the same request. If you think about it, your query as explained above will bring back 3 rows from the database which is why your old cost measure is being multiplied. I suspect that if you took it out of the query, your bridge table would be working properly for the new measure alone?
    I would consider migrating your historic data into the bridge table model so that you have a single type of query. For the historic data each would have a single row in the bridge with a 1.0 BILL_PCT.
    Best of luck,
    Paul
    http://total-bi.com

  • Problems with Fact Table in an Infocube

    In IC 0CCA_C11 we've seen almost a 50% increase in the row count on the F fact table from about 100 million rows to about 150 million rows.   However we are very certain that we really havent had that much growth.
    We have a process chain that does a full load of 12 million rows to the cube and then deletes the previous full load.  Because this PC is conflicting with a more important PC that loads to the cube, we've been cancelling the step in the PC and manually deleting the previous request out of the cube via the IC "Manage" screen.
    Is it possible that what we've been doing has been leaving rows in the cube that we thought were deleted? 
    If so, is there an Analysis and Repair function in RSRV that will get rid of all these extra rows?
    There's no way this cube could have truly grown by 50 million rows in 2 weeks!

    Wardell,
    Check the data in RSA3 for the extractor that you use to bring data .
    You must be using the data source 0CO_OM_CCA_09. Check the data and reconcile and you will get it.
    Let me know if you need anything else.
    Thanks
    Ravi Thothadri
    [email protected]

  • Calls are Connected but Dropped After a Certain Time.

    We have a FoIP envrionment and before I start blaming the software, I want to make sure that my routing is properly done. I'm able to place a fax call from one branch office to another but the call gets dropped.
    RightFax ---------------à2811---------(out one of the ports of the FXO card)---------àVG248-------------àPSTN------------àFax machine
    Attached are the trace of the Vg248 and the running config of the 2811 that I've got setup.
    I've used the configuration guide http://docs.google.com/viewer?a=v&q=cache:7VWnAmhhiYIJ:www.cisco.com/application/pdf/paws/44948/faxvg248.pdf+configuring+vg248+to+send+fax&hl=en&gl=ca&pid=bl&srcid=ADGEESgxDmCbg_0MqYYK6Qx_H5yGJcJs-AhCsxgz1LUmi_XHxSLHwxo_DkBfH-NiR3u4HgycyXLy4IiCp9ax_wPbWefMuMTkZK1TBsxr29rmABT_Z7yk8VJSRY-6Iykhv6NTV3O9Uznz&sig=AHIEtbRxjPVEcT2XM3SHB_YW4Z4_97xB3w
    for fax-passthrough to help me configure the ports on the vg248.
    The dial-peer I'm using right now is this one...
    dial-peer voice 6 pots
    destination-pattern 91[2-9]..[2-9]...
    information-type fax
    fax rate fax
    no digit-strip
    port 0/0/0
    Here is the result that debug vpm all showed me.
    *May 12 16:09:15.110: htsp_timer_stop3 htsp_setup_req
    *May 12 16:09:15.110: htsp_process_event: [0/0/1, FXOLS_ONHOOK, E_HTSP_SETUP_REQ]fxols_onhook_setup
    *May 12 16:09:15.110: [0/0/1] set signal state = 0xC timestamp = 0
    *May 12 16:09:15.110: dsp_set_sig_state: [0/0/1] packet_len=12 channel_id=129 packet_id=39 state=0xC timestamp=0x0
    *May 12 16:09:15.110: TGRM: reg_invoke_tgrm_call_update(0, 0, 1, 65535, 1, TGRM_CALL_BUSY, TGRM_CALL_VOICE, TGRM_DIRECTION_OUT)
    *May 12 16:09:15.114: htsp_timer - 1300 msec
    *May 12 16:09:15.454: htsp_process_event: [0/0/1, FXOLS_WAIT_DIAL_TONE, E_DSP_SIG_0110]fxols_disc_clear
    *May 12 16:09:15.454: htsp_timer_stop2
    *May 12 16:09:15.454: htsp_timer - 1300 msec
    *May 12 16:09:16.754: htsp_process_event: [0/0/1, FXOLS_WAIT_DIAL_TONE, E_HTSP_EVENT_TIMER]fxols_wait_dial_timer  htsp_dial
    *May 12 16:09:19.194: htsp_process_event: [0/0/1, FXOLS_WAIT_DIAL_DONE, E_DSP_DIALING_DONE]fxols_wait_dial_done htsp_progress
    *May 12 16:09:19.194: htsp_timer - 350 msec
    *May 12 16:09:19.198: htsp_call_bridged invoked
    *May 12 16:09:19.546: htsp_process_event: [0/0/1, FXOLS_WAIT_CUT_THRU, E_HTSP_EVENT_TIMER]fxols_handle_cut_thru
    *May 12 16:09:19.546: htsp_timer_stop
    *May 12 16:09:19.566: flex_dsprm_forking_mixing_support:
    *May 12 16:09:19.566: mars_flex_dsprm_current_codec_comp:DSP:0 FLEX Complexity Codec
    *May 12 16:09:19.566:  DSPWARE Version < 3.0 actual is 23.6.0
    *May 12 16:09:19.566: flex_dsprm_forking_mixing_support:
    *May 12 16:09:19.566: mars_flex_dsprm_current_codec_comp:DSP:0 FLEX Complexity Codec
    *May 12 16:09:19.566:  DSPWARE Version < 3.0 actual is 23.6.0
    *May 12 16:09:19.570: htsp_process_event: [0/0/1, FXOLS_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH]fxols_proc_voice
    *May 12 16:09:19.570: htsp_process_event: [0/0/1, FXOLS_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH]fxols_proc_voice
    *May 12 16:09:27.930: htsp_process_event: [0/0/1, FXOLS_OFFHOOK, E_HTSP_VOICE_CUT_THROUGH]fxols_proc_voice
    *May 12 16:10:00.574: htsp_timer_stop3 htsp_release_req: cause 127, no_onhook 0
    *May 12 16:10:00.582: htsp_process_event: [0/0/1, FXOLS_OFFHOOK, E_HTSP_RELEASE_REQ]fxols_offhook_release
    *May 12 16:10:00.586: htsp_timer_stop
    *May 12 16:10:00.586: htsp_timer_stop2
    *May 12 16:10:00.586: htsp_timer_stop3
    *May 12 16:10:00.586: [0/0/1] set signal state = 0x4 timestamp = 0
    *May 12 16:10:00.586: dsp_set_sig_state: [0/0/1] packet_len=12 channel_id=129 packet_id=39 state=0x4 timestamp=0x0
    *May 12 16:10:00.586: TGRM: reg_invoke_tgrm_call_update(0, 0, 1, 65535, 1, TGRM_CALL_IDLE, TGRM_CALL_VOICE, TGRM_DIRECTION_OUT)
    *May 12 16:10:00.586: htsp_timer - 2000 msec
    *May 12 16:10:00.586: TGRM: reg_invoke_tgrm_call_update(0, 0, 1, 65535, 1, TGRM_CALL_BUSY, TGRM_CALL_VOICE, TGRM_DIRECTION_OUT)
    *May 12 16:10:00.590: flex_dsprm_close_cleanup
    *May 12 16:10:00.854: htsp_process_event: [0/0/1, FXOLS_GUARD_OUT, E_DSP_SIG_0110]
    *May 12 16:10:02.586: htsp_process_event: [0/0/1, FXOLS_GUARD_OUT, E_HTSP_EVENT_TIMER]fxols_guard_out_timeout
    *May 12 16:10:02.586: TGRM: reg_invoke_tgrm_call_update(0, 0, 1, 65535, 1, TGRM_CALL_IDLE, TGRM_CALL_VOICE, TGRM_DIRECTION_OUT)
    *May 12 16:10:02.586: dsp_req_sig_state: [0/0/1] packet_len=8 channel_id=129 packet_id=40
    *May 12 16:10:02.586: htsp_process_event: [0/0/1, FXOLS_ONHOOK, E_DSP_SIG_0100]

    Sorry...here is the roadmap to how a call is being placed.
    faxserver==h323==2811==fxo==vg248==CUCM==PSTN GW==PRI==PSTN=====Fax machine.
    I've figured out that there was no Clock line on the controler and the 2811 was using the default dial-peer 0 instead the inbound dialpeer. the problem changed from dropping the call (or timeout) to Line is Busy and the fax server drops the call after 2 secons.
    I did a debug isdn q931 and it showed me the following:
    000084: *Feb  6 16:26:15.383: ISDN Se1/0:23 Q931: TX -> SETUP pd = 8  callref = 0x0221
            Bearer Capability i = 0x8090A2
                    Standard = CCITT
                    Transer Capability = Speech
                    Transfer Mode = Circuit
                    Transfer Rate = 64 kbit/s
            Channel ID i = 0xA98316
                    Exclusive, Channel 22
            Calling Party Number i = 0x0081, '9055408208'
                    Plan:Unknown, Type:Unknown
            Called Party Number i = 0x80, '16137883600'
                    Plan:Unknown, Type:Unknown
    000085: *Feb  6 16:26:15.483: ISDN Se1/0:23 Q931: RX <- CALL_PROC pd = 8  callref = 0x8221
            Channel ID i = 0xA98396
                    Exclusive, Channel 22
    HAMVGP01_3725#
    000086: *Feb  6 16:26:17.179: ISDN Se1/0:23 Q931: TX -> DISCONNECT pd = 8  callref = 0x0221
            Cause i = 0x8090 - Normal call clearing
    000087: *Feb  6 16:26:17.431: ISDN Se1/0:23 Q931: RX <- RELEASE pd = 8  callref = 0x8221
    000088: *Feb  6 16:26:17.443: ISDN Se1/0:23 Q931: TX -> RELEASE_COMP pd = 8  callref = 0x0221
    HAMVGP01_3725#term no mon
    000089: *Feb  6 16:26:27.215: ISDN Se1/0:23 Q931: TX -> DISCONNECT pd = 8  callref = 0x838E
            Cause i = 0x8090 - Normal call clearing
    000090: *Feb  6 16:26:27.331: ISDN Se1/0:23 Q931: RX <- RELEASE pd = 8  callref = 0x038E
    000091: *Feb  6 16:26:27.343: ISDN Se1/0:23 Q931: TX -> RELEASE_COMP pd = 8  callref = 0x838E

  • Cellular data being used even when at home with Wi Fi

    I notice that sometimes (actually pretty often), my cellular data is being used even if I'm at home with Wi Fi available. At this rate, my monthly amount of gigabytes is getting used up pretty quickly. It's gotten to where I have to go into settings and turn off cellular data whenever I come home. Has anyone else had this problem?

    You must be losing wifi sometimes. The iPad uses wifi, unless it's not available. Then it switches to 3/4G. Turning Off cellular is the best procedure.
     Cheers, Tom

  • Join Master Data table with fact table

    Hello gurus.
    I have a requirement on a characteristic. I have to obtain the description of those values that are not filled with data in the cube, the example looks like this:
    Data in the cube:
    Characteristic 1 |  charactersitic 2 |  value
    AU                           HPDV              200
    TB                           OPPG              500
    TC                           HPDV              900
    TR                           OPMR             400
                                   HPDV              300
                                   OPMR             200
                                   OPPG             100
    Master Data Table:
                                Description
    HPDV    AU       Auditoria  
    OPPG    TB       Servicios Logisticos
    HPDV     TC       Occidente
    OPMR    TR       Oriente
    HPDV     AI        Punta Norte
    OPGS    CV       Escandón
    HPDV    QR       Barquisimeto
    HPDV    MM      Valencia
    HPDV    DT        Barcelona
    I need to display in the query only the description of the characterstic whose data is not in the cube, according to the example the values that are missing in the cube are:
    HPDV     AI        Punta Norte
    OPGS    CV       Escandón
    HPDV    QR       Barquisimeto
    HPDV    MM      Valencia
    HPDV    DT        Barcelona
    How can i achive this ?? 
    Thank you in advance.

    Hi Guillermo,
    I think you are trying to achieve this: To display characteristic values for which no transaction data or only low values exist for the selected period.
    See here for the solution details:
    http://help.sap.com/saphelp_nw04/helpdata/en/3a/d1603d13b5c72ee10000000a114084/content.htm
    Hope this helps...

  • After a long time with firefox running (days) it takes too long to terminate

    If Firefox has been running for a long time and now consumes a lot of memory (over 1GB of RAM normally) then it takes several minutes to clean and terminate.
    This process is not always CPU intensive and sometimes the amount of memory attributed to firefox even increases.
    Taking 10 minutes for a computer program to terminate is appaling.

    Did you opt out of the Ask Toolbar installation when you installed Foxit Reader? If not, you have it on your system now. There are compatibility problems between that app and Firefox.
    Remove it by clicking the Firefox button, go to Add-ons, then Extensions and remove it in there.
    If the problem persists, try running Firefox in [[Safe Mode]]. If it functions properly in that configuration, then one of your add-ons is the culprit.

  • More of KB2919355? I have already installed it, but I'm being offered it again (this time with 2.3MB only). Is this correct?

    TIA.

    Note Windows Update may offer update 2919355 again even when the computer already has update 2919355 installed (See note 4:
    http://support.microsoft.com/kb/2919355). This is expected, and is in order to resolve a Windows Update client issue. Windows Update only installs the additional fixes for Windows Update clients
    instead of all the Windows 8.1 update packages.

  • Joining java array with SQL table in a stored procedure

    Hey,
    I am calling a pl/sql stored procedure from a java program passing two arrays (employees) and (departments) as parameters to the procedure. Within the procedure I have stored the arrays in a table of records like this:
    type t_emp_type is record (employee_id number, department_id number);
    type t_emp_tbl_type is table of t_emp_type index by binary_integer;
    Where all elements in employees are stored in the employee_id column and departments are stored in the department_id column. So basically I've got a table like:
    l_employee_tbl t_emp_tbl_type;
    Looped through the arrays and stored the data like:
    for i in 1..p_employees.count loop
    l_employee_tbl(i).employee_id := p_employees(i);
    l_employee_tbl(i).deparment_id := p_departments(i);
    end loop;
    Now I would like to compare my l_employee_tbl with a SQL table in the database. Basically I would like to join my l_employee_tbl table with a SQL table named departments on department_id, returning all department_id:s that was not found in table departments.
    However, it is not possible to select from a user-defined table type. I have also tried to use the table() function and to cast l_employee_tbl, but found out it can't be done with records. And I would really like to use records or some other type where define my PL/SQL data. I know that you should not mix PL/SQL and SQL but in this case I think it is more efficient to try joining these "tables". Does anyone have a solution for this or advice to try something else out? It would be most appreciated.
    Edited by: 963281 on 2012-okt-04 14:25
    Edited by: 963281 on 2012-okt-05 01:53

    963281 wrote:
    I am calling a pl/sql stored procedure from a java program passing two arrays (p_employees) and (p_departments) as parameters to the procedure. Within the procedure I have stored the arrays in a table of records like this:
    type t_emp_type is record (employee_id number, department_id number);
    type t_emp_tbl_type is table of t_emp_type index by binary_integer;Why do you create an associative array?
    Now I would like to compare my l_employee_tbl with a SQL table in the database. Basically I would like to join my l_employee_tbl table with a SQL table named departments on department_id, returning all department_id:s that was not found in table departments. Of course, not possible as the SQL engine does not support PL/SQL user defined types. PL/SQL however support user defined SQL types. Which makes SQL defined types a lot more flexible.
    However, it is not possible to select from a user-defined table type. I have also tried to use the table() function and to cast l_employee_tbl, but found out it can't be done with records. Never mind SQL and PL/SQL - as a generic programming data structure principle. How do you expect being able to cast an associative array (name-value pairs) to a standard array? The two data structures are very different. So I'm puzzled in how you expect to move a non-scalar name-value pair data structure into a non-scalar value only data structure?
    And I would really like to use records or some other type where define my PL/SQL data. Why exactly? If the Java or PL/SQL data structure is populated using SQL data and database data, and wanting to use that data structure in SQL, what is the point? Why pull SQL data into a client data structure at all then - surely it is far more performant and scalable to rather keep that data in the database, and do the joins/selects/filters/etc using SQL?
    There is also the issue of scalability of local data structures in PL/SQL. The PL/SQL engine runs inside an Oracle server process, consuming private process memory on the server. The bigger the data structures used in PL/SQL, the more server memory needs to be allocated to that server process. This does not scale. Especially not if 10 or more such server processes are running the same PL/SQL code and each server needs to grab large chunks of server memory.
    If the data from Java comes from another source (e.g. keyboard, etc), and you need a means of storing this data server-side for use by PL/SQL and SQL. There are 2 basic choices. PL/SQL arrays for smallish amounts of data - and basing these arrays preferable on SQL data types allowing the array to be used by both SQL and PL/SQL engines. If the amount of data is not smallish, then it should be stored in the SQL engine (database) as that is designed for that exact purpose. And if the data is transient, then a GTT (global temp table) structure can be used (and indexed for optimal access).

Maybe you are looking for