IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAGE Discussion :

X3 : Nomenclature


Sujet :

SAGE

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 51
    Points : 34
    Points
    34
    Par défaut X3 : Nomenclature
    Bonjour,
    Comment faire un requette pour visualiser la nomenclature d'un article.
    Merci d'avence

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projets Informatiques (ERP / WEB / .NET)
    Inscrit en
    Juillet 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets Informatiques (ERP / WEB / .NET)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 144
    Points : 189
    Points
    189
    Par défaut Requete Nomenclature
    Bonjour,

    tu as deux tables importantes pour la nomenclature, BOM (Nomenclature Entete) et BOMD pour le détail.

    Cordialement,
    Frédéric.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Nomenclature
    Bonjour,
    J'essayé de lancé la requette ci-dessous, mais il ne ramène pas tous les niveaux
    select itmref_0,cpnitmref_0,level
    from BOMD
    start with itmref_0 = 'MONARTICLE'
    connect by prior cpnitmref_0 = itmref_0
    order by itmref_0;


    D'avance Merci

  4. #4
    Membre habitué
    Homme Profil pro
    Chef de projets Informatiques (ERP / WEB / .NET)
    Inscrit en
    Juillet 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets Informatiques (ERP / WEB / .NET)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 144
    Points : 189
    Points
    189
    Par défaut Syntaxe de la requete
    Citation Envoyé par adil99 Voir le message
    Bonjour,
    J'essayé de lancé la requette ci-dessous, mais il ne ramène pas tous les niveaux
    select itmref_0,cpnitmref_0,level
    from BOMD
    start with itmref_0 = 'MONARTICLE'
    connect by prior cpnitmref_0 = itmref_0
    order by itmref_0;


    D'avance Merci
    Bonjour,

    j'avoue ne pas trop comprendre d'où vient ta syntaxe, tu es sur ORACLE ?

    J'aurais plus vu cette syntaxe :
    SELECT ITMREF_0,CPNITMREF_0 FROM BOMD WHERE CPNITMREF_0 = 'MONARTICLE'

    CPNITMREF_0 : Article Parent
    ITMREF_0 : Article composant

    Cordialement,
    Frédéric

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 191
    Points : 147
    Points
    147
    Par défaut
    il y a pas une inversion dans ton connect

    Un exemple chez nous avec d'autres champs, mais c'est pareil

    select level,compose,compose_des1,compose_alt,composant,composant_des1,composant_cat,qte
    from
    (select bomd.itmref_0 compose,a.itmdes1_0 compose_des1,bomd.bomalt_0 compose_alt,
    bomd.cpnitmref_0 composant,b.itmdes1_0 composant_des1,b.tclcod_0 composant_cat,bomd.bomqty_0 qte,bomd.bomenddat_0,bomd.bomseq_0
    from bomd,itmmaster a,itmmaster b
    where a.itmref_0= bomd.itmref_0
    and b.itmref_0= bomd.cpnitmref_0)
    start with compose='mon_article' and compose_alt=mon_alternative
    connect by compose = prior composant
    order by level;

    Mais je trouve que les requêtes sont longues lorsqu'on a beaucoup de nomenclatures et d'alternatives.

    C'est pour cela que nous faisons tourner un programme en batch qui va mettre dans une table les nomenclatures à plat. Les requêtes ensuite sont simples

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 51
    Points : 34
    Points
    34
    Par défaut X3 Administration
    Citation Envoyé par howto Voir le message
    il y a pas une inversion dans ton connect

    Un exemple chez nous avec d'autres champs, mais c'est pareil

    select level,compose,compose_des1,compose_alt,composant,composant_des1,composant_cat,qte
    from
    (select bomd.itmref_0 compose,a.itmdes1_0 compose_des1,bomd.bomalt_0 compose_alt,
    bomd.cpnitmref_0 composant,b.itmdes1_0 composant_des1,b.tclcod_0 composant_cat,bomd.bomqty_0 qte,bomd.bomenddat_0,bomd.bomseq_0
    from bomd,itmmaster a,itmmaster b
    where a.itmref_0= bomd.itmref_0
    and b.itmref_0= bomd.cpnitmref_0)
    start with compose='mon_article' and compose_alt=mon_alternative
    connect by compose = prior composant
    order by level;

    Mais je trouve que les requêtes sont longues lorsqu'on a beaucoup de nomenclatures et d'alternatives.

    C'est pour cela que nous faisons tourner un programme en batch qui va mettre dans une table les nomenclatures à plat. Les requêtes ensuite sont simples


    Howto
    C'est quoi le champ mon_alternative dans la synataxe " and compose_alt=mon_alternative ", je ne touve pas dans la table BOMD
    Merci

  7. #7
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 191
    Points : 147
    Points
    147
    Par défaut
    Citation Envoyé par adil99 Voir le message
    Howto
    C'est quoi le champ mon_alternative dans la synataxe " and compose_alt=mon_alternative ", je ne touve pas dans la table BOMD
    Merci
    "mon_alternative" va correspondre au N° de l'alternative que tu va vouloir extraire, cela va correspondre au champ bomd.bomalt_0. Par exemple cela va être "start with compose='x1000' and compose_alt=10"

  8. #8
    Membre éclairé
    Homme Profil pro
    Administrateur X3 - Sage 1000
    Inscrit en
    Janvier 2012
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur X3 - Sage 1000

    Informations forums :
    Inscription : Janvier 2012
    Messages : 573
    Points : 811
    Points
    811
    Par défaut
    Si j'ai bien tout compris, tu souhaites avoir une nomenclature multi niveau à partir d'un produit (article) de haut niveau.
    J'ai fait ça mais ça ne fonctionne qu'en oracle à partir de la version 10 (de mémoire), à toi de l'adapter à ton besoin

    Il faut bien sûr modifier la ligne START WITH ITMREF_0 = 'code produit fini haut niveau ' en mettant ton code article de haut niveau

    Nota : je l'ai simplifiée au maximum pour qu'elle te serve de base de départ : j'ai supprimé la gestion des dates de validité, la gestion des alternatives,....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SELECT LEVEL as niveau, BOMSEQ_0, ITMREF_0, CPNITMREF_0, LIKQTY_0, BOMALTTYP_0, BOMALT_0, CONNECT_BY_ROOT ITMREF_0 as topLevelID, SYS_CONNECT_BY_PATH (CPNITMREF_0,'/') as chemin ,
    SYS_CONNECT_BY_PATH(LIKQTY_0,'*') as qteTotal
    FROM BOMD bd
    
    START WITH ITMREF_0 = 'code produit fini haut niveau '
    and BOMALT_0=1
    and bd.bomalt_0=1
    and bd.BOMALTTYP_0=2
    and bd.CPNTYP_0<>7
    
    
    
    CONNECT BY PRIOR CPNITMREF_0 =ITMREF_0 
    and BOMALT_0=1
    and bd.bomalt_0=1
    and bd.BOMALTTYP_0=2
    and bd.CPNTYP_0<>7

  9. #9
    Membre éclairé
    Homme Profil pro
    Administrateur X3 - Sage 1000
    Inscrit en
    Janvier 2012
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur X3 - Sage 1000

    Informations forums :
    Inscription : Janvier 2012
    Messages : 573
    Points : 811
    Points
    811
    Par défaut
    Citation Envoyé par howto Voir le message
    C'est pour cela que nous faisons tourner un programme en batch qui va mettre dans une table les nomenclatures à plat. Les requêtes ensuite sont simples
    Intéressant !!!
    C'est un spécifique en L4G ?

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    Merci

  11. #11
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 191
    Points : 147
    Points
    147
    Par défaut
    Citation Envoyé par jeromecha Voir le message
    Intéressant !!!
    C'est un spécifique en L4G ?
    Oui c'est du langage X3 on en profite pour récupérer d'autres informations sur les articles, articles site, article client, qté vendues,qté sorties,.....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nomenclature du fichier alert
    Par elharet dans le forum Oracle
    Réponses: 5
    Dernier message: 28/02/2007, 11h32
  2. Problème de nomenclature
    Par ameno_123 dans le forum Bases de données
    Réponses: 5
    Dernier message: 07/02/2007, 16h27
  3. [MCD] Gestion d'une nomenclature et des ensembles
    Par Corben dans le forum Schéma
    Réponses: 6
    Dernier message: 06/10/2006, 18h04
  4. Réponses: 4
    Dernier message: 30/06/2006, 11h25
  5. Réponses: 11
    Dernier message: 11/07/2003, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo