Showing posts with label Module Pull. Show all posts
Showing posts with label Module Pull. Show all posts

Wednesday, May 9, 2018

SAP ABAP- MODULE PULL


SAP ABAP- MODULE PULL

REPORT NAME:---SAPMZ_SWRAN.
 INCLUDE MZ_SWRANTOP                             .  " global Data
 
INCLUDE MZ_SWRANO01                             .  " PBO-Modules
 
INCLUDE MZ_SWRANI01                             .  " PAI-Modules
 
INCLUDE MZ_SWRANF01  

TOP.
TYPE-POOLS:SLIS.
TABLES MARA .
DATA :MLOW(18),MHIGH(18).
DATA :MLOW1(18),MHIGH1(18).
DATABEGIN OF T_MARA OCCURS 1,
        MATNR 
TYPE MARA-MATNR,
        ERSDA 
TYPE MARA-ERSDA,
        ERNAM 
TYPE MARA-ERNAM,
        PSTAT 
TYPE MARA-PSTAT,
        MBRSH 
TYPE MARA-MBRSH,
      
END OF T_MARA.
DATA BEGIN OF RANGE OCCURS ,
       
SIGN(1),
       OPTION
(2),
       LOW
(18),
       HIGH
(18),
       
END OF RANGE .
DATA T_FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV ,
       W_FCAT 
TYPE SLIS_FIELDCAT_ALV ,
       W_LAYO 
TYPE SLIS_LAYOUT_ALV .

PBO MODULE
MODULE STATUS_9001 OUTPUT.
  
SET PF-STATUS 'ZGUI_STATUS'.
*  SET TITLEBAR 'xxx'.

ENDMODULE.   
PAI MODULE.
*&---------------------------------------------------------------------*
*&  Include           MZ_SWRANI01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9001  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9001 INPUT.

   
CASE SY-UCOMM.
    
WHEN 'EXECUTE'."FC-CODE OF ENTER BUTTON
      
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT' "CONVERSION ROUTINE FOR MLOW
        
EXPORTING
          
INPUT              MLOW
       
IMPORTING
         
OUTPUT             MLOW1
       
EXCEPTIONS
         LENGTH_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.
      
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'"CONVERSION ROUTINE FOR MHIGH
        
EXPORTING
          
INPUT              MHIGH
       
IMPORTING
         
OUTPUT             MHIGH1
       
EXCEPTIONS
         LENGTH_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.
******************************************************************
* LOGICALLY BUILD A INTERNAL TABLE (RANGE)
******************************************************************
      RANGE
-SIGN 'I'" I OR E
      RANGE
-OPTION 'BT'.
      RANGE
-LOW MLOW1 .
      RANGE
-HIGH MHIGH1 .
      
APPEND RANGE ."APPEND DATA IN INTERNAL TABLE
******************************************************************
      
PERFORM FETCH_DATA .
      
PERFORM DISPLAY_DATA .
    
WHEN 'BACK' OR 'EXIT' or 'CANCEL'.
      
LEAVE PROGRAM.

  
ENDCASE.

ENDMODULE.                 " USER_COMMAND_9001  INPUT
*&---------------------------------------------------------------------*
*&      Form  FETCH_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FETCH_DATA .
           
SELECT MATNR
                  ERNAM
                  ERSDA
                  PSTAT
                  MBRSH
                  
FROM MARA
                  
INTO CORRESPONDING FIELDS OF TABLE T_MARA
                  
WHERE MATNR IN RANGE .

ENDFORM.                    " FETCH_DATA
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .

  
LEAVE TO LIST-PROCESSING .
  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'MATNR'.
  W_FCAT
-SELTEXT_M 'Material No'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'ERSDA'.
  W_FCAT
-SELTEXT_M 'Created On'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'ERNAM'.
  W_FCAT
-SELTEXT_M 'Name of Person'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'PSTAT'.
  W_FCAT
-SELTEXT_M 'Maintenance status'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'MBRSH'.
  W_FCAT
-SELTEXT_M 'Industry sector'.
  
APPEND w_fcat to T_FCAT.

  W_LAYO
-ZEBRA 'X'.
  W_LAYO
-COLWIDTH_OPTIMIZE 'X'.

  
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             = 'MARA'
*   I_BACKGROUND_ID                   = ' '
     I_GRID_TITLE                      
='MATERIAL REPORT'
*   I_GRID_SETTINGS                   =
   IS_LAYOUT                         
W_LAYO
   IT_FIELDCAT                       
T_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                          
T_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.

ENDFORM.                    " DISPLAY_DATA