Monday 26 June 2017

OAF: The program can't start because MSVCR71.dll is missing from your computer.

In one of my project, in one machine we were not able to open the Jdeveloper  (Version 10.1.3.5 - Patch 19170592 ) which we downloaded from the Metalink Note. This post is to help those who face this issue and don't know what to do to fix this.

OA Framework - How to Find the Correct Version of JDeveloper for OA Extensions to Use with E-Business Suite 11i or Release 12.x (Doc ID 416708.1)

After downloading p19170592_R12_GENERIC.zip, unzipped the contents into C:/oracle/Jdev10.1.3.5. After that when we tried to open the Jdeveloper using C:/oracle/Jdev10.1.3.5/jdevbin/jdev/bin/jdevW.exe, we were getting the below error.

"The program can't start because MSVCR71.dll is missing from your computer. Try reinstalling the program to fix this problem."



Fix:  You just need to copy the msvcr71.dll file from C:/oracle/Jdev10.1.3.5/jdevbin/jdk/bin to C:/oracle/Jdev10.1.3.5/jdevbin/jdev/bin.

After copying the file, Jdeveloper opened successfully.




Feel free to point out if anything is missing/wrong in this blog.

Tuesday 20 June 2017

Oracle Apps: Query to get the details of a Descriptive Flexfield

The below gives the details of Descriptive Flex Field defined in Oracle eBusiness Suite. This query can be used to find out all the DFF Segments defined for a specific table.

 select dffv.application_table_name          table_name  
       ,dffv.title  
       ,dcont.descriptive_flex_context_code context_code  
       ,dfusg.application_column_name       segment_column  
       ,dfusg.form_left_prompt              segment_window_prompt  
       ,dffv.concatenated_segs_view_name    view_name  
       ,(select x.application_name  
         from fnd_application_vl x  
         where x.application_id = dffv.application_id) application  
       ,dffv.description  
       ,dffv.descriptive_flexfield_name    name  
       ,dffv.context_column_name           structure_column  
       ,dffv.form_context_prompt           prompt  
       ,dffv.default_context_value         default_value  
       ,dffv.default_context_field_name    reference_field  
       ,dffv.context_required_flag         required  
       ,dffv.context_user_override_flag    displayed  
       ,dffv.context_synchronization_flag  synchronize_with_reference  
       ,dcont.descriptive_flex_context_code context_code  
       ,dcont.descriptive_flex_context_name context_name  
       ,dcont.description  
       ,dcont.enabled_flag  
       ,dfusg.column_seq_num           sequence_number  
       ,dfusg.end_user_column_name     segment_name  
       ,dfusg.form_left_prompt         segment_window_prompt  
       ,dfusg.application_column_name  segment_column  
       ,dfusg.enabled_flag  
       ,dfusg.display_flag  
       ,vset.flex_value_set_name      value_set  
       ,vset.*  
 from  apps.fnd_descriptive_flexs_vl     dffv  
      ,apps.fnd_descr_flex_contexts_vl   dcont  
      ,apps.fnd_descr_flex_col_usage_vl  dfusg  
      ,apps.fnd_flex_value_sets          vset  
 where dffv.descriptive_flexfield_name     = dcont.descriptive_flexfield_name  
 and   dcont.descriptive_flexfield_name    = dfusg.descriptive_flexfield_name(+)  
 and   dfusg.flex_value_set_id             = vset.flex_value_set_id(+)  
 and   dcont.descriptive_flex_context_code = dfusg.descriptive_flex_context_code(+)  
 --and  dffv.title LIKE 'Common Lookups'                -- Uncomment and add your DFF Title  
 --and  dffv.application_table_name LIKE 'GL_TAX_CODES' -- Uncomment and add your Table Name  
 order by dffv.application_id  
         ,dffv.title  
         ,dcont.descriptive_flex_context_code  
         ,decode(dfusg.enabled_flag, 'Y', 1, 'N', 2)  
         ,dfusg.column_seq_num  



Feel free to point out if anything is missing/wrong in this blog.

Wednesday 7 June 2017

Oracle Apps: Query to get the details of a Table Type ValueSet

The below query gives the full details of a Table Type Valueset in Oracle eBusiness. The last column gives the actual query which gets executed by the Valueset.

 select ffvs.flex_value_set_id  
       ,ffvs.flex_value_set_name  
       ,ffvs.description  
       ,decode(ffvs.longlist_flag  
              ,'Y', 'Long List of Values'  
              ,'N', 'List of Values'  
              ,'X', 'Poplist') list_type  
       ,decode(ffvs.security_enabled_flag  
              ,'N' ,'No Security'  
              ,'H' ,'Hierarchical Security'  
              ,'Y' ,'Non-Hierarchical Security') security_type  
       ,decode(ffvs.format_type  
              ,'C' ,'Char'  
              ,'D' ,'Date'  
              ,'T' ,'DateTime'  
              ,'N' ,'Number'  
              ,'X' ,'Standard Date'  
              ,'Y' ,'Standard DateTime'  
              ,'I' ,'Time') format_type  
       ,ffvs.maximum_size  
       ,ffvs.number_precision precision
       ,decode(ffvs.alphanumeric_allowed_flag  
              ,'N', 'Y'  
              ,'Y', 'N') numbers_only  
       ,ffvs.uppercase_only_flag uppercase_only  
       ,ffvs.numeric_mode_enabled_flag right_justify_and_zero_fill  
       ,ffvs.minimum_value min_value  
       ,ffvs.maximum_value max_value  
       ,decode(ffvs.validation_type  
              ,'I' ,'Independent'  
              ,'D' ,'Dependent'  
              ,'N' ,'None'  
              ,'P' ,'Pair'  
              ,'U' ,'Special'  
              ,'F' ,'Table'  
              ,'X' ,'Translatable Independent'  
              ,'Y' ,'Translatable Dependent') validation_type  
       ,(select application_name   
         from fnd_application_vl x   
         where x.application_id = ffvt.table_application_id) table_application  
       ,ffvt.application_table_name table_name  
       ,ffvt.value_column_name  
       ,decode(ffvt.value_column_type  
              ,'V', 'Varchar2'  
              ,'N', 'Number'  
              ,'C', 'Char'  
              ,'D', 'Date') value_column_type  
       ,ffvt.value_column_size  
       ,ffvt.meaning_column_name  
       ,decode(ffvt.meaning_column_type  
              ,'V', 'Varchar2'  
              ,'N', 'Number'  
              ,'C', 'Char'  
              ,'D', 'Date') meaning_column_type  
       ,ffvt.meaning_column_size  
       ,ffvt.id_column_name  
       ,decode(ffvt.id_column_type  
              ,'V', 'Varchar2'  
              ,'N', 'Number'  
              ,'C', 'Char'  
              ,'D', 'Date') id_column_type  
       ,ffvt.id_column_size  
       ,ffvt.additional_where_clause  
       ,ffvt.additional_quickpick_columns  
       ,('select ' ||NVL(value_column_name,NULL)   ||', '  
                   ||NVL(meaning_column_name,NULL) ||', '  
                   ||NVL(id_column_name,NULL)      ||' '||  
         'from '  || ffvt.application_table_name   ||' '||  
         'where ' || decode(upper(substr(ltrim(to_char(ffvt.additional_where_clause)),0,5))  
                           ,'WHERE', substr(to_char(ffvt.additional_where_clause),6)  
                           ,to_char(ffvt.additional_where_clause)) )valueset_query  
 from  apps.fnd_flex_value_sets        ffvs  
      ,apps.fnd_flex_validation_tables ffvt  
 where ffvs.flex_value_set_id = ffvt.flex_value_set_id  
 and   ffvs.flex_value_set_name = 'XXAJ_VALUESET'; -- Replace the valuesetname  

This query is helpful when we need to find out all the value sets which is using a particular profile_option or another valueset or a specific table etc...


Add the below where clause to the above query to find out all the valuesets which uses a specific value in the whereclause.

 and  ffvt.additional_where_clause like '%AJ%'; -- Replace the value with the string you want to search for.  








Feel free to point out if anything is missing/wrong in this blog.

Saturday 3 June 2017

Oracle Apps: PA_TASKS Hierarchy Query to get all the tasks in Project /Template in the correct order

The below query can be used to get the PA Tasks in a hierarchical order which belongs to a Project/Template which is defined in the Project Accounting Module.

Thanks to Sajeer Omar.

Replace the below hardcoded values before executing :
Project/Template ID

 select x.project_id  
       ,x.task_id  
       ,(lpad(' ',(wbs_level-1)*5,' ')||x.task_number) task_number  
       ,x.parent_task_id  
       ,x.top_task_id  
       ,x.wbs_level  
       ,sys_connect_by_path(x.task_id, '/')  
 from  pa_tasks x  
 where x.project_id = 1 -- Project/Template ID  
 connect by prior x.task_id = x.parent_task_id  
 start with x.parent_task_id is null  
 order by sys_connect_by_path(x.task_id, '/');  


Feel free to point out if anything is missing/wrong in this blog.