Plantage validation de dossier V6 V12 - Alimentation Tables U*

SOLVED

Bonjour,

Je suis en train de migrer un dossier V6 et V12.

Toutes les étapes ont été respectées (Param db SQL ; import console).

J'ai lancé la validation de dossier et le processus plante au moment de copier le contenu des tables U* sur les tables V12 standard (traitements TRTMIG*).

Voici le message :

====================================================

Process Start on SETMA BUD UBUD U01

Validation de la table UBUD

COPY DATA FROM BUD TO UBUD ...

<0001 @X3.TRT/TRTMIG$adx (999)

<0001 Erreur 76 : Erreur SQL Server

<0001 [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name 'CCE4_0'.

<0001 INSERT INTO SETMA.

<0001 UBUD(

Toutes les tables U* créent un plantage global, et la migration ne peut aboutir.

Pouvez-vous m'apporter de l'aide svp, car je tourne en rond ?

Merci

Gilles

  • 0

    Bonjour,
    Ce problème a déjà été rencontré chez d'autres clients et est probablement lié à des données manquantes dans la table BUD du dossier à migrer (V6 dans votre cas).
    Dans les cas reportés il s'agissait du champs LED qui était vide alors qu'il est obligatoire dans la table BUD.
    Si c'est aussi le cas pour cette migration, la solution la plus simple est d'alimenter les LED manquants de la table UBUD en gardant la cohérence comptable. 

  • 0

    Bonjour  

    Comment avez vous résolu ce problème, nous avons exactement le même problème sur une migration V6-V12 avec les tables en U non complètes, ils manquent des champs présents dans les tables miroirs en V12

    Cordialement

  • 0 in reply to Vincent Labat

     il ne 'agit pas d'un problème de données mais de structure des tables en U, celle ci ne sont pas identiques aux tables de la V12 du coup la requête SQL plante car des champs présents dans la table "origine" n existent pas dans la table en U

    la création des tables en U doit se faire après la mise a jour des tables V12, si elles se créent avant y'a forcement un décalage sur le nombre de champs

  • +1
    verified answer

    Le problème vient que X3 a utilisé des traitements de la V6 pour générer ces tables ==> supprimer tous les traitements standards dans le dossier fils qui n'ont pas lieu d'être et relancer la migration du début. 

    Pour avancer sa migration quand même voici un script qui permet d'ajouter les champs manquants dans ces tables:

    ###################################################################################
    #Script permettant de completer les tables U de migration par les champs manquants
    #AEF 08/10/2024 Probleme sur migration V6 - V12 (solution contournement blocage) 
    ###################################################################################
    
    Local Char DOSSIER(30) : DOSSIER = nomap
    If !GSERVEUR
      Call SAIDOSHIS(DOSSIER,"") From SAIDOSHIS
    Endif
    If DOSSIER <> ""
      If clalev([F:ADS])=0  Local File ADOSSIER [ADS] : Endif
      If func DOSSUB.FILL_ADS([L]DOSSIER)=0 : End : Endif
      If !GSERVEUR
        Call TEMPON("O") From GESECRAN
        Call OUVRE_TRACE("UUMAJTABLEU Modification Tables U V12") From LECFIC
      Endif
    
      Call MAJ_UUMAJTABLEU(DOSSIER)
    
      If !GSERVEUR
        Call TEMPOFF     From GESECRAN
        Call FERME_TRACE From LECFIC
        Call LEC_TRACE From LECFIC
      Endif
    Endif
    End
    
    
    Subprog MAJ_UUMAJTABLEU(DOSSIER)
    Value Char DOSSIER
    Local Integer ERR
    #verification des tables et champs
    If clalev([F:ZATZ])  = 0 : Local File =DOSSIER+".ATABZON"      [ZATZ]  : Endif
    
    If clalev([F:UATZ])  = 0 : Local File =DOSSIER+".ATABZON"      [UATZ]  : Endif
    If clalev([F:UATB])  = 0 : Local File =DOSSIER+".ATABLE"      [UATB]  : Endif
    
    local char WTABORIGINE
    For [F:UATB] where CODACT='MIG'
    		#enlever le premier caractere U
    		WTABORIGINE=right$([F:UATB]CODFIC,2)
    		if [F:UATB]CODFIC='UTMFACILIT'  : WTABORIGINE='ITMFACILIT'  : Endif
    		if [F:UATB]CODFIC='UDELIVERYD'  : WTABORIGINE='SDELIVERYD'  : Endif
    		if [F:UATB]CODFIC='UERREQUEST'  : WTABORIGINE='SERREQUEST'  : Endif
    		if [F:UATB]CODFIC='UPORDERU'    : WTABORIGINE='PORDER'      : Endif
    		if [F:UATB]CODFIC='UPORDERPU'   : WTABORIGINE='PORDERP'     : Endif
    		if [F:UATB]CODFIC='UPORDERQU'   : WTABORIGINE='PORDERQ'     : Endif
    		if [F:UATB]CODFIC='UPORDERCU'   : WTABORIGINE='PORDERC'     : Endif
    		if [F:UATB]CODFIC='UUPORDERU'   : WTABORIGINE='UPORDER'     : Endif
    		if [F:UATB]CODFIC='UUPORDERPU'  : WTABORIGINE='UPORDERP'    : Endif
    		if [F:UATB]CODFIC='UUPORDERQU'  : WTABORIGINE='UPORDERQ'    : Endif
    		if [F:UATB]CODFIC='UUPORDERCU'  : WTABORIGINE='UPORDERC'    : Endif
    		if [F:UATB]CODFIC='UVCRINVCND'  : WTABORIGINE='SVCRINVCND'  : Endif
    		if [F:UATB]CODFIC='UVCRINVCNDD' : WTABORIGINE='SVCRINVCNDD' : Endif
    		if [F:UATB]CODFIC='UONTAINERD'  : WTABORIGINE='CONTAINERD'  : Endif
    
    		Call ECR_TRACE("Trt table "+DOSSIER-[F:UATB]CODFIC-WTABORIGINE,0) From GESECRAN
    		For [F:ZATZ]CODZONE where [F:ZATZ]CODFIC=WTABORIGINE
    
    			#verifie les champs manquants et on les ajoute si besoin
    			Read [F:UATZ]CODZONE=[F:UATB]CODFIC;[F:ZATZ]CODZONE
    			If fstat
    				Call ECR_TRACE("	Ajout zone table "+DOSSIER-[F:UATB]CODFIC-[F:ZATZ]CODZONE,0) From GESECRAN
    				Call MIGADDCOL (DOSSIER,[F:UATB]CODFIC,[F:ZATZ]CODZONE,[F:ZATZ]CODTYP,[F:ZATZ]LONG,[F:ZATZ]DIME,ERR) From TRTMIG
    			Endif
    
    			#Ajout de colonne se fait avec le code activite MIG par defaut ce qui possede probleme si le champ doit etre multi dimension ou inactif
    			#activite different il faut mettre celui de la table d origine
    			Read [F:UATZ]CODZONE=[F:UATB]CODFIC;[F:ZATZ]CODZONE
    			If !fstat and [F:UATZ]CODACT<>[F:ZATZ]CODACT
    				Call ECR_TRACE("	Maj zone code activité "+DOSSIER-[F:UATB]CODFIC-[F:ZATZ]CODZONE,0) From GESECRAN
    				Trbegin [F:UATZ]
    				[F:UATZ]CODACT=[F:ZATZ]CODACT
    				Rewrite [F:UATZ]
    				Commit
    				
    			Endif
    		next
    		#Call ECR_TRACE("Validation table "+DOSSIER-[F:UATB]CODFIC,0) From GESECRAN
    		Call MIGVALTAB(DOSSIER,[F:UATB]CODFIC,ERR)   From TRTMIG
    		
    Next
    
    End

  • Bonjour  ,

    Merci pour cette information partagée avec les membres de la communauté.

    Nul doute que cela aidera nos utilisateurs ! 

    Edwin

  • +1 in reply to x3Pro.co
    verified answer

    Bonjour,

    Autre solution  : avant de commencer la migration du dossier, exécuter le traitement TRTMIGDEL (Développement / Utilitaires / Divers / Exécuter traitement) en précisant le dossier à migrer : il supprime toutes ces tables en "U" qui ont servies à la migration précédentes.

    Il faut ensuite remettre le code activité MIG à OUI sur le dossier à migrer.

    Bonne journée,

    Danielle