Skip to main content

100614: entitycopy("idf:uxfield.dict",...) doesn't export all information

  • June 14, 2019
  • 5 replies
  • 0 views

Compared to the export of the complete form,
it looks like the export of UXFIELD via entitycopy doesn't include all the properties.
The test below doesn't show all missing information, but narrows the problem area.

Uli

The form export has (loss by entitycopy in bold):

<OCC>

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">4</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="IS_STATIC">T</DAT>

<DAT name="IS_CONTROL">F</DAT>

<DAT name="DATA_SYNTAX">NED,NPR</DAT>

<DAT name="U_INT">C2</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>

while the entitycopy has only:

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">1</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>


5 replies

  • June 15, 2019

Compared to the export of the complete form,
it looks like the export of UXFIELD via entitycopy doesn't include all the properties.
The test below doesn't show all missing information, but narrows the problem area.

Uli

The form export has (loss by entitycopy in bold):

<OCC>

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">4</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="IS_STATIC">T</DAT>

<DAT name="IS_CONTROL">F</DAT>

<DAT name="DATA_SYNTAX">NED,NPR</DAT>

<DAT name="U_INT">C2</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>

while the entitycopy has only:

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">1</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>


190615 10:27 same information loss when using /CPY from the commandline (10.3.02.008)

looks live a severe issue


Michael Taylor

Compared to the export of the complete form,
it looks like the export of UXFIELD via entitycopy doesn't include all the properties.
The test below doesn't show all missing information, but narrows the problem area.

Uli

The form export has (loss by entitycopy in bold):

<OCC>

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">4</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="IS_STATIC">T</DAT>

<DAT name="IS_CONTROL">F</DAT>

<DAT name="DATA_SYNTAX">NED,NPR</DAT>

<DAT name="U_INT">C2</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>

while the entitycopy has only:

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">1</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>


Hi Uli,

This seems to be the mapping for the migration.

try this command line

/cpy idf:uxfield.dict xml: #

The # overrides the mapping and tells uniface to use the descriptor instead.

Regards,

Mike


  • June 17, 2019

Compared to the export of the complete form,
it looks like the export of UXFIELD via entitycopy doesn't include all the properties.
The test below doesn't show all missing information, but narrows the problem area.

Uli

The form export has (loss by entitycopy in bold):

<OCC>

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">4</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="IS_STATIC">T</DAT>

<DAT name="IS_CONTROL">F</DAT>

<DAT name="DATA_SYNTAX">NED,NPR</DAT>

<DAT name="U_INT">C2</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>

while the entitycopy has only:

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">1</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>


I asked a couple of friends to check my findings and Gianni Sandigliano came up with an additional observation:


Then the result you've required:

comparing two uxfield sections, 4 fields are missing into uxfield:

<DAT name="IS_STATIC">F</DAT>
<DAT name="IS_CONTROL">F</DAT>
<DAT name="DATA_SYNTAX">NED,NPR</DAT>
<DAT name="U_INT">C2</DAT>

and UMVERSION field value is different being 4 for exported version and 1 for copied version

<DAT name="UMVERSION">4</DAT>
vs.
<DAT name="UMVERSION">1</DAT>

I feel it is confirming what you've published on uniface.info. Considering /cpy is obtained from analyzed model, probably something is remaing old into USYS structure.

Please take in consideration my component ULI_TEST_NM_FRM was just created into U10 directly; in other words: it was NOT migrated from U9!



  • June 17, 2019

Compared to the export of the complete form,
it looks like the export of UXFIELD via entitycopy doesn't include all the properties.
The test below doesn't show all missing information, but narrows the problem area.

Uli

The form export has (loss by entitycopy in bold):

<OCC>

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">4</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="IS_STATIC">T</DAT>

<DAT name="IS_CONTROL">F</DAT>

<DAT name="DATA_SYNTAX">NED,NPR</DAT>

<DAT name="U_INT">C2</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>

while the entitycopy has only:

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">1</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>


: Hi Mike, I will have a look if the suggested workaround helps on the entitycopy.

Thanks for your fast reply,
Uli


  • June 17, 2019

Compared to the export of the complete form,
it looks like the export of UXFIELD via entitycopy doesn't include all the properties.
The test below doesn't show all missing information, but narrows the problem area.

Uli

The form export has (loss by entitycopy in bold):

<OCC>

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">4</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="IS_STATIC">T</DAT>

<DAT name="IS_CONTROL">F</DAT>

<DAT name="DATA_SYNTAX">NED,NPR</DAT>

<DAT name="U_INT">C2</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>

while the entitycopy has only:

<DAT name="ULABEL">P_ADD2SET</DAT>

<DAT name="GRP">HEADER</DAT>

<DAT name="UBASE">USYS</DAT>

<DAT name="UFORM">U8Y_TUT_D1</DAT>

<DAT name="UKVERSION">6</DAT>

<DAT name="UMVERSION">1</DAT>

<DAT name="U_DTYP">S</DAT>

<DAT name="UINHERIT">F</DAT>

<DAT name="USCRIPT" xml:space='preserve'>trigger detail

call &lt;$entname&gt;_dispatch_TRIGGERS("&lt;$fieldname&gt;","DTLF")

end

</DAT>

<DAT name="INITVALUE" xml:space='preserve'>%2 add entity to actual set</DAT>

<DAT name="FRM_WIDGETTYPE">UNIFACEBUTTON</DAT>

<DAT name="DSP_WIDGETTYPE">EDITBOX</DAT>

<DAT name="USP_WIDGETTYPE">U_INPUT</DAT>

</OCC>


To use the suggested workaround


/cpy idf:uxfield.dict xml: #

with entitycopy, we have to add to the last argument (which is the optionlist)

map=#

so as long there is no patch for this issue, we have to use this construct
and document why we used this mapping directive because this should be default behaviour