Difference between revisions of "Queries: AD"
From iDempiere en
Ngordon7000 (talk | contribs) m |
CarlosRuiz (talk | contribs) (Sessions run during the actual year) |
||
| Line 418: | Line 418: | ||
<nowiki>select releaseno,created,name,status,isapply,filename, script from ad_migrationscript order by releaseno, name;</nowiki> | <nowiki>select releaseno,created,name,status,isapply,filename, script from ad_migrationscript order by releaseno, name;</nowiki> | ||
| + | |||
| + | = Session = | ||
| + | |||
| + | == Sessions run during the actual year == | ||
| + | |||
| + | <syntaxhighlight lang="sql"> | ||
| + | SELECT | ||
| + | c.name AS clientname, | ||
| + | s.created, | ||
| + | u.name AS username, | ||
| + | s.remote_addr, | ||
| + | s.processed, | ||
| + | CASE | ||
| + | WHEN s.processed = 'Y' THEN s.updated-s.created | ||
| + | ELSE NULL | ||
| + | END AS duration, | ||
| + | r.name AS rolename | ||
| + | FROM ad_session s | ||
| + | JOIN ad_client c ON (s.ad_client_id = c.ad_client_id) | ||
| + | JOIN ad_user u ON (u.ad_user_id = s.createdby) | ||
| + | JOIN ad_role r ON (r.ad_role_id = s.ad_role_id) | ||
| + | WHERE s.created>date_trunc('year', now()) | ||
| + | ORDER BY s.ad_session_id DESC | ||
| + | </syntaxhighlight> | ||
| + | |||
''This page is brought to you by [http://www.ntier.co.za nTier Software Services]. Feel free to improve directly or suggest using the Discussion tab. | ''This page is brought to you by [http://www.ntier.co.za nTier Software Services]. Feel free to improve directly or suggest using the Discussion tab. | ||
Revision as of 18:00, 31 March 2021
Client
select ad_client_id,value,name from ad_client order by ad_client_id; select ad_client_id from ad_client where name like 'A%';
Windows
Windows referencing a specific process
select name from ad_window where ad_window_id in ( select ad_window_id from ad_tab where ad_process_id in ( select ad_process_id from ad_process where value = 'processname') );
Window
select * from ad_window a where a.ad_window_id=id
Tab
select * from ad_tab a where a.ad_window_id=id select distinct a.whereclause from ad_tab a
select b.name as WindowName from ad_tab a join ad_window b on a.ad_window_id = b.ad_window_id where a.ad_table_id = (select ad_table_id from ad_table where name='tablename');
Field information
Field
select a.* from ad_field a join ad_tab b on a.ad_tab_id=b.ad_tab_id where b.ad_window_id=id
Combining Window, tab, field
As a view
drop view if exists zz_fieldinfo_v; create view zz_fieldinfo_v as select tabtable.tablename as table_name, tabtable.entitytype as table_entitytype, fld.isdisplayed as field_isdisplayed, fld.seqno as field_seqno, fld.name as field_name, col.columnname as column_name, fld.displaylogic as field_display_logic, fld.readonlylogic as field_readonly_logic, tab.name as tab_name, win.name as WindowName, win.ad_window_id, tab.ad_tab_id, tab.isactive as tab_isactive, fld.ad_field_uu, fld.ad_field_id, fld.iscentrallymaintained as field_centrallymaintained, fld.ismandatory as field_ismandatory, fld.mandatorylogic as field_mandatorylogic, col.ad_element_id, ele.name as element_name, ref.name as ref_name, refvalue.name as ref_value, refvalue.ad_reference_id, reftabletbl.tablename as ref_table, col.created as column_created, col.updated as column_updated, fld.created as field_created, fld.updated as field_updated, fld.ad_val_rule_id as field_val_rule_id from ad_field fld join ad_tab tab on fld.ad_tab_id = tab.ad_tab_id join ad_table tabtable on tabtable.ad_table_id = tab.ad_table_id join ad_window win on tab.ad_window_id = win.ad_window_id join ad_column col on fld.ad_column_id = col.ad_column_id join ad_element ele on ele.ad_element_id = col.ad_element_id left join ad_reference ref on col.ad_reference_id = ref.ad_reference_id left join ad_reference refvalue on col.ad_reference_value_id = refvalue.ad_reference_id left join ad_ref_table reftable on reftable.ad_reference_id = refvalue.ad_reference_id left join ad_table reftabletbl on reftabletbl.ad_table_id = reftable.ad_table_id order by win.name, tab.seqno, field_seqno; select field_display_name, field_ismandatory, field_mandatorylogic from zz_fieldinfo_v where windowname like 'C%' and field_mandatorylogic is not null;
Show fields by update date (useful to run after loading 2pack)
select column_updated, column_name, * from zz_fieldinfo_v order by column_updated desc;
Form
select a.entitytype, a.name, a.classname from ad_form a where a.entitytype='U' order by classname;
Table
Table
select a.* from ad_table a order by a.created desc; select a.* from ad_table a where a.ad_table_id in (id, id) (select ad_table_id from ad_table where tablename='tablename') delete from ad_table where ad_table_id in (select ad_table_id from ad_table where tablename='tablename');
Table Columns
select a.name, a.columnname, a.created from ad_column a join ad_element b on a.ad_element_id=b.ad_element_id where a.ad_table_id in ((select ad_table_id from ad_table where tablename='tablename')) order by a.name; --order by a.created desc;
Menu
SELECT m.name, mm.* FROM AD_TreeNodeMM mm left join ad_menu m on mm.node_id = m.ad_menu_id WHERE mm.AD_Tree_ID=1000171 and mm.parent_id=0;
Update entity type
update ad_column set entitytype='U' where ad_column_id=3510;
Callout
select a.ad_column_id,tbl.tablename, a.columnname,a.name, a.callout from ad_column a join ad_table tbl on a.ad_table_id = tbl.ad_table_id where a.callout is not null and a.callout like '%bPartner%' --and tbl.tablename = 'C_BankStatementLine' order by tbl.tablename, a.callout, a.name; --order by a.updated desc;
Update callout
update ad_column set callout = 'org.compiere.model.CalloutInvoiceNew.bPartner' where ad_column_id = 3499;
References
select * from ad_ref_list where ad_reference_id in ( select ad_reference_id from ad_reference where name = 'Ref Name' ); - Incomplete: left join ad_reference ref on ref.name = 'ZZ_Status' left join ad_ref_list reflist on reflist.ad_reference_id = ref.ad_reference_id and reflist.value = perm.zz_status
For use in Jasper Report to lookup reference name
( SELECT rl.name FROM ad_ref_list rl WHERE ((rl.ad_reference_id = (select ad_reference_id from ad_reference where name = 'my ref name')::numeric) AND ((rl.value)::text = (v.ice_fuel_type)::text))) AS field_name
Validation Rules
select ad_val_rule_id, name, code from ad_val_rule where upper(code) like upper('%quota%');
Elements
select b.* from ad_column a join ad_element b on a.ad_element_id=b.ad_element_id where a.ad_table_id in (1000153, 1000152, 1000154, 1000156)
Report and process
select * from ad_process order by created desc;
select ad_process_id, value, name,description, classname, jasperreport from ad_process where upper(value) like upper('%') order by value;
select * from ad_process_para where ad_process_para_id = 1000000;
select columnname, name, defaultvalue from ad_process_para where ad_process_id = 1000000 order by seqno;
update ad_process_para set defaultvalue='1' where ad_process_id = 1000000 and columnname = 'columname'; --Sequence
Deletion
Delete all fields on window
delete from ad_field where ad_tab_id in ( select ad_tab_id from ad_tab where ad_window_id in ( select ad_window_id from ad_window where name like 'Name of window' ) );
Delete all fields on tab
1. delete from ad_field where ad_tab_id in ( select ad_tab_id from ad_tab where name = 'tabname' and ad_window_id in ( select ad_window_id from ad_window where name = 'Name of window' ) ); 2. delete from ad_tab where ad_tab_id in ( select ad_tab_id from ad_tab where ad_window_id in ( select ad_window_id from ad_window where ad_window_uu in ( 'REPLACEWITHWINDOWUUHERE' ) ) ); 3. delete from ad_field where ad_tab_id in ( select ad_tab_id from ad_tab where ad_tab_uu in ( 'REPLACEWITHWINDOWUUHERE' ) );
Delete all occurences of column from windows
delete from ad_field where ad_column_id in
( select ad_column_id from ad_column where upper(columnname) like upper('zz_nbsm_matchsetup_id') )
Delete index definitions on table
- NB: Indexes not dropped automatically
delete from ad_indexcolumn where AD_TableIndex_ID in (select ad_tableindex_id from ad_tableindex where ad_table_id = 318); delete from AD_TableIndex where ad_table_id = 318;
Sequences
update ad_sequence a set CURRENTNEXTSYS =13000 where a.name = 'name';
Doctype
select c_doctype_id from c_doctype where name = 'DocumentName'
Attachments
All pack-in attachments
select * from ad_attachment where ad_table_id = 50008 and record_id in ( select AD_Package_Imp_Proc_id from AD_Package_Imp_Proc where name like '%%' );
Synchronize Translations
An example:
update ad_process_trl a set name = b.name, description = b.name from ad_process b where a.ad_process_id = b.ad_process_id and b.name = 'Process Name';
Translations
Various helpers (work in progress)
select ad_message_id, value, msgtext, msgtip from ad_message where upper(msgtext) like upper('%login%') order by msgtext;
drop view if exists zz_trl_helper_field_v;
create or replace view zz_trl_helper_field_v as
select
main.ad_field_id,
trl.ad_language, trl.ad_field_trl_uu,
main.ad_field_uu, main.name as field_name, main.description as main_description,
trl.name as trl_name, trl.description as trl_description,
win.name as window_name,
col.columnname
from
ad_field main
join ad_field_trl trl on trl.ad_field_id = main.ad_field_id
join ad_column col on col.ad_column_id = main.ad_column_id
join ad_tab tab on tab.ad_tab_id = main.ad_tab_id
join ad_window win on win.ad_window_id = tab.ad_window_id;
select * from zz_trl_helper_field_v where ad_language in ( '' ) and columnname = '';
update ad_field_trl set name = 'name', description = 'name' where ad_field_trl_uu in (
select ad_field_trl_uu from zz_trl_helper_field_v where ad_language in ( '' ) and columnname = ''
);
select main.ad_process_id, trl.ad_language, trl.ad_process_para_trl_uu, main.name, main.description, trl.name, trl.description from
ad_process_para main
join ad_process_para_trl trl on trl.ad_process_para_id = main.ad_process_para_id
where
ad_process_id in ( select ad_process_id from ad_process where name like '' );
select main.ad_column_id, trl.ad_language, trl.ad_column_trl_uu, main.columnname, main.name, main.description, trl.name from
ad_column main
join ad_column_trl trl on trl.ad_column_id = main.ad_column_id
where
trl.ad_language in ( 'en_ZA' ) and
main.ad_column_id in ( select ad_column_id from ad_column where columnname like '' );
select main.ad_element_id, trl.ad_language, trl.ad_element_trl_uu, main.columnname, main.name, main.description, trl.name, trl.description from
ad_element main
join ad_element_trl trl on trl.ad_element_id = main.ad_element_id
where
trl.ad_language in ( 'en_ZA' ) and
main.ad_element_id in ( select ad_element_id from ad_element where columnname like '' );
select main.ad_menu_id, main.ad_menu_uu, trl.ad_language, trl.ad_menu_trl_uu, main.name, main.description, trl.name, trl.description from
ad_menu main
join ad_menu_trl trl on trl.ad_menu_id = main.ad_menu_id
where
trl.ad_language in ( 'en_ZA' ) and
main.ad_menu_id in ( select ad_menu_id from ad_menu where name like '' );
-- For 2pack (sync UUID's)
update ad_menu_trl
set ad_menu_trl_uu = '521bf63c-c0ab-40ac-a188-fe7cfd0a9612'
from ad_menu b
where
ad_menu_trl.ad_menu_id = b.ad_menu_id
and b.ad_menu_uu = 'ccf0fc37-76cc-4a3c-8e1c-80d4c28e695a';
Pack out
Backup AD information before running 2pack
select * into bk_rq16_process from ad_process; select * into bk_rq16_table from ad_table; select * into bk_rq16_column from ad_column; select * into bk_rq16_window from ad_window; select * into bk_rq16_tab from ad_tab; select * into bk_rq16_field from ad_field; select * into bk_rq16_reference from ad_reference; select * into bk_rq16_ref_table from ad_ref_table; select * into bk_rq16_ref_list from ad_ref_list;
Delete all fields + tabs on windows (for Pack In)
- Helps to ensure is packed in correctly
delete from ad_tab_customization where ad_tab_id in ( select ad_tab_id from ad_tab where ad_window_id in ( select ad_window_id from ad_window where name in ( 'nameOfWindow' ) )); ) );
- See also under the heading: 'Deletion'
Packout/Packin package details
select hdr.name, det.created, det.updated, det.ad_package_exp_id, det.AD_Package_Exp_Detail_id, det.line, det.description, det.dbtype, det.sqlstatement, det.ad_table_id, tbl.tablename from AD_Package_Exp_Detail det join AD_Package_Exp hdr on hdr.ad_package_exp_id = det.ad_package_exp_id left join ad_table tbl on tbl.ad_table_id = det.ad_table_id; order by updated desc; select updated, hdr.name, hdr.description from AD_Package_Exp hdr order by updated desc; select updated, hdr.name, hdr.description from AD_Package_Imp hdr order by updated desc; -- For searching for tables linked to packouts select hdr.name, det.created, det.updated, det.ad_package_exp_id, det.AD_Package_Exp_Detail_id, det.line, det.description, det.dbtype, det.sqlstatement, det.ad_table_id, tbl.tablename from AD_Package_Exp_Detail det join AD_Package_Exp hdr on hdr.ad_package_exp_id = det.ad_package_exp_id left join ad_table tbl on tbl.ad_table_id = det.ad_table_id;
Duplicate key error when importing AD_Message
- unique constraint (...AD_MESSAGE_TRL_KEY) violated
delete from ad_message_trl WHERE AD_Message_ID= ( SELECT ad_message_id FROM ad_message WHERE value='KEYOFMESSAGE' );
Pack in/out helpers
Delete all fields on a window/tab
delete from ad_tab where ad_tab_id in ( select ad_tab_id from ad_tab where ad_window_id in ( select ad_window_id from ad_window where ad_window_uu in ( 'REPLACEWITHWINDOWUUHERE' ) ) );
Delete all ad_userquery of window/tab process
delete from ad_userquery where ad_tab_id in ( select ad_tab_id from ad_tab where ad_window_id in ( select ad_window_id from ad_window where ad_window_uu in ( 'REPLACEWITHWINDOWUUHERE') ));
Delete all ad_customization of window/tab
delete from ad_tab_customization where ad_tab_id in ( select ad_tab_id from ad_tab where ad_window_id in ( select ad_window_id from ad_window where ad_window_uu in ( 'REPLACEWITHWINDOWUUHERE') ));
Delete all attachments of process
delete from ad_attachment where record_id in ( select ad_process_id from ad_process where value like '%MYPROCESSKEY%' ) and ad_table_id = (select ad_table_id from ad_table where tablename='AD_Process');
Migration scripts
Which migration scripts have been run
select releaseno,created,name,status,isapply,filename, script from ad_migrationscript order by releaseno, name;
Session
Sessions run during the actual year
SELECT
c.name AS clientname,
s.created,
u.name AS username,
s.remote_addr,
s.processed,
CASE
WHEN s.processed = 'Y' THEN s.updated-s.created
ELSE NULL
END AS duration,
r.name AS rolename
FROM ad_session s
JOIN ad_client c ON (s.ad_client_id = c.ad_client_id)
JOIN ad_user u ON (u.ad_user_id = s.createdby)
JOIN ad_role r ON (r.ad_role_id = s.ad_role_id)
WHERE s.created>date_trunc('year', now())
ORDER BY s.ad_session_id DESC
This page is brought to you by nTier Software Services. Feel free to improve directly or suggest using the Discussion tab.
