is a table without header line and therefore has no component called

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Milady
    Junior Member
    • dic
    • 1

    #1

    is a table without header line and therefore has no component called

    Hola a todos, soy nueva en esto del sap-abap y estoy haciendo un ejercicio que me tiene bloqueada totalmente. Me da el error del título y no se como solocionarlo. Tengo que usar una work area, así que creo que el problema tiene que estar en el loop, aunque no lo se muy bien.
    Os dejo el code a ver si veis en q falla. Gracias!! ah! es una función!!


    data:
    t_vuelos TYPE BC400_T_CONNECTIONS,
    wa_vuelos like LINE OF t_vuelos.

    select carrid connid cityfrom airpfrom cityto airpto fltime deptime
    FROM spfli
    "into table
    INTO wa_vuelos
    WHERE cityfrom = iv_origen
    and cityto = iv_destino.

    IF sy-subrc <> 0.
    WRITE / : 'No hay datos para la selección realizada'.
    "RAISE no_vuelos.
    ELSE.

    loop at t_vuelos into wa_vuelos.
    WRITE: / 'existe'.
    * wa_vuelos-carrid.
    * wa_vuelos-connid,
    * wa_vuelos-cityfrom, DA ERROR Y NO SE PORQUE.
    * wa_vuelos-airfrom,
    * wa_vuelos-cityto,
    * wa_vuelos-airpto,
    * wa_vuelos-fltime,
    * wa_vuelos-deptime,
    * wa_vuelos-arrtime.

    ENDLOOP.


    ENDIF.

    ENDSELECT.
    ENDFUNCTION.
  • SAPING
    Senior Member
    • may
    • 199

    #2
    Asi tendria que funcionar:
    (te recomiendo no usar select-endselect, es menos preformante)

    data:
    t_vuelos TYPE BC400_T_CONNECTIONS,
    wa_vuelos like LINE OF t_vuelos.

    SELECT carrid connid cityfrom airpfrom cityto airpto fltime deptime
    FROM spfli
    INTO TABLE T_VUELOS
    WHERE cityfrom = iv_origen
    and cityto = iv_destino.

    IF sy-subrc <> 0.
    WRITE / : 'No hay datos para la selección realizada'.
    "RAISE no_vuelos.
    ELSE.

    LOOP AT t_vuelos INTO wa_vuelos.
    WRITE: / 'existe'.
    ENDLOOP.


    ENDIF.

    Comentario

    • DCErick
      Moderator
      • mar
      • 1090

      #3
      Bueno el error se debe a que el campo se llama: airpfrom y en el write tienes airfrom sin la "p".

      En cuanto a tu código, toma en cuenta los comentarios SAPING.
      -------------------
      ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

      Comentario

      Trabajando...