Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report Z_PM_TT_MUSTER_4
*&---------------------------------------------------------------------*
REPORT Z_PM_TT_MUSTER_4.
TYPES: BEGIN OF ERFAMA_JOIN,
MANDT TYPE AUFK-MANDT,
AUFNR TYPE AUFK-AUFNR,
VAPLZ TYPE AUFK-VAPLZ,
STORT TYPE AUFK-STORT,
VORNR TYPE AFRU-VORNR,
KTEXT TYPE AUFK-KTEXT,
ISMNW TYPE AFRU-ISMNW,
ISMNE TYPE AFRU-ISMNE,
LTXA1 TYPE AFRU-LTXA1,
GSTRP TYPE AFKO-GSTRP,
GSUZP TYPE AFKO-GSUZP,
GLTRP TYPE AFKO-GLTRP,
GLUZP TYPE AFKO-GLUZP,
BUDAT TYPE AFRU-BUDAT,
END OF ERFAMA_JOIN.
DATA: IT_ERFAMA TYPE TABLE OF ERFAMA_JOIN,
WA_ERFAMA TYPE ERFAMA_JOIN.
DATA: OK_CODE LIKE SY-UCOMM.
DATA: GO_ALV_GRID TYPE REF TO CL_SALV_TABLE.
SELECT-OPTIONS: S_AUFNR FOR WA_ERFAMA-AUFNR.
*****************************************************
START-OF-SELECTION.
SELECT K~MANDT
K~AUFNR
K~VAPLZ
STORT
VORNR
KTEXT
ISMNW
ISMNE
LTXA1
GSTRP
GSUZP
GLTRP
GLUZP
BUDAT
INTO CORRESPONDING FIELDS OF TABLE IT_ERFAMA
FROM AUFK AS K LEFT OUTER JOIN AFRU AS U
ON K~AUFNR = U~AUFNR
INNER JOIN AFKO AS O
ON K~AUFNR = O~AUFNR
WHERE: K~AUFNR IN S_AUFNR.
SORT IT_ERFAMA BY AUFNR DESCENDING. "absteigend Sortieren
* create ALV
CL_SALV_TABLE=>FACTORY(
IMPORTING
R_SALV_TABLE = GO_ALV_GRID
CHANGING
T_TABLE = IT_ERFAMA ).
* display data
GO_ALV_GRID->DISPLAY( ).
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report Z_PM_TT_MUSTER_5
*&---------------------------------------------------------------------*
REPORT Z_PM_TT_MUSTER_5.
TYPES: BEGIN OF ERFAMA_JOIN,
MANDT TYPE AUFK-MANDT,
AUFNR TYPE AUFK-AUFNR,
VAPLZ TYPE AUFK-VAPLZ,
STORT TYPE AUFK-STORT,
VORNR TYPE AFRU-VORNR,
KTEXT TYPE AUFK-KTEXT,
ISMNW TYPE AFRU-ISMNW,
ISMNE TYPE AFRU-ISMNE,
LTXA1 TYPE AFRU-LTXA1,
GSTRP TYPE AFKO-GSTRP,
GSUZP TYPE AFKO-GSUZP,
GLTRP TYPE AFKO-GLTRP,
GLUZP TYPE AFKO-GLUZP,
BUDAT TYPE AFRU-BUDAT,
END OF ERFAMA_JOIN.
DATA: IT_ERFAMA TYPE TABLE OF ERFAMA_JOIN,
WA_ERFAMA TYPE ERFAMA_JOIN.
DATA: OK_CODE LIKE SY-UCOMM.
DATA: GO_ALV_GRID TYPE REF TO CL_GUI_ALV_GRID,
GO_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
SELECT-OPTIONS: S_AUFNR FOR WA_ERFAMA-AUFNR.
*****************************************************
START-OF-SELECTION.
SELECT K~MANDT
K~AUFNR
K~VAPLZ
STORT
VORNR
KTEXT
ISMNW
ISMNE
LTXA1
GSTRP
GSUZP
GLTRP
GLUZP
BUDAT
INTO CORRESPONDING FIELDS OF TABLE IT_ERFAMA
FROM AUFK AS K LEFT OUTER JOIN AFRU AS U
ON K~AUFNR = U~AUFNR
INNER JOIN AFKO AS O
ON K~AUFNR = O~AUFNR
WHERE: K~AUFNR IN S_AUFNR.
SORT IT_ERFAMA BY AUFNR DESCENDING. "absteigend Sortieren
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS_100'.
SET TITLEBAR 'DYNPRO 100'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module CLEAR_OK_CODE OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE CLEAR_OK_CODE OUTPUT.
CLEAR OK_CODE.
ENDMODULE. " CLEAR_OK_CODE OUTPUT
*&---------------------------------------------------------------------*
*& Module CREATE_AND_TRANSFER OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE CREATE_AND_TRANSFER OUTPUT.
IF GO_CONTAINER IS INITIAL.
CREATE OBJECT GO_CONTAINER
EXPORTING
CONTAINER_NAME = 'TRAEGER_DYNPRO'
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE A010(BC405_408).
ENDIF.
CREATE OBJECT GO_ALV_GRID
EXPORTING
I_PARENT = GO_CONTAINER
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE A010(BC405_408).
ENDIF.
GO_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY( EXPORTING
I_STRUCTURE_NAME = 'ZPM_ERFAMA'
CHANGING
IT_OUTTAB = IT_ERFAMA
EXCEPTIONS
OTHERS = 1 ).
IF SY-SUBRC <> 0.
MESSAGE A012(BC405_408).
ENDIF.
ENDIF.
ENDMODULE. " CREATE_AND_TRANSFER OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
Beim SALV wird der Feldkatalog automatisch zur Laufzeit aus der internen Tabelle ermittelt (funktioniert aber auch nicht 100%, sind aber Sonderfälle).peripe hat geschrieben:Kann mir jemand verraten waran es liegt..?
Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
peripe