@silver, nada de capturas con código.
Copia el texto y pegalo en forma de texto aquí.
Si no, es casi imposible de analizar, imaginate que alguien quiera ayudarte, tendría que ponerse a copiar de tu imagen.
Envia el codigo, pero supongo que debes verificar la Selección o asignación de datos, ya que estas asignando el mismo valor a ambas variables.
Saludos.
Este es el que @smota me hizo el favor de complementar. El resultado es lo que trae la imagen.
REPORT ZTEST.
data: begin of gt_ca occurs 0,
ocpedido type EKKO-EBELN,
fecha type EKKO-AEDAT,
moneda type EKKO-WAERS,
end of gt_ca.
data: begin of gt_fin occurs 0,
ocpedido1 type EKKO-EBELN,
fecha1 type EKKO-AEDAT,
moneda1 type EKKO-WAERS,
numpro1 type EKKO-LIFNR,
end of gt_fin.
DATA :gt_cat TYPE slis_t_fieldcat_alv,
gs_cat LIKE LINE OF gt_cat.
_DATA: pos type i value 1._ "Codigo agregado
_START-OF-SELECTION._
_ PERFORM zte_seleccion1._ "Codigo agregado
_ perform zte_alv1._
*&---------------------------------------------------------------------
*& Form ZTE_SELECCION1
*&---------------------------------------------------------------------
* text
*----------------------------------------------------------------------
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------
FORM ZTE_SELECCION1.
message 'select' type 'I' .
select a~EBELN a~AEDAT a~WAERS from EKKO as a
into table gt_ca
where a~AEDAT BETWEEN '20100101' AND '20160101'.
REfresh gt_fin.
if sy-subrc EQ 0.
message 'select2' type 'I' .
LOOP at gt_ca.
"clear gt_fin.
_ at first._ " Codigo agregado
_ message 'select3' type 'I' ._
_ endat._
gt_fin-ocpedido1 = gt_ca-ocpedido.
gt_fin-fecha1 = gt_ca-fecha.
gt_fin-moneda1 = gt_ca-moneda.
write: / 'DATOS ',gt_fin-ocpedido1 ,gt_fin-fecha1 ,gt_fin-moneda1.
APPEND gt_fin. "inserta en la tabla
ENDLOOP.
* else.
* write: / 'no '.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
ENDFORM. " ZTE_SELECCION1
*&---------------------------------------------------------------------
*& Form ZTE_ALV1
*&---------------------------------------------------------------------
* text
*----------------------------------------------------------------------
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------
FORM ZTE_ALV1 .
CHECK gt_fin IS NOT INITIAL.
REFRESH gt_cat.
*CLEAR gs_cat.
_ gs_cat-fieldname = 'OCPEDIDO1'._
gs_cat-ref_fieldname ='EBELN'.
_ gs_cat-SELTEXT_M = 'OC'._
_gs_cat-tabname = 'GT_FIN_'.
gs_cat-ref_tabname ='EKKO'.
gs_cat-emphasize = 'C411'.
_ ADD 1 TO pos._
_ gs_cat-col_pos = pos._
APPEND gs_cat TO gt_cat.
* CLEAR gs_cat.
_gs_cat-fieldname = 'FECHA1_'.
gs_cat-ref_fieldname ='AEDAT'.
_gs_cat-SELTEXT_M = 'Fecha_'.
_gs_cat-tabname = 'GT_FIN_'.
gs_cat-ref_tabname ='EKKO'.
gs_cat-emphasize = 'C601'.
_ ADD 1 TO pos._
_ gs_cat-col_pos = pos._
APPEND gs_cat TO gt_cat.
*
* CLEAR gs_cat.
gs_cat-fieldname = 'MONEDA1'.
gs_cat-ref_fieldname ='WAERS'.
_gs_cat-SELTEXT_M = 'Moneda_'.
_ gs_cat-tabname = 'GT_FIN._
gs_cat-ref_tabname ='EKKO'.
gs_cat-emphasize = 'C600'.
_ ADD 1 TO pos._
_ gs_cat-col_pos = pos._
APPEND gs_cat TO gt_cat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "llamado a la tabla de creacion en pantalla
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
IT_FIELDCAT = gt_cat[]
TABLES
T_OUTTAB = gt_fin[]
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM.
El fallo radica en el catalogo, el nombre de la fecha en el catalogo esta mal.
####gscat-fieldname = ‘FECHA1_’. tiene un “_”
Catalogo con nombre de Fecha Correcto
CLEAR gs_cat.
gs_cat-fieldname = 'OCPEDIDO1'.
* gs_cat-ref_fieldname ='EBELN'.
gs_cat-SELTEXT_M = 'OC'.
gs_cat-tabname = 'GT_FIN'.
* gs_cat-ref_tabname ='EKKO'.
gs_cat-emphasize = 'C411'.
ADD 1 TO gs_cat-col_pos.
APPEND gs_cat TO gt_cat.
clear:gs_cat.
** CLEAR gs_cat.
gs_cat-fieldname = 'FECHA1'.
* gs_cat-ref_fieldname ='AEDAT'.
gs_cat-SELTEXT_M = 'Fecha'.
gs_cat-tabname = 'GT_FIN'.
* gs_cat-ref_tabname ='EKKO'.
gs_cat-emphasize = 'C601'.
ADD 1 TO gs_cat-col_pos.
APPEND gs_cat TO gt_cat.
clear:gs_cat.
*
* CLEAR gs_cat.
gs_cat-fieldname = 'MONEDA1'.
* gs_cat-ref_fieldname ='WAERS'.
gs_cat-SELTEXT_M = 'Moneda'.
gs_cat-tabname = 'GT_FIN'.
* gs_cat-ref_tabname ='EKKO'.
gs_cat-emphasize = 'C600'.
ADD 1 TO gs_cat-col_pos.
APPEND gs_cat TO gt_cat.
clear:gs_cat.
@smota, no dejas ni que uno revise ejejeje . Felicidades por tu tremenda experiencia amigo.
Saludos.
QUE BÁRBARO.
No se te escapa una. De grande quiero ser como tu. Muchas gracias.
En tu nick no pensaste en… no se… por ejemplo… “todas mías” o “el chipocles” o cosas asi. jeje.
Ese era el detalle, fíjate que para ser mi primer ALV. Se me hacia muy estúpido que no me saliera, tantos lenguajes que he aprendido a usar y ABAP se pone rudo. que carajo…
Ciertamente son muchos detallismos que ABAP tiene y que no necesariamente te dice sintaxis.
Gracias y Alabado sea @smota. Otra nominación al chipocle de oro.
Saludos a todos.
Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.