Anuncio

Colapsar
No hay anuncio todavía.

Preguntas de novato

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

  • Preguntas de novato

    Hola, estoy estudiando como programar en ABAP pero tengo algunas preguntas que se me hacen simples pero igual no entiendo. Por el momento pregunto esta

    ti_vuelos LIKE STANDARD TABLE OF sflight,
    st_vuelos LIKE LINE OF ti_vuelos,

    ¿Cual es la diferencia entre LIKE STANDARD TABLE OF y LIKE LINE OF?

    ¿No podría declarar st_vuelos de la misma manera que se declaró ti_vuelos o estoy olvidando algo ?

  • #2
    Originalmente publicado por Kaikan Ver Mensaje
    Hola, estoy estudiando como programar en ABAP pero tengo algunas preguntas que se me hacen simples pero igual no entiendo. Por el momento pregunto esta

    ti_vuelos LIKE STANDARD TABLE OF sflight,
    st_vuelos LIKE LINE OF ti_vuelos,

    ¿Cual es la diferencia entre LIKE STANDARD TABLE OF y LIKE LINE OF?

    ¿No podría declarar st_vuelos de la misma manera que se declaró ti_vuelos o estoy olvidando algo ?
    Hola!

    Mira, la sentencia LIKE STANDARD TABLE OF declara una tabla interna con la misma estructura que la tabla o estructura indicada luego de OF, en tu ejemplo, sflight.

    La sentencia LIKE LINE OF declara una estructura idéntica a la estructura de la tabla que se señala, en tu ejemplo, ti_vuelos.

    Las dos líneas indican lo siguiente:
    ti_vuelos es una tabla interna estandard de la misma estructura que sflight.
    st_vuelos es una estructura con la misma estructura que tiene la tabla interna ti_vuelos.

    Así que la diferencia entre ambas sentencias es:
    LIKE STANDARD TABLE OF declara una tabla interna con la estructura que se indica;
    LIKE LINE OF declara una estructura con la misma estructura que la tabla interna que se indica.

    Notas la diferencia? Uno declara una tabla y otro una estructura.

    Respecto a tu segunda pregunta, si declaras st_vuelos de la misma manera que ti_vuelos, tendrías dos tablas; en cambio antes tienes una tabla y una estructura.

    Las sentencias anteriores son iguales que las siguientes:
    ti_vuelos LIKE STANDARD TABLE OF sflight.
    st_vuelos LIKE sflight.

    Digamos que son dos maneras diferentes de hacer lo mismo.

    La sentencia LIKE LINE OF es útil cuando no sabes la estructura de la tabla interna y necesitas una estructura para usarla como workarea; pero al menos sabes qué campos vas a usar de esa estructura.

    Espero haberte ayudado con tu duda.

    Saludos!

    Comentario

    Trabajando...
    X