|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mars 2006 Messages : 198 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
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 ?? |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : mars 2006 Messages : 198 ![]() |
En fait il s'agit d'une table spécifique.
Merci pour la réponse. |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : mars 2006 Messages : 198 ![]() |
En fait, il s'agit d'une table spécifique.
Merci pour la réponse. |
|
|
00
|
|
|
#5 | |
|
Membre expérimenté
![]() |
Citation:
«Quelque soit la table» peut-être interprété à l'extrême et donc comprendre les tables standards.
__________________
Boaf...signature <= ça suffira ça ?? |
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : mars 2006 Messages : 198 ![]() |
OK merci.
|
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Marianne ABAP Inscription : novembre 2008 Messages : 204 ![]() |
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 .
|
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Inscription : août 2009 Messages : 226 ![]() |
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 |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : mars 2006 Messages : 198 ![]() |
Merci beaucoup sandraros pour toutes informations complémentaires que je prendrai en considération
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com