Aşağıdaki sql ile uygulamada kayıtlı bütün profil değerlerini bulabiliriz. Bu sayede eski değiştirdiğim profili ve değerini bulabildim. Bu script'in genel olarak kullanışlı olduğunu düşünüyorum çünkü bu sayede sisteme yüklenen ve kontrol edilmesi istenen profiller ve değerleri kolayca bulunabilinirler.
Script'de istenen başka değerleri sonuçları kısarak aramak için aşağıda comment'li olan yerlerde bazı kısımların commentlerini ihtiyacınıza göre kaldırabilirsiniz.
select p.profile_option_name SHORT_NAME, n.user_profile_option_name NAME,
decode(v.level_id, 10001, 'Site', 10002, 'Application',
10003, 'Responsibility', 10004, 'User', 10005, 'Server',
10007, 'SERVRESP', 'UnDef') LEVEL_SET,
decode(to_char(v.level_id), '10001', '',
'10002', app.application_short_name,
'10003', rsp.responsibility_key,
'10005', svr.node_name,
'10006', org.name,
'10004', usr.user_name,
'10007', 'Serv/resp',
'UnDef') "CONTEXT",
v.profile_option_value VALUE
from fnd_profile_options p,
fnd_profile_option_values v,
fnd_profile_options_tl n,
fnd_user usr,
fnd_application app,
fnd_responsibility rsp,
fnd_nodes svr,
hr_operating_units org
where p.profile_option_id = v.profile_option_id (+)
and p.profile_option_name = n.profile_option_name
and upper(n.user_profile_option_name) like upper('%&profile_name%')
and usr.user_id (+) = v.level_value
and rsp.application_id (+) = v.level_value_application_id
and rsp.responsibility_id (+) = v.level_value
and app.application_id (+) = v.level_value
and svr.node_id (+) = v.level_value
and org.organization_id (+) = v.level_value
-- Buradaki ayarda eğer profil değerlerini biliyorsak tırnak içerisine
-- istediğimiz değeri atayabiliriz.
-- and v.profile_option_value=' '
-- Hangi level'da olduğunu da ayarlayabilmek için gereklidir.
-- Eğer aradığımız profilin hangi level için set edildiğini biliyorsak buradan
-- o level comment'ini kaldırırız.
--and v.level_id='10001' -- Site
--and v.level_id='10002' -- Application
--and v.level_id='10003' -- Responsibility
--and v.level_id='10004' -- User
--and v.level_id='10005' -- Server
order by short_name, level_set;
Değerleri bulduktan sonra sıra o profili yeni değerinden daha küçük bir değere geri döndürmeye gelmişti. Bunun için de aşağıdaki scripti kullandım. Bu script sayesinde OAM dashboard'una girmeden işimi halledebildim. Aşağıdaki script ile ayrıca klon alımı gibi durumlarda hızlıca kurumsal değişiklikler yapılabilinir.
DECLARE
stat boolean;
BEGIN
dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('profil_adı', 'profil_degeri', 'seviyesi');
IF stat THEN
dbms_output.put_line( 'Stat = profile guncellendi' );
ELSE
dbms_output.put_line( 'Stat = HATA - profile guncellenmedi' );
END IF;
commit;
END;
/
Örnek Kullanım:
DECLARE
stat boolean;
BEGIN
dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('GL_DEBUG_MODE', 'No', 'SITE');
IF stat THEN
dbms_output.put_line( 'Stat = profile guncellendi' );
ELSE
dbms_output.put_line( 'Stat = HATA - profile guncellenmedi' );
END IF;
commit;
END;
/
Hiç yorum yok:
Yorum Gönder