ALV no tiene boton grabar disposicion

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • javibest
    Senior Member
    • ene
    • 185

    #1

    ALV no tiene boton grabar disposicion

    Pues eso, me he creado un ALV con la funcion REUSE_ALV_GRID_DISPLAY , y no consigo que me salga el boton de grabar disposicion. ¿Alguien sabe como sacarlo?

    Gracias
  • robert_milan
    Senior Member
    • jun
    • 315

    #2
    en i_save debes igualarla a 'A' de administrador con esto debe salir.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = gd_repid
    i_callback_top_of_page =
    'TOP_OF_PAGE_SETUP' "Ref to form
    is_layout = alv_layout
    it_fieldcat = fieldcat
    i_callback_pf_status_set = 'SET_PF_STATUS_LOG' "see FORM
    i_callback_user_command = 'USER_COMMAND_LOG'
    i_save = 'A'
    i_default = 'X'
    TABLES
    t_outtab = it_file
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    Un Huevon No Inútil


    Solo di lo que piensas, a la mejor tienes la mejor respuesta....

    Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

    Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

    Consultor FI jr/ABAP Sr.

    Comentario

    • javibest
      Senior Member
      • ene
      • 185

      #3
      Gracias por contestar, pero ya lo he intentado y nada . Esta es mi llamada :

      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
      * I_INTERFACE_CHECK = ' '
      * I_BYPASSING_BUFFER =
      * I_BUFFER_ACTIVE = ' '
      * I_CALLBACK_PROGRAM = ' '
      * I_CALLBACK_PF_STATUS_SET = ' '
      * I_CALLBACK_USER_COMMAND = ' '
      * I_CALLBACK_TOP_OF_PAGE = ' '
      * I_CALLBACK_HTML_TOP_OF_PAGE = ' '
      * I_CALLBACK_HTML_END_OF_LIST = ' '
      * I_STRUCTURE_NAME =
      * I_BACKGROUND_ID = ' '
      * I_GRID_TITLE =
      * I_GRID_SETTINGS =
      is_layout = gs_layout
      it_fieldcat = t_fieldcat

      * IT_EXCLUDING =
      * IT_SPECIAL_GROUPS =
      it_sort = it_alv_sort
      * IT_FILTER =
      * IS_SEL_HIDE =
      i_default = 'X'
      i_save = 'A'
      * IS_VARIANT =
      * IT_EVENTS =
      * IT_EVENT_EXIT =
      * IS_PRINT =
      * IS_REPREP_ID =
      * I_SCREEN_START_COLUMN = 0
      * I_SCREEN_START_LINE = 0
      * I_SCREEN_END_COLUMN = 0
      * I_SCREEN_END_LINE = 0
      * IT_ALV_GRAPHICS =
      * IT_ADD_FIELDCAT =
      * IT_HYPERLINK =
      * I_HTML_HEIGHT_TOP =
      * I_HTML_HEIGHT_END =
      * IT_EXCEPT_QINFO =
      * IMPORTING
      * E_EXIT_CAUSED_BY_CALLER =
      * ES_EXIT_CAUSED_BY_USER =
      TABLES
      t_outtab = it_alv
      * EXCEPTIONS
      * PROGRAM_ERROR = 1
      * OTHERS = 2.

      Y sigue sin salirme el de grabar disposicion.

      Comentario

      • robert_milan
        Senior Member
        • jun
        • 315

        #4
        Pon el i_callback_program = gd_repid o i_callback_program = 'ZPROGRAMA' con esto tambien debe llevarlo, luego por algunas cosas como esta no sale.
        Un Huevon No Inútil


        Solo di lo que piensas, a la mejor tienes la mejor respuesta....

        Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

        Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

        Consultor FI jr/ABAP Sr.

        Comentario

        • agv1976
          Member
          • jun
          • 66

          #5
          Vete a la transaccion se41 pon el nombre de un programa standard y copia el status a tu programa con te mostrara todos los botones standard

          Comentario

          • agv1976
            Member
            • jun
            • 66

            #6
            FORM f01_alv_event_pf_status_set USING rt_extab TYPE slis_t_extab.
            "#EC *

            SET PF-STATUS 'ZSTATUS' EXCLUDING rt_extab.

            ENDFORM. "f01_alv_event_pf_status_set

            Hay pones el status que copiaste en este caso zstatus, la llamada a la funcion es como sigue:
            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
            * I_INTERFACE_CHECK = ' '
            * I_BYPASSING_BUFFER = ' '
            * I_BUFFER_ACTIVE = ' '
            i_callback_program = 'ZRSD_ARREGLO_HIDROXIL'
            I_CALLBACK_PF_STATUS_SET = 'F01_ALV_EVENT_PF_STATUS_SET'
            * I_CALLBACK_USER_COMMAND = ' '
            * I_CALLBACK_TOP_OF_PAGE = ' '
            * I_CALLBACK_HTML_TOP_OF_PAGE = ' '
            * I_CALLBACK_HTML_END_OF_LIST = ' '
            * I_STRUCTURE_NAME =
            * I_BACKGROUND_ID = ' '
            * I_GRID_TITLE =
            * I_GRID_SETTINGS =
            is_layout = gs_layout
            it_fieldcat = gt_fieldcat[]
            * IT_EXCLUDING =
            * IT_SPECIAL_GROUPS =
            * IT_SORT =
            * IT_FILTER =
            * IS_SEL_HIDE =
            i_default = 'X'
            * I_SAVE = ' '
            * IS_VARIANT =
            * it_events = lt_evts
            * IT_EVENT_EXIT =
            * IS_PRINT =
            * IS_REPREP_ID =
            * I_SCREEN_START_COLUMN = 0
            * I_SCREEN_START_LINE = 0
            * I_SCREEN_END_COLUMN = 0
            * I_SCREEN_END_LINE = 0
            * I_HTML_HEIGHT_TOP = 0
            * I_HTML_HEIGHT_END = 0
            * IT_ALV_GRAPHICS =
            * IT_HYPERLINK =
            * IT_ADD_FIELDCAT =
            * IT_EXCEPT_QINFO =
            * IR_SALV_FULLSCREEN_ADAPTER =
            * IMPORTING
            * E_EXIT_CAUSED_BY_CALLER =
            * ES_EXIT_CAUSED_BY_USER =
            TABLES
            t_outtab = it_alv
            * EXCEPTIONS
            * PROGRAM_ERROR = 1
            * OTHERS = 2
            .
            IF sy-subrc <> 0.
            * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.

            espero te sirva saludos

            Comentario

            Trabajando...