Pregunta 1 – Preparación Examen ABAP

Me encontré navegando por la web este banco de preguntas (150), el cual es un recopilatorio de exámenes pasados (les dejo el link: http://www.daypo.net/test-abap-certification-question.html), el cual he ido completando pregunta a pregunta con un resultado que prefiero mantenerlo en reserva 😛 pero que me ha dado la idea de subir uno a uno cada pregunta junto con su base teórica y práctica, como un modo de aprender y dejar claro el conocimiento.

La primera a pregunta a tratar es la siguiente:

Pregunta 1

En español sería maso menos así (Por favor si notan error de traducción en los comentarios me corrigen):

¿El siguiente programa que salida muestra?

REPORT ZLI_PRUEBA.

WRITE:/1 ‘Listos_’.

PARAMETERStest.

INITIALIZATION.

WRITE:/1 ‘En sus marcas_’.

STARTOFSELECTION.

WRITE:/1 ‘Fuera!!’.

A) Listos_ En sus marcas_ Fuera!! (Todos en sus propias líneas)
B) Listos_ Fuera!! (Cada uno en su propia línea)
C) En sus marcas_ Fuera!! (Cada uno en su propia línea)
D) En sus marcas_ Listos_ Fuera!! (Todos en sus propias líneas)

Mírese que por un criterio básico base mi respuesta en un orden de lanzamiento de eventos, para ello hay que detallar el orden en que el programa se ejecuta:

1- El evento INITIALIZATION, que es el primero en lanzarse previo a la pantalla de selección.

2- La generación de Pantalla de Selección, no es un evento propio, pero si contiene eventos para interactuar (AT SELECTION SCREEN), sin embargo, para este ejemplo solo se ejecuta entre los otros dos eventos explicados arriba y abajo respectivamente.

3- El evento START-OF-SELECTION, el cual es lanzado posterior a la pantalla de selección, una vez se presiona el botón de ejecutar o la tecla F8.

Siguiendo ese orden y guiándome de las alternativas elegí la clave D marcándome el test como correcto.

Sin embargo, se hace la prueba práctica y el resultado fue el siguiente:

Pregunta 1a

Que revisando en la pregunta sería la alternativa B

¿Pero por qué se omite la impresión del evento INITIALIZATION?, Mira que he realizado debug y si entra al evento

Pregunta 1c

Lo que sucede en este ejemplo es que el programa si entra a su evento INITIALIZATION y ejecuta el comando, pero no lanza la impresión en pantalla (Comando WRITE) debido a que el generador del programa detecta que se debe crear la pantalla de selección y por lo tanto hay un conflicto de SCREEN a mostrar, sin embargo, por una jerarquía estándar se determina que el programa debe mostrar la pantalla de selección y no la pantalla con la línea impresa. Por lo tanto, el programa genera el SCREEN con la pantalla de selección y luego prosigue según su orden de eventos.

Por ello al lanzar el código puesto en el ejemplo, la primera pantalla a obtener es la siguiente:

Pregunta 1b

Y ¿Qué sucedería si no coloco ningún parámetro de selección?, El resultado es:

Pregunta 1d

Y ¿Por qué ahora sí imprime lo contenido en el evento INITIALIZATION?, esto se debe a que, al no crearse ningún parámetro de selección, el generador del programa imprime en una pantalla nueva lo colocado en el primer evento lanzado (INITIALIZATION) y continua con las demás impresiones sin tener conflictos de SCREEN. En este caso la respuesta si concuerda con la opción D.

Es por ello que estimados lectores, deben tener cuidado con las preguntas, se debe leer muy al detalle y tener en consideración todas sus líneas.

Para este caso tal como se presenta la pregunta la respuesta debió haber sido la clave B – Listos_ Fuera!! (Cada uno en su propia línea).

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s