Material for ABAP OOPS

hi everybody, i am new ABAP oops. can anybody tell me any site or suggest me any material to learn ABAP oops from basics.
                   thnx in advance,
                          santosh.

Hi,
check the below links lot of info and examples r there
http://www.sapgenie.com/abap/OO/index.htm
http://www.geocities.com/victorav15/sapr3/abap_ood.html
http://www.brabandt.de/html/abap_oo.html
Check this cool weblog:
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
these links
http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
For funtion module to class
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
for classes
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
for methods
http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
for inheritance
http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
for interfaces
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
For Materials:
1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
1) http://www.erpgenie.com/sap/abap/OO/index.htm
2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
Regards,
Priyanka.

Similar Messages

  • Latest Material for ABAP certification.

    Hi Gurus,
    I want the latest material for ABAP certification. The exam code is  C_TAW12_04
    Can anyone provide me the link??
    Thanks in advance,
    Supriya

    HI
    GOOD
    you wont get the latest ABAP certification materials,here you can get some idea about the ABAP certification exam,pls go through it.
    Certification ..
    /message/213564#213564 [original link is broken]
    /message/514469#514469 [original link is broken]
    /message/1315746#1315746 [original link is broken]
    /message/1736299#1736299 [original link is broken]
    /message/1736299#1736299 [original link is broken]
    /message/257122#257122 [original link is broken]
    /message/130164#130164 [original link is broken]
    This is link from SAP about ABAP certification
    http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
    http://www.sapteched.com/india/confactivities/certexam.htm
    http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
    There is a pdf called ABAP certification.
    http://www.esnips.com/web/SAP-ABAP?
    You can try www.sapdoamin.com
    They provide Certification simulation questions which are very useful and a must try site.
    Have a look at below link for mySAP Technology - ABAP Workbench
    https://websmp206.sap-ag.de/~sapidp/011000358700000746472003E
    Have a look at below link for SAP NetWeaver - ABAP Workbench
    http://www30.sap.com/hk/services/education/pdf/cert/ABAPWB.pdf
    The certification test consists of questions from the areas specified below:
    Topic Areas
    1. mySAP.com Technologies
    - mySAP.com
    - Navigation (system handling)
    - Technical setup of an SAP system
    - System-wide concepts
    2. ABAP Workbench Basics (++)
    - Data types and data objects
    - Internal tables
    - Data retrieval (authorization check)
    - Subroutines
    - The ABAP Runtime System
    - Function groups and function modules
    - Program calls and data transfer
    3. ABAP Objects (++)
    - Classes and objects
    - Inheritance
    - Casting
    - Interfaces
    - Events
    - Global classes and interfaces
    - Exception handling
    - Dynamic programming
    4. ABAP Dictionary (++)
    - Database tables
    - Performance for table access
    - Consistency through input check (foreigh key dependency)
    - Dependency of ABAP Dictionary objects
    - Views
    - Search help
    5. Techniqes for List Generation (++)
    - Data output to lists
    - Selection screen
    - Logical database
    - Program-specific data retrieval
    - Data formatting and control level processing
    - Storage of lists and background processing
    - Interactive lists
    6. Dialog Programming (++)
    - Screen (basics)
    - User interface (GUI title, GUI status)
    - Screen elements for output (text fields, status icons, and group boxes)
    - Screen elements for input/output
    - Subscreen and tabstrip control
    - Table control
    - Context menu
    - Dialog programming lists
    7. Database Changes
    - Database updates with Open SQL
    - LUWs and Client/Server Architecture
    - SAP locking concept
    - Organizing database changes
    - Complex LUW processing
    - Number assignment
    - Change-document creation
    8. Enhancements and Modifications
    - Changes in SAP Standards
    - Personalization
    - Enhancements to Dictionary elements
    - Enhancements using customer exits
    - Business Transaction Events
    - Business Add-Ins
    - Modifications
    Weighting Key in the Test:
    + = 1 - 10%
    ++ = 11 - 20%
    +++ = over 20%
    reward point if helpful.
    thanks
    mrutyun^

  • Latest study material for ABAP certification exam code C_TAW12_04

    Hi All,
    Please provide latest study material for ABAP certification-C_TAW12_04 exam. They have changed the syllabus and exam pattern this year. Please provide the information about it.

    Hi All,
    Please provide the required material.

  • Material for ABAP Objects

    Hi,
        Plz any one can send the materail for ABAP objects.

    hi,
    ABAP OBJECTS :
    check out this link
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    Please check this online document (starting page 1291).
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
    Also check this links as well.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.futureobjects.de/content/intro_oo_e.html
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    /people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
    check the below links lot of info and examples r there
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    Check this cool weblog:
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    For funtion module to class
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
    for classes
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
    for methods
    http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
    for inheritance
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
    for interfaces
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    General Tutorial for OOPS
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
    Have a look at these links for OO ABAP.
    http://www.sapgenie.com/abap/OO/
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.allsaplinks.com/
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    SDN Series: https://www.sdn.sap.com/irj/sdn/developerareas/abap?rid=/webcontent/uuid/35eaef9c-0b01-0010-dd8b-e3b0f9ed7ccb [original link is broken]
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
    Basic concepts of OOPS
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b6cae890-0201-0010-ef8b-f970a9c41d47
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1591ec90-0201-0010-3ba8-cdcd500b17cf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc
    http://www.henrikfrank.dk/abapuk.html
    http://www.erpgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    go thru these links .
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    Check this for basic concepts of OOPS
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b6cae890-0201-0010-ef8b-f970a9c41d47
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1591ec90-0201-0010-3ba8-cdcd500b17cf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc
    http://www.henrikfrank.dk/abapuk.html
    Check this for OOPS ALV tutorial.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
    Check these links
    http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    Hve a look at below link and go to page 1291. It will give you good info abt OO ABAP.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
    Please do check transaction ABAPDOCU to learn more about ABAP OO. There are lots of examples and explanations there. Also, do check sapgenie.com for more examples(under their ABAP OO link).
    A very good option would be "ABAP Objects" written by Horst Keller.
    This link gives all the OO ABAP definitions,syntax,examples:
    http://www.erpgenie.com/abap/OO/
    http://www.mydatabus.com/visitor.php?pt=downloadFile&tc=bzccGknF&cl=0053&cn=000005&f=012907
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    OOPS ALV tutorial.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
    http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    Sample programs:
    http://www.geocities.com/victorav15/sapr3/abap_ood.html#d_grid
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_color.htm
    http://www.sapdevelopment.co.uk/reporting/alvhome.htm
    -->download the PDF from following link.
    www.abap4.it/download/ALV.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf
    Some more:
    http://www.sap-hefte.de/download/dateien/1025/087_leseprobe.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
    http://www.alvgmbh.de/dwnload/gonio_t.pdfhttp://
    You can get all demo programs for ALV:
    Go to se38 and type BCALV* and press F4 for all demo porgrams.

  • Material for ABAP Certification

    Hi everybody,
    I wish to appear for ABAP certification exam. Does any one has TAW10 and TAW12.
    Thanks & regards,
    Sarika Kedia

    Hi,
    This thread has information for you.
    ABAP Certification
    http://www.sapdomain.com/exam.php?cat=91&action=test
    http://www.sap.com/netherlands/services/education/consultant/netweaver-offering/abap.htm
    Regards,
    Gayathri
    Message was edited by: Gayathri Hariharan

  • LEARNING  MATERIAL  FOR  ABAP.

    Dear all experts,
    I am certified in BW, but i have to work now in bw-project, where lots of ABAP work is involved.
    I have to learn ABAP, as early as possible.
    Can anybody please send any quick study materials, or tutorials or something that will properly guide to beginner. 
    Kindly request you to send the material on [email protected] and on [email protected]
    Hope you will respond urgently... surely points will be assigned for your help.
    Warm regards
    Vinay

    Hi,
    Start with this.Refer this
    http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
    http://www.****************/InterviewQ/interviewQ.htm
    http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Reports
    http://www.sapgenie.com/abap/reports.htm
    http://www.allsaplinks.com/material.html
    http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    Check these step-by-step links
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
    https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
    for Smartforms material
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    http://www.sap-img.com/smartforms/smartform-tutorial.htm
    http://www.sapgenie.com/abap/smartforms.htm
    How to trace smartform
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
    http://www.sap-img.com/smartforms/smart-006.htm
    http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
    Re: Need FAQ's
    check most imp link
    http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
    step by step good ex link is....
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    SAPScripts
    http://esnips.com/doc/1ff9f8e8-0a4c-42a7-8819-6e3ff9e7ab44/sapscripts.pdf
    http://esnips.com/doc/1e487f0c-8009-4ae1-9f9c-c07bd953dbfa/script-command.pdf
    http://esnips.com/doc/64d4eccb-e09b-48e1-9be9-e2818d73f074/faqss.pdf
    http://esnips.com/doc/cb7e39b4-3161-437f-bfc6-21e6a50e1b39/sscript.pdf
    http://esnips.com/doc/fced4d36-ba52-4df9-ab35-b3d194830bbf/symbols-in-scripts.pdf
    http://esnips.com/doc/b57e8989-ccf0-40d0-8992-8183be831030/sapscript-how-to-calculate-totals-and-subtotals.htm
    SAP SCRIPT FIELDS
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/8033ea454211d189710000e8322d00/content.htm
    scripts easy material
    http://www.allsaplinks.com/sap_script_made_easy.html
    Debugging Document.
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
    http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    Regards,
    Anji

  • Need ABAP OOPs

    hi all
    I'm new for ABAP OOPS, I want to know about abap oops concept. Can you any one explain about that i want simple example.
    with regards.
    Muthukumar.K

    Hi Muthu,
    Please check out transaction ABAPDOCU. It contains multiple examples on ABAP Objects. Also, browse this site for more examples on ABAP Objects. I also have included a sample report that I did using ABAP Objects. Please check it out. Hope it helps...
    P.S. Please award points if it helps...
    *==================================================================
    * Program Name : ZFR_FOREX_REV_ACCTG
    * Author       : Aris Hidalgo
    * Date Created : August 3, 2006
    * Description  : Show the exchange rate for a given range of 7 years
    *==================================================================
    REPORT zfr_forex_rev_acctg
           NO STANDARD PAGE HEADING
           LINE-SIZE 500
           LINE-COUNT 0
           MESSAGE-ID zz.
    * Data dictionary table/s                     *
    TABLES: bsis,
            bsas,
            tcurr,
            t001.
    * Global Structure/s                          *
    TYPES: BEGIN OF t_bsis_bsas,
            hkont    TYPE bsis-hkont,   "General ledger account
            year_dum TYPE bsis-gjahr,
            belnr    TYPE bsis-belnr,   "Accounting document number
            bldat    TYPE bsis-bldat,   "Document date in document
            waers    TYPE bsis-waers,   "Currency Key
            dmbtr    TYPE bsis-dmbtr,   "Amount in local currency
            wrbtr    TYPE bsis-wrbtr,   "Amount in document currency
            shkzg    TYPE bsis-shkzg,   "Debit/credit indicator
            zuonr    TYPE bsis-zuonr,   "Assignment number
            gjahr    TYPE bsis-gjahr,   "Fiscal year
            blart    TYPE bsis-blart,   "Document type
           END OF t_bsis_bsas.
    TYPES: BEGIN OF t_summary,
            hkont    TYPE bsis-hkont,
            year_dum TYPE bsis-gjahr,
            waers    TYPE bsis-waers,
            rate     TYPE tcurr-ukurs,
            wrbtr    TYPE bsis-wrbtr,
            dmbtr    TYPE bsis-dmbtr,
            gl_bal   TYPE bsis-wrbtr,
            unrealized TYPE bsis-wrbtr,
           END OF t_summary.
    TYPES: BEGIN OF t_exch,
            year      TYPE bsis-gjahr,
            rate      TYPE bapi1093_1-rate_type,
            from_curr TYPE bapi1093_1-from_curr,
            exch_rate TYPE bapi1093_0-exch_rate_v,
           END OF t_exch.
    * Global Data                                 *
    DATA: gv_hkont TYPE bsis-hkont,
          it_bsis_bsas TYPE STANDARD TABLE OF t_bsis_bsas,
          it_exch      TYPE SORTED   TABLE OF t_exch WITH UNIQUE
                                         KEY year rate from_curr,
          it_summary   TYPE STANDARD TABLE OF t_summary,
          wa_summary   LIKE LINE OF it_summary,
          wa_exch      LIKE LINE OF it_exch,
          t_rate_type  TYPE bapi1093_1-rate_type  VALUE 'ME',
          t_from_curr  TYPE bapi1093_1-from_curr,
          t_to_curr    TYPE bapi1093_1-to_currncy VALUE 'USD',
          t_date       TYPE bapi1093_2-trans_date,
          t_date_out   TYPE bapi1093_2-trans_date,
          t_exch_rate  TYPE bapi1093_0,
          t_message    TYPE bapireturn1.
    FIELD-SYMBOLS: <fs_asof>      TYPE bsis-gjahr,
                   <fs_bsis_bsas> LIKE LINE OF it_bsis_bsas.
    * Selection screen                             *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_bukrs TYPE t001-bukrs OBLIGATORY,
                p_asof  TYPE bsis-budat OBLIGATORY,
                p_year  TYPE bsis-gjahr OBLIGATORY.
    SELECT-OPTIONS: s_hkont FOR bsis-hkont NO INTERVALS OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    */ CLASS DEFINITIONS
    *       CLASS lcl_main DEFINITION
    CLASS lcl_main DEFINITION.
      PUBLIC SECTION.
        METHODS: get_data,
                 get_diff,
                 display_subheader,
                 display_rate
                    IMPORTING
                       rate TYPE tcurr-ukurs
                       pos  TYPE i,
                 display_header,
                 top_of_page,
                 get_rate_and_show
                    EXPORTING
                       ex_bsis_bsas LIKE it_bsis_bsas
                       ex_exch      LIKE it_exch,
                 conversion
                    IMPORTING
                       year      TYPE bsis-gjahr
                       rate_type TYPE bapi1093_1-rate_type
                       from_curr TYPE bapi1093_1-from_curr
                       to_curr   TYPE bapi1093_1-to_currncy
                    EXPORTING
                       exch_rate TYPE bapi1093_0
                       t_date    TYPE bapi1093_2-trans_date.
        EVENTS: no_data EXPORTING value(hkont) TYPE bsis-hkont.
      PRIVATE SECTION.
        TYPES: BEGIN OF t_waers,
                waers TYPE bsis-waers,
               END OF t_waers.
        TYPES: BEGIN OF t_local,
                year      TYPE bsis-gjahr,
                rate      TYPE tcurr-ukurs,
               END OF t_local.
        DATA: it_waers     TYPE SORTED TABLE OF t_waers WITH UNIQUE
                                KEY waers,
              it_local     TYPE SORTED TABLE OF t_local WITH UNIQUE
                                KEY year,
              wa_waers     LIKE LINE OF it_waers,
              wa_local     LIKE LINE OF it_local,
              lv_counter   TYPE i,
              lv_asof      TYPE bsis-gjahr,
              lv_year      TYPE bsis-gjahr,
              lv_check     TYPE i,
              lv_7years    TYPE i,
              lv_date      TYPE pc226-endda,
              lv_pos       TYPE i,
              lv_pos2      TYPE i,
              lv_vline     TYPE i,
              lv_rate      TYPE p DECIMALS 5,
              lv_givendate TYPE syst-datum.
    ENDCLASS.
    *       CLASS lcl_summary DEFINITION
    CLASS lcl_summary DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: display_summary_header,
                 display_summary
                    IMPORTING
                       im_bsis_bsas LIKE it_bsis_bsas
                       im_exch      LIKE it_exch.
    ENDCLASS.
    *       CLASS lcl_handler DEFINITION
    CLASS lcl_handler DEFINITION.
      PUBLIC SECTION.
        METHODS handle_event FOR EVENT no_data OF lcl_main
        IMPORTING hkont.
    ENDCLASS.
    */ CLASS IMPLEMENTATIONS
    *       CLASS lcl_main IMPLEMENTATION
    CLASS lcl_main IMPLEMENTATION.
    * METHOD get_data                              *
      METHOD get_data.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
    *     PERCENTAGE       = 0
           text             = 'Getting data. Please wait...'
    *   get records from BSIS
        SELECT hkont zuonr gjahr belnr waers bldat blart dmbtr wrbtr shkzg
        FROM bsis
        INTO  CORRESPONDING FIELDS OF TABLE it_bsis_bsas
        WHERE bukrs = p_bukrs
          AND hkont IN s_hkont
          AND budat <= p_asof.
    *   get records from BSAS
        SELECT hkont zuonr gjahr belnr waers bldat blart dmbtr wrbtr shkzg
        FROM bsas
        APPENDING CORRESPONDING FIELDS OF TABLE it_bsis_bsas
        WHERE bukrs = p_bukrs
          AND hkont IN s_hkont
          AND budat <= p_asof
          AND augdt > p_asof.
    *   if itab has no records, raise event
        IF it_bsis_bsas[] IS INITIAL.
          RAISE EVENT no_data EXPORTING hkont = s_hkont-low.
        ENDIF.
      ENDMETHOD.
    * METHOD get_diff                              *
      METHOD get_diff.
        DATA: lv_sub7 TYPE i.
        lv_asof = p_year + 6.
        IF lv_asof > p_asof+0(4).
          lv_asof = p_asof+0(4).
        ENDIF.
        lv_year = p_year.
    *   determine how many years will be displayed
        lv_counter = lv_asof - lv_year.
        ADD 1 TO lv_counter.
        lv_sub7   = lv_asof - 6.
        lv_7years = lv_asof - lv_sub7.
        ADD 1 TO lv_7years.
      ENDMETHOD.
    * METHOD display_subheader                     *
      METHOD display_subheader.
        DATA: lv_date(10)  TYPE c,
              lv_gdatu     TYPE tcurr-gdatu,
              lv_flag(1)   TYPE c,
              lv_pos_dum   TYPE i.
        FIELD-SYMBOLS: <fs_bsis_bsas> LIKE LINE OF it_bsis_bsas.
    *   pre-defined length of uline and vline depending on the
    *   number of years to be displayed
        CASE lv_counter.
          WHEN 1.
            lv_pos   = 24.
            lv_pos2  = 37.
            lv_vline = 126.
          WHEN 2.
            lv_pos   = 45.
            lv_pos2  = 58.
            lv_vline = 147.
          WHEN 3.
            lv_pos   = 66.
            lv_pos2  = 79.
            lv_vline = 168.
          WHEN 4.
            lv_pos   = 87.
            lv_pos2  = 100.
            lv_vline = 189.
          WHEN 5.
            lv_pos   = 108.
            lv_pos2  = 121.
            lv_vline = 210.
          WHEN 6.
            lv_pos   = 128.
            lv_pos2  = 141.
            lv_vline = 230.
          WHEN 7.
            lv_pos   = 148.
            lv_pos2  = 161.
            lv_vline = 250.
        ENDCASE.
    *  get currency
        IF NOT lv_check = 1.
          LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
            MOVE <fs_bsis_bsas>-waers TO wa_waers.
            INSERT wa_waers INTO TABLE it_waers.
            <fs_bsis_bsas>-year_dum = <fs_bsis_bsas>-bldat+0(4).
          ENDLOOP.
        ENDIF.
        ASSIGN lv_asof TO <fs_asof>.
        IF NOT lv_check = 1.
          SORT it_bsis_bsas BY hkont year_dum belnr bldat waers dmbtr wrbtr.
          IF <fs_bsis_bsas> IS ASSIGNED.
            UNASSIGN <fs_bsis_bsas>.
            READ TABLE it_bsis_bsas INDEX 1 ASSIGNING <fs_bsis_bsas>.
            IF sy-subrc = 0 AND <fs_bsis_bsas> IS ASSIGNED.
              gv_hkont = <fs_bsis_bsas>-hkont.
            ENDIF.
          ENDIF.
        ENDIF.
    *   write sub-header
        DESCRIBE TABLE it_waers LINES sy-tfill.
        LOOP AT it_waers INTO wa_waers.
          IF sy-tfill = 1 AND wa_waers-waers = 'PHP'.
            lv_flag = 1 .
          ENDIF.
          IF NOT lv_flag = 1.
            IF lv_check IS INITIAL.
              WRITE: AT /103 sy-uline(lv_pos),
                     AT /103 sy-vline.
            ENDIF.
    *       write the years in the sub-header
            IF NOT lv_check = 1.
              lv_pos_dum = 110.
              FORMAT COLOR COL_HEADING.
              DO lv_counter TIMES.
                IF sy-index = 6.
                  WRITE: AT lv_pos_dum(14) <fs_asof> RIGHT-JUSTIFIED.
                ELSEIF sy-index = 7.
                  WRITE: AT lv_pos_dum(13) <fs_asof> RIGHT-JUSTIFIED.
                ELSE.
                  WRITE: AT lv_pos_dum(15) <fs_asof> RIGHT-JUSTIFIED.
                ENDIF.
                ADD 21 TO lv_pos_dum.
                SUBTRACT 1 FROM <fs_asof>.
              ENDDO.
              WRITE sy-vline.
              FORMAT COLOR OFF.
            ENDIF.
            IF sy-tabix = 1 AND wa_waers-waers = 'PHP'.
              WRITE: AT /90 sy-uline(lv_pos2).
            ENDIF.
            IF wa_waers-waers <> 'PHP'.
              IF lv_check IS INITIAL.
                WRITE: AT /90 sy-uline(lv_pos2).
                WRITE: AT /90 sy-vline.
              ELSE.
                WRITE: AT /90 sy-vline.
              ENDIF.
            ENDIF.
            FORMAT COLOR COL_NORMAL.
            IF NOT wa_waers-waers = 'PHP'.
             WRITE: AT 91(10) wa_waers-waers CENTERED.   "write the currency
            ENDIF.
          ENDIF.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
    *     get exchange rate from PHP to USD
          IF lv_check IS INITIAL.
            t_from_curr = 'PHP'.
            DO lv_counter TIMES.
    *         use BAPI to get exchange rate
              CALL METHOD me->conversion EXPORTING
                                           year      = <fs_asof>
                                           rate_type = t_rate_type
                                           from_curr = t_from_curr
                                           to_curr   = t_to_curr
                                          IMPORTING
                                           exch_rate = t_exch_rate
                                           t_date    = t_date_out.
    *         if no exchange rate was fetched, get directly from TCURR
    *         using given date
              IF t_exch_rate-exch_rate_v IS INITIAL.
                WRITE t_date_out TO lv_date USING EDIT MASK '__/__/____'.
                CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
                     EXPORTING
                          input  = lv_date
                     IMPORTING
                          output = lv_date.
                SELECT SINGLE ukurs FROM tcurr
                INTO t_exch_rate-exch_rate_v
                WHERE kurst = 'ME'
                  AND fcurr = 'PHP'
                  AND tcurr = 'USD'
                  AND gdatu = lv_date.
              ENDIF.
              IF NOT t_exch_rate-exch_rate_v IS INITIAL.
                t_exch_rate-exch_rate_v = abs( t_exch_rate-exch_rate_v ).
                wa_local-year = <fs_asof>.
                wa_local-rate = t_exch_rate-exch_rate_v.
                INSERT wa_local INTO TABLE it_local.
              ENDIF.
              SUBTRACT 1 FROM <fs_asof>.
              CLEAR: t_exch_rate, wa_local, t_date_out, lv_date.
            ENDDO.
          ENDIF.
          lv_pos = 106.
    *     get exchange rate from itab to USD
          CLEAR: t_exch_rate, lv_gdatu.
          t_from_curr = wa_waers-waers.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
          DO lv_counter TIMES.
            IF t_from_curr = 'USD'.
              READ TABLE it_local WITH KEY year = <fs_asof>
                                           INTO wa_local TRANSPORTING rate.
              lv_rate = wa_local-rate.
            ELSEIF t_from_curr = 'PHP'.
              READ TABLE it_local WITH KEY year = <fs_asof>
                                           INTO wa_local TRANSPORTING rate.
              lv_rate = wa_local-rate.
            ELSE.
    *         use BAPI to get exchange rate for currencies that is
    *         not 'PHP' and 'USD'
              CALL METHOD me->conversion EXPORTING
                                          year      = <fs_asof>
                                          rate_type = t_rate_type
                                          from_curr = t_from_curr
                                          to_curr   = t_to_curr
                                         IMPORTING
                                          exch_rate = t_exch_rate
                                          t_date    = t_date_out.
    *         if no exchange rate was fetched, get directly from TCURR
    *         using given date
              IF t_exch_rate-exch_rate_v IS INITIAL.
                WRITE t_date_out TO lv_date USING EDIT MASK '__/__/____'.
                CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
                     EXPORTING
                          input  = lv_date
                     IMPORTING
                          output = lv_date.
                SELECT SINGLE ukurs FROM tcurr
                INTO t_exch_rate-exch_rate_v
                WHERE kurst = 'ME'
                  AND fcurr = wa_waers-waers
                  AND tcurr = 'USD'
                  AND gdatu = lv_date.
              ENDIF.
              IF NOT t_exch_rate-exch_rate_v IS INITIAL.
                READ TABLE it_local WITH KEY year = <fs_asof>
                                            INTO wa_local TRANSPORTING rate.
                IF sy-subrc = 0.
                  IF t_exch_rate-exch_rate_v <> wa_local-rate.
                    lv_rate = 1 / t_exch_rate-exch_rate_v * wa_local-rate.
                  ELSE.
                    lv_rate = t_exch_rate-exch_rate_v.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
            IF NOT lv_rate IS INITIAL.
              lv_rate = abs( lv_rate ).
              wa_exch-year      = <fs_asof>.
              wa_exch-rate      = t_rate_type.
              wa_exch-from_curr = t_from_curr.
              wa_exch-exch_rate = lv_rate.
              INSERT wa_exch INTO TABLE it_exch.
              IF NOT lv_flag = 1.
                IF NOT wa_waers-waers = 'PHP'.
                  CALL METHOD me->display_rate
                     EXPORTING
                        rate = wa_exch-exch_rate
                        pos  = lv_pos.
                  CLEAR wa_exch.
                ENDIF.
              ENDIF.
            ENDIF.
            ADD 21 TO lv_pos.
            SUBTRACT 1 FROM <fs_asof>.
            CLEAR: t_exch_rate, wa_local, t_date_out,
                   lv_date,lv_rate.
          ENDDO.
          IF NOT lv_flag = 1.
            WRITE: AT lv_vline sy-vline.
          ENDIF.
          FORMAT COLOR OFF.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
          lv_check = 1.
          CLEAR lv_flag.
        ENDLOOP.
      ENDMETHOD.
    * METHOD display_rate                          *
      METHOD display_rate.
        WRITE: AT pos(15) rate RIGHT-JUSTIFIED.
      ENDMETHOD.
    * METHOD display_header                        *
      METHOD display_header.
        CLEAR lv_pos.
        lv_asof = p_year + 6.
        IF lv_asof > p_asof+0(4).
          lv_asof = p_asof+0(4).
        ENDIF.
        CLEAR lv_pos2.
        CASE lv_counter.
          WHEN 1.
            lv_pos2 = 126.
          WHEN 2.
            lv_pos2 = 147.
          WHEN 3.
            lv_pos2 = 168.
          WHEN 4.
            lv_pos2 = 189.
          WHEN 5.
            lv_pos2 = 210.
          WHEN 6.
            lv_pos2 = 230.
          WHEN 7.
            lv_pos2 = 250.
        ENDCASE.
        lv_pos = 110.
        FORMAT COLOR COL_HEADING.
        WRITE: /   sy-uline(lv_pos2),
               /   sy-vline,
             (18) 'Allocation'         CENTERED,
             (04) 'DT'                 CENTERED,
             (11) 'Doc. No.'           CENTERED,
             (11) 'Doc. Date'          LEFT-JUSTIFIED,
             (06) 'Cur.'               LEFT-JUSTIFIED,
             (20) 'Transaction Curr.'  CENTERED,
             (20) 'Local Curr. (PHP)'  CENTERED.
        DO lv_counter TIMES.
          WRITE: AT lv_pos(14) <fs_asof> RIGHT-JUSTIFIED.
          SUBTRACT 1 FROM <fs_asof>.
          ADD 21 TO lv_pos.
        ENDDO.
        WRITE: AT lv_pos2 sy-vline,
               /  sy-uline(lv_pos2).
        FORMAT COLOR OFF.
      ENDMETHOD.
    * METHOD top_of_page                           *
      METHOD top_of_page.
        DATA: text1         TYPE string,
              text2         TYPE string,
              lv_asof       TYPE bsis-budat,
              lv_pageno(03) TYPE n,
              lv_date(10)   TYPE c.
    *   get company code description
        SELECT SINGLE butxt FROM t001
        INTO t001-butxt
        WHERE bukrs = p_bukrs.
        WRITE: / t001-butxt,
               / sy-title.
    *   write account code(HKONT)
        CONCATENATE: gv_hkont '/' p_bukrs
                     INTO text1.
        CONCATENATE: 'Account:' text1
                     INTO text2
                     SEPARATED BY space.
        WRITE: / text2.
        CLEAR: text1, text2.
    *   write as of date
        WRITE p_asof TO lv_date USING EDIT MASK '__/__/____'.
        CONCATENATE: 'As of' lv_date
                       INTO text1
                       SEPARATED BY space.
        WRITE: / text1.
        CLEAR: text1, lv_date.
    *   from year to as of year
        lv_asof = p_asof+0(4).
        CONCATENATE: 'Year:' p_year 'to' lv_asof
                     INTO text1
                     SEPARATED BY space.
        WRITE: / text1.
        CLEAR text1.
    *   page number
        lv_pageno = sy-pagno.
        CONCATENATE: 'Page No:' lv_pageno
                     INTO text1
                     SEPARATED BY space.
        WRITE: / text1.
        CLEAR text1.
        SKIP 2.
      ENDMETHOD.
    * METHOD get_rate_and_show                     *
      METHOD get_rate_and_show.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
    *       PERCENTAGE       = 0
           text             = 'Combining data.Please wait... '
        DATA: lv_amount(15)    TYPE p DECIMALS 2,
              lv_color(1)      TYPE n VALUE 1,
              lv_index1(15)    TYPE p DECIMALS 2,
              lv_index2(15)    TYPE p DECIMALS 2,
              lv_index3(15)    TYPE p DECIMALS 2,
              lv_index4(15)    TYPE p DECIMALS 2,
              lv_index5(15)    TYPE p DECIMALS 2,
              lv_index6(15)    TYPE p DECIMALS 2,
              lv_index7(15)    TYPE p DECIMALS 2,
              lv_total1(15)    TYPE p DECIMALS 2,
              lv_total2(15)    TYPE p DECIMALS 2,
              lv_total3(15)    TYPE p DECIMALS 2,
              lv_total4(15)    TYPE p DECIMALS 2,
              lv_total5(15)    TYPE p DECIMALS 2,
              lv_total6(15)    TYPE p DECIMALS 2,
              lv_total7(15)    TYPE p DECIMALS 2,
              lv_dmbtr(15)     TYPE p DECIMALS 2,
              lv_dmbtr_tot(15) TYPE p DECIMALS 2,
              lv_old           TYPE bsis-hkont,
              lv_new           TYPE bsis-hkont.
        lv_asof = p_year + 6.
        IF lv_asof > p_asof+0(4).
          lv_asof = p_asof+0(4).
        ENDIF.
        CLEAR lv_check.
        ADD 1 TO lv_check.
        SORT it_bsis_bsas BY hkont year_dum belnr bldat waers dmbtr wrbtr.
    *   write details
        LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
          IF lv_color = 1.
            lv_color = 2.
          ELSE.
            lv_color = 1.
          ENDIF.
    *     if <fs_bsis_bsas>-shkzg = 'H', multiply WRBTR and
    *     DMBTR by -1
          IF <fs_bsis_bsas>-shkzg = 'H'.
            <fs_bsis_bsas>-wrbtr = <fs_bsis_bsas>-wrbtr * -1.
            <fs_bsis_bsas>-dmbtr = <fs_bsis_bsas>-dmbtr * -1.
          ENDIF.
    *     for every new account no.(HKONT), create a new page
          lv_new = <fs_bsis_bsas>-hkont.
          gv_hkont = <fs_bsis_bsas>-hkont.
          IF lv_new <> lv_old AND NOT lv_old IS INITIAL.
            NEW-PAGE.
            CALL METHOD me->display_subheader.
            CALL METHOD me->display_header.
          ENDIF.
          lv_old = lv_new.
    *     write details
          FORMAT INTENSIFIED OFF COLOR = lv_color.
          WRITE: /   sy-vline,
                (18) <fs_bsis_bsas>-zuonr   CENTERED,
                (04) <fs_bsis_bsas>-blart   CENTERED,
                (10) <fs_bsis_bsas>-belnr   CENTERED,
                (10) <fs_bsis_bsas>-bldat   RIGHT-JUSTIFIED,
                (05) <fs_bsis_bsas>-waers   RIGHT-JUSTIFIED,
                (20) <fs_bsis_bsas>-wrbtr   RIGHT-JUSTIFIED,
                (20) <fs_bsis_bsas>-dmbtr   RIGHT-JUSTIFIED.
          ADD <fs_bsis_bsas>-dmbtr TO: lv_dmbtr, lv_dmbtr_tot.
    *     write the converted amount for a given year
          WHILE lv_check <= lv_counter.
            IF <fs_asof> >= <fs_bsis_bsas>-bldat+0(4).
              t_from_curr = <fs_bsis_bsas>-waers.
              READ TABLE it_exch WITH KEY year      = <fs_asof>
                                          rate      = t_rate_type
                                          from_curr = t_from_curr
                                        INTO wa_exch TRANSPORTING exch_rate.
              IF sy-subrc = 0.
                IF <fs_bsis_bsas>-waers = 'PHP'.
                  lv_amount = 1 / wa_exch-exch_rate * wa_exch-exch_rate.
                  lv_amount = <fs_bsis_bsas>-wrbtr * lv_amount.
                ELSE.
                  lv_amount = <fs_bsis_bsas>-wrbtr * wa_exch-exch_rate.
                ENDIF.
                WRITE: (20) lv_amount RIGHT-JUSTIFIED.
                CASE sy-index.
                  WHEN 1.
                    ADD lv_amount TO lv_index1.
                    ADD lv_amount TO lv_total1.
                  WHEN 2.
                    ADD lv_amount TO lv_index2.
                    ADD lv_amount TO lv_total2.
                  WHEN 3.
                    ADD lv_amount TO lv_index3.
                    ADD lv_amount TO lv_total3.
                  WHEN 4.
                    ADD lv_amount TO lv_index4.
                    ADD lv_amount TO lv_total4.
                  WHEN 5.
                    ADD lv_amount TO lv_index5.
                    ADD lv_amount TO lv_total5.
                  WHEN 6.
                    ADD lv_amount TO lv_index6.
                    ADD lv_amount TO lv_total6.
                  WHEN 7.
                    ADD lv_amount TO lv_index7.
                    ADD lv_amount TO lv_total7.
                ENDCASE.
              ENDIF.
            ENDIF.
            CLEAR: lv_amount, wa_exch.
            SUBTRACT 1 FROM <fs_asof>.
            ADD 1 TO lv_check.
          ENDWHILE.
          WRITE AT lv_pos2 sy-vline.
    *     write sub-total for every year for the same account code(HKONT)
          AT END OF year_dum.
            FORMAT COLOR COL_TOTAL.
            WRITE: / sy-vline,
                   <fs_bsis_bsas>-year_dum,
                   'Sub-total:'.
            IF NOT lv_dmbtr IS INITIAL.
              WRITE: AT 76(20) lv_dmbtr RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index1 IS INITIAL.
              WRITE: (20) lv_index1     RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index2 IS INITIAL.
              WRITE (20) lv_index2      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index3 IS INITIAL.
              WRITE (20) lv_index3      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index4 IS INITIAL.
              WRITE (20) lv_index4      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index5 IS INITIAL.
              WRITE (20) lv_index5      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index6 IS INITIAL.
              WRITE: (20) lv_index6     RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index7 IS INITIAL.
              WRITE: (20) lv_index7      RIGHT-JUSTIFIED.
            ENDIF.
            WRITE: AT lv_pos2 sy-vline.
            FORMAT COLOR OFF.
            CLEAR: lv_index1, lv_index2, lv_index3,
                   lv_index4, lv_index5, lv_index6,
                   lv_index7, lv_dmbtr.
          ENDAT.
    *     write total for a given account code(HKONT)
          AT END OF hkont.
            FORMAT COLOR COL_TOTAL INTENSIFIED.
            WRITE: / sy-vline,
                     'Total', <fs_bsis_bsas>-hkont, 'GI'.
            IF NOT lv_dmbtr_tot IS INITIAL.
              WRITE: AT 76(20) lv_dmbtr_tot RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total1 IS INITIAL.
              WRITE: (20) lv_total1         RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total2 IS INITIAL.
              WRITE (20) lv_total2          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total3 IS INITIAL.
              WRITE (20) lv_total3          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total4 IS INITIAL.
              WRITE (20) lv_total4          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total5 IS INITIAL.
              WRITE (20) lv_total5          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total6 IS INITIAL.
              WRITE: (20) lv_total6         RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total7 IS INITIAL.
              WRITE: (20) lv_total7         RIGHT-JUSTIFIED.
            ENDIF.
            WRITE: AT lv_pos2 sy-vline.
            FORMAT COLOR OFF.
            CLEAR: lv_total1, lv_total2, lv_total3,
                   lv_total4, lv_total5, lv_total6,
                   lv_total7, lv_dmbtr_tot.
            WRITE: / sy-uline(lv_pos2).
          ENDAT.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
          CLEAR lv_check.
          ADD 1 TO lv_check.
          FORMAT COLOR OFF.
        ENDLOOP.
        SKIP 5.
        ex_bsis_bsas[] = it_bsis_bsas[].
        ex_exch[]      = it_exch[].
      ENDMETHOD.
    * METHOD conversion                            *
      METHOD conversion.
        IF year = p_asof+0(4).
    *     get last date of a given month and year
          CALL FUNCTION 'LAST_DAY_OF_MONTHS'
           EXPORTING
             day_in                  = p_asof
           IMPORTING
             last_day_of_month       = lv_givendate
    *     EXCEPTIONS
    *       DAY_IN_NO_DATE          = 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.
        ELSE.
    *   get last date of a given year
          CALL FUNCTION 'HR_E_GET_FISC_YEAR_DATES'
            EXPORTING
              fisc_year         = year
          IMPORTING
    *      FISC_FECINI       =
             fisc_fecfin       = lv_date
    *    EXCEPTIONS
    *      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.
        IF lv_date IS INITIAL.
          t_date = lv_givendate.
          CLEAR lv_givendate.
        ELSE.
          t_date = lv_date.
          CLEAR lv_date.
        ENDIF.
    *   get exchange rate from a given currency to US dollars
        CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
          EXPORTING
            rate_type        = rate_type
            from_curr        = from_curr
            to_currncy       = to_curr
            date             = t_date
          IMPORTING
            exch_rate        = t_exch_rate
    *      RETURN           =
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_summary IMPLEMENTATION
    CLASS lcl_summary IMPLEMENTATION.
    * METHOD display_summary                       *
      METHOD display_summary.
        TYPES: BEGIN OF t_total,
                hkont      TYPE bsis-hkont,
                waers      TYPE bsis-waers,
                wrbtr      TYPE bsis-wrbtr,
                dmbtr      TYPE bsis-dmbtr,
                gl_bal     TYPE bsis-wrbtr,
                unrealized TYPE bsis-wrbtr,
               END OF t_total.
        DATA: lv_balance        TYPE bsis-wrbtr,
              lv_date(10)       TYPE c,
              lv_color(1)       TYPE n VALUE '1',
              lv_wrbtr          TYPE bsis-wrbtr,
              lv_dmbtr          TYPE bsis-dmbtr,
              lv_gl_bal         TYPE bsis-wrbtr,
              lv_unrealized     TYPE bsis-wrbtr,
              lv_old_year       TYPE bsis-gjahr,
              lv_new_year       TYPE bsis-gjahr,
              lv_flag(1)        TYPE n,
              lt_bsis_bsas_dum  TYPE STANDARD TABLE OF t_bsis_bsas,
              lt_total          TYPE STANDARD TABLE OF t_total,
              wa_total          LIKE LINE OF lt_total.
        FIELD-SYMBOLS: <fs_dum> LIKE LINE OF lt_bsis_bsas_dum.
        it_bsis_bsas[] = im_bsis_bsas[].
        it_exch[]      = im_exch[].
        CLEAR wa_exch.
        SORT it_bsis_bsas BY hkont year_dum DESCENDING waers.
        lt_bsis_bsas_dum[] = it_bsis_bsas[].
        LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
          AT NEW hkont.
            MOVE <fs_bsis_bsas>-hkont TO wa_summary-hkont.
          ENDAT.
          AT NEW year_dum.
            MOVE <fs_bsis_bsas>-year_dum TO wa_summary-year_dum.
          ENDAT.
          AT NEW waers.
            MOVE <fs_bsis_bsas>-waers TO wa_summary-waers.
            t_from_curr = wa_summary-waers.
            READ TABLE it_exch WITH KEY year      = wa_summary-year_dum
                                        rate      = t_rate_type
                                        from_curr = t_from_curr
                                        INTO wa_exch TRANSPORTING exch_rate.
            IF sy-subrc = 0.
              MOVE wa_exch-exch_rate TO wa_summary-rate.
            ELSE.
              CALL METHOD me->conversion
                 EXPORTING
                    year      = wa_summary-year_dum
                    rate_type = t_rate_type
                    from_curr = t_from_curr
                    to_curr   = t_to_curr
                 IMPORTING
                    exch_rate = t_exch_rate
                    t_date    = t_date_out.
              IF t_exch_rate-exch_rate_v IS INITIAL.
                WRITE t_date_out TO lv_date USING EDIT MASK '__/__/____'.
                CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
                     EXPORTING
                          input  = lv_date
                     IMPORTING
                          output = lv_date.
                SELECT SINGLE ukurs FROM tcurr
                INTO t_exch_rate-exch_rate_v
                WHERE kurst = 'ME'
                  AND fcurr = 'PHP'
                  AND tcurr = 'USD'
                  AND gdatu = lv_date.
              ENDIF.
              IF NOT t_exch_rate-exch_rate_v IS INITIAL.
                t_exch_rate-exch_rate_v = abs( t_exch_rate-exch_rate_v ).
                MOVE t_exch_rate-exch_rate_v TO wa_summary-rate.
              ENDIF.
            ENDIF.
          ENDAT.
          LOOP AT lt_bsis_bsas_dum ASSIGNING <fs_dum>
             WHERE hkont    = wa_summary-hkont
               AND year_dum = wa_summary-year_dum
               AND waers    = wa_summary-waers.
            ADD <fs_dum>-wrbtr TO wa_summary-wrbtr.
            ADD <fs_dum>-dmbtr TO wa_summary-dmbtr.
            IF NOT wa_exch-exch_rate IS INITIAL.
              IF <fs_dum>-waers = 'PHP'.
                lv_balance = 1 / wa_exch-exch_rate * wa_exch-exch_rate.
                lv_balance = <fs_dum>-wrbtr * lv_balance.
                ADD lv_balance TO wa_summary-gl_bal.
              ELSE.
                lv_balance = <fs_dum>-wrbtr * wa_exch-exch_rate.
                ADD lv_balance TO wa_summary-gl_bal.
              ENDIF.
            ENDIF.
            CLEAR lv_balance.
            DELETE lt_bsis_bsas_dum.
          ENDLOOP.
          DELETE it_bsis_bsas WHERE hkont    = wa_summary-hkont
                                AND year_dum = wa_summary-year_dum
                                AND waers    = wa_summary-waers.
          wa_summary-unrealized = wa_summary-dmbtr - wa_summary-gl_bal.
          APPEND wa_summary TO it_summary.
          CLEAR wa_summary.
        ENDLOOP.
        IF NOT it_summary[] IS INITIAL.
          CALL METHOD me->display_summary_header.
          CLEAR wa_summary.
          SORT it_summary BY hkont year_dum DESCENDING waers.
    */     WRITE SUMMARY
          LOOP AT it_summary INTO wa_summary.
            IF lv_color = 1.
              lv_color = 2.
            ELSE.
              lv_color = 1.
            ENDIF.
            MOVE: wa_summary-hkont     TO wa_total-hkont,
                  wa_summary-waers     TO wa_total-waers.
            READ TABLE lt_total WITH KEY hkont = wa_summary-hkont
                                         waers = wa_summary-waers
                                         INTO wa_total.
            IF sy-subrc = 0.
              ADD: wa_summary-wrbtr      TO wa_total-wrbtr,
                   wa_summary-dmbtr      TO wa_total-dmbtr,
                   wa_summary-gl_bal     TO wa_total-gl_bal,
                   wa_summary-unrealized TO wa_total-unrealized.
              MODIFY lt_total FROM wa_total TRANSPORTING
               wrbtr dmbtr gl_bal unrealized
                  WHERE hkont = wa_summary-hkont
                    AND waers = wa_summary-waers.
              CLEAR wa_total.
              lv_flag = 1.
            ELSE.
              ADD: wa_summary-wrbtr      TO wa_total-wrbtr,
                   wa_summary-dmbtr      TO wa_total-dmbtr,
                   wa_summary-gl_bal     TO wa_total-gl_bal,
                   wa_summary-unrealized TO wa_total-unrealized.
            ENDIF.
    *       write sub-total for every end of a year
            lv_new_year = wa_summary-year_dum.
            IF lv_new_year <> lv_old_year AND NOT lv_old_year IS INITIAL.
              FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
              WRITE: /    sy-vline,
                     (42) 'Subtotal',
                     (18) lv_wrbtr      RIGHT-JUSTIFIED,
                     (18) lv_dmbtr      RIGHT-JUSTIFIED,
                     (18) lv_gl_bal     RIGHT-JUSTIFIED,
                     (18) lv_unrealized RIGHT-JUSTIFIED,
                          sy-vline.
              FORMAT COLOR OFF.
              CLEAR: lv_wrbtr, lv_dmbtr, lv_gl_bal, lv_unrealized.
            ENDIF.
            lv_old_year = lv_new_year.
            ADD: wa_summary-wrbtr      TO lv_wrbtr,
                 wa_summary-dmbtr      TO lv_dmbtr,
                 wa_summary-gl_bal     TO lv_gl_bal,
                 wa_summary-unrealized TO lv_unrealized.
            FORMAT INTENSIFIED OFF COLOR = lv_color.
            WRITE: /    sy-vline,
                   (15) wa_summary-hkont,
                   (04) wa_summary-year_dum,
                   (05) wa_summary-waers,
                   (15) wa_summary-rate,
                   (18) wa_summary-wrbtr,
                   (18) wa_summary-dmbtr,
                   (18) wa_summary-gl_bal,
                   (18) wa_summary-unrealized,
                        sy-vline.
            FORMAT COLOR OFF.
            IF NOT lv_flag = 1.
              APPEND wa_total TO lt_total.
              CLEAR wa_total.
            ENDIF.
            AT END OF hkont.
    *         write the last sub-total
              FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
              WRITE: /    sy-vline,
                     (37) 'Subtotal', wa_summary-year_dum,
                     (18) lv_wrbtr      RIGHT-JUSTIFIED,
                     (18) lv_dmbtr      RIGHT-JUSTIFIED,
                     (18) lv_gl_bal     RIGHT-JUSTIFIED,
                     (18) lv_unrealized RIGHT-JUSTIFIED,
                          sy-vline.
              FORMAT COLOR OFF.
              CLEAR: lv_wrbtr, lv_dmbtr, lv_gl_bal, lv_unrealized.
    *         write the total for a given account code(HKONT)
              FORMAT COLOR COL_TOTAL INTENSIFIED ON.
              LOOP AT lt_total INTO wa_total
                 WHERE hkont = wa_summary-hkont.
                WRITE: /    sy-vline.
                IF sy-tabix = 1.
                  WRITE: (25) 'Total', wa_summary-hkont.
                ENDIF.
                IF sy-tabix = 1.
                  WRITE: (05) wa_total-waers,
                         (18) wa_total-wrbtr,
                         (18) wa_total-dmbtr,
                         (18) wa_total-gl_bal,
                         (18) wa_total-unrealized,
                              sy-vline.
                ELSE.
                  WRITE: AT 40(05) wa_total-waers,
                              (18) wa_total-wrbtr,
                              (18) wa_total-dmbtr,
                              (18) wa_total-gl_bal,
                              (18) wa_total-unrealized,
                                   sy-vline.
                ENDIF.
              ENDLOOP.
              FORMAT COLOR OFF.
            ENDAT.
            CLEAR lv_flag.
          ENDLOOP.
          WRITE: / sy-uline(122).
        ENDIF.
      ENDMETHOD.
    * METHOD display_summary                       *
      METHOD display_summary_header.
        FORMAT COLOR COL_HEADING.
        WRITE: /    sy-uline(122),
               /    sy-vline,
               (15) 'GL Account'  CENTERED,
               (04) 'Year'        CENTERED,
               (05) 'Curr.'       CENTERED,
               (15) 'Rate'        CENTERED,
               (18) 'Trans. Curr' CENTERED,
               (18) 'Local Curr.' CENTERED,
               (18) 'GL Balance'  CENTERED,
               (18) 'Unrealized'  CENTERED,
                     sy-vline,
               /     sy-uline(122).
        FORMAT COLOR OFF.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_handler IMPLEMENTATION
    CLASS lcl_handler IMPLEMENTATION.
      METHOD handle_event.
        MESSAGE i008 WITH 'No data found for account no:' hkont.
        LEAVE LIST-PROCESSING.
      ENDMETHOD.
    ENDCLASS.
    * TOP-OF-PAGE                                  *
    TOP-OF-PAGE.
      DATA: o_top TYPE REF TO lcl_main.
      CREATE OBJECT o_top.
      CALL METHOD o_top->top_of_page.
    * START-OF-SELECTION                           *
    START-OF-SELECTION.
      DATA: o_main           TYPE REF TO lcl_main,
            o_handler        TYPE REF TO lcl_handler,
            o_summary        TYPE REF TO lcl_summary,
            it_bsis_bsas_dum TYPE STANDARD TABLE OF t_bsis_bsas,
            it_exch_dum      LIKE it_exch.
      CREATE OBJECT: o_main, o_handler, o_summary.
      SET HANDLER o_handler->handle_event FOR ALL INSTANCES.
      CALL METHOD o_main->get_data.
      CALL METHOD o_main->get_diff.
      CALL METHOD o_main->display_subheader.
      CALL METHOD o_main->display_header.
      CALL METHOD o_main->get_rate_and_show
         IMPORTING
            ex_bsis_bsas = it_bsis_bsas_dum
            ex_exch      = it_exch_dum.
      CALL METHOD o_summary->display_summary
         EXPORTING
            im_bsis_bsas = it_bsis_bsas_dum
            im_exch      = it_exch_dum.

  • DIfference Between OOPS ALV and WEBDYNPRO FOR ABAP ALV?

    Hi to All,
    i want some information that What is main difference when we develop ALV Report in OOPS and WEBDYNPRO For ABAP.which is good n in what way it is good?
    In the Same way I m also want know that WHICH IS BETTER AMONG WEBDYNPRO FOR JAVA/ABAP.In which way?
    Regards,
    Ravi K

    Thanku for ur valuble Information.
    could u give me information regarding OOPS ALV and WEBDYNPRO FOR ABAP ALV?which is better?is there differences?
    Edited by: ravi k on Mar 26, 2008 12:23 PM

  • Material for HR ABAP

    hi gurus,
    i need pointers to get material for HR  ABAP in SDN.

    hi..
    there is no separate materials for HR abap..
    and all the concepts of sap abap and hr abap are came except the names of tables and some transactions
    u can get it from  SAP.help .com

  • Material for Object Oriented Concepts in ABAP

    Hi,
          Please provide me the material for Object Oriented Concepts in ABAP.

    Hi
    Please check this link, may be helpful
    http://www.sap-img.com/ab029.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    regards
    Srinivas

  • Basic abap-oops material

    hi ,
    i am very new to abap-oops concepts please help me in getting the basic oops concept materials
    regards
    Nandini

    Refer these link,
    http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    For funtion module to class
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
    for classes
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
    for methods
    http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
    for inheritance
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
    for interfaces
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
    For Materials:
    1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
    2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    1) http://www.erpgenie.com/sap/abap/OO/index.htm
    2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    Reward if found helpfull,
    Regards,
    K.Tharani.

  • OOP for abap

    good morning to all sap experts,
    i have a question for any OOP programmers in abap. i have been working in abap for over 12 years, but have not yet transitioned to oop. but, since we have been upgrading to ecc 6.0, i am constantly working with oop classes, and objects. maybe someone can answer these questions, and also point me in the right direction online, to educate myself.
    i have a class that is called CL_WTY_CLAIM and it is running a method called get_direct_references. within get_direct_references, this line of code is running.
    co_ltext ?= co_ext_objects->get_ext_buffered_object(
                                      co_ltext_class_id ).
    firstly, what does "?=" mean?
    secondly, if i go to get_ext_buffered_object, i find the following code.
    ro_object = co_ext_objects->get_ext_buffered_object( io_id ).
    how/where is the code running to fill the initial co_ltext field?
    please and thank you.

    thanks for the quick reply. i think i understand the down cast function.
    when i debug the code at the point of the following:
    co_ltext ?= co_ext_objects->get_ext_buffered_object(
                                      co_ltext_class_id ).
    it goes to the get_ext_buffered_object method, and i see the following:
    data:
        ls_ext_object type t_ext_object.
      read table ct_external_objects into ls_ext_object
        with table key id = io_id.
      ro_object = ls_ext_object-object.
    can you easily tell me how the ct_external_objects table is populated? i know that the table is in another class "CL_WTY_BUFFER_EXT_CNTL" and it is a attribute of that class, but i do not know how it is populated. do you have another link to show me a easy way to determine how a table is populated?
    the issue i am having is that this table does not always have the text info i am looking for. i would like to review their code to see if it is a data problem, or a code problem.
    thanks again.

  • Material for OM in HR ABAP

    Hi Folks,
                   Can anybody send good material for Org. management as PDF or Word documents.
             Any good material is appreciated.
    Regards,
    Ram

    Hi,
    Check
    Business Objects :
    ORGASSIGNM: Employee organizational assignment
    ORGMASTER: Control object for org. master data replication
    ORGCHEARM: Designation for organizational reassignment
    ORGUNITEXT: Enhanced Organizational Unit
    PDOTYPE_SH:HR Position
    HRMASTER:Control object for HR master data replication,
    EMPLOYEET:Time specification of employee,
    EMPLOYEEI:Employee Information
    Goto SWO1, in object type, type EMP* and press F4, you will get a list of objects.
    Edited by: Neenu Jose on Nov 5, 2008 7:48 AM
    Edited by: Neenu Jose on Nov 5, 2008 7:49 AM
    Edited by: Neenu Jose on Nov 5, 2008 7:51 AM
    Edited by: Neenu Jose on Nov 5, 2008 7:53 AM
    Edited by: Neenu Jose on Nov 5, 2008 7:55 AM
    Edited by: Neenu Jose on Nov 5, 2008 8:01 AM

  • ABAP  OOP example and invitation

    For quite a while, I've been trying to learn more about ABAP OOP. But, I've
    found many of the examples on the web, and in SAP provided articles, either
    difficult to understand or outright lame. They never seemed to illustrate
    much of what a staff ABAP programmer is called upon to do.
    So, last week I decided to take the problem head on and see if I could come
    up with something we all could use as a starting point to learn more about
    ABAP objects.
    Here's a chunk of code that I want everybody to pick apart, critique,
    modify, append or whatever. The only stipulation is that you post your
    suggestions back to this forum. Maybe after we get some nice ABAP objects
    together, the forum manager can put them into an OOP area of this website.
    ================================================================
    The first object I created uses the MARC (Plant Data for Material) table.
    I wanted to use it to learn more about how "Selection Sets" can be used with
    ABAP OOP.
    The class has five methods:
    -o- constructor
    -o- return_marc_table
    -o- return_subset_marc_table
    -o- length
    -o- write_marc_table
    This class isn't, really, very useful. But, it does show how selection-sets
    can be used with ABAP oop. The code is studded with commented BREAK-POINTS
    that you can turn on and off to examine things.
    Split the code into two files: Main program and Top include. Look at the
    initialization section and you should be able to see how you can tweak
    the materials selected for your environment.
    enjoy
    [email protected]
    REPORT zejb_oop_sel_set2 .
    This program is designed to demonstrate passing selection sets
    to an ABAP object
    The program has some educational value. But, other than that
    probably isn't of much use.
    =========================================== Main Program - BEGIN
    INCLUDE zejb_oop_sel_set2_top.      "data and class definitions
    SELECT-OPTIONS:
      s_matnr FOR marc-matnr,
      s_werks FOR marc-werks.
    DATA: my_marc TYPE REF TO marc_object .
    ============================================= START-OF-SELECTION
    START-OF-SELECTION.
      matnr_selector[] = s_matnr[] .
      werks_selector[] = s_werks[].
    call the constructor table and create the CLASS-DATA
      CREATE OBJECT my_marc
        EXPORTING
          s_matnr  = matnr_selector
          s_werks  = werks_selector .
    ================================================ END-OF-SELECTION
    END-OF-SELECTION.
      CALL METHOD my_marc->return_marc_table
        IMPORTING
          return_marc = tb_marc.
    BREAK-POINT. " inspect tb_marc
      CALL METHOD my_marc->length
        IMPORTING
          table_size = zzlines.
      WRITE:/ 'Class-Data table in object my_marc has '
               , zzlines , ' lines'.
      ULINE.
      WRITE:/ 'printing internal table tb_marc'.
      CALL METHOD my_marc->write_marc_table
        EXPORTING
          print_table = tb_marc.
      SKIP.
    BREAK-POINT.
      examine matnr_subset_selector
      examine werks_subset_selector
      CALL METHOD my_marc->return_subset_marc_table
        EXPORTING
          s_matnr     = matnr_subset_selector
          s_werks     = werks_subset_selector
        IMPORTING
          return_marc = tb_subset_marc.
    BREAK-POINT.
      examine tb_subset_marc
      ULINE.
      WRITE:/ 'printing internal table tb_subset_marc'.
      CALL METHOD my_marc->write_marc_table
        EXPORTING
          print_table = tb_subset_marc.
      ULINE.
    ================================================== INITIALIZATION
    INITIALIZATION.
      DEFINE range_append.                                      "#EC *
    1 == range_name
        clear &1.                                               "#EC *
        &1-sign = &2.                                           "#EC *
        &1-option = &3.                                         "#EC *
        &1-low = &4.                                            "#EC *
        &1-high = &5.                                           "#EC *
        append &1. clear &1.                                    "#EC *
      END-OF-DEFINITION.                                        "#EC *
      DEFINE fill_range.                                        "#EC *
    1 == range_name
        clear &1.                                               "#EC *
        &1-sign = &2.                                           "#EC *
        &1-option = &3.                                         "#EC *
        &1-low = &4.                                            "#EC *
        &1-high = &5.                                           "#EC *
      END-OF-DEFINITION.                                        "#EC *
    modify these materials and plants to suit your environment
    or create a selection variant
      range_append s_matnr 'I' 'EQ' 'HAP100' space.
      range_append s_matnr 'I' 'EQ' 'HAP205' space.
      range_append s_matnr 'I' 'EQ' 'HAP221' space.
      range_append s_matnr 'I' 'EQ' 'HAP240' space.
      range_append s_matnr 'I' 'EQ' 'HAP245' space.
      range_append s_matnr 'I' 'EQ' 'HAP250' space.
      range_append s_matnr 'I' 'EQ' 'HAP260' space.
      range_append s_werks 'I' 'EQ' '1000' space.
      range_append s_werks 'I' 'EQ' '1020' space.
    fill subset selector
      fill_range st_matnr_selector 'I' 'EQ' 'HAP205' space.
      APPEND st_matnr_selector TO matnr_subset_selector.
      fill_range st_matnr_selector 'I' 'EQ' 'HAP250' space.
      APPEND st_matnr_selector TO matnr_subset_selector.
      fill_range st_werks_selector 'I' 'EQ' '1000' space.
      APPEND st_werks_selector TO werks_subset_selector.
    ============================================ Main Program - End
    *&  Include           ZEJB_OOP_SEL_SET2_TOP                       *
    ============================================ Top include - BEGIN
    TABLES : marc.
    DATA: tb_marc TYPE TABLE OF marc,
          tb_subset_marc TYPE TABLE OF marc,
          st_marc TYPE marc.                                    "#EC *
    "^^^^^^^ to/from structure. use as needed
    DATA: st_matnr_selector TYPE range_s_matnr,
    st_werks_selector TYPE range_werks,
    matnr_selector TYPE TABLE OF range_s_matnr,
    werks_selector TYPE TABLE OF range_werks,
    matnr_subset_selector TYPE TABLE OF range_s_matnr,
    werks_subset_selector TYPE TABLE OF range_werks.
    DATA: zzlines TYPE i. " size of class_data table.
          CLASS marc_object DEFINITION
    NOTE: for those new to abap objects, EVERYTHING in abap OOP
          must be explicitly "TYPED". more on this as I go along
    CLASS marc_object DEFINITION.
      PUBLIC SECTION.
        TYPES:
          typ_marc TYPE TABLE OF marc,
          typ_matnr_selector TYPE TABLE OF range_s_matnr,
          typ_werks_selector TYPE TABLE OF range_werks.
        DATA: return_marc TYPE typ_marc,
              print_table TYPE typ_marc.
        CLASS-DATA:
          class_marc
            TYPE typ_marc. " <== inside public area
        ^^^^^^^ this table will be available to all methods
        ^^^^^^^ in the class
        METHODS:
          constructor
            IMPORTING
              s_matnr  TYPE typ_matnr_selector
              s_werks  TYPE typ_werks_selector OPTIONAL ,
          return_marc_table
            EXPORTING return_marc TYPE typ_marc ,
          return_subset_marc_table
            IMPORTING
              s_matnr  TYPE typ_matnr_selector
              s_werks  TYPE typ_werks_selector OPTIONAL
            EXPORTING
              return_marc TYPE typ_marc,
          length EXPORTING table_size TYPE i,
          write_marc_table
            IMPORTING print_table TYPE typ_marc.
      PROTECTED SECTION.
      PRIVATE SECTION.
    ENDCLASS.                    "marc_object DEFINITION
    *EJECT
          CLASS zget_sales_order_change IMPLEMENTATION
    CLASS marc_object IMPLEMENTATION.
      METHOD constructor .
        DATA:
          s_lcl_matnr TYPE TABLE OF  range_s_matnr ,
          s_lcl_werks TYPE TABLE OF  range_werks .
        s_lcl_matnr[] = s_matnr[] .
        s_lcl_werks[] = s_werks[] .
        SELECT * FROM marc
          APPENDING TABLE class_marc
          WHERE matnr IN s_lcl_matnr
            AND werks IN s_lcl_werks.
        SORT class_marc BY matnr werks.
       BREAK-POINT.
      ENDMETHOD.                    "xxx
      METHOD return_marc_table.
        return_marc[] = class_marc[] .
       BREAK-POINT. " examine class_marc
      ENDMETHOD.                    "return_marc table
      METHOD        return_subset_marc_table.
        DATA: st_marc TYPE marc.
        REFRESH return_marc.
        LOOP AT class_marc INTO st_marc
          WHERE matnr IN s_matnr
            AND werks IN s_werks  .
          APPEND st_marc TO return_marc.
        ENDLOOP.
       BREAK-POINT. " examine return_marc
      ENDMETHOD.                    "return_subset_marc_table
      METHOD length.
        DESCRIBE TABLE class_marc LINES  table_size.
      ENDMETHOD.                    "length
      METHOD write_marc_table.
        DATA: st_marc TYPE marc.
        LOOP AT print_table INTO st_marc.
          WRITE:/ 'Material ' , st_marc-matnr,
          'Plant ' , st_marc-werks.
        ENDLOOP.
      ENDMETHOD.                    "write_marc_table
    ENDCLASS.                    "marc_object IMPLEMENTATION
    ============================================== Top include - END

    Search using " ALV Factory methods" u'll get lots of material.
    for instance u can a look at this wiki
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/abap%2b-%2bdeveloping%2binteractive%2balv%2breport%2busing%2booabap
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/community/object%2bmodel%2balv%2b-%2binteractive
    [ALVOO PDF|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/cda3992d-0e01-0010-90b2-c4e1f899ac01]

  • Wrking on ABAP OOPS, oput is coming but 1 field name wd customer name is nt

    Hello,
    I am working on ABAP OOPS for first time, Report is workin fine but onr custmer name field is not coming,. cn u plz help..i hv gone thrugh sme steps like frst i gone thrugh system status..den  i clk on set_table for frst display..b den on t_output...where wll i get the fields..???
    Edited by: SAPKTAN on Feb 27, 2010 7:52 AM

    hi experts,
    i m new in BDC... i hav to upload bdc for vk11 trans and table konv. now uploading is basically ..
    frst doubt is
    i hv to run shdb transc?? or  just i hv to write program??
    nd cn any1 send me teps as hw to create upload..
    Condition Type     Sales Organisation     Distribution channel     Material     Price     Unit     Valid from     Valid to
    KSCHL     VKORG     VTWEG     MATNR_01     KBETR_01     KPEIN_01     DATAB_01     DATBI_01
    now plz tel me hw to do this...whether to run shdb or jus to write program in se38..
    or i hv to do both...bt plz tel me step by step

Maybe you are looking for

  • Missing QT help files

    I have QT pro installed and when I go to the Help files I get all the titles but when I click on them nothing happens. Each title seems to be a link to something but can't get any of them to open up with the help I need. Tried an update and it says a

  • "Could not find the main class" Error While installing 11g in windows 7

    Dear All, I am getting error message while installing oracle 11g R1(32 bit) on Windows 7(32 bit) I have downloaded from oracle website only.. After Clicking the OUI I am getting the Error Message pop up is "Could not find the main class.Program will

  • Question Mark on Chess

    My son loves to play chess on my new imac. This morning when I sat down to work on the computer I saw a question mark over the chess icon. I can't open it or even find anything about chess on the computer. That being said, this machine is new to me a

  • Exp/Imp 10.2.0.1 Database

    Can I export data from a database with 8k block size onto a target database with 16k block size?

  • Parent Space Name is cached?

    Hi all, I wrote a custom navigation and I need to know from where the user is coming. So, I used the m_asOwner.GetParentSpaceName() but it always returns the same value (Login) even if I navigate the portal and I change a lots of Activity Space. I no