Gracias por el código. Lo he estado mirando y utiliza la misma función que para mostrar el ALV que mi código. El problema es que al compilar-lo me da un montón de errores como la variable g_repid, etc.... No acabo de saber como montar-lo. Lo veo...pero nose cómo...me podrias ayudar?? Mi codigo de ALV és éste:
Primero ejecuto el catálogo en un form:
FORM CATALEG_ALV.
SORT IT_OUT BY TEXT EBELN.
CLEAR IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'EINDT'.
WA_FIELDCAT-REF_FIELDNAME = 'EINDT'.
WA_FIELDCAT-REF_TABNAME = 'MDBS'.
WA_FIELDCAT-OUTPUTLEN = 16.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-REF_FIELDNAME = 'MATNR'.
WA_FIELDCAT-REF_TABNAME = 'EKPO'.
WA_FIELDCAT-OUTPUTLEN = 10.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'TXZ01'.
WA_FIELDCAT-REF_FIELDNAME = 'TXZ01'.
WA_FIELDCAT-REF_TABNAME = 'EKPO'.
WA_FIELDCAT-OUTPUTLEN = 35.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'TEXT'.
WA_FIELDCAT-REF_FIELDNAME = 'TEXT'.
WA_FIELDCAT-SELTEXT_L = 'Proveedor'.
WA_FIELDCAT-OUTPUTLEN = 30.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MENGE'.
WA_FIELDCAT-REF_FIELDNAME = 'MENGE'.
WA_FIELDCAT-REF_TABNAME = 'EKPO'.
WA_FIELDCAT-OUTPUTLEN = 13.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MEINS'.
WA_FIELDCAT-REF_FIELDNAME = 'MEINS'.
WA_FIELDCAT-REF_TABNAME = 'EKPO'.
WA_FIELDCAT-OUTPUTLEN = 4.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-REF_FIELDNAME = 'EBELN'.
WA_FIELDCAT-REF_TABNAME = 'EKPO'.
WA_FIELDCAT-OUTPUTLEN = 17.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BEDAT'.
WA_FIELDCAT-REF_FIELDNAME = 'BEDAT'.
WA_FIELDCAT-REF_TABNAME = 'EKKO'.
WA_FIELDCAT-OUTPUTLEN = 14.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'PEINH'.
WA_FIELDCAT-REF_FIELDNAME = 'PEINH'.
WA_FIELDCAT-REF_TABNAME = 'EIPA'.
WA_FIELDCAT-OUTPUTLEN = 7.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'PREIS'.
WA_FIELDCAT-REF_FIELDNAME = 'PREIS'.
WA_FIELDCAT-REF_TABNAME = 'EIPA'.
WA_FIELDCAT-OUTPUTLEN = 12.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'ENTREGA'.
WA_FIELDCAT-REF_FIELDNAME = 'MENGE'.
WA_FIELDCAT-SELTEXT_L = 'Por entregar'.
WA_FIELDCAT-OUTPUTLEN = 10.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MENGE2'.
WA_FIELDCAT-REF_FIELDNAME = 'MENGE'.
WA_FIELDCAT-REF_TABNAME = 'EKPO'.
WA_FIELDCAT-SELTEXT_L = 'Ctd. EM'.
WA_FIELDCAT-OUTPUTLEN = 12.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'IMPORT'.
WA_FIELDCAT-REF_FIELDNAME = 'IMPORT'.
WA_FIELDCAT-SELTEXT_L = 'Importe'.
WA_FIELDCAT-OUTPUTLEN = 12.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
ENDFORM. "CATALEG_ALV
Luego voy a por el layout:
FORM LAYOUT_ALV USING LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
LS_LAYOUT-ZEBRA = 'X'.
LS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM. "LAYOUT_ALV
Y finalmente (que creo que es donde debo modificar mayoritáriamente) llamo a la función:
FORM MOSTRAR_ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GS_LAYOUT
TABLES
T_OUTTAB = IT_OUT
.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. "MOSTRAR_ALV
Como ves mi tabla de salida es la IT_OUT.
Nose--si me podrias ayudar con ésto...sy lo haces lo único que podré darte es mi gratitud...pero creeme que a mi me seria de gran ayuda.
Gracias por tu tiempo,
Un saludo!