Autor Tema: Es posible hacer esto?  (Leído 16142 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ekim68

  • Novato
  • *
  • Mensajes: 7
    • Ver Perfil
Es posible hacer esto?
« en: 20 de Abril de 2009, 02:42:10 am »


Hola a todos, me acabo de registrar en el foro y tengo una duda como soy nuevo en esto de abap, quisiera saber si es posible hacer un reporte ALV con este formato, muchas gracias.


Desconectado Carlos

  • Usuario Sr.
  • ****
  • Mensajes: 177
    • Ver Perfil
Re: Es posible hacer esto?
« Respuesta #1 en: 20 de Abril de 2009, 12:40:04 pm »
Hola ekim, bienvenido al foro...  ;D

Se podría hacer algo parecido con la función REUSE_ALV_HIERSEQ_LIST_DISPLAY

Es un ALV de tipo LIST donde le puedes poner cabeceras y posiciones, la única diferencia respecto al informe que muestras es que los datos de cabecera estarían en una sola línea, pero para los efectos yo pienso que te puede servir.

Te quedaría como este ejemplo...


Un saludo.


Desconectado ekim68

  • Novato
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Es posible hacer esto?
« Respuesta #2 en: 20 de Abril de 2009, 04:40:52 pm »
Muchas gracias por la respuesta, me ha sido de gran utilidad, si quiero hacer cortes de control en la segunda tabla por un campo en especifico, se pueden llevar a cabo por medio de las sentencias AT NEW y AT FIRST? o mas bien es posible hacerlos?

Los cortes de control me refiero a si es posible dividir los registros de la segunda tabla por un campo en especifico por ejemplo dividir los registros por el campo Alm. (En el ejemplo de Carlos).

El reporte de la imagen que presente anteriormente lo extraje de un standard que me pasaron, estuve viendo el codigo de ese estandar solo que es muy extenso y por mas que he buscado no he encontrado la forma de darle ese formato.

Gracias nuevamente por la respuesta.


Desconectado Carlos

  • Usuario Sr.
  • ****
  • Mensajes: 177
    • Ver Perfil
Re: Es posible hacer esto?
« Respuesta #3 en: 20 de Abril de 2009, 05:27:11 pm »
Hola, creo recordar que puedes dividir los registros como comentas hasta por 5 campos creo.

Este es un ejemplo.
Código: [Seleccionar]
* Campos para relacionar la cabecera y la posición.
  gs_key-header01 = 'LINEA'.
  gs_key-item01   = 'LINEA'.
  gs_key-header02 = 'ARTICULO'.
  gs_key-item02   = 'ARTICULO'.
  gs_key-header03 = 'F_PRODU'.
  gs_key-item03   = 'F_PRODU'.

* Visualizar lista con CABECERA Y POSICIÓN.
  call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
    exporting
      i_callback_program       = c_program
*     i_callback_pf_status_set = status
      i_callback_user_command  = formname_user_command
      is_layout                = layout
      it_fieldcat              = fieldtab
      it_sort                  = sort
      i_default                = 'A'
      i_save                   = g_save
      is_variant               = variant
      it_events                = events[]
      i_tabname_header         = 'GT_CAB'
      i_tabname_item           = 'GT_POS'
      is_keyinfo               = gs_key
    tables
      t_outtab_header          = gt_cab[]
      t_outtab_item            = gt_pos[].

Desconectado ekim68

  • Novato
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Es posible hacer esto?
« Respuesta #4 en: 20 de Abril de 2009, 07:24:58 pm »
Hola, lo de los headers fue util, pero creo que hasta cierto punto, lo que pasa es que la segunda agrupacion que deseo realizar es por medio del campo Clase (mostrado en la imagen) dentro de un solo cliente, entonces cuando se realiza esto, pues me repite los datos de la cabecera para cada cliente y son como 15 distintos valores para el campo Clase, entonces creo que se repetira los datos del cliente 15 veces, no se si me explico?

Me agrupa los datos correctamente, pero lo que necesito es que me los agrupe, pero sin crear una segunda cabecera, creo que encontre una manera de realizarlo, añadiendo en un registro en blanco en la segunda tabla para que me realice la separación.

Lo que pasa es que requiero ademas realizar subtotales de cada agrupacion por cliente.
Muchas gracias por su ayuda.


Desconectado leonard77

  • Novato
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Es posible hacer esto?
« Respuesta #5 en: 28 de Julio de 2009, 03:25:24 am »
excelente respuesta, gracias por la data!!!

saludos!

leo