Habria que debuguearlo un poco, pero lo que mas me llama la atencion es que no veo que estés agregando los registros a la tabla LISTADO.
Si esta tabla no tiene registros el ALV no tiene nada para mostrar. O sea, ir pasando los campos que vas obteniendo a LISTADO-STCD1, LISTADO-ORTO1, y APPEND LISTADO por cada vuelta del select.
Eso como para empezar, luego intentaria reemplazar la parte de select -end select for hacer selects INTO TABLE (guardar los datos en tablas internas) y luego hacer FOR ALL ENTRIES, pero esto ya no es obligatorio. Empezaria por lo que te dije arriba, ir debugueando y solucionando a prueba y error.
El problema general de tu código, es que haces selects, con un filtro vacío.
Por ejemplo, en estos dos primeros selects, nunca estás llenando previamente el valor ‘knvp-kunnr’.
Cuando se hace un programa, generalmente el primer select que haces filtras por el valor que viene en la pantalla de seleccion, por lo que vi, creaste dos parametros.
PARAMETERS: VKBUR TYPE KNVV-VKBUR DEFAULT ‘008’ OBLIGATORY,
VKGRP TYPE KNVV-VKGRP DEFAULT ‘004’ OBLIGATORY.
El primer select deberia ser usando esos dos valores, quizas primero hacer el select a la KNVV, de ahi me traigo los KUNNR, y ya teniendo el valor de KUNNR puedes hacer el select a la KNA1.
Esto fueron las dos maneras cual de las dos maneras es mas adecuado gracias por la ayuda
SELECT VKBUR PLTYP
INTO (KNVV-VKBUR, KNVV-PLTYP)
FROM KNVV
WHERE KUNNR EQ KUNNR
AND VKGRP EQ VKGRP.
SELECT VKBUR PLTYP VKGRP
INTO (KNVV-VKBUR, KNVV-PLTYP)
FROM KNVV
WHERE VKBUR EQ VKGRP
AND KUNNR EQ KUNNR
AND VKGRP EQ VKGRP.
Entiendo que la segunda es mejor porque contiene los dos parámetros que creaste.
De todas maneras, te falta un tercer parámetro, el KUNNR.
Consulta aparte, no te comentaron de la nomenclatura?
Generalmente un parámetro comienza con P_*. Claro que no es obligatorio.
Entonces, quedaría algo así_
PARAMETERS: P_VKBUR TYPE KNVV-VKBUR DEFAULT '008' OBLIGATORY,
P_KUNNR TYPE KNVV-KUNNR,
P_VKGRP TYPE KNVV-VKGRP DEFAULT '004' OBLIGATORY.
SELECT VKBUR PLTYP VKGRP
INTO (KNVV-VKBUR, KNVV-PLTYP)
FROM KNVV
WHERE VKBUR EQ P_VKGRP
AND KUNNR EQ P_KUNNR
AND VKGRP EQ P_VKGRP.
Pero no necesito seleccionar por número de deudor(kunnr) solo por oficina de ventas y grupo de vendedor. por eso en los parámetros le puse solo esos dos datos.
O debo ponerlo obligatoriamente para llamarlo en el select
ME DICEN QUE PARA TRAER EL INTERLOCUTOR VENDEDOR debo ingresar primero a la tabla knvp de ahí traer el campo parvw (funcion interlocutor) de ahí hacer creo otro select con tabla pa0001(registro maestro personal)y de esa manera me trae el interlocutor vendedor pero no lo entiendo porfa necesito ayuda para realizar este proceso gracias
No me cierra lo que comentas, y te muestro el motivo:
Si es así como dices, puedes hacer el select a la KNVP pero en lugar de traerte el campo PARVW, deberias traerte el campo PERNR. Por otro lado, la tabla KNVP no tiene los campos VKGRP y VKBUR, entonces vas a tener que ver con que campos filtrar (posiblemente VKORG y VTWEG).
Luego, con ese campo PERNR, si puedes hacer el select a la PA001, pero esta tabla, no veo que tenga un campo que diga interlocutor / Vendedor / etc. No se si despues de esta se debe acceder a otra tabla de HR.
Hola a todos amigos, luisa_aldana2 has intentado usar la SQVI, hace mucho tiempo deje de hacer reportes desde 0, ya todos los inicio desde allí, claro, luego edito el o los select.
@Dlanor20777 no he intentado al igual soy nueva en abap que no he tenido la oportunidad de usarlo pero si es una manera practica de desarrollar un reporte me encantaría aprender.
Gracias