Ayuda SAP

Error: Las columnas traen el mismo dato

@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.
2 Me gusta

@smota, no dejas ni que uno revise ejejeje :sweat:. Felicidades por tu tremenda experiencia amigo.

Saludos.

2 Me gusta

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.

2 Me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.