MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Error por versión SAP (foro/showthread.php?t=77131)

vic3 17/05/17 06:57:53

Error por versión SAP
 
Buenos días, tengo un INCLUDE hecho de otro proyecto con las RUTINAS y EVENTOS de mi ALV GRID. El caso es que en el proyecto que estoy ahora no consigo que funcione, me da un error de "Incorret spelling or comma error". Bien, he llegado a la conclusión de que el problema se da por culpa de la versión de SAP... antes la 740 y ahora la 700.

En concreto el error me aparece aquí: (marco en negrita)

*&---------------------------------------------------------------------*
*& Form ALV_GRID_GET_FIELD_CATALOG
*&---------------------------------------------------------------------*
FORM GET_FIELD_CATALOG USING P_NOMBRE_TABLA CHANGING CT_FIELDCATALOG TYPE LVC_T_FCAT.

FIELD-SYMBOLS <LT_TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <LS_FCAT> TYPE LVC_S_FCAT.
DATA LO_SALV_TABLE TYPE REF TO CL_SALV_TABLE.

REFRESH CT_FIELDCATALOG.

UNASSIGN <LT_TABLE>.
ASSIGN (P_NOMBRE_TABLA) TO <LT_TABLE>.
IF <LT_TABLE> IS NOT ASSIGNED.
MESSAGE E005(ZCM_GEST_PETI_DESA) WITH P_NOMBRE_TABLA.
ENDIF.

TRY.
CL_SALV_TABLE=>FACTORY( IMPORTING
R_SALV_TABLE = LO_SALV_TABLE
CHANGING
T_TABLE = <LT_TABLE> ).

CT_FIELDCATALOG = CL_SALV_CONTROLLER_METADATA=>GET_LVC_FIELDCATALOG(
R_COLUMNS = LO_SALV_TABLE->GET_COLUMNS( ) " ALV Filter
R_AGGREGATIONS = LO_SALV_TABLE->GET_AGGREGATIONS( )
). " ALV Aggregations
CATCH CX_ROOT.
MESSAGE E006(ZCM_GEST_PETI_DESA).
ENDTRY.

* QUITAMOS DEL CATALOGO DE CAMPO EL MANDANTE PARA QUE NUNCA SE VEA EN EL ALV
DELETE CT_FIELDCATALOG WHERE FIELDNAME = 'MANDT'.

LOOP AT CT_FIELDCATALOG ASSIGNING <LS_FCAT> WHERE REPTEXT = ''.
<LS_FCAT>-REPTEXT = <LS_FCAT>-FIELDNAME.
ENDLOOP.

ENDFORM.-------------------------------------------------------------------------

Vengo a pedir vuestra ayuda para ver si me podéis ayudar a "salvar"/"evitar" ese error, de alguna manera, en esta versión para mi catálogo de campo...

Gracias de antemano :) :) :)

J e f f 17/05/17 14:33:15

anda comentando por partes el código y tratando de activar! en cuanto active, vas a darte cuenta donde esta el error!

vic3 17/05/17 14:57:15

Gracias
 

Si comento la parte problemática, me activa pero a la hora de mostrar el ALV da un error "No es posible determinar un catálogo de campo", obviamente.

Me estoy volviendo un poco loco porque no se que modificar.

Gracias por tu respuesta, un saludo. :)

vic3 18/05/17 14:09:26

Solucionado
 
Lo solucioné de esta forma... Saludos:

DATA COLUMNAS TYPE REF TO CL_SALV_COLUMNS_LIST.
COLUMNAS = LO_SALV_TABLE->GET_COLUMNS( ).
DATA AGGREGATIONS TYPE REF TO CL_SALV_AGGREGATIONS.
AGGREGATIONS = LO_SALV_TABLE->GET_AGGREGATIONS( ).

CT_FIELDCATALOG = CL_SALV_CONTROLLER_METADATA=>GET_LVC_FIELDCATALOG(
R_COLUMNS = COLUMNAS
R_AGGREGATIONS = AGGREGATIONS
).


Husos Horarios son GMT. La hora en este momento es 22:57:38.

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