Development > Utilities > Patches > Patch test 

When specific/custom developments are carried out by modifying the standard element, the lowest level element that has been modified must be protected by an activity code beginning with X, Y or Z (for example, the screen field rather than the section or the screen itself). In addition, the use of an activity code is not necessary when SPE or SPX actions (or they start with X, Y or Z) are used in a screen.

There remains only one such development requiring verification on the installation of standard patches in a modified folder. In fact it is necessary to assure that the patched elements are not in conflict with the modified elements (in this case, the elements, protected by an activity code, are not patched, and this can cause problems).

This function is used to carry out in an automatic fashion, a detection of potential conflicts linked to a group of patch files located in a directory. More precisely, it carries out the following:

* it reads all the patches found in a directory

* for each patched object, it looks to see if there is a potential conflict due to a custom /specific activity code (except if the custom/specific activity code has been placed at the head of the patch such as prior to being deleted)

* it generates a log file detailing the possible conflicts.

In this way, when specific/custom developments have been carried out, and a single standard patch list (or specific/custom) must be installed, it is sufficient to start this function:

* if no collisions are detected, the is normally little or no risk (if the specific/custom development standards have been correctly followed).

* if there are conflicts, it is necessary to focus on the detected conflicts.

If several patch lists must be installed, it is possible to copy (at the time of the test) all the corresponding files in the same directory: the tester has a limit of for testing of 1000 patch files simultaneously.

The tests made are the following:

* the screens, tables, objects, functions, data types, enquiries, windows, actions, patched and globally protected by an activity code.

* the fields and the sections in a screen, the options and variables in a function, the fields and the index in a table, the buttons in a window, the left lists (browser tab), tabs, and tables linked in an object, when these elements are protected by an activity code without the level above having it.

* the processes and reports locally installed in a folder for which the patch risks being ineffective.

The conflict linked to the custom/specific activity codes (starting with X, Y or Z) are all detected, except those corresponding to the activity codes given in the patch header (as is the case in a specific/custom patch, the patch will be applied).

In order to allow this type of test when the update has not been carried out by the patch file installation, but by the installation of a new sub-versions, a list of files named List_nn.dat will be found from the version 134 CD, in dedicated directories (the sub-directories P132, P133, P134… of the directory named X3patch), and which does not contain the nn patch list, but only the list of objects affected by the patch list, all of which to facilitate the identification of potential conflicts existing in a list. The following example explains the utilisation :

* imagine that the folder that is to be updated to version 134, is at version 132 patched to the level 12 list.

* the upgrade to version 134 requires the installation of patched 13 to 18 (those which are required to upgrade to version 133: the corresponding List_nn files are in the directory X3patch\P133on the CD), and the 19 to 31 (those that are required for the upgrade to version 134 : the corresponding List_nn files are found in the X3patch\P134 directory on the CD).

* it is sufficient to copy the List_13.dat to List_31.dat files to a temporary directory, then use the patch test function by giving a name to this directory. If the conflicts are highlighted, the element in conflict will be in the log file along with the corresponding list number; it will be possible to test the list in question to provide further information.

Warning, this utility only provide information on potential conflicts, it is not capable of identifying what should be modified in the element in order that all works correctly. On the other hand it is possible to carryout tests on the contentious elements by using the comparison function on the corresponding elements between a patched and a non-patched function.

Screen management

A single dialogue screen appears on launching this function.

Entry screen

Presentation

The following information is entered here :

* the directory in which are found the patch files to be tested. These files are tested in ascending alphabetic order, remembering that it is imperative that they are named with an extension .dat.

* the folders in which the test should be carried out.

The launch can now be started. An example of a log file that can be generated is given below.

Close

 

Fields

The following fields are present on this tab :

File

  • field AW

 

  • Destination type (field TYPEXP)

 

  • Patch (field VOLFIL)

 

Table Folders

Used to give a list of folders in which the test will be carried out.

Close

 

Log file example

Errors in patch P_1252_130 in the DEMO folder: Modification for the DEB

  The FUNDEB.adx process present in the folder will not be updated by the patch.

 

Errors in patch P_1263_130 in the DEMO folder: DEB Modification

  The FUNDEB.adx process present in the folder will not be updated by the patch.

 

Errors in patch T_0001_130 in the DEMO folder:

The BAL enquiry protected by the ZDA activity code will not be updated by the patch.

  The Crystal Report ATRACE.rpt report present in the folder will not be updated by the patch.

  The ZDOMANA.adx process present in the folder will not be updated by the patch.

  The ZPATCHTST.adx process present in the folder will not be updated by the patch.

The BPC0 mask protected by the ZDA activity code will not be updated by the patch.

  Mask BPC1 : The block 2 protected by the ZDA activity code will not be updated by the patch.

  Mask BPC1 : The (4,4) INVDTAAMT field protected by the ZDA activity code will not be updated by the patch.

  Mask BPC1 : The (4,5) WWCUR field protected by the ZDA activity code will not be updated by the patch.

  Table BPCUSTOMER : The (4) BPCTYP field protected by the ZDA activity code will not be updated by the patch.

  Table BPCUSTOMER : The BPC1 (2) index protected by the ZDA activity code will not be updated by the patch.

  Object BPC : The BPC1 (3) tab protected by the ZDA activity code will not be updated by the patch.

  Object BPC : The BPC3 (5) tab protected by the ZDA activity code will not be updated by the patch.

  Object BPC : The table linked to the (2) BPADDRESS protected by the ZDA activity code will not be updated by the patch.

  Object BPC : The table linked to the (6) TABCUR protected by the ZDA activity code will not be updated by the patch.

  Object BPC : The browser (1) BPC line protected by the ZDA activity code will not be updated by the patch.

The BPC data type protected by the ZDA activity code will not be updated by the patch.

The GESBPC function protected by the ZDA activity code will not be updated by the patch.

The ADSVAL action protected by the ZDA activity code will not be updated by the patch.

The CLOPER report definition protected by the ZDA activity code will not be updated by the patch.

  The Crystal Report ATRACE.rpt report present in the folder will not be updated by the patch.

Batch task

This function can be executed in batch mode, but no dedicated standard task is delivered to execute it.

Error messages

The only error messages are the generic ones.

Tables used

SEEREFERTTO Refer to documentation Implementation