Ayuda con set de datos

Sres… disculpen que los moleste pero ya me he dado vuelta harto con este problemita mio.
si me pueden ayudar porfa

necesito leer dos tablas: CSKS y CSKT y extraer datos de las dos, mas un set de datos que es el que defino arriba y el que si funciona.

mi programa es el sgte:

REPORT zexe002.
* ---------------------------------------------------------------------
TABLES: CSKS, setleaf, CSKT.
* ---------------------------------------------------------------------
RANGES: mirango FOR CSKS-KOSTL.
* ---------------------------------------------------------------------
SELECT valsign valoption valfrom valto
  INTO (mirango-sign, mirango-option,
        mirango-low, mirango-high)
  FROM setleaf
 WHERE setname = 'Z_CECO'.
 APPEND mirango.
ENDSELECT.
* ---------------------------------------------------------------------
SKIP.
SKIP.
Write : / 'El rango usado es:'.
SKIP.
LOOP AT mirango.
  WRITE : / mirango-sign, mirango-option,
            mirango-low, mirango-high.
ENDLOOP.
* ---------------------------------------------------------------------
SKIP.
SKIP.
Write : / 'Los materiales obtenidos son:'.
SKIP.
*este select si funciona
SELECT *
  FROM CSKS
   WHERE KOSTL IN mirango AND
         CSKS~kokrs = 'UCM0' and
         CSKS~bukrs = 'UCM'.

*                   si el select anterior lo reemplazo por el que sigue y que esta comentado, no funciona 
*                   me da el msj: mirango no se permite aqui ya que contierne un caracter no permitido
*                  o es una.....(no dice mas)
*                          SELECT 'CECO',CSKS~MANDT,CSKS~KOSTL,
*                                  CSKS~KOKRS,CSKS~BUKRS,CSKS~VERAK, CSKS~VERAK_USER,
*                                  CSKT~LTEXT
*                          FROM CSKS JOIN CSKT ON  CSKS~KOSTL = CSKT~kostl and
*                                CSKS~kokrs = 'UCM0' and
*                                CSKS~bukrs = 'UCM'  AND
*                                CSKS~MANDT = CSKT~MANDT
*                                AND csks~KOSTL IN mirango.


 WRITE : / CSKS-KOSTL.

ENDSELECT.

quizas el problema es que no se pueda hacer un join aca…ya no se… pues como les comenté, sin join, el programa me funciona bien pero asi no me sirve por el dato que necesito extraer de la tabla CSKT

(en resumen. el programa funciona hasta que le meto el join de las tablas)

si alguien me puede ayudar porfa
gracias de antemano

1 me gusta

Buenas tardes.

En lo personal yo quitaría los SELECT y ENDSELECT, y utilizaría el FOR ALL ENTRIES IN para obtener todos los datos de la tabla CSKT; pero tomando en cuenta tu consulta ¿has intentado hacer la de la siguiente forma?

SELECT 'CECO', A~MANDT, A~KOSTL, A~KOKRS, A~BUKRS, A~VERAK, 
               A~VERAK_USER, B~LTEXT
  FROM CSKS AS A
  JOIN CSKT AS B ON  A~KOSTL = B~kostl and
                     A~kokrs = 'UCM0' and
                     A~bukrs = 'UCM'  AND
                     A~MANDT = B~MANDT
                 AND A~KOSTL IN mirango.

Espero te sirva

Saludos

GRACIAS @Alonso_mx. Si, lo intenté así también y nada. Ya comencé a hacerlo de otra forma pero como este es mi primer desarrollo ando un poco perdido.
Te agradezco la ayuda.

Si lo estás intentando hacer de otra forma, puedes hacerlo algo parecido a esto.

SELECT *
  FROM CSKS
INTO TABLE IT_CSKS
   WHERE KOSTL IN mirango AND
         CSKS~kokrs = 'UCM0' and
         CSKS~bukrs = 'UCM'.

IF IT_CSKS IS NOT INITIAL.
SELECT *
FROM CSKT
INTO TABLE IT_CSKT
FOR ALL ENTRIES IN IT_CSKS
WHERE KOSTL = IT_CSKS-KOSTL.
ENDIF.

Saludos

1 me gusta

Hola!!

Veo que esta parte del código lo tienes dentro del JOIN, y creo que debe estar formando parte de un WHERE

GRACIAS @CHIVIS ya lo había corregido. te pasaste por la ayuda. Saludos.

Creo que el codigo quedaria mas o menos asi:

SELECT CSKS~MANDT CSKS~KOSTL cskt~ktext CSKS~KOKRS CSKS~BUKRS
into CORRESPONDING FIELDS OF table it_dato
FROM CSKS
inner join cskt on cskt~kostl = csks~kostl
where CSKS~kokrs = ‘UCM0’ and
CSKS~bukrs = ‘UCM’ and
csks~kostl in mirango.

loop at it_dato into wa_dato.
WRITE : / wa_dato-kostl, wa_dato-ktext.
ENDLOOP.

1 me gusta

Muchas gracias por darte el tiempo de ayudar @Chivis
Intentaré lo que me dices.
Sigo peleando por apuntarle a la sintaxis correcta de los comandos.

Este tema se cerró automáticamente 91 días después de la última publicación. No se permiten nuevas respuestas.