#1
|
|||
|
|||
Problema Con Alv Jerarquico
BUENAS TARDE, TENGO UN PROBLEMA CON UN ALV JERARQUICO SIN OBJETOS,
MI PROBLEMA ES EL SIGUIENTE, QUISE HACER UNA PRUEBA MUY SENCILLA EN EL CUAL EL ALV JERARQUICO RESPONDA AL DOBLE CLICK, YO LO HICE UNA VES Y LO HICE TAL CUAL ESTA ECHO ESTE CODIGO (OBVIAMENTE EL OTRO NO ERA TAN SENCILLO) Y FUNCIONO PERFECTO, PERO AHORA LO HICE MUCHISIMO MAS SIMPLE Y NO PUEDO HACER QUE POR EJEMPLO CUANDO SE HAGA DOBLE CLICK EN EL ALV ME SALGA UN CARTEL DE HOLA DEL TIPO I, SI ALGUIEN SABE EL PORQUE SE LO AGRADECERIA MUCHISIMO, DESDE YA MUCHAS GRACIAS A TODOS. LES DEJO EL CODIGO PARA QUE ME PUEDAN DECIR DONDE ES QUE ME EQUIVOQUE. MUCHAS GRACIAS POR TODO. *&---------------------------------------------------------------------* *& Report Z____ALV_JERAQUICO *& *&---------------------------------------------------------------------* REPORT z____alv_jeraquico. TYPE-POOLS: slis. DATA: gt_fieldcat TYPE slis_t_fieldcat_alv, ga_key TYPE slis_keyinfo_alv, ga_layout TYPE slis_layout_alv, g_repid TYPE sy-repid, g_tabname_header TYPE slis_tabname, g_tabname_item TYPE slis_tabname, g_consulta TYPE c. DATA: gt_header TYPE STANDARD TABLE OF SFLIGHT, gt_item TYPE STANDARD TABLE OF SFLIGHT, ga_header TYPE sflight. PARAMETERS: p_carrid TYPE sflight-carrid, p_connid TYPE sflight-connid. START-OF-SELECTION. g_tabname_header = 'GT_HEADER'. g_tabname_item = 'GT_ITEM'. g_repid = 'Z____ALV_JERARQUICO'. SELECT SINGLE carrid connid FROM sflight INTO CORRESPONDING FIELDS OF ga_header WHERE carrid = p_carrid AND connid = p_connid. APPEND ga_header TO gt_header. SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_item. PERFORM f_key. PERFORM f_fieldcat USING gt_fieldcat. PERFORM f_layout. PERFORM f_llamar_alv. *&---------------------------------------------------------------------* *& Form f_fieldcat *&---------------------------------------------------------------------* FORM f_fieldcat CHANGING rt_fieldcat TYPE slis_t_fieldcat_alv. DATA ls_fieldcat TYPE slis_fieldcat_alv. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CARRID'. ls_fieldcat-reptext_ddic = 'AEROLINEA'. ls_fieldcat-just = 'C'. ls_fieldcat-tabname = 'GT_ITEM'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CONNID'. ls_fieldcat-reptext_ddic = 'NUMERO DE VUELO'. ls_fieldcat-just = 'C'. ls_fieldcat-tabname = 'GT_ITEM'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'FLDATE'. ls_fieldcat-reptext_ddic = 'FECHA DE VUELO'. ls_fieldcat-just = 'C'. ls_fieldcat-tabname = 'GT_ITEM'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CARRID'. ls_fieldcat-just = 'R'. ls_fieldcat-reptext_ddic = 'AEROLINEA'. ls_fieldcat-tabname = 'GT_HEADER'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CONNID'. ls_fieldcat-just = 'R'. ls_fieldcat-seltext_m = 'NUMERO DE VUELO'. ls_fieldcat-tabname = 'GT_HEADER'. APPEND ls_fieldcat TO rt_fieldcat. ENDFORM. " p_fc_cabecera *&---------------------------------------------------------------------* *& Form f_key *&---------------------------------------------------------------------* FORM f_key . CLEAR ga_key. ga_key-header01 = 'CARRID'. ga_key-item01 = 'CARRID'. ga_key-header02 = 'CONNID'. ga_key-item02 = 'CONNID'. ENDFORM. " P_KEY *&---------------------------------------------------------------------* *& Form f_layout *&---------------------------------------------------------------------* FORM f_layout . ga_layout-zebra = 'X'. ENDFORM. " layout *&---------------------------------------------------------------------* *& Form USER_COMMAND *&---------------------------------------------------------------------* FORM user_command USING r_ucomm TYPE sy-ucomm ra_selfield TYPE slis_selfield. CASE r_ucomm. WHEN '&IC1'. MESSAGE 'HOLA' TYPE 'I'. ENDCASE. ENDFORM. "USER_COMMAND *&---------------------------------------------------------------------* *& Form f_llamar_alv *&---------------------------------------------------------------------* FORM f_llamar_alv . CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING i_callback_program = g_repid i_callback_user_command = 'USER_COMMAND' is_layout = ga_layout it_fieldcat = gt_fieldcat i_tabname_header = g_tabname_header i_tabname_item = g_tabname_item is_keyinfo = ga_key TABLES t_outtab_header = gt_header t_outtab_item = gt_item 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. ENDFORM. " f_llamar_alv |
#2
|
|||
|
|||
Te falta el status.
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}I_CALLBACK_PF_STATUS_SET = 'ZMENU' --> ejemplo crealo con la tx.SE41. y te va funcionar yo ya lo hice. saludos |
#3
|
|||
|
|||
Problema Con Alv Jerarquico
Muchas Gracias Por Tu Ayuda, Voy A Probar Como Funciona Y Te Aviso.
Gracias Por Tu Tiempo. |
#4
|
|||
|
|||
Problema Con Alv Jerarquico
DISCULPA, NI HICE LO QUE ME RECOMENDASTES PORQUE NO ENTENDI LO QUE ME DIJISTES:
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;} ESO NO ENTENDI DONDE LO HAGO?? TX.SE41 TE REFERIS A LA TRANSACCION SE41? Y AHUNQUE MODIFICARA LO QUE ME DIJISTES QUE HAGA, LO QUE ME QUEDA LA DUDA ES PORQUE EN OTRO PROGRAMA QUE HICE SIN PONER EL STATUS EN I_CALLBACK_PF_STATUS_SET EL EVENTO DOBLE CLICK QUE DECLARE EN EL USER COMMAN ME FUNCIONO PERFECTAMENTE Y AHORA NO. MUCHAS GRACIAS Y DESDE YA PERDON POR VOLVER A MOLESTARTE PERO LA VERDAD ES QUE ESTOY INTRIGADO POR ESTE PROBLEMA EN PARTICULAR. |
#5
|
|||
|
|||
sorry pero esta cojudes lo ha puesto ("SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}") el editor q tengo
si es la TRANSACCION SE41 create un status para ese programa |
#6
|
|||
|
|||
Problema Con Alv Jerarquico
En El Status Debo Incluir Algun Boton O Algun Function Code En Especial?
|
#7
|
|||
|
|||
Ya se cual es el problema
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L1S31 {font-style: italic;color: #808080;}.L1S32 {color: #3399FF;}.L1S33 {color: #4DA619;}.L1S52 {color: #0000FF;} CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING i_callback_program = 'ZALVGE' i_callback_user_command = 'USER_COMMAND' --> debe ser mayuscula * I_CALLBACK_PF_STATUS_SET = 'SET_STATUS' is_layout = ga_layout it_fieldcat = gt_fieldcat i_tabname_header = g_tabname_header i_tabname_item = g_tabname_item is_keyinfo = ga_key TABLES t_outtab_header = gt_header t_outtab_item = gt_item 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. |
#8
|
|||
|
|||
Problema Con Alv Jerarquico
Lamentablemente Esta En Mayuscula.
La Verdad Que Estoy Desconsertado, Porque Creo Que Los Conocimientos Estan Bien Aplicados Pero No Se Porque No Puedo Hacer Que Haga Algo En El Doble Click. Gracias Igual Por Tu Contestacion. |
#9
|
|||
|
|||
ok, no desepereis si con esto no te sale.. ya seria fatal
1. ejecuta tu progama que salga el reporte... 2.vas al menu sistemas-->status veras q por defecto sab te pone un menu status Programa(GUI) SAPLKKBL tatus interfase STANDARD 3. vas a la se41 menu interfase de usuario --> copiar -- status de Programa SAPLKKBL Status STANDARD A .. Programa ZALVGE --> tu programa.. Status STANDARD 4. vas a la se38 ZALVGE y has lo siguiente fijate. si con esto no sale...... me vuelvo BIOLOGO SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L1S31 {font-style: italic;color: #808080;}.L1S32 {color: #3399FF;}.L1S33 {color: #4DA619;}.L1S52 {color: #0000FF;}FORM f_llamar_alv . CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING i_callback_program = 'ZALVGE' i_callback_user_command = 'USER_COMMAND' I_CALLBACK_PF_STATUS_SET = 'SET_STATUS' is_layout = ga_layout it_fieldcat = gt_fieldcat i_tabname_header = g_tabname_header i_tabname_item = g_tabname_item is_keyinfo = ga_key TABLES t_outtab_header = gt_header t_outtab_item = gt_item 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. ENDFORM. " f_llamar_alv *&---------------------------------------------------------------------* *& Form user_command *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->R_UCOMM text * -->RA_SELFIELD text *----------------------------------------------------------------------* FORM USER_COMMAND USING r_ucomm TYPE sy-ucomm ra_selfield TYPE slis_selfield. CASE r_ucomm. WHEN '&IC1'. MESSAGE 'HOLA' TYPE 'I'. ENDCASE. ENDFORM. "USER_COMMAND FORM set_status USING rt_extab TYPE slis_t_extab. SET PF-STATUS 'STANDARD'. ENDFORM. "set_status |
#10
|
|||
|
|||
Problema Con Alv Jerarquico
PARECE MENTIRA PERO SI HAY DOS LUGARES NOS HACEMOS BIOLOGOS AMBOS!!!!!
NO, NO FUNCIONO, LO QUE SI NOTO ES QUE LA BARRA DE STATUS CUANDO MUESTRO EL ALV NO ME LA MUESTRA ALGUNOS BOTONES, LOS QUE DEFINE LA BARRA STANDARD EN "APLICATION TOOLBARS". OSEA NO SE SI ME ESTA LEVANTANDO BIEN LA BARRA STANDARD. TE PASO EL CODIGO COMO LO DEJE AHORA: *&---------------------------------------------------------------------* *& Report Z____ALV_JERAQUICO *& *&---------------------------------------------------------------------* REPORT z____alv_jeraquico. TYPE-POOLS: slis. DATA: gt_fieldcat TYPE slis_t_fieldcat_alv, ga_key TYPE slis_keyinfo_alv, ga_layout TYPE slis_layout_alv, g_repid TYPE sy-repid, g_tabname_header TYPE slis_tabname, g_tabname_item TYPE slis_tabname, g_consulta TYPE c, g_status TYPE slis_formname. DATA: gt_header TYPE STANDARD TABLE OF sflight, gt_item TYPE STANDARD TABLE OF sflight, ga_header TYPE sflight. PARAMETERS: p_carrid TYPE sflight-carrid DEFAULT 'AA', p_connid TYPE sflight-connid DEFAULT '017'. START-OF-SELECTION. g_tabname_header = 'GT_HEADER'. g_tabname_item = 'GT_ITEM'. g_repid = 'Z____ALV_JERARQUICO'. SELECT SINGLE carrid connid FROM sflight INTO CORRESPONDING FIELDS OF ga_header WHERE carrid = p_carrid AND connid = p_connid. APPEND ga_header TO gt_header. SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_item. PERFORM f_key. PERFORM f_fieldcat USING gt_fieldcat. PERFORM f_layout. PERFORM f_llamar_alv. *&---------------------------------------------------------------------* *& Form f_fieldcat *&---------------------------------------------------------------------* FORM f_fieldcat CHANGING rt_fieldcat TYPE slis_t_fieldcat_alv. DATA ls_fieldcat TYPE slis_fieldcat_alv. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CARRID'. ls_fieldcat-reptext_ddic = 'AEROLINEA'. ls_fieldcat-just = 'C'. ls_fieldcat-tabname = 'GT_ITEM'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CONNID'. ls_fieldcat-reptext_ddic = 'NUMERO DE VUELO'. ls_fieldcat-just = 'C'. ls_fieldcat-tabname = 'GT_ITEM'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'FLDATE'. ls_fieldcat-reptext_ddic = 'FECHA DE VUELO'. ls_fieldcat-just = 'C'. ls_fieldcat-tabname = 'GT_ITEM'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CARRID'. ls_fieldcat-just = 'R'. ls_fieldcat-reptext_ddic = 'AEROLINEA'. ls_fieldcat-tabname = 'GT_HEADER'. APPEND ls_fieldcat TO rt_fieldcat. CLEAR ls_fieldcat. ls_fieldcat-fieldname = 'CONNID'. ls_fieldcat-just = 'R'. ls_fieldcat-reptext_ddic = 'NUMERO DE VUELO'. ls_fieldcat-tabname = 'GT_HEADER'. APPEND ls_fieldcat TO rt_fieldcat. ENDFORM. " p_fc_cabecera *&---------------------------------------------------------------------* *& Form f_key *&---------------------------------------------------------------------* FORM f_key . CLEAR ga_key. ga_key-header01 = 'CARRID'. ga_key-item01 = 'CARRID'. ga_key-header02 = 'CONNID'. ga_key-item02 = 'CONNID'. ENDFORM. " P_KEY *&---------------------------------------------------------------------* *& Form f_layout *&---------------------------------------------------------------------* FORM f_layout . ga_layout-zebra = 'X'. ENDFORM. " layout *&---------------------------------------------------------------------* *& Form f_llamar_alv *&---------------------------------------------------------------------* FORM f_llamar_alv . CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' I_CALLBACK_PROGRAM = G_REPID I_CALLBACK_PF_STATUS_SET = 'SET_STATUS' I_CALLBACK_USER_COMMAND = 'USER_COMMAND' IS_LAYOUT = GA_LAYOUT IT_FIELDCAT = GT_FIELDCAT * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_DEFAULT = 'X' * I_SAVE = ' ' * IS_VARIANT = * IT_EVENTS = * IT_EVENT_EXIT = i_tabname_header = G_TABNAME_HEADER i_tabname_item = G_TABNAME_ITEM * I_STRUCTURE_NAME_HEADER = * I_STRUCTURE_NAME_ITEM = is_keyinfo = GA_KEY * IS_PRINT = * IS_REPREP_ID = * I_BYPASSING_BUFFER = * I_BUFFER_ACTIVE = * IR_SALV_HIERSEQ_ADAPTER = * IT_EXCEPT_QINFO = * I_SUPPRESS_EMPTY_DATA = ABAP_FALSE * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = tables t_outtab_header = GT_HEADER t_outtab_item = GT_ITEM 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. ENDFORM. " f_llamar_alv *&---------------------------------------------------------------------* *& Form USER_COMMAND *&---------------------------------------------------------------------* FORM user_command USING r_ucomm TYPE sy-ucomm ra_selfield TYPE slis_selfield. CASE r_ucomm. WHEN '&IC1'. MESSAGE i001(z_daniel). ENDCASE. ENDFORM. "USER_COMMAND *&---------------------------------------------------------------------* *& Form set_status *&---------------------------------------------------------------------* FORM set_status USING rt_extab TYPE slis_t_extab. SET PF-STATUS 'STANDARD'. ENDFORM. "set_status FIJATE QUE ESTA ACTIVA LA GUI QUE COPIE Y ES LA QUE ME DIJISTES LA VERDAD ES QUE NO SE QUE HACER, ES INCREIBLE, PERO ES VERDAD. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|