Saltar al contenido

LLAMAR SELECCIÓN-PANTALLA 1000- No entrar en INICIO-SELECCIÓN

Un Usuario hizo la siguiente pregunta

Hola expertos

Estoy mostrando un informe AVL usando OOPS.

Es un informe interactivo en el que el usuario puede seleccionar un artículo de línea y llamar a otra pantalla, y desde allí llamar a la pantalla del informe.

Escribí CALL SELECTION-SCREEN 1000 para llamar a la pantalla seleccionada (Pantalla nº 1000) del Informe.

Se llama a la pantalla de selección. Pero cuando vuelvo a ejecutar (dentro de la misma sesión), la SELECCIÓN INICIAL no se ejecuta, por lo que no se completan datos en las tablas internas.

¿No está seguro de si esto se debe a CALL SELECTION-SCREEN?

Por favor ayuda.

Gracias por adelantado.

Rohan.

6 respuestas

  • >

    > Escribí CALL SELECTION-SCREEN 1000 para llamar a la pantalla de selección (Pantalla No. 1000) del Informe.

    > Se llama a la pantalla de selección. Pero cuando ejecuto nuevamente (dentro de la misma sesión), la SELECCIÓN INICIAL no se ejecuta, por lo que no se completan datos en las tablas internas.

    >

    HI Rohan utilizado

    LLAME A SELECTION-SCREEN 1000 USANDO SELECTION-SET vari.

    Esto activará los eventos de la pantalla de selección.

    Sobre,

    Rajesh

  • Ex miembro

    Hola Rajesh,

    Gracias por su respuesta.

    Pero aún así, el arranque seleccionado no se ejecuta cuando lo vuelvo a ejecutar después de CALL SELECTION-SCREEN 1000.

    ¿Necesito configurar una versión de acuerdo con su respuesta?

    Gracias.

  • Ex miembro

    Hola Rohan,

    La pantalla de selección predeterminada contiene un número 1000.

    Para llamarlo a su programa úselo

     Call selection screen 1000 USING Selection-set vari 

    .

  • Ex miembro

    Hola Rohan,

    Es posible que pueda utilizar “CALL TRANSACTION SY-TCODE” para recuperar el programa

    en lugar de usar la pantalla de selección de llamadas ‘1000’.

    Ojalá pudiera ayudarte.

  • La CALL SELECTION-SCREEN 1000 no activa el evento START-OF-SELECTION, pero activará los eventos EN SELECTION-SCREEN (otra PBO OUTPUT / PAI), y luego reiniciará la siguiente instrucción (con sy-subrc dando al usuario indica que la selección se ejecuta / cancela).

    Podrías probar algo como esto

    * Selection-screen definition
    PARAMETERS...
    * PBO
    AT SELECTION-SCREEN OUTPUT.
      " statements
    * PAI
    AT SELECTION-SCREEN?
      " statements
    START-OF-SELECTION
      DO.
        " statements
        CALL SELECTION-SCREEN 1000.
        IF sy-subrc NE 0. LEAVE PROGRAM. ENDIF.
      ENDDO.

    Pero si tiene miedo de que el stock de la pantalla pueda provocar un vuelco después de algunos bucles. No haga nada y al final de la sección INICIO DE SELECCIÓN, el programa mostrará la primera PANTALLA DE SELECCIÓN.

    Sobre,

    Raymond.

  • Ex miembro

    Hola,

    Estás usando una pantalla de selección de 1000 llamadas. No será el comienzo de la selección.

    En Ups, usarás otra forma

    Cree una cuadrícula ALV en el Informe sin usar la pantalla

    Defina una pantalla de selección en blanco en su programa y no utilice un pintor de pantallas.

    ex:

    Paso 1: seleccione el inicio de la pantalla de la pantalla 1001.

    final de pantalla seleccionado 1001.

    paso 2: Para mostrar, use como referencia lvc_s_layo, cl_gui_alv_grid.

    paso 3: eventos en la salida de la pantalla seleccionada para usar

    dando salida a la pantalla seleccionada.

    al comienzo de la selección.

    paso: 4 modo de llamada w_alv-> set_table_for_first_display (fieldcatalopgue)

    Paso 5: seleccione la pantalla de llamada 1001.

    Espero que te ayude.

    Sobre,

    Sekhar