Wednesday, 13 April 2016

Append Structure in Standard Table or Structure


Step 1: Click append structure


Step 2: Click create button:

Step 3: Give the Structure name

Step4: Enter the fields, description and Active the structure.








Monday, 13 October 2014

GGB0 Validation using User Exit

User exit for FI Transactions using (GGB0)
 
TCODE   : GGB0 validation
                OB28  for activating validation
                GCX2   user exit Program Config
                GS01   Set Creation
Program : RGGBR000 user exit program
Step 1 : create custom program for RGGBR000
   1 .Create custom (ZRGGBR000) program , with the copy of  standard Program  RGGBR000 .

   2. Maintained user exit name with in form (form get_exit_titles tables etab ) .
 Exits-name = (user defined name)
  3. Create form for that new user exit .
   form zpark using b_result.
         "Set Validation is true at initial stage
   b_result = b_true .
     “When your validation is unsuccessful just pass b_result in b_fales .
     * b_result = b_fales .
endform.      
Within form write your logic
Save and Activate the program .
Step2 : Assign the Custom Program in GCX2
After Assigning , user exit name will be appear in GGB0 exit TAB .
Step3 :  Create the Validation in GGB0 .
 
Maintained the User exit

Message:
Step:  Activate Validation (OB28) .

SET Creation (GS01 ) :
Press enter. Then below screen will appear .

Tuesday, 16 September 2014

BAPI - step by step creation


BAPI- Business Application Programming Interface

Step1: Creating a structure in SE11

Step2: Creating the function module in SE37
Step 3: Creating the business object in SWO1
Step 4: Viewing the created BAPI in BAPI Explorer
Step 5: Test your BAPI in SWO1


Step1: Creating a structure in SE11


Simple OOPS Concept ALV

*&---------------------------------------------------------------------*
*& Report  ZDEMO123
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report  zdemo123.

*----------------------------------------------------------------------*
*       CLASS local DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class local definition .
 public section .
   data: it_bkpf type standard table of bkpf .
   types : r_belnr  type range of bkpf-belnr .
   methods:get_data importing belnr type r_belnr,
           fieldcat exporting e_fcat type lvc_t_fcat,
           build_alv importing i_fcat type lvc_t_fcat  .
endclass .                    "local DEFINITION

*----------------------------------------------------------------------*
*       CLASS local IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
class local implementation .

 method:get_data.
   select * from bkpf into table it_bkpf where belnr in belnr .
 endmethod .                    "get_data
 method fieldcat .

   call function 'LVC_FIELDCATALOG_MERGE'
    exporting
*      I_BUFFER_ACTIVE              =
      i_structure_name             = 'BKPF'
*      I_CLIENT_NEVER_DISPLAY       = 'X'
*      I_BYPASSING_BUFFER           =
*      I_INTERNAL_TABNAME           = IT_BKPF
     changing
       ct_fieldcat                  = e_fcat
    exceptions
      inconsistent_interface       = 1
      program_error                = 2
      others                       = 3  .

*    lc_fcat = e_fcat .
 endmethod .                    "fieldcat


 method: build_alv .
   data lo_grid type ref to cl_gui_alv_grid.
   data: c_fcat type lvc_t_fcat .
   create object lo_grid
     exporting
       i_parent = cl_gui_custom_container=>screen0.
   c_fcat = i_fcat .
   call method lo_grid->set_table_for_first_display
     changing
       it_outtab                     = it_bkpf
       it_fieldcatalog               = c_fcat
     exceptions
       invalid_parameter_combination = 1
       program_error                 = 2
       too_many_lines                = 3
       others                        = 4.

 endmethod .                    "build_alv

endclass .                    "local IMPLEMENTATION

data: obj_local type ref to local.
data: cfcat type lvc_t_fcat .
tables: bkpf .

select-options : s_belnr for bkpf-belnr .
selection-screen begin of screen 1001 .
selection-screen end of screen 1001.

start-of-selection .


 create object obj_local .

 obj_local->get_data( exporting belnr = s_belnr[] ) .
 obj_local->fieldcat( importing e_fcat = cfcat ) .

 obj_local->build_alv( exporting i_fcat = cfcat ) .

 call selection-screen 1001 ."STARTING AT 8 8 ENDING AT 85 22.

Thursday, 29 May 2014

F4 HELP FOR YEAR / SEARCH HELP FOR YEAR

PARAMETERS: p_year TYPE gjahr .


AT SELECTION-SCREEN on VALUE-REQUEST FOR p_year .

 TYPES: BEGIN OF ty_year ,
       year TYPE gjahr,
       END OF ty_year .
 data: it_year TYPE STANDARD TABLE OF ty_year WITH HEADER LINE .
        DATA: i_return TYPE ddshretval OCCURS WITH HEADER LINE,
      TYPE VALUE 'S',
      year TYPE gjahr .

      year sy-datum+0(4) .

DO 5TIMES.
it_year-year year .
append it_year .
SUBTRACT FROM year .
ENDDO.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    'P_YEAR'
      dynpprog    sy-repid
      dynpnr      sy-dynnr
      dynprofield 'crid'
      value_org   c
    TABLES
      value_tab   it_year
      return_tab  i_return.

Tuesday, 30 April 2013

ALV BLOCK LIST REPORT


*&---------------------------------------------------------------------*
*& Report  ZR_ALV_INETR_PO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZR_ALV_BLOCK_LIST.

TABLESEKKOEKPO,LFA1.
TYPE-POOLSSLIS.
TYPESBEGIN OF ST_EKKO,
     EBELN TYPE EKKO-EBELN,
     BUKRS TYPE EKKO-BUKRS,
     BSTYP TYPE EKKO-BSTYP,
     BSART TYPE EKKO-BSART,
     LIFNR TYPE EKKO-LIFNR,
     ERNAM TYPE EKKO-ERNAM,
     AEDAT TYPE EKKO-BEDAT,
      END OF ST_EKKO.

TYPESBEGIN OF ST_EKPO,
      EBELN TYPE EKPO-EBELN,
      EBELP TYPE EKPO-EBELP,
      MATNR TYPE EKPO-MATNR,
      MENGE TYPE EKPO-MENGE,
      NETPR TYPE EKPO-NETPR,
  END OF ST_EKPO.

DATAIT_EKKO TYPE TABLE OF ST_EKKO,
      IT_EKPO TYPE TABLE OF ST_EKPO,
      WA_EKKO TYPE ST_EKKO,
      WA_EKPO TYPE ST_EKPO.

DATAIT_FC1 TYPE SLIS_T_FIELDCAT_ALV,
      IT_FC2 TYPE SLIS_T_FIELDCAT_ALV,
      WA_FC1 TYPE SLIS_FIELDCAT_ALV,
      WA_FC2 TYPE SLIS_FIELDCAT_ALV.

DATAIT_EVENT TYPE SLIS_T_EVENT,
      V_TABNAME TYPE SLIS_TABNAME,
      S_LAYOUT TYPE SLIS_LAYOUT_ALV.


SELECT-OPTIONSS_EBELN FOR EKPO-EBELN.

PERFORM GETDATA.
PERFORM FIELDCAT1.
PERFORM FIELDCAT2.
PERFORM DISPLAY.

FORM GETDATA.
  SELECT EBELN EBELP MATNR MENGE NETPR FROM EKPO INTO TABLE IT_EKPO WHERE EBELN IN S_EBELN.
    SELECT EBELN BUKRS BSTYP BSART ERNAM AEDAT FROM EKKO INTO CORRESPONDING FIELDS OF TABLE IT_EKKO WHERE EBELN IN S_EBELN.
ENDFORM.

FORM FIELDCAT1.

  CLEARWA_FC1.
  WA_FC1-TABNAME 'IT_EKPO'.
  WA_FC1-FIELDNAME 'EBELN'.
  WA_FC1-SELTEXT_S 'PO DOC NO'.
  WA_FC1-COL_POS 1.
  APPEND WA_FC1 TO IT_FC1.

  CLEARWA_FC1.
  WA_FC1-TABNAME 'IT_EKPO'.
  WA_FC1-FIELDNAME 'EBELP'.
  WA_FC1-SELTEXT_S 'PO DOC ITEM'.
  WA_FC1-COL_POS 2.
  APPEND WA_FC1 TO IT_FC1.

  CLEARWA_FC1.
  WA_FC1-TABNAME 'IT_EKPO'.
  WA_FC1-FIELDNAME 'MATNR'.
  WA_FC1-SELTEXT_S 'MATERIAL NO'.
  WA_FC1-COL_POS 3.
  APPEND WA_FC1 TO IT_FC1.

  CLEARWA_FC1.
  WA_FC1-TABNAME 'IT_EKPO'.
  WA_FC1-FIELDNAME 'MENGE'.
  WA_FC1-SELTEXT_S 'QUANTITY'.
  WA_FC1-COL_POS 4.
  APPEND WA_FC1 TO IT_FC1.

  CLEARWA_FC1.
  WA_FC1-TABNAME 'IT_EKPO'.
  WA_FC1-FIELDNAME 'NETPR'.
  WA_FC1-SELTEXT_S 'NET PRICE'.
  WA_FC1-COL_POS 5.
  APPEND WA_FC1 TO IT_FC1.

ENDFORM.


FORM FIELDCAT2.
  CLEARWA_FC2.
  WA_FC2-TABNAME 'IT_EKKO'.
  WA_FC2-FIELDNAME 'EBELN'.
  WA_FC2-SELTEXT_S 'PO DOC NO'.
  WA_FC2-COL_POS 1.
  APPEND WA_FC2 TO IT_FC2.

  CLEARWA_FC2.
  WA_FC2-TABNAME 'IT_EKKO'.
  WA_FC2-FIELDNAME 'BUKRS'.
  WA_FC2-SELTEXT_S 'COMPANY CODE'.
  WA_FC2-COL_POS 2.
  APPEND WA_FC2 TO IT_FC2.

  CLEARWA_FC2.
  WA_FC2-TABNAME 'IT_EKKO'.
  WA_FC2-FIELDNAME 'BUTYP'.
  WA_FC2-SELTEXT_S 'PO DOC CAT'.
  WA_FC2-COL_POS 3.
  APPEND WA_FC2 TO IT_FC2.

  CLEARWA_FC2.
  WA_FC2-TABNAME 'IT_EKKO'.
  WA_FC2-FIELDNAME 'BSART'.
  WA_FC2-SELTEXT_S 'PO DOC TYPE'.
  WA_FC2-COL_POS 4.
  APPEND WA_FC2 TO IT_FC2.

  CLEARWA_FC2.
ENDFORM.

FORM DISPLAY.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
  EXPORTING
    I_CALLBACK_PROGRAM             SY-REPID
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = ' '
*   IT_EXCLUDING                   =
          .


V_TABNAME 'ITAB1'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
  EXPORTING
    IS_LAYOUT                        S_LAYOUT
    IT_FIELDCAT                      IT_FC1
    I_TABNAME                        V_TABNAME
    IT_EVENTS                        IT_EVENT
*   IT_SORT                          =
*   I_TEXT                           = ' '
  TABLES
    T_OUTTAB                         IT_EKPO
* EXCEPTIONS
*   PROGRAM_ERROR                    = 1
*   MAXIMUM_OF_APPENDS_REACHED       = 2
*   OTHERS                           = 3
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

V_TABNAME 'ITAB2'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
  EXPORTING
    IS_LAYOUT                        S_LAYOUT
    IT_FIELDCAT                      IT_FC2
    I_TABNAME                        V_TABNAME
    IT_EVENTS                        IT_EVENT
*   IT_SORT                          =
*   I_TEXT                           = ' '
  TABLES
    T_OUTTAB                         IT_EKKO
* EXCEPTIONS
*   PROGRAM_ERROR                    = 1
*   MAXIMUM_OF_APPENDS_REACHED       = 2
*   OTHERS                           = 3
          .
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 'REUSE_ALV_BLOCK_LIST_DISPLAY'
* EXPORTING
*   I_INTERFACE_CHECK             = ' '
*   IS_PRINT                      =
*   I_SCREEN_START_COLUMN         = 0
*   I_SCREEN_START_LINE           = 0
*   I_SCREEN_END_COLUMN           = 0
*   I_SCREEN_END_LINE             = 0
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER       =
*   ES_EXIT_CAUSED_BY_USER        =
* 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.


RESULT:


ALV POPUP DISPLAY REPO

*&---------------------------------------------------------------------*
*& Report  ZR_ALV_POPUP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZR_ALV_POPUP.
TABLESVBAP.
TYPE-POOLSSLIS.

DATABEGIN OF IT_VBAP OCCURS 10,
     VBELN TYPE VBAP-VBELN,
     POSNR TYPE VBAP-VBELN,
     END OF IT_VBAP.
DATAFC TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.

PARAMETERSP_VBELN TYPE VBAP-VBELN.

SELECT FROM VBAP INTO CORRESPONDING FIELDS OF TABLE IT_VBAP WHERE VBELN P_VBELN.

PERFORM FIELDCAT.
PERFORM DISPLAY.

*&---------------------------------------------------------------------*
*&      Form  fieldcat
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FIELDCAT.

  FC-FIELDNAME 'VBELN'.
  FC-SELTEXT_L 'salse doc no'.
  APPEND FC.
  CLEAR FC.

  FC-FIELDNAME 'POSNR'.
  FC-SELTEXT_L 'salse doc ITEM'.
  APPEND FC.
  CLEAR FC.

ENDFORM.                    "fieldcat

*&---------------------------------------------------------------------*
*&      Form  DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM DISPLAY.
  CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
    EXPORTING
*     I_TITLE                       =
*     I_SELECTION                   = 'X'
*     I_ALLOW_NO_SELECTION          =
     I_ZEBRA                       'X'
*     I_SCREEN_START_COLUMN         = 0
*     I_SCREEN_START_LINE           = 0
*     I_SCREEN_END_COLUMN           = 0
*     I_SCREEN_END_LINE             = 0
*     I_CHECKBOX_FIELDNAME          =
*     I_LINEMARK_FIELDNAME          =
*     I_SCROLL_TO_SEL_LINE          = 'X'
      I_TABNAME                     'IT_VBAP'
*     I_STRUCTURE_NAME              =
     IT_FIELDCAT                   FC[]
*     IT_EXCLUDING                  =
*     I_CALLBACK_PROGRAM            =
*     I_CALLBACK_USER_COMMAND       =
*     IS_PRIVATE                    =
*   IMPORTING
*     ES_SELFIELD                   =
*     E_EXIT                        =
    TABLES
      T_OUTTAB                      IT_VBAP
*   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


RESULT: