MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 15/07/08, 17:12:21
daniel_daniel1 daniel_daniel1 is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 31
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
Responder Con Cita
  #2  
Viejo 15/07/08, 22:32:00
ibecerra
 
Mensajes: n/a
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
Responder Con Cita
  #3  
Viejo 16/07/08, 16:45:06
daniel_daniel1 daniel_daniel1 is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 31
Problema Con Alv Jerarquico

Muchas Gracias Por Tu Ayuda, Voy A Probar Como Funciona Y Te Aviso.

Gracias Por Tu Tiempo.
Responder Con Cita
  #4  
Viejo 16/07/08, 18:31:45
daniel_daniel1 daniel_daniel1 is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 31
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.
Responder Con Cita
  #5  
Viejo 16/07/08, 18:34:29
ibecerra
 
Mensajes: n/a
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
Responder Con Cita
  #6  
Viejo 16/07/08, 18:40:37
daniel_daniel1 daniel_daniel1 is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 31
Problema Con Alv Jerarquico

En El Status Debo Incluir Algun Boton O Algun Function Code En Especial?
Responder Con Cita
  #7  
Viejo 16/07/08, 18:58:59
ibecerra
 
Mensajes: n/a
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.
Responder Con Cita
  #8  
Viejo 16/07/08, 19:08:58
daniel_daniel1 daniel_daniel1 is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 31
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.
Responder Con Cita
  #9  
Viejo 16/07/08, 19:17:29
ibecerra
 
Mensajes: n/a
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
Responder Con Cita
  #10  
Viejo 16/07/08, 19:49:26
daniel_daniel1 daniel_daniel1 is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 31
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.
Imágenes Adjuntas
Tipo de Archivo: jpg Imagen.JPG (24.4 KB, 22 visitas)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 07:26:15.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web