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 02/04/08, 16:55:41
TIN_JD TIN_JD is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 24
Angry Ayuda Urgente Con Reporte

Hola Que Tal Compañeros.
Hoyvengo Pidiendo Su Ayuda Porqu El La Vdd Estoy Atorado En Algo, Estoy Haciendo Un Reporte Que Lee Una Tabla Creada En Sap Y Depues La Muestra En Un Avl, Mi Problema Comienza Aqui, La Intencion Es Que Ese Avl Tenga Los Campos Que Se Nececitan Y Aparte Tres De Ellos Son Especiales Dos Son Checks Y Uno Es De Tipo Icono, La Finalidad De Esto Es Que El Usuario Pueda Activar El Check Correspondiente Asu Area Cuando Den Por Pasado Ese Doc Y Asi Al Final El Siguiente Departamento Hara Los Mismo Por Eso El Echo De Que Aya Dos Check Y Eso Determinara El Estatus De El Documento Y Este Sera Reflejado Por Un Icono , Verde Si Estan Los Dos Seleccionados , Amarillo Sie Sta Solo Uno Seleccionado Y Rojo Si Ingno Est Aselccionado,
Y De Ahi S Eespera Que Esos Movimientos Sean Guardados En L Atabla De La Cual Se Sacaron Los Datos, Para Despues Generar Un Batch Input Con Esa Tabla Y Que Solo Carge Los Datos Con El Semaforo En Verde A La Trnsaccion En Donde Se Generan Las Facturas.
Hasta El Momento Ya Tengo La Primera Face Casi Completa A Esepcion De Que Me Acepte El Check Y Estoy Por Empesar La Segunda Face Que Seria El Batch Pero Esto Me Atora Y En Vdd Si Algien Tubiera Algun Tip O Alguna Idea Sera Bien Recibida.
Responder Con Cita
  #2  
Viejo 02/04/08, 17:03:26
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola, lo que haria es trabajar primero con OO para poder utilizar los metodos mas facil ... utilizar el handle_data_changed para poder actualizar los semaforos cada vez q le insertan el check ... y lo que viene despues seria agregar una rutina para filtrar los registros que tienen el semaforo verde y realizar el batch ....
__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 02/04/08, 17:41:32
TIN_JD TIN_JD is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 24
Hola

OYE COMO QUE CON OO, DE LO DEMAS YA LO TENGO SOLUCIONADO SOLO ME FALLA QUE NO ME PERMITE UTILIZAREL CHECK , NO LO PUEDO SELECCIONAO O DESELECCIONAR DE CHO SOLO APARECE Y TODO PERO NO ME DEJA HACER OTRA COSA
Responder Con Cita
  #4  
Viejo 02/04/08, 18:59:15
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
uhm .... tal vez sea una respuesta tonta pero lo colocaste como campo editable y tipo checkbox el campo de check???
__________________
David Carballido Córdova
Responder Con Cita
  #5  
Viejo 03/04/08, 08:42:15
vickxo vickxo is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Madrid, España
Mensajes: 118
Hola, una vez q le hayas no es tan complicado ...

Mira, son varias cosas

1. La tabla interna q manejas en el ALV tiene que tene runa estructura parecida a esta:
DATA: BEGIN OF it_report OCCURS 0,
icono TYPE icon-id, "Semaforo
lights, "Semaforo
check(1), "Check box
...
END OF it_report.

Icono y lights es la q maneja los colores, check es donde le das

2. Hacer q se vea como un semaforo
FORM fill_layout USING e05_ls_layout TYPE slis_layout_alv.
** e05_ls_layout-f2code = '&ETA'.
e05_ls_layout-zebra = 'X'.
e05_ls_layout-colwidth_optimize = 'X'.
e05_ls_layout-no_min_linesize = 'X'.
e05_ls_layout-cell_merge = ''.
e05_ls_layout-box_fieldname = 'ICONO'.
e05_ls_layout-no_input = ''.
e05_ls_layout-no_vline = ''.
e05_ls_layout-no_colhead = ''.
e05_ls_layout-lights_fieldname = 'LIGHTS'.
e05_ls_layout-lights_condense = 'X'.
e05_ls_layout-totals_text = ''.
e05_ls_layout-subtotals_text = ''.
e05_ls_layout-totals_only = ''.
e05_ls_layout-key_hotspot = ''.
e05_ls_layout-detail_popup = 'X'.
e05_ls_layout-group_change_edit = ''.
e05_ls_layout-group_buttons = space.
ENDFORM. " FILL_LAYOUT


3. Actualizar ALV, yo lo hago con reuse...

FORM call_function.
DATA : li_grid_setting TYPE lvc_s_glay.
li_grid_setting-edt_cll_cb = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZFI_CARGA_MERCANCIAS'
is_layout = gs_layout
it_fieldcat = ct_fieldcat
i_save = g_save
is_variant = g_variant
it_events = gt_events[]
i_callback_user_command = 'USER_COMMAND'
it_sort = gt_sort[]
i_callback_pf_status_set = 'ALV_STATUS'
i_grid_settings = li_grid_setting
IMPORTING
e_exit_caused_by_caller = g_exit_caused_by_caller
es_exit_caused_by_user = gs_exit_caused_by_user
TABLES
t_outtab = it_report
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc = 0.
IF g_exit_caused_by_caller = 'X'.
ELSE.
IF gs_exit_caused_by_user-back = 'X'. "F3
ELSE.
IF gs_exit_caused_by_user-exit = 'X'. "F15
ELSE.
IF gs_exit_caused_by_user-cancel = 'X'. "F12
ELSE.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
ENDIF.

ENDFORM. " CALL_FUNCTION



4. Editar el check ...
FORM modif_catalog.
DATA: temp_fieldcat TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.
LOOP AT ct_fieldcat INTO temp_fieldcat.

CASE temp_fieldcat-fieldname.
WHEN 'ICONO'.
temp_fieldcat-no_out = 'X'.

WHEN 'CHECK'.
temp_fieldcat-checkbox = 'X'.
temp_fieldcat-edit = 'X'.
temp_fieldcat-outputlen = 1.
temp_fieldcat-col_pos = 2.


WHEN 'BLDAT'.
temp_fieldcat-no_out = 'X'.

....
endcase y balblabla.
endform modif...


Para irlo manejando, usas esto:

IF wa_fichero-indi = 'X'.
wa_report-lights = '1'.
ENDIF.
IF wa_fichero-indi = 'Y'.
wa_report-lights = '2'.
ENDIF.
IF wa_fichero-indi = space.
wa_report-lights = '3'.

indi, es una variable que yo cargo en base a unas validaciones q hago, el uno carga el color rojo, el 2 el amarillo y el 3 el verde...bueno igual y es 3 rojo pero no lo recuerdo bien ya...

Lo q si es bartante relevante es q en tu user_comando tengas esto:


FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: w_answer TYPE c.
rs_selfield-refresh = 'X'. "Esto es lo q le da vida a tu ALV

CASE r_ucomm.
WHEN 'EXEC'.
...
LOOP AT it_report INTO wa_report WHERE check = 'X' AND lights = 3. "Aqui es donde puedo procesar las marcas y con semaforo verde
mas choro....
enform


Para hacer editable tu check pueba con poner ese campo como editable.......y si no pos haber se podemos hacer vale, saludos!
Supongo yo q con solo darle edit a los dos check ya tendrias puerta abierta para tratarlo...en mi caso solo use un check...

Nota: En OO se puede sin embargo no considero pertinente usar OO si la solucuon estructurada es factible y facil de implementar. Usaria OO para arboles o poner dos ALV en la misma pantalla, etc Usario OO para desarrollos q sean dificiles de visualizar con estructurado. Dos ALV en la misma pantalla no me imagino q lio te generarian en un codigo estructurado :s!
__________________
el tema esta en hacer la pregunta correcta...

Úlima edición por vickxo fecha: 03/04/08 a las 09:26:12.
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 12:42:01.


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