Regarding ABAB objects

Hi
Send me some notes on ABAB objects

Hi
OOPs ABAP uses Classes and Interfaces which uses Methods and events.
If you have Java skills it is advantage for you.
There are Local classes as well as Global Classes.
Local classes we can work in SE38 straight away.
But mostly it is better to use the Global classes.
Global Classes or Interfaces are to be created in SE24.
SAP already given some predefined classes and Interfaces.
This OOPS concepts very useful for writing BADI's also.
So first create a class in SE 24.
Define attributes, Methods for that class.
Define parameters for that Method.
You can define event handlers also to handle the messages.
After creation in each method write the code.
Methods are similar to ABAP PERFORM -FORM statements.
After the creation of CLass and methods come to SE38 and create the program.
In the program create a object type ref to that class and with the help of that Object call the methods of that Class and display the data.
chk out the links below:
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://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.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/
<b>
Reward points for useful Answers</b>
Regards
Anji

Similar Messages

  • Regarding my object

    Hi....
    good evening..
    today iam going to explain about this object.
    this is a new object which was assigned for me before two days.
    created a report that displays open purchase order for a given plant or delivery period
    what is the selection screen for this report.
    whr are the tables used for this report.please mention fields with discription.
    what is select statement for this report.
    please provide this information.
    thanks and regards ,
    k.swaminath reddy

    Hi
    See the sample report and do accordingly
    *& Report  ZMM_PO_REPORT
    REPORT  ZMM_PO_REPORT message-Id yb
           NO STANDARD PAGE HEADING
           LINE-COUNT 60(1)
           LINE-SIZE 230.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master
            t161,           " PO Doc Types
            t024,           " Purchase Groups
            ekko.           " PO Header
                   T Y P E S  D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bukrs TYPE bukrs,           " Company Code
            bsart TYPE bbsrt,           " PO Type
            lifnr TYPE lifnr,           " Vendor No
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
           END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            gjahr TYPE mjahr,           " Fiscal Year
            belnr TYPE mblnr,           " PO Invoice No
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Local Currency
            dmbtr TYPE dmbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
            shkzg TYPE shkzg,           " Dr/Cr Indicator
           END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
           END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
            lifnr TYPE lifnr,           " Vendor No
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bsart TYPE bbsrt,           " PO Type
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
            name1 TYPE name1,           " Plant
            orewr TYPE netpr,           " To be Invoiced Price
            curr  TYPE waers,           " Inv Doc Currency
           END OF s_rep.
               D A T A  D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel,            " Report title
          gv_dial.                           " Color flag
                C O N S T A N T S  D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',   " Flag X
               c_h                VALUE 'H',   " Debit
               c_vgabe TYPE vgabe VALUE '2'.   " Transaction Type
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_po    TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
                                 " Purchase Order
          i_inv   TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
                                         " PO Invoice Values
          i_rep   TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
                                     " PO Invoice Values
          i_ekbe  TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
                               " PO Invoice Values
                     S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
                    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
                    s_bsart FOR t161-bsart,
                    s_ekgrp FOR t024-ekgrp,
                    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      ULINE.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Display the Report Output data
      PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
      PERFORM line_sel.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
      CLEAR lfa1-lifnr.
      IF NOT s_lifnr[] IS INITIAL.
        SELECT lifnr UP TO 1 ROWS
            INTO lfa1-lifnr
            FROM lfa1
            WHERE lifnr IN s_lifnr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Vendor'(002).
        ENDIF.
      ENDIF.
    Validation of PO Number
      CLEAR ekko-ebeln.
      IF NOT s_ebeln[] IS INITIAL.
        SELECT ebeln UP TO 1 ROWS
            INTO ekko-ebeln
            FROM ekko
            WHERE ebeln IN s_ebeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Document Number'(003).
        ENDIF.
      ENDIF.
    Validation of PO Document Type
      CLEAR t161-bsart.
      IF NOT s_bsart[] IS INITIAL.
        SELECT bsart UP TO 1 ROWS
            INTO t161-bsart
            FROM t161
            WHERE bsart IN s_bsart.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
        ENDIF.
      ENDIF.
    Validation of Purchasing Group
      CLEAR t024-ekgrp.
      IF NOT s_ekgrp[] IS INITIAL.
        SELECT ekgrp UP TO 1 ROWS
            INTO t024-ekgrp
            FROM t024
            WHERE ekgrp IN s_ekgrp.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_screen
    *&      Form  fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
      CLEAR i_po.
      REFRESH i_po.
      SELECT a~ebeln            " PO No.
             b~ebelp            " PO Item
             a~bstyp            " PO Category
             a~bukrs            " Company Code
             a~bsart            " PO Type
             a~lifnr            " Vendor No
             a~ekgrp            " Purchase Group
             a~waers            " Currency
             a~bedat            " PO Date
             b~txz01            " Material Text
             b~werks            " Plant
             b~lgort            " Storage Location
             b~matkl            " Material Group
             b~menge            " PR Quantity
             b~meins            " UOM
             b~bprme            " Price Unit
             b~netpr            " Net price
             b~peinh            " Price Unit UOM
             b~pstyp            " Item Category
             b~knttp            " Account Assignment Category
        INTO TABLE i_po
        FROM ekko AS a JOIN ekpo AS b
        ON a~ebeln = b~ebeln
        WHERE a~ebeln IN s_ebeln AND
              a~lifnr IN s_lifnr AND
              a~ekgrp IN s_ekgrp AND
              a~bsart IN s_bsart AND
              a~bedat IN s_bedat.
      SORT i_po BY ebeln ebelp.
      break-point.
      IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
        CLEAR i_ekbe.
        REFRESH i_ekbe.
        SELECT ebeln           " PO No.
               ebelp           " PO Item
               gjahr           " Fiscal Year
               belnr           " PO Invoice No
               menge           " PR Quantity
               wrbtr           " Price in Local Currency
               dmbtr           " Price in Foreign Currency
               waers           " Currency
               shkzg           " Dr/Cr Indicator
         INTO TABLE i_ekbe
         FROM ekbe
         FOR ALL ENTRIES IN i_po
         WHERE ebeln = i_po-ebeln AND
               ebelp = i_po-ebelp AND
               vgabe = c_vgabe.
      break-point.
        IF sy-subrc = 0.
          SORT i_ekbe BY ebeln ebelp.
          LOOP AT i_ekbe.
            IF i_ekbe-shkzg = c_h.
              i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
            ENDIF.
            MODIFY i_ekbe.
          ENDLOOP.
      break-point.
    Sum up the Item wise Invoice totals
          LOOP AT i_ekbe.
            AT END OF ebelp.
              READ TABLE i_ekbe INDEX sy-tabix.
              SUM.
              MOVE-CORRESPONDING i_ekbe TO i_inv.
              APPEND i_inv.
            ENDAT.
            CLEAR i_inv.
          ENDLOOP.
          SORT i_inv BY ebeln ebelp.
            break-point.
        ENDIF.
      ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
      LOOP AT i_po.
        MOVE-CORRESPONDING i_po TO i_rep.
        CLEAR i_inv.
        READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
                                  ebelp = i_po-ebelp.
        IF sy-subrc = 0.
          i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
          i_rep-curr  = i_inv-waers.
        ELSE.
          i_rep-orewr = i_po-menge * i_po-netpr.
          i_rep-curr  = i_po-waers.
        ENDIF.
      break-point.
    Get the Vendor Name
        CLEAR lfa1-name1.
        SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
          WHERE lifnr = i_po-lifnr.
        IF sy-subrc = 0.
          i_rep-name1  = lfa1-name1.
        ENDIF.
        APPEND i_rep.
        CLEAR  i_rep.
          break-point.
      ENDLOOP.
      SORT i_rep BY lifnr ebeln ebelp.
      DELETE i_rep WHERE orewr LE 0.
      break-point.
    ENDFORM.                    " fetch_data
    *&      Form  display_data
    Display the Report Output data
    FORM display_data .
      DATA: lv_flag,               " New Flag
            lv_rec TYPE i.         " No of Records
      CLEAR lv_rec.
      IF i_rep[] IS INITIAL.
        MESSAGE e000 WITH 'No Data found'(022).
      ELSE.
        LOOP AT i_rep.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
    At New Purchase Document
          AT NEW ebeln.
            WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
            lv_flag = c_x.
            lv_rec = lv_rec + 1.
          ENDAT.
          WRITE: 1 sy-vline,
                12 sy-vline,13(4)   i_rep-bsart,
                17 sy-vline,18(10)  i_rep-lifnr,
                28 sy-vline,29(35)  i_rep-name1,
                64 sy-vline,65(4)   i_rep-ekgrp,
                69 sy-vline,70(10)  i_rep-bedat,
                80 sy-vline,81(5)   i_rep-ebelp,
                86 sy-vline,87(40)  i_rep-txz01,
               127 sy-vline,128(9)  i_rep-matkl,
               137 sy-vline,138(1)  i_rep-pstyp,
               139 sy-vline,140(1)  i_rep-knttp,
               141 sy-vline,142(4)  i_rep-werks,
               146 sy-vline,147(4)  i_rep-lgort,
               151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
               165 sy-vline,166(3)  i_rep-meins,
               169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
               185 sy-vline,186(4)  i_rep-waers,
               190 sy-vline,191(5)  i_rep-peinh,
               196 sy-vline,197(4)  i_rep-bprme,
               201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
               217 sy-vline,218(4)  i_rep-curr,
               222 sy-vline,223(7)  i_rep-bstyp centered,
               230 sy-vline.
          NEW-LINE.
          hide: i_rep-ebeln.
        ENDLOOP.
        ULINE.
        FORMAT COLOR OFF.
        WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
                    lv_rec COLOR 3.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  header
    Write the Report Header
    FORM header .
      FORMAT RESET.
    header
      WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
      SKIP.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE:/1 sy-vline,2(10)   'Pur.Doc.No'(006) CENTERED,
            12 sy-vline,13(4)   'Type'(007),
            17 sy-vline,18(10)  'Vendor'(008) CENTERED,
            28 sy-vline,29(35)  'Name'(009) CENTERED,
            64 sy-vline,65(4)   'PGrp'(010) CENTERED,
            69 sy-vline,70(10)  'Doc.Date'(012) CENTERED,
            80 sy-vline,81(5)   'Item'(011),
            86 sy-vline,87(40)  'Material Short Text'(024) CENTERED,
           127 sy-vline,128(9)  'Mat.Group'(013),
           137 sy-vline,138(1)  'I',
           139 sy-vline,140(1)  'A',
           141 sy-vline,142(4)  'Plnt'(014),
           146 sy-vline,147(4)  'SLoc'(015),
           151 sy-vline,152(13) 'Quantity'(016) CENTERED,
           165 sy-vline,166(3)  'UoM'(017),
           169 sy-vline,170(15) 'Net Value'(018) CENTERED,
           185 sy-vline,186(4)  'Curr'(019),
           190 sy-vline,191(5)  'Per'(020),
           196 sy-vline,197(4)  'Unit'(021),
           201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
           217 sy-vline,218(4)  'Curr'(019),
           222 sy-vline,223(7)  'Doc.Cat'(026),
           230 sy-vline.
      ULINE.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
      CASE sy-lsind.
        WHEN '1'.
          DATA: lv_field(20),
                lv_value(10),
                lv_bstyp like i_rep-bstyp.
          clear: lv_bstyp,lv_value, lv_field.
          GET CURSOR FIELD lv_field VALUE lv_value.
          IF lv_field = 'I_REP-EBELN'.
            IF NOT lv_value IS INITIAL.
              READ LINE sy-index FIELD VALUE i_rep-bstyp
                                       INTO  lv_bstyp.
             READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
              if lv_bstyp = 'F'.
                SET PARAMETER ID 'BES' FIELD lv_value.
                CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
              elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
                SET PARAMETER ID 'VRT' FIELD lv_value.
                CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
              elseif lv_bstyp = 'A'.
                SET PARAMETER ID 'ANF' FIELD lv_value.
                CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
              endif.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " line_sel
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Regarding Info Object Activation

    Hi Friends,
    I am activating the info object 0cm_ctar.
    while activating it is giving the below error.
    Characteristic 0CM_CTAR: Unit 0UNIT_DIM no allowed in compounding
    Message no. R7B641
    Diagnosis;
    If the characteristic is used in an InfoProvider with dimensions (for example, an InfoCube or MultiProvider), the compounded unit is not unique if currency key figures are used at the same time.
    System Response
    This type of modeling is not supported.
    Procedure
    Replace the currency with a different characteristic. If you nevertheless want to use a unit in the compounding, you should use the modeling of a characteristic that semantically represents a unit. To do so, copy the technical properties of the unit of measure or the currency.
    could you please guide me wht should i do now?
    Regards,
    ramnaresh.

    Hi,
    Remove the infoobject 0UNIT_DIM from the compounding tab and activate. Or define another infoobject similar to 0UNIT_DIM and replace the 0UNIT_DIM in the compounding tab.
    Regards,
    Dinesh D

  • Regarding Generic Object Services (GOS)

    Hi
    Is there any Tcode/Std. Report where I can see the document attached through Generic Object Services (GOS).And which tables are involved in Generic Object Services (GOS).Whenever I attach document entry goes in SOOD table.What are other tables for this.
    Thanks in advance.

    Hi ajit,
    Welcome to SDN.
    Below is the link for complete documentation on GOS,
    http://help.sap.com/saphelp_erp2005/helpdata/en/be/3fe63659241157e10000009b38f889/frameset.htm
    Regards,
    Azaz Ali.

  • Regarding Archiving Object

    Hello Experts,
    I have few questions about Archiving object:
    1. How to create an archiving object for set of Z tables? shall i create a new archiving object by clicking on new entry or shall i copy an existing archiving object.
    2.is there any restrictions on number of tables being used in an archiving object? in our scenario there are around 15 Z tables...
    3. in T code AOBJ, i want to maintain customizing settings, but the screen is greyed out,which authorzation role will give me the access to this screen.
    4.what are the retrieval methods avaialable in system???
    5.in our scenario we have created a new archivie info structure,shall we use standard field catalog or need to create a new one???
    awaiting your reply
    Regards
    Ramana Reddy

    hi
    ans 4 :
    you should call 4 function modules in sequence to retrive the archived data from archiving files to your report program.
    see the below sample code:
    data declaration
    data: handle                 like sy-tabix,
          buffer                 type arc_buffer,
          sbook_wa               like sbook,
          number_of_records_read type i.
    open existing archive files
    call function 'ARCHIVE_OPEN_FOR_READ'
         exporting
              object         = 'BC_SBOOK01'
         importing
              archive_handle = handle
         exceptions
              others         = 1.
    if sy-subrc <> 0.
      write: / 'No file can be accessed'(001).
      stop.
    endif.
    clear number_of_records_read.
    loop to get the next data object from the archive file(s)
    do.
      call function 'ARCHIVE_GET_NEXT_OBJECT'
           exporting
                archive_handle = handle
           exceptions
                end_of_file    = 1
                others         = 2.
      if sy-subrc <> 0.
        exit.
      endif.
    get data records from the data container
      do.
        call function 'ARCHIVE_GET_NEXT_RECORD'
             exporting
                  archive_handle   = handle
             importing
                  record           = buffer-segment
                  record_structure = buffer-rname
             exceptions
                  end_of_object    = 1
                  others           = 2.
        if sy-subrc <> 0.
          exit.
        endif.
        add 1 to number_of_records_read.
      enddo.
    enddo.
    write: / 'Total number of records read: '(002), number_of_records_read.
    skip.
    write / 'Last record read: '(003).
    skip.
    case buffer-rname.
      when 'SBOOK'.
        sbook_wa = buffer-segment.
        write: / 'CARRID    :', sbook_wa-carrid,
               / 'BOOKID    :', sbook_wa-bookid,
               / 'CONNID    :', sbook_wa-connid,
               / 'FLDATE    :', sbook_wa-fldate,
               / 'CUSTOMID  :', sbook_wa-customid,
               / 'ORDER_DATE:', sbook_wa-order_date,
    when ...
    If the archive object contained more than one table
    (different buffer-rname), more cases would be needed.
    endcase.
    close the archive session
    call function 'ARCHIVE_CLOSE_FILE'
         exporting
              archive_handle = handle.
    ans 5:
    you can either use standard field catalog, from the available field in field catalog you can select the required fields alone to your info structure.
    regards
    mano

  • Regarding Business object roles in CRM

    Hello friends,
    What are the business object roles in CRM ?can any one can explain about this.
    Regards,
    Rajasekhar.

    Hi Rajasekhar,
    Did you mean "business roles" ?
    The concept of business roles is more used and important in WebUI. SAP CRM business roles are used to package the main business content needed to perform a specific job function. Defining a role influences the complete content visible to a user assigned to this role.
    Some examples of standard roles are:
    SALESPRO (Sales Professional)
    SERVICEPRO (Service Professional)
    IC_AGENT & IC_MANAGER (Standard Interaction Center Agent & Manager)
    Hope this is what you are looking for.
    Regards,
    L

  • Help regarding Domain Object.

    Hi,
    I have a question regarding the domain object. I have a form where there some multiple entries for some fields . The domain object is return mapping to the database fields. How should the domain object be changed to handle multiple fields so that multiple inserts can be done.. Can the domain object be coded as an array type. or how the coding needs to be done..I am using JPA
    If some one knows please post it..
    Thanks,

    sahir,
    check the triggering point of your user exit.
    make sure to use a exit/BADI which triggers right after you press 'SAVE'
    thank you.

  • Help : Regarding text object

    Hi All,
    Scenario :
    We have text object in XK02 transaction. at the time of save in user exit i want to check the changes occured in the text of that text object. can you please suggest how to get value of text object before saving. bcoz using FM READ_TEXT i am getting the newer value of text object, but i want to get old value (before change).
    Please suggest your thought.
    Thanks and Regards,
    Sahir Vhora

    sahir,
    check the triggering point of your user exit.
    make sure to use a exit/BADI which triggers right after you press 'SAVE'
    thank you.

  • Query regarding Authority object

    Hello Friends;
    I just wanna know why we check authorization on selection screen and What do u mean by authority objects?, Who creates It? What is the purpose behind creating it?? What transactions are there relating authority objects in SAP??
    And one more query is there
    See when we call any function module there are several parameters that it contains such as importing ,exporting, tables and exceptions ?? What is the exact use of exception parameters in that? How to handle those exception ...Is it before calling that function module or after ?? What is the syntax for it??
    Regards;
    Parag

    Exception are like errors so to use that in the FM we use raise command .
    Authorization is required ,assume u in Quality department and you are trying to execute a SD dept report which is as per rules not allowed so for that in abap we use Authorization object .
    Use this program for understanding DEMO_AUTHORITY_CHECK
    Transaction SU21 .
    PLease reward if useful.

  • Query regarding Form Object

    Dear All,
    In my Add On, I have many forms and I am using only one form object for all the forms. Is it permissible or I have to use different form objects for each form. When I am navigating from One form to other I am getting error as Invalid Form. In one case I am opening another(child) form from the parent form, but when I close the child form and click anything on the parent form I am getting error as Invalid Form. Please help me.
    Regards,
    Noor hussain
    Edited by: noor_023 on Feb 25, 2010 10:41 AM

    Hi,
    the error "Invalid Form" refers to the attempt to take a reference to a not existing form, like this:
    oForm = oSboApplication.Forms.Item("ThisFormUIDNotExists")
    Or probably you use e not correct reference to a form in order to reach an item, like this:
    ' oForm is not set properly
    oItem = oForm.Items.Item("TheItemUID")
    Please, post relevant code if this not help you.
    Regards.
    Carmine

  • Regarding interface objects

    Hi Experts,
              can anybody give me regarding:
    1. External Definitions, Context objects,Data Type Enhancement
    2. what is product, application,Technical System,Business System
    3. what is the deffirence between Business system and Business Service in ID.
    4. complex UDFs
    5. Dynamic Alerts
    6. how to do Monitoring
    7. what is correlation
    Thanks in advances,
    Kalyani

    HI Kalyani,
    1. External Definitions, Context objects,Data Type Enhancement
    Search on SDN
    2. what is product, application,Technical System,Business System
    Refer the below help for the same:
    Refer How to handle SLD guide for help:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9e76e511-0d01-0010-5c9d-9f768d644808
    SLD preparation very good:
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/flatFILETOFLATFILE&
    Working with System Landscape Directory (SLD) :
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/workingwithSystemLandscapeDirectory+%28SLD%29&
    Configuring SLD in Sneak Preview SAP NetWeaver '04 Sneak:
    /people/sugree.phatanapherom/blog/2005/08/14/configuring-sld-in-sneak-preview-sap-netweaver-04-sneak
    XI Software Logistics 1: SLD Preparation:
    /people/sap.india5/blog/2005/11/03/xi-software-logistics-1-sld-preparation
    3. what is the deffirence between Business system and Business Service in ID.
    Search on SDN
    4. complex UDFs
    it depends upon the requirement.
    5. Dynamic Alerts
    For raising an alert you need to first configure the alert please follow the below weblog written by Michal Krawczyk
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    Configuration steps are: go to transaction ALRTCATDEF
    1) Define Alert Category
    2) Create container elements which are used for holding an error messages.
    3) Recipient Determination.
    Alert can be triggered in different ways.
    1) Triggering by Calling a Function Module Directly.
    /people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
    2) Triggering by Calling a Function Module in the Workplace Plug-In.
    3) Triggering with an Event Linkage.
    4) Triggering with the Post Processing Framework (PPF) or Message Control (MC)
    5) Triggering from a Workflow.
    6) Triggering from CCMS with autoreaction.
    7) Triggering from BPM.
    /people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
    /people/community.user/blog/2006/10/16/simple-steps-to-get-descriptive-alerts-from-bpm-in-xi
    8) Triggering alert by configuring a rule from RWB.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/56/d5b54020c6792ae10000000a155106/content.htm
    6. how to do Monitoring
    Search on SDN
    7. what is correlation
    Do you like to understand “correlation” in XI?
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    thnx
    Chirag

  • Regarding custom objects in SPDD

    Hi Experts,
    I am working for an upgrade project from 4.6C to ECC 6.0. I need some clarifications regarding use of SPDD.
    1. Will the SPDD list only the standard objects or will it display the custom objects also?
    2. If SPDD is not going to display the custom objects, Can you throw light on how to work with custom  objects like custom tables.
    For Example, If there is a change in the length of domain or data element used in a custom table during the upgrade, Is there any standard program or transaction to list or handle all such cases instead of doing it manually.

    HI,
    refer this link,
    [http://help.sap.com/saphelp_nw04/helpdata/EN/2e/6d66617d9011d396b60000e82de14a/content.htm]
    [Re: issue on upgrad spdd]
    [http://help.sap.com/erp2005_ehp_04/helpdata/EN/2e/6d66587d9011d396b60000e82de14a/frameset.htm]
    Thanks
    sarves

  • Regarding Business Objects and Methods

    Hi ,
    I need to create LSMW with BAPO for to create PO.
       Where shoud I found Business Objects and their method.
        Could you please suggest abt this.
    Regards,
    Sai.

    sai,
      "BAPI_PO_CREATE "  ( OR )  "BAPI_PO_CREATE1 "
    Goto SE37>Enter above bapi name>select where used list>it will show list>
    select prog RBUS2012
      or directly se38>RBUS2012>Press F7  or Display.
    Pls. reward if useful

  • Doubt regarding Authorization Object

    Hi All,
    I am not able to creat a Buiseness Agreement in CRM. Following is the error message which is getting displayed:
    The auothirzation check for object CRM_ORD_PR has sent back the return code 12. The activity carried out was to create.
    I checked my role and this authorization object is present with * (All) access.
    Please le me know how to correct this error.
    Thanks,
    Ritesh

    Hi,
    See the output in Su53 transacton once you get this error.
    Regards,
    Nirmal.K

  • Regarding Lock objects concept

    Hi,
       I am interested in knowing what is the significance of Lock objects in SAP.
       Can we co-relate SAP lock objects with Oracle.
        Frnds, I dont need any material i hav enough but i want to know the cocept behind this.
    Thanking u all.
    regards,
    suraj

    Hi,
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    GO TO SE11
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Lock objects:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    Match Code Objects:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
    See this link:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Check these links -
    lock objects
    Lock Objects
    Lock Objects
    Regards,
    Priyanka.

Maybe you are looking for