OOABAP-ALV REPORT -CELL EDIT

*&---------------------------------------------------------------------*
*& Report  ZMANI_F
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*


REPORT  ZMANI_F.

TYPE-POOLS: COL.

TYPES: BEGIN OF TY_MARA,
        MATNR TYPE MARA-MATNR,
        MTART TYPE MARA-MTART,
        MEINS TYPE MARA-MEINS,
        STYLE TYPE LVC_T_STYL,
        COLORS TYPE LVC_T_SCOL,
      END OF TY_MARA.

 DATA: IT_MARA TYPE TABLE OF TY_MARA,
       WA_MARA TYPE TY_MARA.

 DATA:IT_FCAT TYPE  LVC_T_FCAT,
       WA_FCAT LIKE LINE OF IT_FCAT.

 DATA: WA_STYLE TYPE LINE OF LVC_T_STYL ,
       WA_COLORS TYPE LINE OF LVC_T_SCOL.

 DATA:WA_LAYOUT TYPE  LVC_S_LAYO .

FIELD-SYMBOLS: <WA_DATA> TYPE TY_MARA.


 SELECT-OPTIONS: S_MATNR FOR WA_MARA-MATNR.


 START-OF-SELECTION.

 PERFORM FETCH_DATA5.
  PERFORM FIELDCAT.

 PERFORM DISPLAY_DATA3.

*&---------------------------------------------------------------------*
*&      Form  FETCH_DATA5
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FETCH_DATA5 .

  SELECT MATNR MTART MEINS FROM MARA
      INTO CORRESPONDING FIELDS OF TABLE IT_MARA UP TO 100 ROWS.



    IF  SY-SUBRC = 0.

      LOOP AT  IT_MARA ASSIGNING <WA_DATA>.

       IF  <WA_DATA>-MEINS = 'EA' OR
            <WA_DATA>-MEINS = 'KG'.

          WA_STYLE-FIELDNAME = 'MEINS'.

         IF <WA_DATA>-MEINS = 'EA'.
           WA_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

         ENDIF.

         APPEND WA_STYLE TO <WA_DATA>-STYLE.
         CLEAR  WA_STYLE.

          WA_COLORS-FNAME = 'MEINS'.

         IF <WA_DATA>-MEINS = 'EA'.

           WA_COLORS-COLOR-COL = col_positive  .
    ELSE .
       WA_COLORS-COLOR-COL = COL_negative  .
    ENDIF.
        WA_COLORS-COLOR-INT = 1.

        APPEND WA_COLORS TO <WA_DATA>-COLORS.
        CLEAR WA_COLORS.

ENDIF.
      ENDLOOP.

    ENDIF.

ENDFORM.                    " FETCH_DATA5


*&---------------------------------------------------------------------*
*&      Form  FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FIELDCAT .


  WA_FCAT-FIELDNAME = 'MATNR'.
  WA_FCAT-REF_TABLE = 'MARA'.
  WA_FCAT-REF_FIELD = 'MATNR'.

   APPEND WA_FCAT TO IT_FCAT.
   CLEAR WA_FCAT.



   WA_FCAT-FIELDNAME = 'MTART'.
  WA_FCAT-REF_TABLE = 'MARA'.
  WA_FCAT-REF_FIELD = 'MTART'.

   APPEND WA_FCAT TO IT_FCAT.
   CLEAR WA_FCAT.


   WA_FCAT-FIELDNAME = 'MEINS'.
  WA_FCAT-REF_TABLE = 'MARA'.
  WA_FCAT-REF_FIELD = 'MEINS'.
  WA_FCAT-EDIT = 'X'.

   APPEND WA_FCAT TO IT_FCAT.
   CLEAR WA_FCAT.


WA_LAYOUT-STYLEFNAME = 'STYLE'.
WA_LAYOUT-CTAB_FNAME = 'COLORS'.


ENDFORM.                    " FIELDCAT



*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA3
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA3 .

IF IT_MARA IS NOT INITIAL.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
   EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                =
*     I_BUFFER_ACTIVE                   =
     I_CALLBACK_PROGRAM                = SY-CPROG
*     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_LVC                     = WA_LAYOUT
     IT_FIELDCAT_LVC                   = IT_FCAT
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS_LVC             =
*     IT_SORT_LVC                       =
*     IT_FILTER_LVC                     =
*     IT_HYPERLINK                      =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
*     I_SAVE                            = ' '
*     IS_VARIANT                        =
*     IT_EVENTS                         =
*     IT_EVENT_EXIT                     =
*     IS_PRINT_LVC                      =
*     IS_REPREP_ID_LVC                  =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 =
*     I_HTML_HEIGHT_END                 =
*     IT_EXCEPT_QINFO_LVC               =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      T_OUTTAB                          = IT_MARA
   EXCEPTIONS
     PROGRAM_ERROR                     = 1
     OTHERS                            = 2
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


ENDIF.



ENDFORM.                    " DISPLAY_DATA3



Comments

Popular posts from this blog

FOR ALL ENTRIES (FAE) -4 TABLES USING ALV_GRID_DISPLAY

RADIO-BUTTONS IN BASIC REPORT

MODULE POOL -TABLE CONTROL_1: