Code: Alles auswählen.
TYPES: BEGIN OF wa_ausgabe_kalk_vgl,
zeichen TYPE C LENGTH 1,
bom_ebene TYPE C LENGTH 2,
pos_nr TYPE BAPIITEMIZATIONLIST-BOM_ITEM_NUMBER,
bennennung TYPE BAPIITEMIZATIONLIST-DESCRIPTION,
kostenart TYPE BAPIITEMIZATIONLIST-COST_ELEMENT,
leistungsart TYPE BAPIITEMIZATIONLIST-ACTIVITY_TYPE,
material TYPE BAPIITEMIZATIONLIST-MATERIAL,
menge TYPE BAPIITEMIZATIONLIST-QUANTITY,
mengeneinheit TYPE BAPIITEMIZATIONLIST-BASE_UNIT_OF_MEASURE,
gesamt TYPE BAPIITEMIZATIONLIST-CCODE_CURRENCY_TOTAL_VALUE,
fix TYPE BAPIITEMIZATIONLIST-CCODE_CURRENCY_FIXED_VALUE,
variabel TYPE BAPIITEMIZATIONLIST-CCODE_CURRENCY_FIXED_VALUE,
waehrung TYPE BAPIITEMIZATIONLIST-COST_COMPONENT,
gld_preis TYPE MBEW-VERPR,
std_preis TYPE MBEW-STPRS,
info_preis TYPE MBEW-VJVER,
preiseinheit TYPE MBEW-PEINH,
werkstoff TYPE MARA-WRKST,
ek_gruppe TYPE MARC-EKGRP,
lieferanten_nr TYPE EORD-LIFNR,
lieferant_name TYPE LFA1-NAME1,
gewicht_netto TYPE EORD-LIFNR,
gewicht_einheit TYPE MARA-GEWEI,
kostenstelle TYPE BAPIITEMIZATIONLIST-COST_CENTER,
arbeitsplatz TYPE BAPIITEMIZATIONLIST-WORK_CENTER,
beschaffungsart TYPE MARC-BESKZ,
prs TYPE MBEW-VMVPR,
end OF wa_ausgabe_kalk_vgl.
DATA: ausgabe_kalk_vgl TYPE TABLE OF wa_ausgabe_kalk_vgl WITH HEADER LINE.
*Die Liste wird aufsteigend nach BOM Position Sortiert.
SORT ausgabe_kalk_vgl by pos_nr ASCENDING.
*******Ausgabe der vergleichsdaten ALE
Data: gt_FCAT Type slis_t_fieldcat_alv,
gs_fcat Type slis_fieldcat_alv.
START-OF-SELECTION.
* Generiere Feldkatalog
GS_FCAT-FIELDNAME = 'zeichen'.
GS_FCAT-SELTEXT_M = '+/-'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'bom_ebene'.
GS_FCAT-SELTEXT_M = 'EBENE'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'pos_nr'.
GS_FCAT-SELTEXT_M = 'POS.'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'bennenung'.
GS_FCAT-SELTEXT_M = 'BENENNUNG'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'kostenart'.
GS_FCAT-SELTEXT_M = 'KOSTENART'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'leistungsart'.
GS_FCAT-SELTEXT_M = 'L-ART'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'material'.
GS_FCAT-SELTEXT_M = 'MATERIAL'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'menge'.
GS_FCAT-SELTEXT_M = 'MENGE'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'mengeneinheit'.
GS_FCAT-SELTEXT_M = 'M-EINHEIT'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'gesamt'.
GS_FCAT-SELTEXT_M = 'G-KOSTEN'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'fix'.
GS_FCAT-SELTEXT_M = 'F-KOSTEN'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'variabel'.
GS_FCAT-SELTEXT_M = 'V-KOSTEN'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'waehrung'.
GS_FCAT-SELTEXT_M = 'WÄHRUNG'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'gld_preis'.
GS_FCAT-SELTEXT_M = 'GLD/PREIS'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'std_preis'.
GS_FCAT-SELTEXT_M = 'STD/PREIS'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'info_preis'.
GS_FCAT-SELTEXT_M = 'INFOPREIS'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'preiseinheit'.
GS_FCAT-SELTEXT_M = 'PR/EINHEIT'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'werkstoff'.
GS_FCAT-SELTEXT_M = 'WERKSTOFF'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'ek_gruppe'.
GS_FCAT-SELTEXT_M = 'EK/GRUPPE'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'lieferanten_nr'.
GS_FCAT-SELTEXT_M = 'LIEFERANT/NR'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'lieferant_name'.
GS_FCAT-SELTEXT_M = 'LIEFERANT/NAME'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'gewicht_netto'.
GS_FCAT-SELTEXT_M = 'GEWICHT/NETTO'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'gewicht_einheit'.
GS_FCAT-SELTEXT_M = 'GEWICHT/EINHEIT'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'kostenstelle'.
GS_FCAT-SELTEXT_M = 'KOSTENSTELE'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'arbeitsplatz'.
GS_FCAT-SELTEXT_M = 'ARBEITSPLATZ'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'beschaffungsart'.
GS_FCAT-SELTEXT_M = 'BESCHAFFUNGSART'.
APPEND GS_FCAT to GT_FCAT.
GS_FCAT-FIELDNAME = 'prs'.
GS_FCAT-SELTEXT_M = 'PRS'.
APPEND GS_FCAT to GT_FCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = GT_FCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ausgabe_kalk_vgl
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.