ABAP OO & Overloading

Hi,
I am trying to write a class in ABAP. And I need to overload my constructor. I have tried this overloading operation by SE80 transaction. But ABAP says "There is already a constructor". Is it not possible to overload a method/constructor in ABAP?
Thanks.

Hi,
ABAP does not provide overloading of methods/constructors in a way we know from other OO languages (eg. Java). You cannot write a method with the same name but different signature. You can only override methods  in subclass using REDEFIITION key word but signature must stay the same.
You can also provide a different constructor in sub class but the first statement in this constructor must be a call to constructor of super-class. But only one constructor can exist.
Here is an example:
*& Report  ZCL_OVR                                                     *
REPORT  zcl_ovr                                                     .
*       CLASS lcl_a DEFINITION
CLASS lcl_a DEFINITION.
  PUBLIC SECTION.
    METHODS:
      constructor,
      do_sth IMPORTING iv_a TYPE i
             RETURNING value(ov_b) TYPE i.
ENDCLASS.                    "lcl_a DEFINITION
*       CLASS lcl_a IMPLEMENTATION
CLASS lcl_a IMPLEMENTATION.
  METHOD constructor.
  ENDMETHOD.                    "constructor
  METHOD do_sth.
    ov_b = 2 * iv_a.
  ENDMETHOD.                    "do_sth
ENDCLASS.                    "lcl_a IMPLEMENTATION
*       CLASS lcl_b DEFINITION
CLASS lcl_b  DEFINITION INHERITING FROM lcl_a.
  PUBLIC SECTION.
    METHODS:
      constructor IMPORTING iv_a TYPE i,
      do_sth REDEFINITION.
  PRIVATE SECTION.
    DATA lv_c TYPE i.
ENDCLASS.                    "lcl_b DEFINITION
*       CLASS lcl_b IMPLEMENTATION
CLASS lcl_b IMPLEMENTATION.
  METHOD constructor.
    CALL METHOD super->constructor.
    me->lv_c = iv_a.
  ENDMETHOD.                    "constructor
  METHOD do_sth.
    ov_b = 2 * iv_a + lv_c.
  ENDMETHOD.                    "do_sth
ENDCLASS.                    "lcl_b IMPLEMENTATION

Similar Messages

  • ABAP methods overloading

    Hi All,
    In ABAP objects, is it possible to use same method name with different signature
    in the same class. In Se24, i have build a class xyz and a method A. The method A has a string as importing parameter. I have to use the same method A with an internal table as importing parameter. Any code samples and replies would be really appreciated.
    Thanks,
    Ricky

    In abap objects overloding(we can change the signature ) is possible only with construcor.
    It is not possible with methods and the signatures can not be changed.
    *& Report  ZTEST_TWO                                                   *
    REPORT  ZTEST_TWO   .
    class c_base definition.
      public section.
        methods: constructor importing value(p_name) type string,
                 m_show1,
                 m_show2.
      private section.
        data     a_name type string.
    endclass.
    class c_derived definition inheriting from c_base.
      public section.
        methods: constructor importing value(p_name1) type string
                                       value(p_name2) type string,
                 m_show1 redefinition.
      private section.
        data     a_name type string.
    endclass.
    class c_base implementation.
      method constructor.
        a_name = p_name.
      endmethod.
      method m_show1.
        write: / 'Show1  :', a_name.
      endmethod.
      method m_show2.
        write: / 'Show2  :', a_name.
      endmethod.
    endclass.
    class c_derived implementation.
      method constructor.
        call method: super->constructor exporting p_name = p_name1.
        a_name = p_name2.
      endmethod.
      method m_show1.
        write: / 'Show1_r:', a_name.
      endmethod.
    endclass.
    data o type ref to c_derived.
    start-of-selection.
    create object o exporting p_name1 = 'Base...' p_name2 = 'Derived...'.
    call method: o->m_show1,
                 o->m_show2.

  • Overloading+ Abap objects

    Hello
    Is overloading possible in abap objects. if so can u pls help me with the sample code.
    regards!
    arun

    hi arun ,
    overloading is not possible in abap objects . Some other object-oriented programming languages permit the overloading offunctions or methods. This means that a separate, changed parameter interface
    can be defined for an overwritten or redefined method. ABAP Objects does not currently support this mechanism.
    Thanks
    chinnaiya

  • Can we use overload and overwrite concept in OO-abap

    hi
    can we use overload and overwrite concept in OO-abap

    Hi
    CLASS zl_lcl_vehicle DEFINITION.
    PUBLIC SECTION.
    Signature of method
    METHODS: set_make
    IMPORTING value(im_make) TYPE string " Pass by value
    im_model TYPE string," Pass by reference
    ENDCLASS. "zl_lcl_vehicle DEFINITION
    CLASS zl_lcl_vehicle IMPLEMENTATION.
    Implementation of method.
    METHOD set_make.
    IF im_make IS NOT INITIAL
    AND im_model IS NOT INITIAL.
    gv_make = im_make.
    gv_model = im_model.
    ENDIF.
    ENDMETHOD. "set_make
    ENDCLASS. "zl_lcl_vehicle
    Overloading means changing signature as well as implementation of a method.
    Overriding is changing only implementation of method with signature unchanged.
    From ABAP perspective, only the CONSTRUCTOR method can be overloaded in a subclass i.e both the signature and implementation can be adapted in subclass.
    Any other method can't be overloaded. It can only be redefined/overridden i.e implementation changed with signature unchanged.
    In ABAP  there is something called a redefinition.
    When you inherit a class from a super class, you can redifne a method. You cannot chnage the signature( Interface) of the method. It will remain the same as that of the super class.You must redefine a method in the same visibility section in which it appears in the superclass.
    Eg.
    CLASS C_SUPER_CLASS DEFINITION .
    PUBLIC SECTION.
    METHODS: DRIVE ,
    STOP.
    PROTECTED SECTION.
    DATA SPEED TYPE I.
    ENDCLASS.
    CLASS C_SUPER_CLASS IMPLEMENTATION.
    METHOD DRIVE.
    SPEED = 0.
    WRITE: / 'Bike speed =', SPEED.
    ENDMETHOD.
    ENDCLASS.
    CLASS C_SUB_CLASS DEFINITION INHERITING FROM C_SUPER_CLASS.
    PUBLIC SECTION.
    METHODS DRIVE REDEFINITION.
    ENDCLASS
    CLASS C_SUB_CLASS IMPLEMENTATION.
    METHOD DRIVE.
    SPEED = SPEED + 10.
    WRITE: / 'Bicycle speed =', SPEED.
    ENDMETHOD.
    ENDCLASS.
    Regards
    Vasu

  • Abap-hr real time questions

    hi friends
    kindly send me ABAP-HR REAL TIME QUESTION to my mail [email protected]
    Thanks&Regards
    babasish

    Hi
    Logical database
    A logical database is a special ABAP/4 program which combines the contents of certain database tables. Using logical databases facilitates the process of reading database tables.
    HR Logical Database is PNP
    Main Functions of the logical database PNP:
    Standard Selection screen
    Data Retrieval
    Authorization check 
    To use logical database PNP in your program, specify in your program attributes.
    Standard Selection Screen
    Date selection
    Date selection delimits the time period for which data is evaluated. GET PERNR retrieves all records of the relevant infotypes from the database.  When you enter a date selection period, the PROVIDE loop retrieves the infotype records whose validity period overlaps with at least one day of this period.
    Person selection
    Person selection is the 'true' selection of choosing a group of employees for whom the report is to run.
    Sorting Data
    · The standard sort sequence lists personnel numbers in ascending order.
    · SORT function allows you to sort the report data otherwise. All the sorting fields are from infotype 0001.
    Report Class
    · You can suppress input fields which are not used on the selection screen by assigning a report class to your program.
    · If SAP standard delivered report classes do not satisfy your requirements, you can create your own report class through the IMG.
    Data Retrieval from LDB
    1. Create data structures for infotypes.
        INFOTYPES: 0001, "ORG ASSIGNMENT
                            0002, "PERSONAL DATA
                            0008. "BASIC PAY
    2. Fill data structures with the infotype records.
        Start-of-selection.
             GET PERNR.
        End-0f-selection. 
        Read Master Data
    Infotype structures (after GET PERNR) are internal tables loaded with data.
    The infotype records (selected within the period) are processed sequentially by the PROVIDE - ENDPROVIDE loop.
              GET PERNR.
                 PROVIDE * FROM Pnnnn BETWEEN PN/BEGDA AND PN/ENDDA
                        If Pnnnn-XXXX = ' '. write:/ Pnnnn-XXXX. endif.
                 ENDPROVIDE.
    Period-Related Data
    All infotype records are time stamped.
    IT0006 (Address infotype)
    01/01/1990   12/31/9999  present
              Which record to be read depends on the date selection period specified on the
              selection screen. PN/BEGDA PN/ENDDA.
    Current Data
    IT0006 Address  -  01/01/1990 12/31/9999   present
    RP-PROVIDE-FROM-LAST retrieves the record which is valid in the data selection period.
    For example, pn/begda = '19990931'    pn/endda = '99991231'
    IT0006 subtype 1 is resident address
    RP-PROVIDE-FROM-LAST P0006 1 PN/BEGDA PN/ENDDA.
    Process Infotypes
    RMAC Modules - RMAC module as referred to Macro, is a special construct of ABAP/4 codes. Normally, the program code of these modules is stored in table 'TRMAC'. The table key combines the program code under a given name. It can also be defined in programs.The RMAC defined in the TRMAC can be used in all Reports. When an RMAC is changed, the report has to be regenerated manually to reflect the change.
    Reading Infotypes - by using RMAC (macro) RP-READ-INFOTYPE
              REPORT ZHR00001.
              INFOTYPE: 0002.
              PARAMETERS: PERNR LIKE P0002-PERNR.
              RP-READ-INFOTYPE PERNR 0002 P0002 .
              PROVIDE * FROM P0002
                  if ... then ...endif.
              ENDPROVIDE.
    Changing Infotypes - by using RMAC (macro) RP-READ-INFOTYPE. 
    · Three steps are involved in changing infotypes:
    1. Select the infotype records to be changed;
    2. Make the required changes and store the records in an alternative table;
    3. Save this table to the database;
    The RP-UPDATE macro updates the database. The parameters of this macro are the OLD internal table containing the unchanged records and the NEW internal table containing the changed records. You cannot create or delete data. Only modification is possible.
    INFOTYPES: Pnnnn NAME OLD,
    Pnnnn NAME NEW.
    GET PERNR.
        PROVIDE * FROM OLD
               WHERE .... = ... "Change old record
               *Save old record in alternate table
               NEW = OLD.
        ENDPROVIDE.
        RP-UPDATE OLD NEW. "Update changed record
    Infotype with repeat structures
    · How to identify repeat structures.
    a. On infotype entry screen, data is entered in table form.
        IT0005, IT0008, IT0041, etc.
    b. In the infotype structure, fields are grouped by the same name followed by sequence number.
        P0005-UARnn P0005-UANnn P0005-UBEnn
        P0005-UENnn P0005-UABnn
    Repeat Structures
    · Data is entered on the infotype screen in table format but stored on the database in a linear  
      structure.
    · Each row of the table is stored in the same record on the database.
    · When evaluating a repeat structure, you must define the starting point, the increment and the
      work area which contains the complete field group definition.
    Repeat Structures Evaluation (I)
    · To evaluate the repeat structures
       a. Define work area.
           The work area is a field string. Its structure is identical to that of the field group.
       b. Use a DO LOOP to divide the repeat structure into segments and make it available for  
           processing in the work area, one field group (block) at a time.
    Repeat Structures Evaluation(II)
    Define work area
    DATA: BEGIN OF VACATION,
                  UAR LIKE P0005-UAR01, "Leave type
                  UAN LIKE P0005-UAN01, "Leave entitlement
                  UBE LIKE P0005-UBE01, "Start date
                  UEN LIKE P0005-UEN01, "End date
                  UAB LIKE P0005-UAB01, "Leave accounted
               END OF VACATION.
    GET PERNR.
         RP-PROVIDE-FROM-LAST P0005 SPACE PN/BEGDA PN/ENDDA.
         DO 6 TIMES VARYING VACATION
                 FROM P0005-UAR01 "Starting point
                     NEXT P0005-UAR02. "Increment
                 If p0005-xyz then ... endif.
          ENDDO.
    Processing 'Time Data'.
    · Dependence of time data on validity period
    · Importing time data
    · Processing time data using internal tables
    Time Data and Validity Period
    · Time data always applies to a specific validity period.
    · The validity periods of different types of time data are not always the same as the date selection period specified in the selection screen.
    Date selection period |----
    |
    Leave |----
    |
    · PROVIDE in this case is therefore not used for time infotypes.
    Importing Time Data
    · GET PERNR reads all time infotypes from the lowest to highest system data, not only those within the date selection period.
    · To prevent memory overload, add MODE N to the infotype declaration. This prevents the logical database from importing all data into infotype tables at GET PERNR.
    · Use macro RP-READ-ALL-TIME-ITY to fill infotype table.
    INFOTYPES: 2001 MODE N.
    GET PERNR.
        RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA.
        LOOP AT P0021.
             If P0021-XYZ = ' '. A=B. Endif.
        ENDLOOP.
    Processing Time Data
    · Once data is imported into infotype tables, you can use an internal table to process the interested data.
    DATA: BEGIN OF ITAB OCCURS 0,
                  BUKRS LIKE P0001-BUKRS, "COMPANY
                  WERKS LIKE P0001-WERKS, "PERSONNEL AREA
                  AWART LIKE P2001-AWART, "ABS./ATTEND. TYPE
                  ASWTG LIKE P2001-ASWTG, "ABS./ATTEND. DAYS
               END OF ITAB.
    GET PERNR.
    RP-PROVIDE-FROM-LAST P0001 SAPCE PN/BEGDA PN/ENDDA.
    CLEAR ITAB.
    ITAB-BUKRS = P0001-BURKS. ITAB-WERKS = P0001-WERKS.
    RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA.
    LOOP AT P2001.
          ITAB-AWART = P2001-AWART. ITAB-ASWTG = P2001-ASWTG.
          COLLECT ITAB. (OR: APPEND ITAB.)
    ENDLOOP.
    Database Tables in HR
    ·  Personnel Administration (PA) - master and time data infotype tables (transparent tables).
       PAnnnn: e.g. PA0001 for infotype 0001
    ·  Personnel Development (PD) - Org Unit, Job, Position, etc. (transparent tables).
       HRPnnnn: e.g. HRP1000 for infotype 1000
    ·  Time/Travel expense/Payroll/Applicant Tracking data/HR work areas/Documents (cluster  
       PCLn: e.g. PCL2 for time/payroll results.
    Cluster Table
    · Cluster tables combine the data from several tables with identical (or almost identical) keys
      into one physical record on the database.
    . Data is written to a database in compressed form.
    · Retrieval of data is very fast if the primary key is known.
    · Cluster tables are defined in the data dictionary as transparent tables.
    · External programs can NOT interpret the data in a cluster table.
    · Special language elements EXPORT TO DATABASE, IMPORT TO DATABASE and DELETE
      FROM DATABASE are used to process data in the cluster tables.
    PCL1 - Database for HR work area;
    PCL2 - Accounting Results (time, travel expense and payroll);
    PCL3 - Applicant tracking data;
    PCL4 - Documents, Payroll year-end Tax data
    Database Tables PCLn
    · PCLn database tables are divided into subareas known as data clusters.
    · Data Clusters are identified by a two-character code. e.g RU for US payroll result, B2 for
      time evaluation result...
    · Each HR subarea has its own cluster.
    · Each subarea has its own key.
    Database Table PCL1
    · The database table PCL1 contains the following data areas:
      B1 time events/PDC
      G1 group incentive wages
      L1 individual incentive wages
      PC personal calendar
      TE travel expenses/payroll results
      TS travel expenses/master data
      TX infotype texts
      ZI PDC interface -> cost account
    Database Table PCL2
    · The database table PCL2 contains the following data areas:
      B2 time accounting results
      CD cluster directory of the CD manager
      PS generated schemas
      PT texts for generated schemas
      RX payroll accounting results/international
      Rn payroll accounting results/country-specific ( n = HR country indicator )
      ZL personal work schedule
    Database Table PCL3
    · The database table PCL3 contains the following data areas:
      AP action log / time schedule
      TY texts for applicant data infotypes
    Data Management of PCLn
    · The ABAP commands IMPORT and EXPORT are used for management of read/write to
      database tables PCLn.
    · A unique key has to be used when reading data from or writing data to the PCLn.
      Field Name KEY Length Text
      MANDT X 3 Client
      RELID X 2 Relation ID (RU,B2..)
      SRTFD X 40 Work Area Key
      SRTF2 X 4 Sort key for dup. key
    Cluster Definition
    · The data definition of a work area for PCLn is specified in separate programs which comply  
       with fixed naming conventions.
    · They are defined as INCLUDE programs (RPCnxxy0). The following naming convention applies:
       n = 1 or 2 (PCL1 or PCL2)
       xx = Relation ID (e.g. RX)
       y = 0 for international clusters or country indicator (T500L) for different country cluster
    Exporting Data (I)
    · The EXPORT command causes one or more 'xy' KEY data objects to be written to cluster xy.
    · The cluster definition is integrated with the INCLUDE statement.
    REPORT ZHREXPRT.
    TABLES: PCLn.
    INCLUDE: RPCnxxy0. "Cluster definition
    Fill cluster KEY
    xy-key-field = .
    Fill data object
    Export record
    EXPORT TABLE1 TO DATABASE PCLn(xy) ID xy-KEY.
       IF SY-SUBRC EQ 0.
           WRITE: / 'Update successful'.
       ENDIF.
    Exporting Data (II)
    . Export data using macro RP-EXP-Cn-xy.
    · When data records are exported using macro, they are not written to the database but to a  
      main memory buffer.
    · To save data, use the PREPARE_UPDATE routine with the USING parameter 'V'.
    REPORT ZHREXPRT.
    *Buffer definition
    INCLUDE RPPPXD00. INCLUDE RPPPXM00. "Buffer management
    DATA: BEGIN OF COMMON PART 'BUFFER'.
    INCLUDE RPPPXD10.
    DATA: END OF COMMON PART 'BUFFER'.
    RP-EXP-Cn-xy.
    IF SY-SUBRC EQ 0.
        PERFORM PREPARE_UPDATE USING 'V'..
    ENDIF.
    Importing Data (I)
    · The IMPORT command causes data objects with the specified key values to be read from
       PCLn.
    · If the import is successful, SY-SUBRC is 0; if not, it is 4.
    REPORT RPIMPORT.
    TABLES: PCLn.
    INCLUDE RPCnxxy0. "Cluster definition
    Fill cluster Key
    Import record
    IMPORT TABLE1 FROM DATABASE PCLn(xy) ID xy-KEY.
       IF SY-SUBRC EQ 0.
    Display data object
       ENDIF.
    Importing data (II)
    · Import data using macro RP-IMP-Cn-xy.
    · Check return code SY-SUBRC. If 0, it is successful. If 4, error.
    · Need include buffer management routines RPPPXM00
    REPORT RPIMPORT.
    *Buffer definition
    INCLUDE RPPPXD00.
    DATA: BEGIN OF COMMON PART 'BUFFER'.
    INCLUDE RPPPXD10.
    DATA: END OF COMMON PART 'BUFFER'.
    *import data to buffer
    RP-IMP-Cn-xy.
    *Buffer management routines
    INCLUDE RPPPXM00.
    Cluster Authorization
    · Simple EXPORT/IMPORT statement does not check for cluster authorization.
    · Use EXPORT/IMPORT via buffer, the buffer management routines check for cluster
      authorization.
    Payroll Results (I)
    · Payroll results are stored in cluster Rn of PCL2 as field string and internal tables.
      n - country identifier.
    · Standard reports read the results from cluster Rn. Report RPCLSTRn lists all payroll results;
      report RPCEDTn0 lists the results on a payroll form.
    Payroll Results (II)
    · The cluster definition of payroll results is stored in two INLCUDE reports:
      include: rpc2rx09. "Definition Cluster Ru (I)
      include: rpc2ruu0. "Definition Cluster Ru (II)
    The first INCLUDE defines the country-independent part; The second INCLUDE defines the country-specific part (US).
    · The cluster key is stored in the field string RX-KEY.
    Payroll Results (III)
    · All the field string and internal tables stored in PCL2 are defined in the ABAP/4 dictionary. This
      allows you to use the same structures in different definitions and nonetheless maintain data
      consistency.
    · The structures for cluster definition comply with the name convention PCnnn. Unfortunately, 
       'nnn' can be any set of alphanumeric characters.
    *Key definition
    DATA: BEGIN OF RX-KEY.
         INCLUDE STRUCTURE PC200.
    DATA: END OF RX-KEY.
    *Payroll directory
    DATA: BEGIN OF RGDIR OCCURS 100.
         INCLUDE STRUCTURE PC261.
    DATA: END OF RGDIR.
    Payroll Cluster Directory
    · To read payroll results, you need two keys: pernr and seqno
    . You can get SEQNO by importing the cluster directory (CD) first.
    REPORT ZHRIMPRT.
    TABLES: PERNR, PCL1, PCL2.
    INLCUDE: rpc2cd09. "definition cluster CD
    PARAMETERS: PERSON LIKE PERNR-PERNR.
    RP-INIT-BUFFER.
    *Import cluster Directory
       CD-KEY-PERNR = PERNR-PERNR.
    RP-IMP-C2-CU.
       CHECK SY-SUBRC = 0.
    LOOP AT RGDIR.
       RX-KEY-PERNR = PERSON.
       UNPACK RGDIR-SEQNR TO RX-KEY-SEQNO.
       *Import data from PCL2
       RP-IMP-C2-RU.
       INLCUDE: RPPPXM00. "PCL1/PCL2 BUFFER HANDLING
    Function Module (I)
      CD_EVALUATION_PERIODS
    · After importing the payroll directory, which record to read is up to the programmer.
    · Each payroll result has a status.
      'P' - previous result
      'A' - current (actual) result
      'O' - old result
    · Function module CD_EVALUATION_PERIODS will restore the payroll result status for a period
       when that payroll is initially run. It also will select all the relevant periods to be evaluated.
    Function Module (II)
    CD_EVALUATION_PERIODS
    call function 'CD_EVALUATION_PERIODS'
         exporting
              bonus_date = ref_periods-bondt
              inper_modif = pn-permo
              inper = ref_periods-inper
              pay_type = ref_periods-payty
              pay_ident = ref_periods-payid
         tables
              rgdir = rgdir
              evpdir = evp
              iabkrs = pnpabkrs
         exceptions
              no_record_found = 1.
    Authorization Check
       Authorization for Persons
    ·  In the authorization check for persons, the system determines whether the user has the 
       authorizations required for the organizational features of the employees selected with
       GET PERNR.
    ·  Employees for which the user has no authorization are skipped and appear in a list at the end
       of the report.
    ·  Authorization object: 'HR: Master data'
    Authorization for Data
    · In the authorization check for data, the system determines whether the user is authorized to
      read the infotypes specified in the report.
    · If the authorization for a particular infotype is missing, the evaluation is terminated and an error
      message is displayed.
    Deactivating the Authorization Check
    · In certain reports, it may be useful to deactivate the authorization check in order to improve
      performance. (e.g. when running payroll)
    · You can store this information in the object 'HR: Reporting'.
    these are the main areas they ask q?

  • ABAP Client Proxy to SOAP

    Hi all,
    I am working on ABAP client proxy to SOAP Asynchronous scenario.  when iam sending the data from r/3 system data sent to webservice.
    but PI sending this same data  3 more to the third parth system.  when i checked in runtime workbench it is showing number of retrys 3
    how to resolve this issue.  please explain in detail
    Thanks
    Anil

    Anil,
    That's the default setting for Async SOAP communication...this can occur if the receiver is overloaded and cannot take any more feed and sometimes time out in the middle of the hand off...this would lead to re-try in PI...so you would see 3 entries of same data...refresh or clear the data from the receiver could solve the issue...
    Thanks,
    Srini
    Edited by: Srinivas Davuluri on Sep 9, 2010 1:51 PM

  • Overriding a method in abap

    In Java it is simple to extend a class and override a method - the whole idea of polymorphism. In abap, I'm attempting to do the same, but don't know quite how. I've created as a demo a zclass and made a sap standard class its superclass in properties. How do I override a protected method from here?

    Marcin says:
    Unfortunatelly overriding is not possible in ABAP, only redefinition is allowed. The method singature must stay the same in all subsequent classes.
    I guess,
    Overriding - Redefinition of the implementation of inherited method. This is possible by addition REDEFINITION to the method.
    Overloading - Changing the method parameters of inherited method
    Regards,
    Naimesh Patel

  • Server Proxy in back ground mode in ABAP?

    Hi,
    I would like to schedule server proxy in back ground mode using ABAP report. I already have the payload available in XSTRING(binary) saved in Z table. I know how to convert binary string to XML (using FMs -  SCMS_BINARY_TO_STRING).
    However, is there any way to pass binaryXML(XSTRING) to server proxy (without converting the paylolad to XML and use SAX/DOM parser to populate proxy input structure ) ?
    Not sure, if SET_XML(IF_WS_PAYLOAD) method can be used.
    Thank you,
    Mallik

    Hi Malik,
    I would like to schedule server proxy in back ground mode using ABAP report. I already have the payload available in XSTRING(binary) saved in Z table. I know how to convert binary string to XML (using FMs -  SCMS_BINARY_TO_STRING).
    If you think about this, it hasnt sense, a server always need to be alive wainting a communication. If you want to stop the server reception, the middleware system (in this case PI) would need to store the messages for a future server availability, then this would work only with async messages. I dont see right now the utility of this, may be don't overload the ECC system in a work hours, is this the problem?
    However, is there any way to pass binaryXML(XSTRING) to server proxy (without converting the paylolad to XML and use SAX/DOM parser to populate proxy input structure ) ?
    Are you talking about to do this conversion in a java mapping inside the PI? aren't you?
    Regards.

  • Java from ABAP?

    Hello!
    How can I start (=call) a java program from ABAP? I have only .class and .java files.
    Thanks!

    Hi,
    Using the SAP Java Connector
    SAPu2019s new Java middleware, the SAP Java Connector (JCO) allows customers and partners to easily build SAP-enabled components in Java. JCO supports both inbound (Java calls ABAP) and outbound (ABAP calls Java) calls in desktop and server applications.
    Sample program
    Import statements: Any program using JCO should contain the following import statement:
    import com.sap.mw.jco.*;
    Otherwise, you have to fully qualify each class and interface which is very inconvenient.
    Connecting to SAP
    JCO.Client mConnection;
    A connection (or session) with SAP is handled by class JCO.Client
    try {
    mConnection =
    JCO.createClient("400", // SAP client
    "c3026902", // userid
    "********", // password
    "EN", // language
    "iwdf5020", // host name
    "00"); // system number
    mConnection.connect();
    catch (Exception ex) {
    ex.printStackTrace();
    System.exit(1);
    "A Client object is created via a call to createClient(). You can use a specific application server (as in the above code) or a server group (load balancing)." REFER the JCO Javadoc for the overloaded createClient() method for the latter possibility.
    "The Client class's connect () method tries to log on to SAP. If that fails for any reason, an exception is thrown. If the call succeeds, we can now stay connected for as long as we like. When we are done, we can call disconnect () to explicitly log off."
    Hope this sample would help you..
    Regards
    Narin Nandivada

  • ABAP Runtime error MESSAGE_TYPE_X in process chain

    in our daily load process chain  we have a level where datas are getting loaded in to a cube from 4 dso thru dtp. in this level the DTP fails approximately twice in a week. the DTP is shown in red in the log view. when  we check the message its showin MESSAGE_TYPE_X ABAP runtime error.
    if we give repeat it runs sucessfully and the following process are going well.
    do u ppl have any ideas abt this.

    Hi,
    This failure would happen for many reasons, like,
    Source system connection failure
    Short dump.
    System overload
    Non availability od work processes as a reasonthe load would have been timed out.
    Locked due to another load.
    That is the reason as to which the load when repeated is successful, as by then,
    The source connection would have been restored
    there would be free processes available
    The other load would have completed.
    Regards,
    Savitha

  • Hi , friends pls explain abap mapping and message mapping

    1) pls explain abap mapping and message mapping
       send me screen shorts also.

    Hi
    Mapping Techniques
    XI provides 3 standard ways of interface mapping between source and target.
    Graphical mapping
    Java Mapping
    XSLT Mapping
    Two more additional mapping types can be activated in XI by making changes to the exchange profile. Those two mappings are
    ABAP mapping
    XSLT mapping with ABAP Extensions
    Graphical Mapping
    Graphical mapping is a common approach followed by everyone for generating desired target structure. It involves simple drag-n-drop to correlate respective nodes (fields) from source and target structure. It hardly involves coding. (Exception - User defined functions). But sometimes with graphical mapping it is difficult to produce required output. For example ... text/html output, namespace change, sorting or grouping of records etc.
    ABAP Mapping
    A person comfortable with Object Oriented ABAP can go for ABAP mapping instead.
    Java Mapping
    Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but , DOM is very processor intensive.
    SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exaclty easy to develop either.
    XSLT Mapping
    One can also think of Java mapping as another option but it is a bit complex and required knowledge of Java. In such cases, XSLT mapping can be the best approach to meet the requirements.
    A few example cases in which an XSLT mapping can be used:-
    When the required output is other than XML like Text, Html or XHTML (html displayed as XML)
    When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
    When data is to be filtered based on certain fields (considering File as source)
    When data is to be sorted based on certain field (considering File as source)
    When data is to be grouped based on certain field (considering File as source)\
    Advantages of using XSLT mapping
    XSLT program itself defines its own target structure.
    XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
    XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
    File content conversion at receiver side can be avoided in case of text or html output.
    Multiple occurrences of node within tree (source XML) can be handled easily.
    XSLT can be used in combination with graphical mapping.
    Multi-mapping is also possible using xslt.
    XSLT can be used with ABAP and JAVA Extensions.
    Disadvantages of using XSLT mapping
    Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
    Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
    XSLT mapping requires more memory than mapping classes generated in Java.
    XSLT program become lengthier as source structure fields grows in numbers.
    XSLT program sometimes become complex to meet desired functionality.
    Some XSL functions are dependent on version of browser.
    Different types of Mappings
    MAPPING SUPPORTED BY XI
    Message Mapping -> Graphical Design and testing environment. Default Provided By XI. Queue based modelling allow handling or large documents. Extensible via user defined functions
    XSLT Mapping - > Based on openstandard, Portable across application platform, Extensible using user defined functions kewl but disadvantage is Memory overload while handling large documents.
    SAX -> Simple Api For XML. -> Allows you to parse through a XML document. Doesn't consume any memory. But the message can be parsed only once from top to bottom. It Has evolved by contributions made by group of ppl itz a open architecture.
    DOM -> Document Object Model -> Itz designed by W3C. Consumes Memory as the message will be loaded. Allows parsing of document in both way top down and bottom up.
    Send me your email id.Shall send you very good docs for both ABAP Mapping and message mapping.
    Thanks

  • Object-oriented + ABAP Objects

    Hello friends,
    I would like to know, is it possible in ABAP Objects to do the followings:
    Single Inheritance
    Multiple Inheritance
    Polymorphism
    Data Abstration
    Method Overloading, and method Overriding
    Inner Classes ?
    Would be nice if some one highlights some of the features of ABAP Objects, in comparision or in regards to JAVA or so...
    Many thanks in advance...

    Hi,
    In ABAP : We do have final concept!
    There are differencies between 'Local Classes' created in abap wihtin One program : for example Handler for ALV Grid
    And Repository classes : Created in the repository available for any program!
    Multi threading can be done via asynchronous Function module or with event!
    greetz!
    <b>Thanks for small-> Big reward!</b>

  • Q: ABAP code from db to memory decreases performance?

    Hi Gurus,
    We have a problem with some ABAP code (a start routine in a BI load). Basically the situation is: we had some code that builds a hierarchy (and inserts into hierarchy table) based on an attribute load, which worked fine but was to slow.
    As we do not need the hierarchy anymore we changed the code to only build the hierarchy in memory (the reason why we need it at all is because building this is the only way we can ensure to load the right records in the attribute load) and now, it is sloweru2026.which we do not understand.
    In general we have replaced:
    SELECT SINGLE * FROM /BIC/HZTVFKORG INTO nodelast
      WHERE nodeid = lastnode2.
    With:
      READ TABLE VirtHierarchy INTO nodelast
        WITH KEY nodeid = lastnode2.
    And replaced:
      UPDATE /BIC/HZTVFKORG FROM nodelast.
    With:
      MODIFY TABLE VirtHierarchy FROM nodelast.
    And replaced:
      INSERT INTO /BIC/HZTVFKORG VALUES node.
    With:
      APPEND node TO VirtHierarchy.
    As we see it, this should increase the performance of the start routine and the load (it takes several hours for just 50000 records), but it is actually running slower now...
    Does anybody have any idea about why this is not improving performance?
    Thank you in advance,
    Mikael

    Dear Mikael Kilaker,
    There are few reason:
    1. Data overload in memory.
    , if you try to execute
    SELECT SINGLE * FROM /BIC/HZTVFKORG INTO nodelast
    WHERE nodeid = lastnode2.
    With:
    READ TABLE VirtHierarchy INTO nodelast
    WITH KEY nodeid = lastnode2.
    And replaced:
    UPDATE /BIC/HZTVFKORG FROM nodelast.
    With:
    MODIFY TABLE VirtHierarchy FROM nodelast.
    And replaced:
    INSERT INTO /BIC/HZTVFKORG VALUES node.
    With:
    APPEND node TO VirtHierarchy.
    inside any loop conditions, this approach will make the system slow because it will load entire table into memory then system still need to cater space for selected value thus make system not really effective when you execute large volume of data.
    2. Unsorted data.
    It is really great practice if you sort nodelast. It is extra steps but the effect greatly decreased response time when system manipulating sorted data in the internal table.
    3. Use binary search in READ table.
    Try to use this code
    READ TABLE VirtHierarchy INTO nodelast
    WITH KEY nodeid = lastnode2 BINARY SEARCH.
    this practice also will increase performance when you execute large data inside internal table.
    Do reward points if this helps you

  • Server proxy in background mode using abap?

    Hi,
    I would like to schedule server proxy in back ground mode using ABAP report. I already have the payload available in XSTRING(binary) saved in Z table. I know how to convert binary string to XML (using FMs -  SCMS_BINARY_TO_STRING).
    However, is there any way to pass binaryXML(XSTRING) to server proxy (without converting the paylolad to XML and use SAX/DOM parser to populate proxy input structure ) ?
    Not sure, if SET_XML(IF_WS_PAYLOAD) method can be used.
    Thank you,
    Mallik

    Hi Malik,
    I would like to schedule server proxy in back ground mode using ABAP report. I already have the payload available in XSTRING(binary) saved in Z table. I know how to convert binary string to XML (using FMs -  SCMS_BINARY_TO_STRING).
    If you think about this, it hasnt sense, a server always need to be alive wainting a communication. If you want to stop the server reception, the middleware system (in this case PI) would need to store the messages for a future server availability, then this would work only with async messages. I dont see right now the utility of this, may be don't overload the ECC system in a work hours, is this the problem?
    However, is there any way to pass binaryXML(XSTRING) to server proxy (without converting the paylolad to XML and use SAX/DOM parser to populate proxy input structure ) ?
    Are you talking about to do this conversion in a java mapping inside the PI? aren't you?
    Regards.

  • Issue in Creation of XML file from ABAP data

    Hi,
    I need to create a XML file, but am not facing some issues in creation of XML file, the in the required format.
    The required format is
    -<Header1 1st field= u201CValueu201D 2nd field= u201CValueu201D>
       - <Header2 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 10 fields>
              <Header3 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 6 fields/>
              <Header4  1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 4 fields/.>
               <Header5 1st field= u201CValueu201D 2nd field= u201CValueu201Du2026u2026. Upto 6 fields/>
          </Header2>
       </Header1>
    Iu2019m using the call transformation to convert ABAP data to XML file.
    So please anybody can help how to define XML structure in transaction XSLT_TOOL.
    And one more thing, here I need to put the condition to display the Header 3, Header 4, Header 5 values. If there is no record for a particular line item in header 3, 4 & 5, I donu2019t want to display full line items; this is only for Header 3, 4 & 5.
    Please help me in this to get it resolved.

    Hello,
    you can use CALL TRANSFORMATION id, which will create a exact "print" of the ABAP data into the XML.
    If you need to change the structure of XML, you can alter your ABAP structure to match the requirements.
    Of course you can create your own XSLT but that is not that easy to describe and nobody will do that for you around here. If you would like to start with XSLT, you´d better start the search.
    Regards Otto

Maybe you are looking for

  • 2 iPhones, 3 PC's, 1 iTunes Account?

    We've got two iPhones, 3 computers (1 is wife's work), and one iTunes account. My iphone will be synced only on my pc, my wife's will be synced on all three. She would like to get rid of my calendar which is already on her phone. We haven't figured o

  • Ipod cannot update. The required file cannot be found?? Any help please.

    Hi, I like many others have major problems with my Ipod, we downloaded the Itunes 6 , removed it, went back to 4.9, connected the Ipod, everything got erased. ( but it was still on the computer thank goodness, anyway now I can't put anything back on

  • 1.1.4 won't finish

    Right now i am trying to update my iphones software. i downloaded the 1.1.4, it says preparing iphone for software update, but it hasn't done anything for an hour. an suggestions?

  • Dynamic roles in Agent Assignment

    Dear All I have a requirement of assigning dynamic roles which is stored in container element. When i select the role in the agent assignment of the task all the system roles come in the drop down. How to assign the role stored in the container eleme

  • Align tool behaving oddly

    Hi, the align tool (i mean the submenu in ,object) is not behaving properly, for me. As I say align left edges it does not, it only moves the rightish to to left a bit, if I click the same submenu again abit more to the left, but it never aligns any