Anuncio

Colapsar
No hay anuncio todavía.

Error en Modulo de Consulta

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Error en Modulo de Consulta

    Buen dia amigos de forosap, me esta apareciendo el siguiente error:
    The column name "WERKS" is unclear ., este es el codigo que estoy empelando:

    MODULE user_command_0500 INPUT.
    CASE ok_code.
    WHEN 'EXECUTE'.
    SELECT mapl~werks mapl~plnty mapl~plnnr mapl~plnal mapl~datuv mapl~matnr
    plko~ktext mara~mtart
    FROM mapl INNER JOIN plko ON mapl~werks = plko~werks
    AND mapl~plnty = plko~plnty
    AND mapl~plnnr = plko~plnnr
    AND mapl~plnal = plko~plnal
    INNER JOIN mara ON mapl~matnr = mara~matnr
    INTO TABLE t_mapl
    WHERE mtart eq mara-mtart
    AND werks eq mapl-werks. "ACA ES EL ERROR"
    IF sy-subrc <> 0.
    ENDIF.
    CALL METHOD r_grid->refresh_table_display.
    WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
    LEAVE TO SCREEN 0.
    WHEN OTHERS.
    ENDCASE.
    ENDMODULE.

    Espero puedan ayudarme.

    Saludos
    Editar/Borrar Mensaje

  • #2
    Error en módulo de consulta

    Buenos días brujop,

    El problema es que tanto la tabla mapl como la plko tienen un campo que se llama WERKS, por lo que en la linea que has resaltado deberás indicar a qué tabla te refieres, por ejemplo:

    MODULE user_command_0500 INPUT.
    CASE ok_code.
    WHEN 'EXECUTE'.
    SELECT mapl~werks mapl~plnty mapl~plnnr mapl~plnal mapl~datuv mapl~matnr
    plko~ktext mara~mtart
    FROM mapl INNER JOIN plko ON mapl~werks = plko~werks
    AND mapl~plnty = plko~plnty
    AND mapl~plnnr = plko~plnnr
    AND mapl~plnal = plko~plnal
    INNER JOIN mara ON mapl~matnr = mara~matnr
    INTO TABLE t_mapl
    WHERE mtart eq mara-mtart
    AND plko-werks eq mapl-werks. "ACA ES EL ERROR"
    IF sy-subrc <> 0.
    ENDIF.
    CALL METHOD r_grid->refresh_table_display.
    WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
    LEAVE TO SCREEN 0.
    WHEN OTHERS.
    ENDCASE.
    ENDMODULE.

    Aunque no sé si tiene mucho sentido tal cual lo he puesto yo... ¿Puedes explicar un poco lo que pretendes recuperar con esa consulta?

    En todo caso, el problema es que has de indicar la tabla del campo.

    Un saludo,

    Comentario


    • #3
      Originalmente publicado por crisgil79 Ver Mensaje
      Buenos días brujop,

      El problema es que tanto la tabla mapl como la plko tienen un campo que se llama WERKS, por lo que en la linea que has resaltado deberás indicar a qué tabla te refieres, por ejemplo:

      MODULE user_command_0500 INPUT.
      CASE ok_code.
      WHEN 'EXECUTE'.
      SELECT mapl~werks mapl~plnty mapl~plnnr mapl~plnal mapl~datuv mapl~matnr
      plko~ktext mara~mtart
      FROM mapl INNER JOIN plko ON mapl~werks = plko~werks
      AND mapl~plnty = plko~plnty
      AND mapl~plnnr = plko~plnnr
      AND mapl~plnal = plko~plnal
      INNER JOIN mara ON mapl~matnr = mara~matnr
      INTO TABLE t_mapl
      WHERE mtart eq mara-mtart
      AND plko-werks eq mapl-werks. "ACA ES EL ERROR"
      IF sy-subrc <> 0.
      ENDIF.
      CALL METHOD r_grid->refresh_table_display.
      WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
      LEAVE TO SCREEN 0.
      WHEN OTHERS.
      ENDCASE.
      ENDMODULE.

      Aunque no sé si tiene mucho sentido tal cual lo he puesto yo... ¿Puedes explicar un poco lo que pretendes recuperar con esa consulta?

      En todo caso, el problema es que has de indicar la tabla del campo.

      Un saludo,
      Muchas gracias por la respuesta, es lo correcto.

      Comentario

      Trabajando...
      X