x10 migration

Aide à la migration X.9->X.10

A partir de la version :

Date

Auteur

Commentaire

A partir de la version :

Date

Auteur

Commentaire

X.9

26/05/2023

JLF

 

Articles et unités en X.10

La création d’un article géré en stock sans unités n’est plus permise .

 

Grille transporteur (T027) en x.10

Le champ POIB ( au format 8,3 ) est remplacer par le champ TRANCHE ( 12,3)
Un script de migration transfert le champ POIB vers le champs TRANCHE

 

Table SOC, nouvelle colonne ZONEPARAM en x.10 (ex ENTCODN)

La table SOC en X.9 comporte 974 colonnes, proche de la limite fixé par Microsoft pour un table SQL.

Les développements spécifiques dans USOC pouvais être dangereusement compromis par cette limites, notamment dans le cadre des surcharges multiples.

La solution technique qui a été adoptée est de transférer un ensemble de champs de SOC dans un nouveau champ ZONEPARAM assortie de leur non visibilité SQL.

les conséquence techniques sont :

  • l’utilisation en langage SQL d’un champs masqué devra être adapté :

SOC.ENTCODN(1) à converti en SUBSTRING(Dossier.ZONEPARAM,1,1) .

Le tableau ENTCODN à volontairement été mis en début de ZONEPARAM pour garder une similitude entre l’indice et sa position en SUBSTRING

  • L’utilisation de SOC.ENTCODN est toujours possible si la table SOC est public dans le RecordSql

    • Exemple :

  • L’utilisation de SOC.ENTCODN est toujours possible en DIVA car la structure SOC est multi-niveau donc les sous niveau de ZONEPARAM sont visible et manipulable.

Le nombre de colonnes dans SOC grâce a cette manipulation est retombé à 346.

Accès aux champs de la ZONEPARAM via SQL:

  • Accès à un champ “simple”

Par exemple si on veut accéder au champ InvImpPagCod

SUBSTRING(SOC.ZONEPARAM, Position_début_dico , 1)

En appliquant cette formule à notre exemple on obtient : SUBSTRING(SOC.ZONEPARAM, 535, 1)

 

  • Accès à un champ dans un tableau

Par exemple si on veut accéder à l’indice n°5 du champ ConfEnr2

SUBSTRING(SOC.ZONEPARAM, (Position_début_dico + Indice souhaité - 1) , 1)

En appliquant cette formule à notre exemple on obtient :

SUBSTRING(SOC.ZONEPARAM, (514 + 5 - 1), 1) soit au final SUBSTRING(SOC.ZONEPARAM, 518, 1)