lo primero que deberia pasar es que llegue a la subrutina PERFORM DATOS…ahi deberia pasar si o si, lo que veo que te pueda condicionar lo demas es el IF SY-SUBRC NE 0 que tienes luego del select a la KNVP
Si no llega a los demas select es porque ese select (tabla KNVP) no te funciono, ya lo debugeaste ???
Si ya lo debuggie pero del primer select de una salta al endselect y llega hasta el alv y no trae nada de datos no entinedo que esta pasando igual quiero aprender sus aportes me sirven mucho para sacar adelante mi reporte gracias @canuto@adalove@sconoredhot
ten en cuenta que los campos vkbur y vkgrp son de tipo char de 4 y 3 respectivamente comprueba que estas haciendo la búsqueda con valores que estan tal cual en la tabla , no es lo mimo ‘0001’ que ‘001’ que ‘01’ … si no se lo pasas tal cual no te devuelve nada, por eso te preguntaba si con los valores del where en la tabla te encuentra algún registro.
cuando un select no me devuelve nada lo compruebo en la se16n o en la se11 a veces estamos pasando mal un parametro.
selection-screen begin of block text-001 with frame title text-004.
parameters: vkbur type knvv-vkbur default '0004' obligatory,
vkgrp type knvv-vkgrp default '008' obligatory.
selection-screen end of block text-001.
Estuve probando un poco tu código y vi dos cosas por el momento:
Le falta en la declaración de datos el TYPE-POOLS: SLIS para que funcione el ALV y no te de error.
Y luego, hay que tener mucho cuidado al realizar el select a la KNVP, porque el campo PARVW tiene una rutina de conversión, es decir, quizás en la tabla te aparece como ‘VE’ pero está grabado con un valor distinto.
Si te fijas en el dominio, tiene estas funciones para modificar el valor:
DATA: lv_parvw TYPE parvw.
CALL FUNCTION 'CONVERSION_EXIT_PARVW_INPUT'
EXPORTING
input = 'VE'
IMPORTING
output = lv_parvw.
SELECT SINGLE pernr
INTO knvp-pernr
FROM knvp
WHERE kunnr EQ knvv-kunnr
AND parvw EQ lv_parvw.
Hola amigos no tengo mucho tiempo, pero les dejare esto por aquí a ver si lo quieren probar en la SE38 “Solo que no se le verían los textos”, no incluí campos de la tabla PA0001, pero agregue otros campos importantes en mi caso el sector y la función de interlocutor. Ademas que les recomiendo no utilizar filtros en el código, en mi caso los coloco como Campos de selección obligatorios, y coloco por defecto el mas usado.
En el primer select, habria que ver que valor tiene KNVV-KUNNR (lo ves por debug de la misma manera que ves el sy-subrc).
Con eso, te vas a la SE16 y compruebas si hay un registro para el KUNNR + PARVW + PERNR que estás poniendo como filtro para la KNVP.
Si el registro efectivamente existe, es posible que esté jodiendo la rutina de conversión que te comenté más arriba, y quizás antes del select tengas que llamar a la función (arriba te pasé el código para llamarla).
Yo entiendo que están todos a full, pero el debate se está haciendo una bola de códigos, subiré los códigos al repositorio:
Por favor, sería buenísimo si los desarrolladores o la autora del debate @luisa_aldana2, pueden pasar el código final que estás usando para este listado.