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 13/06/08, 19:56:24
Avatar de stormshadow
stormshadow stormshadow is offline
Senior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 117
Ayuda con count

Que tal, un saludo a toda la gente de este foro, soy nuevo me acabo de registrar, y apenas me estoy enseñando a programar en abap, es un lenguaje interesante solo que se m hace algo complejo, pues bien me gustaría saber si alguién me podría ayudar con un problemilla que tengo, resulta que hay en una tabla registros que se repiten, y yo quiero hacer en un reporte, que me muestre los registros repetidos de ese mismo campo, este es mi programa:

* REPORT .
REPORT ZSD_PEDIDOSREPETIDOS1.

************************************************************************
* Log de Modificaciones
************************************************************************
* Fecha Nombre ID de Cambio Nro.Orden Descripcion
************************************************************************

************************************************************************
* TYPE POOLS
************************************************************************

************************************************************************
* PROGRAMAS INCLUIDOS
************************************************************************


************************************************************************
* TABLAS
************************************************************************
TABLES: vbak.
************************************************************************
* ESTRUCTURAS
************************************************************************
DATA: BEGIN OF t_pedidos OCCURS 0,
bstnk LIKE vbak-bstnk, "CLAVE PEDIDO
* ernam LIKE vbak-ernam, "NOMBRE
END OF t_pedidos.
************************************************************************
* TABLAS INTERNAS
************************************************************************

************************************************************************
* VARIABLES
************************************************************************

************************************************************************
* CONSTANTES
************************************************************************

************************************************************************
* PARAMETERS
************************************************************************

************************************************************************
* SELECT-OPTION
************************************************************************

************************************************************************
* AT SELECTION-SCREEN
************************************************************************

************************************************************************
* INICIALIZATION
************************************************************************

************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
SELECT
vbak~bstnk "CLAVE DEL PEDIDO
* vbak~ernam
FROM vbak
INTO TABLE t_pedidos.
************************************************************************
* END-OF-SELECTION
************************************************************************
END-OF-SELECTION.

*SE ESCRIBE CADA LINEA

LOOP AT t_pedidos.

SELECT
vbak~bstnk
* vbak~ernam
FROM vbak
INTO t_pedidos
GROUP BY
vbak~bstnk.
* HAVING vbak~bstnk > 1.
ENDSELECT.

ENDLOOP.

write t_pedidos.
************************************************************************
* FORMS

Pues bien, mi problema es el siguiente, en el loop en la parte del select quiero poner COUNT, para que me tome todos mis registros, porque ahorita como esetá solamente me muestra un registro, y yo quiero que me ponga todos!, y pues si lo pongo así:

LOOP AT t_pedidos.

SELECT COUNT (*)
vbak~bstnk
* vbak~ernam
FROM vbak
INTO t_pedidos
GROUP BY
vbak~bstnk.
* HAVING vbak~bstnk > 1.
ENDSELECT.

ENDLOOP.

Como creo yo que va la consulta, pues me tira este error:
Unknown column name "COUNT". not determined until runtime, you cannot specify a field list.
No entiendo el error, sé lo que dice pero no lo entiendo... porfavor si alguién me podría ayudar le estaría enternamente agradecido.
Igual gracias por tomarse el tiempo de leer mi tema!
Responder Con Cita
  #2  
Viejo 13/06/08, 20:07:04
ic_man_777 ic_man_777 is offline
Member
 
Fecha de Ingreso: oct 2007
Localización: Mexico
Mensajes: 97
Te marca unknown column porque... cree que COUNT es un campo de la tabla a la que quieres acceder... y esto es porque dejaste un espacio entre COUNT y el paréntesis...

prueba juntándolos....
Responder Con Cita
  #3  
Viejo 16/06/08, 11:48:03
nachosds nachosds is offline
Member
 
Fecha de Ingreso: dic 2007
Localización: Cadiz - España
Mensajes: 48
Hola.

Si lo que quieres es mostrar todos los registros de la tabla t_pedidos, debes hacer un loop de ésta y dentro del loop hacer el write del campo de la t_pedidos.

Saludos!
Responder Con Cita
  #4  
Viejo 16/06/08, 16:43:43
Avatar de stormshadow
stormshadow stormshadow is offline
Senior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 117
Bien que tal de nuevo yo jeje, pues si gracias por responder y tenías razon ic_man_777 era por el espacio... ahora ya me lo toma en cuenta el count, pero ahora tengo otro problema, nachosds si quiero mostrar los registros de la tabla interna que es t_pedidos, pero no me muestra nada, les pondré ahora como está mi código y haber si pueden ver mi error:

* REPORT .
REPORT ZSD_PEDIDOSREPETIDOS1.

************************************************************************
* Log de Modificaciones
************************************************************************
* Fecha Nombre ID de Cambio Nro.Orden Descripcion
************************************************************************

************************************************************************
* TYPE POOLS
************************************************************************

************************************************************************
* PROGRAMAS INCLUIDOS
************************************************************************


************************************************************************
* TABLAS
************************************************************************
TABLES: vbak.
************************************************************************
* ESTRUCTURAS
************************************************************************
DATA: BEGIN OF t_pedidos OCCURS 0,
bstnk LIKE vbak-bstnk, "CLAVE PEDIDO
ernam LIKE vbak-ernam, "NOMBRE
END OF t_pedidos.

************************************************************************
* TABLAS INTERNAS
************************************************************************

************************************************************************
* VARIABLES
************************************************************************

************************************************************************
* CONSTANTES
************************************************************************

************************************************************************
* PARAMETERS
************************************************************************

************************************************************************
* SELECT-OPTION
************************************************************************

************************************************************************
* AT SELECTION-SCREEN
************************************************************************

************************************************************************
* INICIALIZATION
************************************************************************

************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
SELECT
vbak~bstnk "CLAVE DEL PEDIDO
vbak~ernam
FROM vbak
INTO TABLE t_pedidos.
************************************************************************
* END-OF-SELECTION
************************************************************************
END-OF-SELECTION.

*SE ESCRIBE CADA LINEA

LOOP.

SELECT COUNT(*)
* vbak~vbeln "NUMERO PEDIDO
* vbak~erdat "FECHA CREACION
vbak~bstnk "REFERENCIA DEL PEDIDO
vbak~ernam
INTO TABLE t_pedidos
FROM vbak
GROUP BY
vbak~bstnk vbak~ernam.
* HAVING vbak~bstnk > 1.
ENDLOOP.

write t_pedidos.

Es el código tal cual lo tengo en abap, y no me imprime nada, ya no me marca errores pero no me muestra nada espero me puedan ayudar! gracias de nuevo.
Responder Con Cita
  #5  
Viejo 16/06/08, 17:30:13
ic_man_777 ic_man_777 is offline
Member
 
Fecha de Ingreso: oct 2007
Localización: Mexico
Mensajes: 97
El write debes aplicarlo al campo de la tabla interna... no a la tabla interna por completo... para eso necesitarías el loop. Que no se realmente que es lo que quieres mostrar... pero pues, un loop así sería de la siguiente manera:


El loop anterior imprime todos los valores en el campo ernam de la tabla interna pedidos...

no entiendo muy bien lo que quieres hacer:

Responder Con Cita
  #6  
Viejo 16/06/08, 17:42:37
Avatar de stormshadow
stormshadow stormshadow is offline
Senior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 117
Ok deja te explico mi dilema, mira mi tarea es:
El campo bstnk, almacena la clave del registro del pedido, bien pues hay registros repetidos, y lo que tengo que hacer es imprimir en pantalla esos registros que se repiten, te pongo un ejemplo:
el registro AOL001 está dos veces, a pues lo que yo tengo que hacer es que me muestre en pantalla el AOL001 dos veces...
no sé si me expliqué bien, si no pues me dices, y ya inserté el loop como lo pusiste y ya me imprime todos los registros, pero yo solo requiero imprimir los que se repiten nadamas...
bueno muchas gracias por tú atención bro! espero la respuesta...
Responder Con Cita
  #7  
Viejo 16/06/08, 19:52:14
ic_man_777 ic_man_777 is offline
Member
 
Fecha de Ingreso: oct 2007
Localización: Mexico
Mensajes: 97
Me da gusto el poderte ayudar aunque sea un poco...
Y si, SAP y Abap son muy interesantes....

te vas a divertir =]
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 00:07:03.


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