Documente Academic
Documente Profesional
Documente Cultură
TYPE-POOLS: SLIS.
TABLES:
MARA,
MSEG,
MBEW,
MKPF,
MARC,
BLPK,
BLPP,
SSCRFIELDS.
TYPES: T_LIST TYPE ZCL_REP_MB51=>T_LIST.
DATA:
GV_ATTRI1 TYPE ZDE_ATTRI1 ,
GV_ATTRI2 TYPE ZDE_ATTRI2 ,
GV_ATTRI3 TYPE ZDE_ATTRI3 ,
GV_ATTRI4 TYPE ZDE_ATTRI4 ,
GV_ATTRI5 TYPE ZDE_ATTRI5 ,
GV_ATTRI6 TYPE ZDE_ATTRI6 ,
GV_ATTRI7 TYPE ZDE_ATTRI7 .
INITIALIZATION.
PERFORM AUTHORIZATION_CHECK.
START-OF-SELECTION.
PERFORM PRE-SELECTION.
PERFORM MB51_CALL.
PERFORM ADDITIONAL_SELECTION.
PERFORM DATA_COLLECTION.
END-OF-SELECTION.
PERFORM BUILD_FCAT.
PERFORM REUSE_ALV.
*&---------------------------------------------------------------------*
*& Form PRE-SELECTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PRE-SELECTION .
FIELD-SYMBOLS: <MATERL> LIKE GS_MATERL.
SELECT
MARC~MATNR
MARC~WERKS
MARC~DISPO
MARC~EKGRP
MARA~SPART
MBEW~BKLAS
****************************
MARA~MATKL
MARA~MKTX1
MARA~MKTX2
MARA~MKTX3
MARA~MKTX4
MARA~QUALF
MARA~ATTRI1
MARA~ATTRI2
MARA~ATTRI3
MARA~ATTRI4
MARA~ATTRI5
MARA~ATTRI6
MARA~ATTRI7
MARA~ATTU1
MARA~ATTU2
MARA~ATTU3
MARA~ATTU4
MARA~ATTU5
MARA~ATTU6
MARA~ATTU7
MARA~HAZTY
MARA~DCREF
MARA~BOMFLAG
MARA~COSHH
MARA~FAMATNR
MARA~OBSOL
MARA~REING
MARA~RESPO
MARA~MMATNR1
MARA~MMATNR2
MARA~MMATNR3
MARA~MMATNR4
MARA~SHLIF
MARA~SMKTX
MARA~MINTEMP
MARA~MAXTEMP
MARA~UNITTEMP
MARA~MFRPN
MARA~MFRNR
MARA~ZZOEMPART
MARA~ZZOEM_MANF
MARC~ZZCONSTKIND
MARC~KZKRI
INTO CORRESPONDING FIELDS OF TABLE GT_MATERL
FROM MARC
INNER JOIN MARA
ON MARC~MANDT EQ MARA~MANDT
AND MARC~MATNR EQ MARA~MATNR
INNER JOIN MBEW
ON MBEW~MANDT EQ MARC~MANDT
AND MBEW~MATNR EQ MARC~MATNR
AND MBEW~BWKEY EQ MARC~WERKS
AND MBEW~BWTAR EQ SPACE
WHERE MARC~MATNR IN MATNR
AND MARC~WERKS IN WERKS
AND MARA~DCREF IN SO_DCREF
AND MARA~SHLIF IN SO_SHLIF
AND MARA~COSHH IN SO_COSHH
AND MARA~ATTRI1 IN SO_ATT1
AND MARA~ATTRI2 IN SO_ATT2
AND MARA~ATTRI3 IN SO_ATT3
AND MARA~ATTRI4 IN SO_ATT4
AND MARA~ATTRI5 IN SO_ATT5
AND MARA~ATTRI6 IN SO_ATT6
AND MARA~ATTRI7 IN SO_ATT7.
IF GT_MB51RES[] IS INITIAL.
MESSAGE 'No Data Found For The Selection.' TYPE 'I'.
LEAVE PROGRAM.
ENDIF.
ENDFORM. " MB51_CALL
*&---------------------------------------------------------------------*
*& Form ADDITIONAL_SELECTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ADDITIONAL_SELECTION .
DATA: BEGIN OF LS_MATNR,
MATNR TYPE MARC-MATNR,
WERKS TYPE MARC-WERKS,
END OF LS_MATNR.
DATA: LT_MATNR LIKE TABLE OF LS_MATNR.
DATA: LS_VENDOR TYPE T_VENDOR.
DATA: LT_VENDOR LIKE TABLE OF LS_VENDOR.
DATA: BEGIN OF LS_MBLNR,
MBLNR LIKE MSEG-MBLNR,
MJAHR LIKE MSEG-MJAHR,
END OF LS_MBLNR.
DATA: LT_MBLNR LIKE TABLE OF LS_MBLNR.
FIELD-SYMBOLS: <MB51> LIKE LINE OF GT_MB51RES.
CHECK GT_MB51RES[] IS NOT INITIAL.
REFRESH: LT_MATNR[], LT_VENDOR[], GT_VENDOR[].
IF GS_ALV-BKTXT IN BKTXT.
APPEND GS_ALV TO GT_ALV.
CLEAR GS_ALV.
ENDIF.
ENDLOOP.
GS_FCAT-SELTEXT_L = 'SELECT'.
GS_FCAT-FIELDNAME = 'CHECK'.
GS_FCAT-CHECKBOX = 'X'.
GS_FCAT-TABNAME = 'GT_ALV'.
GS_FCAT-OUTPUTLEN = '4'.
GS_FCAT-INPUT(1) = 'X'.
GS_FCAT-EDIT_MASK(1) = 'X'.
GS_FCAT-EDIT(1) = 'X'.
APPEND GS_FCAT TO GT_FCAT.
CL_SALV_TABLE=>FACTORY( IMPORTING
R_SALV_TABLE = SALV_TABLE
CHANGING
T_TABLE = GT_ALV ).
LVC_FCAT = CL_SALV_CONTROLLER_METADATA=>GET_LVC_FIELDCATALOG(
R_COLUMNS = COLUMNS
R_AGGREGATIONS = AGGREGATIONS
).
*&---------------------------------------------------------------------*
*& Form user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->F_UCOMM text
* -->FS_SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING F_UCOMM LIKE SY-UCOMM
FS_SELFIELD TYPE SLIS_SELFIELD.
REFRESH: T_GT_MGD2.
SELECT * FROM
ZMM_MGD2
INTO TABLE T_GT_MGD2
WHERE MATNR IN MATNR AND
WERKS IN WERKS AND
FUNCA IN SO_FUNCA AND
FNSUB IN SO_FNSUB.
REFRESH: GT_MGD2.
ENDFORM. "authorization_check
*&---------------------------------------------------------------------*
*& Form set_pf_status
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->RT_EXTAB text
*----------------------------------------------------------------------*
FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD'.
IF GO_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = GO_GRID.
ENDIF.
ENDFORM. "Set_pf_status