Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > ERP > SAP
SAP Forum d'entraide sur SAP et sur la programmation avec le langage ABAP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2012, 11h22   #1
Membre régulier
 
Inscription : mars 2006
Messages : 198
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 198
Points : 83
Points : 83
Par défaut Suppression de lignes d'une table

Bonjour,

Je cherche un module fonction qui permet de supprimer les lignes d'une table (quelque soit la table) de la base de données.

Merci d'avance.
Hiraa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 11h51   #2
Membre expérimenté
 
Avatar de Celdrøn
 
Homme Celdrøn Valdersen
Consultant SAP
Inscription : juillet 2007
Messages : 438
Détails du profil
Informations personnelles :
Nom : Homme Celdrøn Valdersen
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : juillet 2007
Messages : 438
Points : 579
Points : 579
Envoyer un message via MSN à Celdrøn
Salut,

Sur une table standard c'est interdit, SAP reste maitre sur ses tables.

Sur une table spécifique c'est possible mais je ne connais pas de fonction. T'as une astuce en SE16N que je ne citerai pas ici, trop sensible pour laisser entre les mains de n'importe qui.
Tu peux éventuellement te faire un programme mais bon, tu risques de galérer un peu.
__________________
Boaf...signature <= ça suffira ça ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 13h18   #3
Membre régulier
 
Inscription : mars 2006
Messages : 198
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 198
Points : 83
Points : 83
En fait il s'agit d'une table spécifique.
Merci pour la réponse.
Hiraa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 13h19   #4
Membre régulier
 
Inscription : mars 2006
Messages : 198
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 198
Points : 83
Points : 83
En fait, il s'agit d'une table spécifique.
Merci pour la réponse.
Hiraa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 15h05   #5
Membre expérimenté
 
Avatar de Celdrøn
 
Homme Celdrøn Valdersen
Consultant SAP
Inscription : juillet 2007
Messages : 438
Détails du profil
Informations personnelles :
Nom : Homme Celdrøn Valdersen
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : juillet 2007
Messages : 438
Points : 579
Points : 579
Envoyer un message via MSN à Celdrøn
Citation:
Envoyé par Hiraa Voir le message
Bonjour,

Je cherche un module fonction qui permet de supprimer les lignes d'une table (quelque soit la table) de la base de données.

Merci d'avance.
Essaie d'être un petit peu plus précis alors.

«Quelque soit la table» peut-être interprété à l'extrême et donc comprendre les tables standards.
__________________
Boaf...signature <= ça suffira ça ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 15h07   #6
Membre régulier
 
Inscription : mars 2006
Messages : 198
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 198
Points : 83
Points : 83
OK merci.
Hiraa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h56   #7
Membre actif
 
Avatar de beuzy
 
Femme Marianne
ABAP
Inscription : novembre 2008
Messages : 204
Détails du profil
Informations personnelles :
Nom : Femme Marianne
Âge : 27
Localisation : France

Informations professionnelles :
Activité : ABAP

Informations forums :
Inscription : novembre 2008
Messages : 204
Points : 175
Points : 175
si ta table spécifique a une vue de gestion en sm30 tu peux facilement supprimer une entrée sans faire les manip en se16/se16n et sans programme
__________________
Pensez à récompenser les réponses utiles et au tag .
beuzy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2012, 04h24   #8
Membre confirmé
 
Inscription : août 2009
Messages : 226
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 226
Points : 239
Points : 239
Hello,

Veux-tu expressément un module fonction (quelle est la raison?), ou tout moyen ABAP? -> l'instruction DELETE FROM (dbtab) WHERE (condition) ne convient-elle pas? (attention le WHERE était requis avant la 6.10, dans ce cas il faut trouver un moyen de connaître dynamiquement le nom de la première zone clé (genre DDIF_NAMETAB_GET ou DDIF_FIELDINFO_GET) et de faire qqch du genre WHERE (zone = '' or zone < > '' ))

Et s'agit-il de supprimer toutes les lignes pour le mandant courant ou pour tous les mandants? (la question ne se posant évidemment que pour les tables spécifiques mandant-dépendantes) Dans le cas où c'est pour tous les mandants, tu peux utiliser DB_TRUNCATE_TABLE (ça fait un TRUNCATE en SQL natif), sinon tu dois utiliser tout moyen basé sur DELETE FROM

à noter qu'il y a un point où il faut faire attention, c'est le nombre de lignes, s'il y en a beaucoup beaucoup, le DELETE FROM risque de planter pour cause de rollback segment car en gros la base de données doit prévoir le cas où un ROLLBACK serait demandé et mémorise ce qui est supprimé au fur et à mesure, et ça plante si la taille limite du rollback segment est atteinte. Là, ça devient compliqué...

Sandra
sandraros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 12h24   #9
Membre régulier
 
Inscription : mars 2006
Messages : 198
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 198
Points : 83
Points : 83
Merci beaucoup sandraros pour toutes informations complémentaires que je prendrai en considération
Hiraa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h13.


 
 
 
 
Partenaires

Hébergement Web