MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 26/05/09, 15:25:19
ALNICO ALNICO is offline
Senior Member
 
Fecha de Ingreso: may 2009
Mensajes: 105
borrar registros de tabla interna, urgente

saludos a todos amigos , tengo un problema que no he podido resolver por mi propia cuenta , tengo una tabla interna ZTEP luego de la lleno , quiero filtrarla , lei que puedo usar la sentencia delete from where , pero cada vez que la trato de compilar me aparece este error

The dictionary structure or table ZTEP does not exist or is not active , alguien me puede ayudar o decirme que pasa .


esta es la tabla y como la declaro:

DATA: BEGIN OF REG,


fili type PA0001-bukrs,
anom type PA0001-abkrs,
nper1 type PA9111-pernr,
ced type Pa0185-icnum,
nom type PA0001-ename,
perf type PA9111-perfil,
freg1 type PA9111-finimedemb,
mtot type PA9111-mtunico,
ptot type PA9111-porsmn,
int type ZINT_EVAL-intereses,
mot type Z9HRMOTEMB-dsmotemb,
stat type Z9HRTSTEMB-tstatus,
cedb type PA9111-nbbenfr,
nomb type PA9111-cibenfr,
trib1 type PA9111-tribunal,
nofic1 type PA9111-numofic,
fofc type PA9111-fofc,
numfs type PA9111-numofcsup,
statu type PA9111-status,
FC TYPE PA9111-begda,
FF TYPE PA9111-ENDDA,
CM TYPE PA9111-CODMOTIVO,

END OF REG.



DATA: BEGIN OF ZTEP OCCURS 0.
INCLUDE STRUCTURE REG.
DATA END OF ZTEP.
Responder Con Cita
  #2  
Viejo 26/05/09, 15:36:03
Avatar de luis999
luis999 luis999 is offline
Member
 
Fecha de Ingreso: jun 2008
Localización: Lima - Perú
Mensajes: 82
Smile

Hola, lo puedes declarar asi:

TYPES: BEGIN OF REG,

fili like PA0001-bukrs,
anom like PA0001-abkrs,
nper1 like PA9111-pernr,
ced like Pa0185-icnum,
nom like PA0001-ename,
perf like PA9111-perfil,
freg1 like PA9111-finimedemb,
mtot like PA9111-mtunico,
ptot like PA9111-porsmn,
int like ZINT_EVAL-intereses,
mot like Z9HRMOTEMB-dsmotemb,
stat like Z9HRTSTEMB-tstatus,
cedb like PA9111-nbbenfr,
nomb like PA9111-cibenfr,
trib1 like PA9111-tribunal,
nofic1 like PA9111-numofic,
fofc like PA9111-fofc,
numfs like PA9111-numofcsup,
statu like PA9111-status,
FC like PA9111-begda,
FF like PA9111-ENDDA,
CM like PA9111-CODMOTIVO,

END OF REG.

DATA: ZTEP TYPE STANDARD TABLE OF REG WITH HEADER LINE.
__________________
Luis Lipa
Responder Con Cita
  #3  
Viejo 26/05/09, 17:00:05
ALNICO ALNICO is offline
Senior Member
 
Fecha de Ingreso: may 2009
Mensajes: 105
sigue igual

sigue igual , cambie la forma de declaracion pero el mismo error , es como si no existiera
Responder Con Cita
  #4  
Viejo 26/05/09, 17:07:49
Avatar de luis999
luis999 luis999 is offline
Member
 
Fecha de Ingreso: jun 2008
Localización: Lima - Perú
Mensajes: 82
Smile

Has declarado las tablas que usas:

tables: PA0001, Pa0185.

Estas seguro que existe la PA9111?
__________________
Luis Lipa
Responder Con Cita
  #5  
Viejo 26/05/09, 17:14:46
ALNICO ALNICO is offline
Senior Member
 
Fecha de Ingreso: may 2009
Mensajes: 105
si de eso estoy seguro , ya lo verifique , lo que no entiendo es porque no hace el delete de la tabla interna pero si hace el

DELETE ADJACENT DUPLICATES FROM ZTEP. de la misma tabla
Responder Con Cita
  #6  
Viejo 26/05/09, 17:20:37
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195
Hola ALNICO:

Lo que pasa es que la instrucción Delete FROM WHERE es sólo para tablas transparentes, osea tablas del diccionario y base de datos, no así para las tablas internas, lo que puedes hacer es recorrer tu tabla con un loop y mediante una condición borrar el registro.

Loop at IT.
If...
delete IT.
endif.
endloop.

Saludos
Responder Con Cita
  #7  
Viejo 26/05/09, 17:23:35
Avatar de luis999
luis999 luis999 is offline
Member
 
Fecha de Ingreso: jun 2008
Localización: Lima - Perú
Mensajes: 82
Cool

Ah ya entiendo tu problema, lo que sucede es que el DELETE FROM WHERE se usa para tablas de base de datos y no para tablas internas.

Si quieres borrar las filas de un tabla interna tienes que usar:

DELETE <TABLA> INDEX <INDICE>

Ahora el DELETE ADJACENT DUPLICATES FROM ZTEP que mencionas tambien se aplica para tablas internas.

Espero que te sirva

__________________
Luis Lipa
Responder Con Cita
  #8  
Viejo 26/05/09, 20:14:10
camaron camaron is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 14
Thumbs up

Hola ALNICO:

declara tu tabla interna asi:

TYPES: BEGIN OF REG,

fili like PA0001-bukrs,
anom like PA0001-abkrs,
nper1 like PA9111-pernr,
ced like Pa0185-icnum,
nom like PA0001-ename,
perf like PA9111-perfil,
freg1 like PA9111-finimedemb,
mtot like PA9111-mtunico,
ptot like PA9111-porsmn,
int like ZINT_EVAL-intereses,
mot like Z9HRMOTEMB-dsmotemb,
stat like Z9HRTSTEMB-tstatus,
cedb like PA9111-nbbenfr,
nomb like PA9111-cibenfr,
trib1 like PA9111-tribunal,
nofic1 like PA9111-numofic,
fofc like PA9111-fofc,
numfs like PA9111-numofcsup,
statu like PA9111-status,
FC like PA9111-begda,
FF like PA9111-ENDDA,
CM like PA9111-CODMOTIVO,

END OF REG.

****declara otra con la estructura de la anterior asi, en esta tabla guardas tus datos:

DATA: ZTEP TYPE TABLE OF REG .


***hace la logica para llenar tu tabla interna

***elimina los registros que quieras sin utilizar la palabra from

DELETE ZTEP WHERE (condición).

****o si quieres eliminar los duplicados


DELETE ADJACENT DUPLICATES FROM ZTEP COMPARING nom.


espero te sirva,

Saludos,
Responder Con Cita
  #9  
Viejo 26/05/09, 20:18:13
ALNICO ALNICO is offline
Senior Member
 
Fecha de Ingreso: may 2009
Mensajes: 105
ya resolvi , gracias por la ayuda a todos.
Responder Con Cita
  #10  
Viejo 26/05/09, 20:35:09
uo4396 uo4396 is offline
Member
 
Fecha de Ingreso: ago 2008
Mensajes: 90
Delete from where se utiliza para tablas de diccioario. Por eso te dice que no existe esa tabla en el diccionario.
Tú deberías utilizar DELETE TU_TABLA_INTERNA WHERE condicion.

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 07:45:23.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web