- Core Logic Enhancements:
- Implement bidirectional field referencing between <FIELDS>, <LAYOUT>, and <TITLES> tags in .frml files, enabling seamless navigation from definitions to usages and vice versa.
- Add robust support for AJAX-OPTION field mapping:
- SRC attribute: Links to field definitions within defs/ajax.xml datasets.
- TARGET attribute: Links to local field definitions within the same form.
- Implement global grid resolution: GRID-ID now searches across the current file and all recursively included files (<INCLUDE>).
- Enhance deep recursive search for fields/sections within nested tags like <SECTION>, <ROW>, and <FIELD-LIST>.
- Path Resolution & Helpers (DynFormPathUtils):
- Added support for module-relative paths starting with # (mapping to view/frm/).
- Added support for cross-module paths starting with / (mapping to WEB-INF/app/module/{module}/view/frm/).
- Implemented auto-correction for common keyboard typos (Thai 'ิ' instead of /).
- Added specialized helpers for locating ajax.xml and included files within the framework's structure.
- Smart Completion Enhancements:
- Added context-aware completion for TARGET and SRC fields in AJAX update-fields.
- Enabled global GRID-ID completion by scanning all included resources.
- Improved dataset completion to include both local and AJAX-defined datasets.
- Test Resources:
- Added a comprehensive set of real-world examples (bdgt04, bdgt05, bdgt06) in DevResources/full-examples/ to validate complex cross-module and master-detail scenarios.
201 lines
4.6 KiB
XML
201 lines
4.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<DATASETS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/ajax.xsd">
|
|
<DATASET ID="DS-PROJECT-02">
|
|
<SCHEMA>BUD</SCHEMA>
|
|
<TABLEDESC>Main Activity</TABLEDESC>
|
|
<MAXROWS>100</MAXROWS>
|
|
<SQL>
|
|
<SELECT>SELECT PJM.PJM_CODE
|
|
, PJM.PJM_NAME
|
|
, PJM.PJM_JOB_TYPE
|
|
, PJM.PJM_WORK_PLAN
|
|
, PJM.PJM_PRODUCT
|
|
, PJM.PJM_GROUP_PLAN
|
|
, PJM.PJM_JOB_PROJECT
|
|
, PJM.PJM_STRATEGY
|
|
, PJM.PJM_ACTIVE
|
|
</SELECT>
|
|
<FROM>FROM PROJECT_M PJM</FROM>
|
|
<WHERE>
|
|
WHERE (PJM.PJM_CODE LIKE '%'||:SEARCH||'%' OR PJM.PJM_NAME LIKE '%'||:SEARCH||'%')
|
|
</WHERE>
|
|
<GROUP/>
|
|
<ORDER/>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
<DATASET ID="DS-ACTIVITY-02">
|
|
<SCHEMA>BUD</SCHEMA>
|
|
<TABLEDESC>Main Activity</TABLEDESC>
|
|
<MAXROWS>100</MAXROWS>
|
|
<SQL>
|
|
<SELECT>
|
|
SELECT ACM_CODE
|
|
, ACM_NAME
|
|
, NODE_LEVEL
|
|
, MAIN_NODE
|
|
, ACM_UNIT
|
|
, ACM_START_YEAR
|
|
, ACM_END_YEAR
|
|
, STM_CODE
|
|
, JBT_CODE
|
|
, JBP_CODE
|
|
, EXP_CODE
|
|
, PJM_CODE
|
|
, STG_CODE
|
|
, NODE_TYPE
|
|
, DECODE(NODE_TYPE,'C','true','') disabled
|
|
</SELECT>
|
|
<FROM>FROM BGT.V_ACTIVITY_TREE ACM</FROM>
|
|
<WHERE>
|
|
WHERE 0=0
|
|
AND (:DV_YEAR BETWEEN ACM_START_YEAR AND ACM_END_YEAR)
|
|
-- AND (ACM.STM_CODE = '%' OR ACM.STM_CODE = :STM_CODE)
|
|
AND (ACM.ACM_CODE LIKE '%'||:SEARCH||'%' OR ACM.ACM_NAME LIKE '%'||:SEARCH||'%')
|
|
</WHERE>
|
|
<GROUP/>
|
|
<ORDER/>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
<DATASET ID="DS-BUDGET-02">
|
|
<SCHEMA>BUD</SCHEMA>
|
|
<TABLEDESC>Main Activity</TABLEDESC>
|
|
<MAXROWS>100</MAXROWS>
|
|
<SQL>
|
|
<SELECT>
|
|
SELECT BGD.BGM_CODE
|
|
, BGD.BGM_NAME
|
|
, BGD.BGM_EXPENSE_TYPE
|
|
, BGD.BGM_UNIT
|
|
, BGD.BGM_UNIT_RATE
|
|
, BGD.BGM_ACTIVE
|
|
, BGD.BGM_PREPARE
|
|
</SELECT>
|
|
<FROM>FROM BUDGET_M BGD</FROM>
|
|
<WHERE>
|
|
WHERE (BGD.BGM_CODE LIKE '%'||:SEARCH||'%' OR BGD.BGM_NAME LIKE '%'||:SEARCH||'%')
|
|
</WHERE>
|
|
<ORDER>ORDER BY BGM_CODE</ORDER>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
<DATASET ID="DS-STTGY-GROUP-02">
|
|
<SCHEMA>APP</SCHEMA>
|
|
<SQL>
|
|
<SELECT>SELECT RFG_GRP
|
|
, RFC_CODE
|
|
, RFC_DESC
|
|
, RFC_FLAG
|
|
, RFC_ORDER
|
|
</SELECT>
|
|
<FROM>FROM REFER_CODE</FROM>
|
|
<WHERE>WHERE (RFG_GRP = 'STG-ITEMS')
|
|
AND (RFC_CODE LIKE '%'||:SEARCH||'%' OR RFC_DESC LIKE '%'||:SEARCH||'%')</WHERE>
|
|
<ORDER>ORDER BY RFC_CODE</ORDER>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
<DATASET ID="DS-STTGY-ITEMS-02">
|
|
<SCHEMA>APP</SCHEMA>
|
|
<SQL>
|
|
<SELECT>SELECT RFG_GRP
|
|
, RFC_CODE
|
|
, RFC_DESC
|
|
, RFC_FLAG
|
|
, RFC_ORDER
|
|
</SELECT>
|
|
<FROM>FROM REFER_CODE</FROM>
|
|
<WHERE>WHERE (RFG_GRP = :RFG_GRP)
|
|
AND (RFC_CODE LIKE '%'||:SEARCH||'%' OR RFC_DESC LIKE '%'||:SEARCH||'%')</WHERE>
|
|
<ORDER>ORDER BY RFC_CODE</ORDER>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
|
|
<DATASET ID="DS-ACTIVITY-02-BDGT">
|
|
<SCHEMA>BUD</SCHEMA>
|
|
<TABLEDESC>Main Activity</TABLEDESC>
|
|
<MAXROWS>100</MAXROWS>
|
|
<SQL>
|
|
<SELECT>
|
|
SELECT ACM_CODE
|
|
, ACM_NAME
|
|
, NODE_LEVEL
|
|
, MAIN_NODE
|
|
, ACM_UNIT
|
|
, ACM_START_YEAR
|
|
, ACM_END_YEAR
|
|
, STM_CODE
|
|
, JBT_CODE
|
|
, JBP_CODE
|
|
, EXP_CODE
|
|
, PJM_CODE
|
|
, STG_CODE
|
|
, NODE_TYPE
|
|
, DECODE(NODE_TYPE,'C','true','') disabled
|
|
</SELECT>
|
|
<FROM>FROM BGT.V_ACTIVITY_TREE ACM</FROM>
|
|
<WHERE>
|
|
WHERE 0=0
|
|
AND (:DV_YEAR BETWEEN ACM_START_YEAR AND ACM_END_YEAR)
|
|
-- AND (ACM.STM_CODE = '%' OR ACM.STM_CODE = :STM_CODE)
|
|
AND (ACM.ACM_CODE LIKE '%'||:SEARCH||'%' OR ACM.ACM_NAME LIKE '%'||:SEARCH||'%')
|
|
</WHERE>
|
|
<GROUP/>
|
|
<ORDER/>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
<DATASET ID="DS-BUDGET-02-BDGT">
|
|
<SCHEMA>APP</SCHEMA>
|
|
<TABLEDESC>Main Activity</TABLEDESC>
|
|
<MAXROWS>100</MAXROWS>
|
|
<SQL>
|
|
<SELECT>
|
|
SELECT BGM.BGM_CODE
|
|
, BGM.BGM_NAME
|
|
, BGM.EXP_TYPE
|
|
, BGM.BGM_UNIT
|
|
, BGM.BGM_UNIT_RATE
|
|
, BGM.BGM_SEQ
|
|
, BGM.NODE_LEVEL
|
|
, BGM.MAIN_NODE
|
|
, DECODE(NODE_TYPE,'C','true','') disabled
|
|
</SELECT>
|
|
<FROM>FROM V_BUDGET_TREE BGM</FROM>
|
|
<WHERE>
|
|
WHERE (BGM.BGM_CODE LIKE '%'||:SEARCH||'%' OR BGM.BGM_NAME LIKE '%'||:SEARCH||'%')
|
|
</WHERE>
|
|
<ORDER>ORDER BY BGM_SEQ</ORDER>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
|
|
|
|
<DATASET ID="DS-EQUIPT-BUDGET">
|
|
<SCHEMA>APP</SCHEMA>
|
|
<TABLEDESC>Main Activity</TABLEDESC>
|
|
<MAXROWS>100</MAXROWS>
|
|
<SQL>
|
|
<SELECT>
|
|
SELECT BGM.BGM_CODE
|
|
, BGM.BGM_NAME
|
|
, BGM.EXP_TYPE
|
|
, BGM.BGM_UNIT
|
|
, BGM.BGM_UNIT_RATE
|
|
, BGM.BGM_SEQ
|
|
, BGM.NODE_LEVEL
|
|
, BGM.MAIN_NODE
|
|
, DECODE(NODE_TYPE,'C','true','') disabled
|
|
</SELECT>
|
|
<FROM>FROM V_BUDGET_TREE BGM</FROM>
|
|
<WHERE>
|
|
WHERE (BGM_CODE LIKE '3.1%')
|
|
AND (BGM.BGM_CODE LIKE '%'||:SEARCH||'%' OR BGM.BGM_NAME LIKE '%'||:SEARCH||'%')
|
|
</WHERE>
|
|
<ORDER>ORDER BY BGM_SEQ</ORDER>
|
|
</SQL>
|
|
</DATASET>
|
|
|
|
</DATASETS> |