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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : mai 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut suppression d'une ligne de table et changer le champ Clé après la suppression
    Bonjour Je suis débutant en abap ,j'ai un problème j'ai une table Empl et je l'ai remplis elle possède comme champs: Num_empl que j’incrémente automatiquement et les champ Nom,prénom ,adresse
    Maintenant mon problème quand je veux supprimer une ligne de cette table je veux modifier le champ num_emp après la suppression de la ligne.
    par exemple si j'ai 05 employés dans la table et je supprime
    le 03 ème employé je veux remettre le Num_empl qui est égale a 4 avant la suppression à 3 et celui du 5 à 4.
    j'ai un bouton Delete voici Le code: ah j'ai oublié de mentionner que j’utilise la table de contrôle (TC200)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    MODULE delete_0200 INPUT.
    
     IF SY-UCOMM = 'FCT_DELETE'.
       READ TABLE Int_ZEMPL INTO Wa_ZEMPL INDEX TC200-CURRENT_LINE.
               if X EQ 'X'.
                     DELETE FROM ZEMPL WHERE NUM_EMPL = Wa_ZEMPL-NUM_EMPL.
           
              ENDIF.
    
       ENDIF.
    ENDMODULE.
    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de Celdrøn
    Homme Profil pro
    Consultant SAP
    Inscrit en
    juillet 2007
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : juillet 2007
    Messages : 598
    Points : 944
    Points
    944
    Par défaut
    Bonjour,

    En toute logique, il suffit de boucler sur la table à partir de l'indice de table supprimer et de décrémenter la valeur du champ.
    En gros, ça donnerait un truc comme ça à peu près.

    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
    module delete_0200 input.
       if SY-UCOMM = 'FCT_DELETE'.
           read table Int_ZEMPL into Wa_ZEMPL index TC200-CURRENT_LINE.  "L'utilisation de structure est déconseillé, privilégier les field-symbols ou les références
               if X eq 'X'.
                     delete from ZEMPL where NUM_EMPL = Wa_ZEMPL-NUM_EMPL.
    
                     loop at Int_ZEMPL from TC200-CURRENT_LINE reference into data(go_empl).
                     
                         go_empl->Num_empl -= 1.
    
                     endloop.
           
              endif.
    
       endif.
    endmodule.
    Boaf...signature <= ça suffira ça ??

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : mai 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour Celdron
    je suis désolé pour le retard car j’étais malade.
    Merci beaucoup pour ton aide mais je vais essayer Ton conseille pour Field Symbole malgré que je n'ai pas de connaissance mais je vais voir les tutos
    Merci.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/12/2007, 10h14
  2. comment se positionner sur une ligne de table mysql ?
    Par pas30 dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/01/2007, 14h43
  3. Mettre une ligne de table a blanc
    Par elgigante dans le forum WinDev
    Réponses: 4
    Dernier message: 04/01/2007, 14h07
  4. taille max de nb de caractère dans une ligne de table mysql
    Par zidenne dans le forum Administration
    Réponses: 1
    Dernier message: 01/09/2006, 12h04
  5. Imposer a Access l'écrasement d'une ligne de table
    Par 3lyxir dans le forum Access
    Réponses: 7
    Dernier message: 18/05/2006, 15h39

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