Some Useful SQL Queries

Query to search Responsibility by Concurrent program name
SELECT frt.responsibility_name,                frg.request_group_name,                frg.description  FROM fnd_request_groups frg             ,fnd_request_group_units frgu             ,fnd_concurrent_programs fcp             ,fnd_concurrent_programs_tl fcpt             ,fnd_responsibility_tl frt             ,fnd_responsibility frs WHERE frgu.unit_application_id = fcp.application_id AND   frgu.request_unit_id = fcp.concurrent_program_id AND   frg.request_group_id = frgu.request_group_id AND   frg.application_id = frgu.application_id AND   fcpt.source_lang = USERENV('LANG') AND   fcp.application_id = fcpt.application_id AND   fcp.concurrent_program_id = fcpt.concurrent_program_id AND   frs.application_id = frt.application_id AND   frs.responsibility_id = frt.responsibility_id AND   frt.source_lang = USERENV('LANG') AND   frs.request_group_id = frg.request_group_id AND   frs.application_id = frg.application_id AND   fcp.concurrent_program_name = <shortname> AND   fcpt.user_concurrent_program_name LIKE <User concurrent program>>


Query to get the request group for a given responsibilitySELECT DISTINCT FRT.RESPONSIBILITY_NAME,                FMT.USER_MENU_NAME,                FAT.APPLICATION_NAME,                (SELECT REQUEST_GROUP_NAME
                   FROM APPS.FND_REQUEST_GROUPS FRG
                  WHERE FRG.APPLICATION_ID = FR.APPLICATION_ID
                    AND FRG.REQUEST_GROUP_ID = FR.REQUEST_GROUP_ID) REQUET_GRP
  FROM APPS.FND_RESPONSIBILITY_TL FRT,       APPS.FND_RESPONSIBILITY    FR,       APPS.FND_MENUS_TL          FMT,       APPS.FND_MENUS             FM,       APPS.FND_APPLICATION_TL    FAT,       APPS.FND_APPLICATION       F FA WHERE FRT.RESPONSIBILITY_ID(+) = FR.RESPONSIBILITY_ID
   AND FRT.RESPONSIBILITY_NAME = '&Responsibility name'   AND FR.MENU_ID = FMT.MENU_ID
   AND FR.MENU_ID = FM.MENU_ID
   AND FAT.APPLICATION_ID = FA.APPLICATION_ID
   AND FA.APPLICATION_ID = FR.APPLICATION_ID
   AND FRT.LANGUAGE = 'US'   AND FAT.LANGUAGE = 'US';


Query 1: Select responsibility name along with application nameSELECT application_short_name ,frt.responsibility_id, frt.responsibility_nameFROM apps.fnd_responsibility_tl frt , fnd_application faWHERE fa.application_id = frt.application_id; Query 2: Get Menu name for Responsibility ID , You can find out responsibility_id from Query 1SELECT DISTINCT a.responsibility_name, c.user_menu_nameFROM apps.fnd_responsibility_tl a,apps.fnd_responsibility b,apps.fnd_menus_tl c,apps.fnd_menus d,apps.fnd_application_tl e,apps.fnd_application fWHERE a.responsibility_id(+) = b.responsibility_idAND a.responsibility_id = &resp_idAND b.menu_id = c.menu_idAND b.menu_id = d.menu_idAND e.application_id = f.application_idAND f.application_id = b.application_idAND a.LANGUAGE = 'US'; Query 3: Get User name and related assigned responsibilitiesSELECT distinct u.user_id, u.user_name user_name,r.responsibility_name responsiblity,a.application_name applicationFROM fnd_user u,fnd_user_resp_groups g,fnd_application_tl a,fnd_responsibility_tl rWHERE g.user_id(+) = u.user_idAND g.responsibility_application_id = a.application_idAND a.application_id = r.application_idAND g.responsibility_id = r.responsibility_idorder by 1;Query 4: Get Request Group associate with Responsibility NameSELECT responsibility_name responsibility, request_group_name,frg.descriptionFROM fnd_request_groups frg, fnd_responsibility_vl frvWHERE frv.request_group_id = frg.request_group_idORDER BY responsibility_name

Query 5: Gets Form personalization listingPersonalization is feature available in 11.5.10.X. For More detail on form Personalization Use Following Tables (Rule_id) is reference key for these tablesapplsys.fnd_form_custom_actionsapplsys.fnd_form_custom_scopesSELECT ffft.user_function_name “User Form Name”, ffcr.SEQUENCE,ffcr.description, ffcr.rule_type, ffcr.enabled, ffcr.trigger_event,ffcr.trigger_object, ffcr.condition, ffcr.fire_in_enter_queryFROM fnd_form_custom_rules ffcr, fnd_form_functions_vl ffftWHERE ffcr.ID = ffft.function_idORDER BY 1;

Query 6: Query to view the patch level status of all modulesSELECT a.application_name,DECODE (b.status, ‘I’, ‘Installed’, ‘S’, ‘Shared’, ‘N/A’) status,patch_levelFROM apps.fnd_application_vl a, apps.fnd_product_installations bWHERE a.application_id = b.application_id;

Query 7: SQL to view all request who have attached to a responsibilitySELECT responsibility_name , frg.request_group_name,fcpv.user_concurrent_program_name, fcpv.descriptionFROM fnd_request_groups frg,fnd_request_group_units frgu,fnd_concurrent_programs_vl fcpv,fnd_responsibility_vl frvWHERE frgu.request_unit_type = ‘P’AND frgu.request_group_id = frg.request_group_idAND frgu.request_unit_id = fcpv.concurrent_program_idAND frv.request_group_id = frg.request_group_idORDER BY responsibility_name;Query 8: SQL to view all requests who have attached to a responsibilitySELECT responsibility_name , frg.request_group_name,fcpv.user_concurrent_program_name, fcpv.descriptionFROM fnd_request_groups frg,fnd_request_group_units frgu,fnd_concurrent_programs_vl fcpv,fnd_responsibility_vl frvWHERE frgu.request_unit_type = ‘P’AND frgu.request_group_id = frg.request_group_idAND frgu.request_unit_id = fcpv.concurrent_program_idAND frv.request_group_id = frg.request_group_idORDER BY responsibility_name;Query 9: SQL to view all types of request Application wiseSELECT fa.application_short_name,fcpv.user_concurrent_program_name,description,DECODE (fcpv.execution_method_code,‘B’, ‘Request Set Stage Function’,‘Q’, ‘SQL*Plus’,‘H’, ‘Host’,‘L’, ‘SQL*Loader’,‘A’, ‘Spawned’,‘I’, ‘PL/SQL Stored Procedure’,‘P’, ‘Oracle Reports’,‘S’, ‘Immediate’,fcpv.execution_method_code) exe_method,output_file_type, program_type, printer_name,minimum_width,minimum_length, concurrent_program_name,concurrent_program_idFROM fnd_concurrent_programs_vl fcpv, fnd_application faWHERE fcpv.application_id = fa.application_idORDER BY descriptionQuery 10: SQL to view concurrent request processing time, quite usefulSELECT f.request_id , pt.user_concurrent_program_name user_concurrent_program_name, f.actual_start_date actual_start_date, f.actual_completion_date actual_completion_date,floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)|| ‘ HOURS ‘ ||floor((((f.actual_completion_date-f.actual_start_date)*24*60*60) -floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)*3600)/60)|| ‘ MINUTES ‘ ||round((((f.actual_completion_date-f.actual_start_date)*24*60*60) -floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)*3600 -(floor((((f.actual_completion_date-f.actual_start_date)*24*60*60) -floor(((f.actual_completion_date-f.actual_start_date)*24*60*60)/3600)*3600)/60)*60) ))|| ‘ SECS ‘ time_difference,DECODE(p.concurrent_program_name,’ALECDC’,p.concurrent_program_name||’['||f.description||']‘,p.concurrent_program_name) concurrent_program_name, decode(f.phase_code,’R',’Running’,'C’,'Complete’,f.phase_code) Phase, f.status_codeFROM apps.fnd_concurrent_programs p, apps.fnd_concurrent_programs_tl pt, apps.fnd_concurrent_requests fWHERE f.concurrent_program_id = p.concurrent_program_idand f.program_application_id = p.application_idand f.concurrent_program_id = pt.concurrent_program_idand f.program_application_id = pt.application_idAND pt.language = USERENV(‘Lang’)and f.actual_start_date is not nullORDER by f.actual_completion_date-f.actual_start_date desc;


SQL Queries for checking Profile Option Values
The following queries are useful to get the profile option values of a profile option at site, application, responsibility and user level
1) Obtain Profile Option values for Profile Option name like ‘%Ledger%’ and  Responsibility name like ‘%General%Ledger%’
SELECT
substr(pro1.user_profile_option_name,1,35) Profile,
decode(pov.level_id,
10001,'Site',
10002,'Application',
10003,'Resp',
10004,'User') Option_Level,
decode(pov.level_id,
10001,'Site',
10002,appl.application_short_name,
10003,resp.responsibility_name,
10004,u.user_name) Level_Value,
nvl(pov.profile_option_value,'Is Null') Profile_option_Value
FROM 
fnd_profile_option_values pov,
fnd_responsibility_tl resp,
fnd_application appl,
fnd_user u,
fnd_profile_options pro,
fnd_profile_options_tl pro1
WHERE
pro1.user_profile_option_name like ('%Ledger%')
and  pro.profile_option_name = pro1.profile_option_name
and  pro.profile_option_id = pov.profile_option_id
and  resp.responsibility_name like '%General%Ledger%' /* comment this line  if you need to check profiles for all responsibilities */
and  pov.level_value = resp.responsibility_id (+)
and  pov.level_value = appl.application_id (+)
and  pov.level_value = u.user_id (+)
order by 1,2;

2) Obtain all Profile Option values setup for a particular responsibility. Replace the responsibility name as per your requirement.
SELECT
substr(pro1.user_profile_option_name,1,35) Profile,
decode(pov.level_id,
10001,'Site',
10002,'Application',
10003,'Resp',
10004,'User') Option_Level,
decode(pov.level_id,
10001,'Site',
10002,appl.application_short_name,
10003,resp.responsibility_name,
10004,u.user_name) Level_Value,
nvl(pov.profile_option_value,'Is Null') Profile_option_Value
FROM 
fnd_profile_option_values pov,
fnd_responsibility_tl resp,
fnd_application appl,
fnd_user u,
fnd_profile_options pro,
fnd_profile_options_tl pro1
WHERE
pro.profile_option_name = pro1.profile_option_name
and  pro.profile_option_id = pov.profile_option_id
and  resp.responsibility_name like '%General%Ledger%'
and  pov.level_value = resp.responsibility_id (+)
and  pov.level_value = appl.application_id (+)
and  pov.level_value = u.user_id (+)
order by 1,2;


Similarly, you can tweak the above queries to obtain Profile Option Values set for a particular User or a particular application.



Query to find link between OU and Inv


SELECT hou.NAME operating_unit_name, hou.short_code,
hou.organization_id operating_unit_id, hou.set_of_books_id,
hou.business_group_id,
ood.organization_name inventory_organization_name,
ood.organization_code Inv_organization_code, ood.organization_id Inv_organization_id, ood.chart_of_accounts_id
FROM hr_operating_units hou, org_organization_definitions ood
WHERE 1 = 1 AND hou.organization_id = ood.operating_unit

ORDER BY hou.organization_id ASC

Comments

Popular posts from this blog

Difference Between MTS, ATO, MTO ,PTO ,CTO and ETO.

Receiving Receipts FAQ

Scheduling ,Reservations and ATP in Oracle Order management