Académique Documents
Professionnel Documents
Culture Documents
end-of-selection.
*---------------------------------------------------------------------*
*
* Now, we start with ALV
*
*---------------------------------------------------------------------*
*
*
* To use ALV, we need a DDIC-structure or a thing called Fieldcatalogue.
* The fieldcatalouge can be generated by FUNCTION
* 'REUSE_ALV_FIELDCATALOG_MERGE' from an internal table from any
* report source, including this report.
* The only problem one might have is that the report and table names
* need to be in capital letters.
*
*
*---------------------------------------------------------------------*
*
*This was the fieldcatlogue
PERFORM buildcatalog.
** Store report name
* i_repid = sy-repid.
*
** Create Fieldcatalogue from internal table
* CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*
EXPORTING
*
I_PROGRAM_NAME
= i_repid
*
I_INTERNAL_TABNAME
= 'IMAT' "capital letters!
*
I_INCLNAME
= i_repid
*
CHANGING
*
CT_FIELDCAT
= int_fcat
*
EXCEPTIONS
*
INCONSISTENT_INTERFACE = 1
*
PROGRAM_ERROR
= 2
*
OTHERS
= 3.
**explanations:
**
I_PROGRAM_NAME is the program which calls this function
**
**
I_INTERNAL_TABNAME is the name of the internal table which you want
**
to display in ALV
**
**
I_INCLNAME is the ABAP-source where the internal table is defined
**
(DATA....)
**
CT_FIELDCAT contains the Fieldcatalouge that we need later for
**
ALV display
*
*
* IF SY-SUBRC <> 0.
*
write: /
*
'Returncode',
*
sy-subrc,
*
'from FUNCTION REUSE_ALV_FIELDCATALOG_MERGE'.
* ENDIF.
*---------------------------------------------------------------------*
*
I_CALLBACK_PROGRAM
IT_FIELDCAT
=
I_SAVE
TABLES
T_OUTTAB
EXCEPTIONS
PROGRAM_ERROR
OTHERS
= i_repid
int_fcat
= 'A'
= imat
= 1
= 2.
*
*explanations:
*
I_CALLBACK_PROGRAM is the program which calls this function
*
*
IT_FIELDCAT
*
*
I_SAVE allows the user to save his own layouts
*
*
T_OUTTAB contains the data to be displayed in ALV
IF SY-SUBRC <> 0.
write: /
'Returncode',
sy-subrc,
'from FUNCTION REUSE_ALV_LIST_DISPLAY'.
ENDIF.
*
*&---------------------------------------------------------------------*
*&
Form buildcatalog
*&---------------------------------------------------------------------*
*
Another way of building catalog
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form buildcatalog .
wa_fcat-fieldname = 'MATNR'.
wa_fcat-seltext_m = 'No.'.
APPEND wa_fcat TO int_fcat.
wa_fcat-fieldname = 'MAKTX'.
wa_fcat-seltext_m = 'Desc.'.
APPEND wa_fcat TO int_fcat.
wa_fcat-fieldname = 'MATKL'.
wa_fcat-seltext_m = 'Group'.
APPEND wa_fcat TO int_fcat.
wa_fcat-fieldname = 'NTGEW'.
wa_fcat-seltext_m = 'Weight'.
APPEND wa_fcat TO int_fcat.
wa_fcat-fieldname = 'GEWEI'.
wa_fcat-seltext_m = 'Unit'.
APPEND wa_fcat TO int_fcat.
endform.
" buildcatalog