Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Regarding oops

Former Member
0 Likes
832

Hi Friends,

Please can you tell me where can i find sample oops reports? .

If can i find sample oops programs or Please can u forward links where it is available.

thanks

ver

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
798

hi venkatravi,

below i am giving sample oops reports,

Report Z_OOPS_JSV *

*& *

&----


REPORT z_oops_jsv .

PARAMETER: p_int1 TYPE i,

p_int2 TYPE i.

TYPES:g_tot TYPE c.

DATA: BEGIN OF I_MARA OCCURS 2.

iNCLUDE STRUCTURE MARA.

DATA:END OF I_MARA.

-


CLASS c1_first DEFINITION

-


*

-


CLASS c1_first DEFINITION.

PUBLIC SECTION.

CLASS-DATA p_int3 TYPE i.

CLASS-METHODS: e1 RETURNING value(e_type) TYPE g_tot.

METHODS: m1 IMPORTING value(p_int4) TYPE i.

ENDCLASS. "c1_first DEFINITION

-


CLASS c1_first IMPLEMENTATION

-


*

-


CLASS: c1_first IMPLEMENTATION.

METHOD: m1.

p_int3 = p_int1 + p_int2.

IF p_int3 > 5.

p_int4 = 10.

ELSE.

p_int4 = p_int3.

ENDIF.

WRITE:/ 'total = ',p_int4.

ENDMETHOD. "m1

METHOD: e1.

IF p_int3 > 5.

e_type = 'Y'.

ELSE.

e_type = 'N'.

ENDIF.

ENDMETHOD. "e1

ENDCLASS. "c1_first IMPLEMENTATION

START-OF-SELECTION.

DATA: oref1 TYPE REF TO c1_first,

oref2 TYPE REF TO c1_first.

DATA : bool TYPE c.

CREATE OBJECT: oref1,oref2.

CALL METHOD oref2->e1

RECEIVING

e_type = bool.

SELECT * INTO TABLE I_MARA FROM MARA.

READ TABLE I_MARA WITH KEY MATNR = 'PEN'.

if sy-subrc = 0.

write i_mara-matnr.

endif.

IF bool = 'N'.

CALL METHOD oref1->m1

EXPORTING

p_int4 = 0.

ELSE.

WRITE 'sorry sir'.

ENDIF.

&----


*& Report Z_OOPS_NEW *

*& *

&----


*& *

*& *

&----


REPORT Z_OOPS_NEW .

include Z_parent .

include z_child.

start-of-selection.

data: objparent type ref to parent,

objchild type ref to child.

create object : objparent,

objchild.

call method : objparent->showval,

objchild->subval.

uline.

objparent->common_data = 'public data in main report'.

write : /5 objparent->common_data.

write : /5 objparent->protected_data.

REPORT Z_OOPS_NEW1 .

creation of parent & child class

include z_parent_cal.

data : par_obj type ref to parent_cal.

include z_child_cal.

start-of-selection.

data : chi_obj type ref to child_cal.

create object : par_obj,

chi_obj.

call method : chi_obj->sum_new.

uline.

write : /5 'public values in report'.

par_obj->cp_des = 'parent --- report'.

chi_obj->ch_des = 'child -


report'.

write : /5 par_obj->cp_des,

/5 chi_obj->ch_des.

&----


*& Include Z_CHILD_CAL *

&----


class child_cal definition.

public section .

data : c_num type i value ' 300',

s_new type i,

sub_new type i,

ch_des(20) type c value 'child --- public val'.

methods : sum_new.

private section .

data : ch_val(30) type c value ' private value in child class'.

endclass.

calculation of sum using the sum of the parent class

*calculation of substraction using the direct data value of the parent

*class

class child_cal implementation.

method : sum_new.

CALL METHOD par_obj->sum_value.

uline.

write : /5 ch_val.

s_new = par_obj->s_num + c_num.

s_new = s_num + c_num.

sub_new = par_obj->b_num - par_obj->a_num.

write : /5 ' sum in child class ',s_new.

write : /5 ' substraction in child class ',sub_new.

write : /5 ch_des.

endmethod.

endclass.

&----


*& Report Z_OOPS_NEW10 *

*& *

&----


*& *

*& *

&----


REPORT Z_OOPS_NEW10 .

calling method by importing & exporting values & also giving message

data : wa_num1 type i,

wa_num2 type i,

wa_num3 type i,

wa_num4 type p decimals 2.

parameters: p_inp1 type i,

p_inp2 type i.

include z_cls.

start-of-selection.

data : obj type ref to cls.

create object obj.

call method : obj->meth exporting inp1 = p_inp1

inp2 = p_inp2

importing value1 = wa_num1

value2 = wa_num2

value3 = wa_num3

value4 = wa_num4.

if p_inp2 > p_inp1 .

message e008(za).

else.

write : /5 'sum = ',wa_num1.

write : /5 'Substract = ',wa_num2.

write : /5 'Multiple = ',wa_num3.

write : /5 'Divide = ',wa_num4.

endif.

&----


*& Include Z_CLS *

&----


class cls definition.

public section.

methods : meth importing inp1 type i

inp2 type i

exporting value1 type i

value2 type i

value3 type i

value4 type p .

endclass.

class cls implementation.

method : meth.

value1 = inp1 + inp2 .

value2 = inp1 - inp2 .

value3 = inp1 * inp2 .

value4 = inp1 / inp2 .

endmethod.

endclass.

please go through the following links ,

[;[;

for filter defining please go through the fillowing links,

[http://help.sap.com/saphelp_nw04/helpdata/en/16/e6eb40c4f8712ae10000000a155106/frameset.htm]

hope its clear to you,

Reward points if usefull,

Thanks,

Kalyan.

7 REPLIES 7
Read only

nikhil_chitre
Active Participant
0 Likes
798

hi

check this website

http://www.saptechnical.com/index.html

Regards,

Nikhil

Read only

prasanth_kasturi
Active Contributor
Read only

p291102
Active Contributor
0 Likes
798
*&---------------------------------------------------------------------*
*& Report  ZSPD_ALV_OOPS                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZSPD_ALV_OOPS                           .
TABLES : EKKO,EKPO,MAKT.

DATA : BEGIN OF IEKKO OCCURS 0,
       EBELN LIKE EKKO-EBELN,
       AEDAT LIKE EKKO-AEDAT,
       BEDAT LIKE EKKO-BEDAT,
       END OF IEKKO.

DATA : BEGIN OF IEKPO OCCURS 0,
       EBELN LIKE EKPO-EBELN,
       EBELP LIKE EKPO-EBELP,
       MATNR LIKE EKPO-MATNR,
       MENGE LIKE EKPO-MENGE,
       END OF IEKPO.

DATA : BEGIN OF IMAKT OCCURS 0,
       MATNR LIKE MAKT-MATNR,
       MAKTX LIKE MAKT-MAKTX,
       END OF IMAKT.

DATA : BEGIN OF IFINAL OCCURS 0,
       EBELN LIKE EKKO-EBELN,
       EBELP LIKE EKPO-EBELP,
       AEDAT LIKE EKKO-AEDAT,
       BEDAT LIKE EKKO-BEDAT,
       MATNR LIKE EKPO-MATNR,
       MENGE LIKE EKPO-MENGE,
       MAKTX LIKE MAKT-MAKTX,
       END OF IFINAL.
*DATA : IFINALFUL LIKE STANDARD TABLE OF
DATA : OKCODE LIKE SY-UCOMM,
       CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
       GRID TYPE REF TO CL_GUI_ALV_GRID.

DATA : IFIELDCAT TYPE LVC_T_FCAT,
       WFIELDCAT TYPE LVC_S_FCAT,
       ILAYOUT   TYPE LVC_S_LAYO,
       ISORT     TYPE LVC_T_SORT,
       WSORT     TYPE LVC_S_SORT.

SELECT-OPTIONS : S_AEDAT FOR EKKO-AEDAT.

START-OF-SELECTION.
  PERFORM FILL_EKKO.
  PERFORM FILL_EKPO.
  PERFORM FILL_MAKT.
  PERFORM BUILD_FINALTAB.
  PERFORM BUILD_FIELDCAT.
  PERFORM BUILD_SORT.
  CALL SCREEN 100.
*&---------------------------------------------------------------------*
*&      Form  fill_ekko
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FILL_EKKO .
  SELECT EBELN AEDAT BEDAT INTO TABLE IEKKO FROM EKKO WHERE AEDAT IN S_AEDAT.
ENDFORM.                    " fill_ekko
*&---------------------------------------------------------------------*
*&      Form  fill_ekpo
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FILL_EKPO .
  IF NOT IEKKO[] IS INITIAL.
    SELECT EBELN EBELP MATNR MENGE INTO TABLE IEKPO FROM EKPO FOR ALL ENTRIES IN IEKKO
                                        WHERE EBELN = IEKKO-EBELN.
  ENDIF.
ENDFORM.                    " fill_ekpo
*&---------------------------------------------------------------------*
*&      Form  fill_makt
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FILL_MAKT .
  IF NOT IEKPO[] IS INITIAL.
    SELECT MATNR MAKTX FROM MAKT INTO TABLE IMAKT FOR ALL ENTRIES IN IEKPO WHERE
                                                  MATNR = IEKPO-MATNR.
  ENDIF.
ENDFORM.                    " fill_makt
*&---------------------------------------------------------------------*
*&      Form  BUILD_FINALTAB
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FINALTAB .
LOOP AT IEKPO.
  IFINAL-MATNR = IEKPO-MATNR.
  IFINAL-MENGE = IEKPO-MENGE.
  IFINAL-EBELP = IEKPO-EBELP.
  IFINAL-EBELN = IEKPO-EBELN.
  READ TABLE IEKKO WITH KEY EBELN = IEKPO-EBELN.
   IF SY-SUBRC = 0.
     IFINAL-AEDAT = IEKKO-AEDAT.
     IFINAL-BEDAT = IEKKO-BEDAT.
   ENDIF.
  READ TABLE IMAKT WITH KEY MATNR = IEKPO-MATNR.
   IF SY-SUBRC = 0.
    IFINAL-MAKTX = IMAKT-MAKTX.
   ENDIF.
  APPEND IFINAL.
  CLEAR : IFINAL,IEKKO,IMAKT,IEKPO.
ENDLOOP.
ENDFORM.                    " BUILD_FINALTAB
*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCAT .
WFIELDCAT-FIELDNAME = 'EBELN'.
WFIELDCAT-COL_POS   = 1.
WFIELDCAT-OUTPUTLEN = 10.
WFIELDCAT-COLTEXT   = 'Document No'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'EBELP'.
WFIELDCAT-COL_POS   = 2.
WFIELDCAT-OUTPUTLEN = 7.
WFIELDCAT-COLTEXT   = 'Item No'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'AEDAT'.
WFIELDCAT-COL_POS   = 3.
WFIELDCAT-OUTPUTLEN = 10.
WFIELDCAT-COLTEXT   = 'Creatn dat'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'BEDAT'.
WFIELDCAT-COL_POS   = 4.
WFIELDCAT-OUTPUTLEN = 10.
WFIELDCAT-COLTEXT   = 'Delv dat'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MATNR'.
WFIELDCAT-COL_POS   = 5.
WFIELDCAT-OUTPUTLEN = 18.
WFIELDCAT-COLTEXT   = 'Material no'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MAKTX'.
WFIELDCAT-COL_POS   = 6.
WFIELDCAT-OUTPUTLEN = 15.
WFIELDCAT-COLTEXT   = 'Material desc.'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MENGE'.
WFIELDCAT-COL_POS   = 7.
WFIELDCAT-OUTPUTLEN = 15.
WFIELDCAT-COLTEXT   = 'Quantity'.
WFIELDCAT-DO_SUM = 'X'.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.


ENDFORM.                    " BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  BUILD_SORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_SORT .
WSORT-FIELDNAME = 'EBELN'.
WSORT-SPOS = 1.
WSORT-UP = 'X'.
WSORT-GROUP = 'UL'.
WSORT-SUBTOT = 'X'.
APPEND WSORT TO ISORT.
ENDFORM.                    " BUILD_SORT
*&---------------------------------------------------------------------*
*&      Module  PBO  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE PBO OUTPUT.
SET PF-STATUS 'ZSPD'.
    CREATE OBJECT CONTAINER
      EXPORTING
*        PARENT                      =
        CONTAINER_NAME              = 'CONTAINER'
*        STYLE                       =
*        LIFETIME                    = lifetime_default
*        REPID                       =
*        DYNNR                       =
*        NO_AUTODEF_PROGID_DYNNR     =
      EXCEPTIONS
        CNTL_ERROR                  = 1
        CNTL_SYSTEM_ERROR           = 2
        CREATE_ERROR                = 3
        LIFETIME_ERROR              = 4
        LIFETIME_DYNPRO_DYNPRO_LINK = 5
        others                      = 6
        .
    IF SY-SUBRC <> 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.


CREATE OBJECT GRID
  EXPORTING
*    I_SHELLSTYLE      = 0
*    I_LIFETIME        =
    I_PARENT          = CONTAINER
*    I_APPL_EVENTS     = space
*    I_PARENTDBG       =
*    I_APPLOGPARENT    =
*    I_GRAPHICSPARENT  =
*    I_NAME            =
  EXCEPTIONS
    ERROR_CNTL_CREATE = 1
    ERROR_CNTL_INIT   = 2
    ERROR_CNTL_LINK   = 3
    ERROR_DP_CREATE   = 4
    others            = 5
    .
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 METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
*  EXPORTING
*    I_BUFFER_ACTIVE               =
*    I_BYPASSING_BUFFER            =
*    I_CONSISTENCY_CHECK           =
*    I_STRUCTURE_NAME              =
*    IS_VARIANT                    =
*    I_SAVE                        =
*    I_DEFAULT                     = 'X'
*    IS_LAYOUT                     =
*    IS_PRINT                      =
*    IT_SPECIAL_GROUPS             =
*    IT_TOOLBAR_EXCLUDING          =
*    IT_HYPERLINK                  =
     IT_ALV_GRAPHICS               =
*    IT_EXCEPT_QINFO               =
  CHANGING
    IT_OUTTAB                     = IFINAL[]
    IT_FIELDCATALOG               = IFIELDCAT
    IT_SORT                       = ISORT
*    IT_FILTER                     =
  EXCEPTIONS
    INVALID_PARAMETER_COMBINATION = 1
    PROGRAM_ERROR                 = 2
    TOO_MANY_LINES                = 3
    others                        = 4
        .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDMODULE.                 " PBO  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  PAI  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE PAI INPUT.
CASE OKCODE.
WHEN 'BACK' OR 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.                 " PAI  INPUT
Read only

sachin_mathapati
Contributor
0 Likes
798

Hi ,

check these links..

[;

[;

Request you to search in SDN before posting.

Regards,

Sachin M M

Read only

Former Member
0 Likes
798

Hi vekatravi m

Put " BCALV* " in SE38 Transaction You will get list of OOALV.

&********Reward Point if helpful************&

Read only

Former Member
0 Likes
798

Hi,

Goto se24 and search classes and methods in which code is written in oops concepts.

Hope it is useful.

Read only

Former Member
0 Likes
799

hi venkatravi,

below i am giving sample oops reports,

Report Z_OOPS_JSV *

*& *

&----


REPORT z_oops_jsv .

PARAMETER: p_int1 TYPE i,

p_int2 TYPE i.

TYPES:g_tot TYPE c.

DATA: BEGIN OF I_MARA OCCURS 2.

iNCLUDE STRUCTURE MARA.

DATA:END OF I_MARA.

-


CLASS c1_first DEFINITION

-


*

-


CLASS c1_first DEFINITION.

PUBLIC SECTION.

CLASS-DATA p_int3 TYPE i.

CLASS-METHODS: e1 RETURNING value(e_type) TYPE g_tot.

METHODS: m1 IMPORTING value(p_int4) TYPE i.

ENDCLASS. "c1_first DEFINITION

-


CLASS c1_first IMPLEMENTATION

-


*

-


CLASS: c1_first IMPLEMENTATION.

METHOD: m1.

p_int3 = p_int1 + p_int2.

IF p_int3 > 5.

p_int4 = 10.

ELSE.

p_int4 = p_int3.

ENDIF.

WRITE:/ 'total = ',p_int4.

ENDMETHOD. "m1

METHOD: e1.

IF p_int3 > 5.

e_type = 'Y'.

ELSE.

e_type = 'N'.

ENDIF.

ENDMETHOD. "e1

ENDCLASS. "c1_first IMPLEMENTATION

START-OF-SELECTION.

DATA: oref1 TYPE REF TO c1_first,

oref2 TYPE REF TO c1_first.

DATA : bool TYPE c.

CREATE OBJECT: oref1,oref2.

CALL METHOD oref2->e1

RECEIVING

e_type = bool.

SELECT * INTO TABLE I_MARA FROM MARA.

READ TABLE I_MARA WITH KEY MATNR = 'PEN'.

if sy-subrc = 0.

write i_mara-matnr.

endif.

IF bool = 'N'.

CALL METHOD oref1->m1

EXPORTING

p_int4 = 0.

ELSE.

WRITE 'sorry sir'.

ENDIF.

&----


*& Report Z_OOPS_NEW *

*& *

&----


*& *

*& *

&----


REPORT Z_OOPS_NEW .

include Z_parent .

include z_child.

start-of-selection.

data: objparent type ref to parent,

objchild type ref to child.

create object : objparent,

objchild.

call method : objparent->showval,

objchild->subval.

uline.

objparent->common_data = 'public data in main report'.

write : /5 objparent->common_data.

write : /5 objparent->protected_data.

REPORT Z_OOPS_NEW1 .

creation of parent & child class

include z_parent_cal.

data : par_obj type ref to parent_cal.

include z_child_cal.

start-of-selection.

data : chi_obj type ref to child_cal.

create object : par_obj,

chi_obj.

call method : chi_obj->sum_new.

uline.

write : /5 'public values in report'.

par_obj->cp_des = 'parent --- report'.

chi_obj->ch_des = 'child -


report'.

write : /5 par_obj->cp_des,

/5 chi_obj->ch_des.

&----


*& Include Z_CHILD_CAL *

&----


class child_cal definition.

public section .

data : c_num type i value ' 300',

s_new type i,

sub_new type i,

ch_des(20) type c value 'child --- public val'.

methods : sum_new.

private section .

data : ch_val(30) type c value ' private value in child class'.

endclass.

calculation of sum using the sum of the parent class

*calculation of substraction using the direct data value of the parent

*class

class child_cal implementation.

method : sum_new.

CALL METHOD par_obj->sum_value.

uline.

write : /5 ch_val.

s_new = par_obj->s_num + c_num.

s_new = s_num + c_num.

sub_new = par_obj->b_num - par_obj->a_num.

write : /5 ' sum in child class ',s_new.

write : /5 ' substraction in child class ',sub_new.

write : /5 ch_des.

endmethod.

endclass.

&----


*& Report Z_OOPS_NEW10 *

*& *

&----


*& *

*& *

&----


REPORT Z_OOPS_NEW10 .

calling method by importing & exporting values & also giving message

data : wa_num1 type i,

wa_num2 type i,

wa_num3 type i,

wa_num4 type p decimals 2.

parameters: p_inp1 type i,

p_inp2 type i.

include z_cls.

start-of-selection.

data : obj type ref to cls.

create object obj.

call method : obj->meth exporting inp1 = p_inp1

inp2 = p_inp2

importing value1 = wa_num1

value2 = wa_num2

value3 = wa_num3

value4 = wa_num4.

if p_inp2 > p_inp1 .

message e008(za).

else.

write : /5 'sum = ',wa_num1.

write : /5 'Substract = ',wa_num2.

write : /5 'Multiple = ',wa_num3.

write : /5 'Divide = ',wa_num4.

endif.

&----


*& Include Z_CLS *

&----


class cls definition.

public section.

methods : meth importing inp1 type i

inp2 type i

exporting value1 type i

value2 type i

value3 type i

value4 type p .

endclass.

class cls implementation.

method : meth.

value1 = inp1 + inp2 .

value2 = inp1 - inp2 .

value3 = inp1 * inp2 .

value4 = inp1 / inp2 .

endmethod.

endclass.

please go through the following links ,

[;[;

for filter defining please go through the fillowing links,

[http://help.sap.com/saphelp_nw04/helpdata/en/16/e6eb40c4f8712ae10000000a155106/frameset.htm]

hope its clear to you,

Reward points if usefull,

Thanks,

Kalyan.