Hello,
I got a solution for dtlHier. Maybe this is not useful for your issue but was helpfull for me.
First you must create a factory (in my case: 2 factories). Don't worry, you don't' need use WSP for that. Just copy the following files to directory MAJIC and recycles the enviroment.
Patch: NX_ROOT\site\mods\majic
File: zPcat_cr_TIN.mod
OBJECT pcat {
FACTORY zPcat_cr_TIN {
STANDARD_LISTS {
SORT_BY "sym" ;
WHERE "delete_flag = 0 AND cr_flag = 1" ;
MLIST OFF ;
RLIST OFF ;
};
REL_ATTR persistent_id ;
COMMON_NAME sym ;
FUNCTION_GROUP "call_mgr_reference" ;
};
};
File: zPcat_IN_TIN.mod
OBJECT pcat {
FACTORY zPcat_in_TIN {
STANDARD_LISTS {
SORT_BY "sym" ;
WHERE "delete_flag = 0 AND in_flag = 1" ;
MLIST OFF ;
RLIST OFF ;
};
REL_ATTR persistent_id ;
COMMON_NAME sym ;
FUNCTION_GROUP "call_mgr_reference" ;
};
};
Look the object. The new factories points to the object pcat. It works like a view of the pcat's factory. After recycling you can check in WSP if the new objects are listed.
After restart, copy the files bellow and publish.
hiersel_pcat_cr to hiersel_zPcat_CR_TIN;
hiersel_pcat_in to hiersel_zPcat_IN_TIN;
hierload_pcat_cr to hierload_zPcat_CR_TIN
hierload_pcat_in to hierload_zPcat_IN_TIN
Then, in the details_forms ("detail_in" and "detail_cr") you can point dtlHier to new factories, as the following example:
<PDM_MACRO name=dtlHier hdr="Categoria da Solicitação TIC INTERNA (Área)" attr=category evt="onChange=\\\"change_category_func('cr',null,'zPcat_cr_TIN')\\\"" factory=zPcat_cr_TIN>
After published, when you click in this field, you will see the newer hierload/hiersel.
You can modify these forms for your specific needs, adding other parameters in PDM_LIST:
<PDM_LIST PREFIX=list FACTORY=zPcat_in_TIN WHERE="${args.KEEP.HierWc:} AND zProcesso.code = 'TIN' AND in_flag = 1"
HIER_KEY="$args.KEEP.HierKey">
Of course, it doesn't solve the relation between the fields "IC" and "Category", but maybe it can show you the way.