Autor Tema: AYUDA CON SELECT  (Leído 7188 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Irua

  • Novato
  • *
  • Mensajes: 13
    • Ver Perfil
AYUDA CON SELECT
« en: 17 de Agosto de 2007, 04:33:01 pm »
 :) Hola tengo el suiguiente codigo:

TABLES: ZTHR_USUA_EMPL,PA0001,PA0002,PA0032.

DATA: BEGIN OF T_DATA1 OCCURS 0,
BUKRS LIKE ZTHR_USUA_EMPL-BUKRS,
Z_PERNR LIKE ZTHR_USUA_EMPL-PERNR,
USUARIO LIKE ZTHR_USUA_EMPL-USUARIO,
FEC_ING LIKE ZTHR_USUA_EMPL-FEC_ING,
TIP_CTA LIKE ZTHR_USUA_EMPL-TIP_CTA,
FECHA LIKE ZTHR_USUA_EMPL-FECHA,
HORA LIKE ZTHR_USUA_EMPL-HORA,
P_ORGEH LIKE PA0001-ORGEH,
T_NACHN LIKE PA0002-NACHN,
T_VORNA LIKE PA0002-VORNA,
T_INICIAL TYPE C,
T_APELLIDO TYPE STRING,
T_CODIGO TYPE STRING,

END OF T_DATA1.

FORM OBTENER_DATOS.

SELECT BUKRS PERNR TIP_CTA
INTO T_DATA1
FROM ZTHR_USUA_EMPL
WHERE BUKRS IN S_TSOC
AND PERNR IN S_TEMPL.
APPEND T_DATA1.
ENDSELECT.


LOOP AT T_DATA1.
SELECT ORGEH PERNR
INTO T_DATA1
FROM PA0001
WHERE PERNR = S_TEMPL
and endda ='99991231'.
APPEND T_DATA1.
ENDSELECT.



SELECT NACHN PERNR VORNA
INTO T_DATA1
FROM PA0002
WHERE PERNR = T_DATA1-PERNR
and endda ='99991231'.
APPEND T_DATA1.
ENDSELECT.

SELECT PERNR GEBNR ZIMNR
INTO T_DATA1
FROM PA0032
WHERE PERNR = T_DATA1-Z_PERNR
and endda ='99991231'.
APPEND T_DATA1
ENDSELECT.
ENDLOOP.

ENDFORM.

 ??? COMO SERIAN LOS SELECT PARA BUSCAR LA BUSQUEDA DE VARIAS TABLAS CON UNA SOLA TABLA INTERNA Y CUAL SERIA LA ESTRUCTURA DEL LOOP PARAFORMAR EL SIGUIENTE REPORTE


WRITE:/1 T_DATA1-BUKRS,7 T_DATA1-Z_PERNR, 25 T_DATA1-T_NACHN ,33 T_DATA1-T_VORNA,50 T_PA0032-C_GEBNR, 65 T_DATA1-P_ORGEH.

MIL GRACIAS :-[

Desconectado angelcruzg

  • Novato
  • *
  • Mensajes: 1
    • Ver Perfil
Re: AYUDA CON SELECT
« Respuesta #1 en: 17 de Agosto de 2007, 07:12:15 pm »
Buenas tardes.

Tienes que utilizar un select inner join para tener conexion con todas las tablas.

Como por ejemplo.

select  ZTHR_USUA_EMPL~BUKRS
          ZTHR_USUA_EMPL~PERNR
          ZTHR_USUA_EMPL~USUARIO
          ZTHR_USUA_EMPL~FEC_ING
          ZTHR_USUA_EMPL~TIP_CTA
          ZTHR_USUA_EMPL~FECHA
          ZTHR_USUA_EMPL~HORA
          PA0001~ORGEH
          PA0002~NACHN
          PA0002~VORNA
       into table ti_data1
       from ZTHR_USUA_EMPL inner join PA0001 ON
       ZTHR_USUA_EMPL~PERNR EQ PA0001~PERNR
      INNER JOIN PA0002 ON
      PA0001~PERNR EQ PA0002~PERNR
      and endda ='99991231'.


Con esto puedes buscar en un solo SELECT los campos de las 3 tablas.

Saludos.

Angel Cruz
Venezuela.

Desconectado Irua

  • Novato
  • *
  • Mensajes: 13
    • Ver Perfil
Re: AYUDA CON SELECT
« Respuesta #2 en: 17 de Agosto de 2007, 09:03:22 pm »
Hola ya  incorpore el select al codigo, a pesar de que no me da ningun error solo me tra los datos de la tabla ZTHR_USUA_EMPL y no de las otras 2  :-\

Desconectado Irua

  • Novato
  • *
  • Mensajes: 13
    • Ver Perfil
Re: AYUDA CON SELECT
« Respuesta #3 en: 21 de Agosto de 2007, 02:28:13 pm »
Gracias Angel ya funciona a la perfecccion, nuevamente muchas gracias  ;)