Select For All Entries y Appending

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • DCErick
    Moderator
    • mar
    • 1090

    #1

    Select For All Entries y Appending

    Tengo la siguiente consulta en uno de mis programas

    Código:
        SELECT werks lgort matnr j_3asize
               clabs AS labst
               cinsm AS insme
               cspem AS speme
          APPENDING TABLE ti_stock
               FROM mchb
               FOR ALL ENTRIES IN t_batch
               WHERE matnr = t_batch-matnr
                 AND werks = t_batch-werks
                 AND lgort = l_lgort.
    La tabla MCHB tiene los siguientes registros para uno de los materiales:

    MATNR WERKS LGORT CHARG J_3ASIZE

    SCD001390202515 0103 1003 200 220
    SCD001390202515 0103 1003 220 220

    SCD001390202515 0103 1003 230 230
    SCD001390202515 0103 1003 240 240
    SCD001390202515 0103 1003 250 250
    SCD001390202515 0103 1003 260 260
    En esa tabla podemos ver que el material tiene en 2 lotes la talla 220, el problema está en que la consulta solo me regresa la línea que tiene el lote 220 ¿Alguna idea de porqué ese comportamiento en le select?.
    -------------------
    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?
  • mysmb2
    Senior Member
    • ene
    • 406

    #2
    Hola, como estas haciendo un APPENDING TABLE¿te fijaste si la tabla ti_stock no tiene cargado ese registro antes del select?.
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    • luis999
      Member
      • jun
      • 82

      #3
      Creo que debes incluir el campo CHARG, en el select

      SELECT werks lgort matnr CHARG j_3asize
      clabs AS labst
      cinsm AS insme
      cspem AS speme
      APPENDING TABLE ti_stock
      FROM mchb
      FOR ALL ENTRIES IN t_batch
      WHERE matnr = t_batch-matnr
      AND werks = t_batch-werks
      AND lgort = l_lgort.


      Originalmente publicado por DCErick
      Tengo la siguiente consulta en uno de mis programas

      Código:
          SELECT werks lgort matnr j_3asize
                 clabs AS labst
                 cinsm AS insme
                 cspem AS speme
            APPENDING TABLE ti_stock
                 FROM mchb
                 FOR ALL ENTRIES IN t_batch
                 WHERE matnr = t_batch-matnr
                   AND werks = t_batch-werks
                   AND lgort = l_lgort.
      La tabla MCHB tiene los siguientes registros para uno de los materiales:



      En esa tabla podemos ver que el material tiene en 2 lotes la talla 220, el problema está en que la consulta solo me regresa la línea que tiene el lote 220 ¿Alguna idea de porqué ese comportamiento en le select?.

      Comentario

      • vstarke
        Member
        • feb
        • 60

        #4
        Como bien dice luis999 debes incluir el champo charg.... sucede que el for all entries tiene un distinct incorporado (si le das al F1 sobre la sentencia podrás leerlo)... lo que hace que no cargue en tu tabla interna los registros iguales... como en esos dos registros el único campo diferente es el charg y no lo cargando... pues sólo te tomará uno de ellos....

        Originalmente publicado por luis999
        Creo que debes incluir el campo CHARG, en el select

        SELECT werks lgort matnr CHARG j_3asize
        clabs AS labst
        cinsm AS insme
        cspem AS speme
        APPENDING TABLE ti_stock
        FROM mchb
        FOR ALL ENTRIES IN t_batch
        WHERE matnr = t_batch-matnr
        AND werks = t_batch-werks
        AND lgort = l_lgort.

        Comentario

        Trabajando...