Logical database with objects

hi guys ,
It is not possible to use the stamente GET  BSID for example , in methods ?
thanks.

You cannot use [GET node|http://help.sap.com/abapdocu_70/en/ABAPGET-.htm] outside of [logical database|http://help.sap.com/abapdocu_70/en/ABENLOGICAL_DATA_BASE_GLOSRY.htm], so only in [executable programs|http://help.sap.com/abapdocu_70/en/ABENEXECUTABLE_PROGRAM_GLOSRY.htm],
but you can call a LDB from a method via FM [LDB_PROCESS.|http://www.sdn.sap.com/irj/scn/advancedsearch?query=ldb_process.]
Regards,
Raymond

Similar Messages

  • Access data on multi-logical database with ad hoc query

    Dear all,
    I would like to know if it is possible to access data in multi-logical database with ad hoc query.
    I recall that I read some document stated that you can access data in multi-logical database with PNP as base.
    But I find no document about how to set it up, any comment?
    Regards
    Bill

    Hi Bill...
    PNP can be accessible..............
    PNP  0000-0999, 2000 to 2999 HR Master Data & Time 
    PCH.... I don't think so....
    Experts please do reply on this please...................
    Vijay
    Edited by: Vijay Shankar on Sep 13, 2011 11:32 AM

  • Logical Databases with ABAP OO

    As we move to ABAP OO paradigm, should we abandon the use of  logical databases?
    Edited by: Kimberly Carmack on Mar 10, 2009 12:47 AM

    Thank you for your input.
    I am aware of the capability to call FM LDB_PROCESS from a method. 
    But should I? Should I avoid using LDBs altogether? In what scenario should I use an LDB in OOA/OOD?
    I am very interested in hearing more about why "implicit triggering of events, implicit calls, and data sharing between programs....is contradictory ..to OO". Will you please elaborate?
    Let me give some insight as to the source of this question...
    Our company has made an acquistion. We are converting some of their customization into our system.
    I am currently re-engineering one of their reports.  It uses data from the tables: VBAK, VBAP, VBEP, VBUK, VBUP, VBEP, VBPA and VBFA.
    Although the old program does not use logical database, I see the VAV logical database lines up with this data request quite nicely.
    And since I know that there are  several of their reports and transactions that access the same data, the reusability of the LDB is quite attractive.
    However, our company has an initiative to conduct all new development using OO standards.
    So, should I used the VAV LDB from a local method?  Or would it be better practice to look at creating a global class that has methods that repeat the functionality of the VAV LDB? 
    And if global classes and new methods is the way to go, what would that global class look like? 
    This is what I am wondering about.
    Any feedback is appreciated.
    Edited by: Kimberly Carmack on Mar 10, 2009 2:19 PM

  • How to  Find Logical Database with table name

    Shankar

    Version 4.6x
    If you need to find the logical database for a table name, you can used <b>SE36</b> - Logical Database Bulider.
    Steps :-
    Go to transaction <b>SE36</b>
    Click <b>Extras -> Table usage</b>
    Supply the Table name and hit enter.
    A Display Logical Database will be shown on a pop-up windows.
    Reward  points  if it is  usefull ....
    Girish

  • Use SAP defined methods instead of Logical Database(LDB)

    Hi All,
    I gonethrough some documents related to new HR ABAP programing without using logical database.  we can replace the logical databased with SAP defined methods for all the infotypes.  Appreciate if anyone let me know how do this.
    Thanks in advance.
    Thanks,
    -suresh

    Yes.. we can use the Infotype reader class.. you can use the following sample code & go from there.. fyi I wrote this on a 47 system..
    *& Report  ZP_INF_CL                                                   *
    *&  read an infotype using ABAP Objects                                *
    report  zp_inf_cl line-size 1000.
    infotypes: 0001,0008.
    parameters: p_infty type infty,
                p_pernr type pernr_d.
    constants: c_a type tclas value 'A',
               c_true value 'X'.
    data: w_infotype_reader type ref to if_hrpa_read_infotype,
          t_inftab type hrpad_prelp_tab,
          w_missing_auth type boole_d,
          w_data_exists  type boole_d,
          rec_infty like line of t_inftab.
    * init infotype reader
    call method cl_hrpa_read_infotype=>get_instance
      importing
        infotype_reader = w_infotype_reader.
    call method w_infotype_reader->read
      exporting
        tclas         = c_a
        pernr         = p_pernr
        infty         = p_infty
        begda         = sy-datum
        endda         = sy-datum
        no_auth_check = c_true
      importing
        infotype_tab  = t_inftab
        data_exists   = w_data_exists
        missing_auth  = w_missing_auth.
    loop at t_inftab into rec_infty.
      call method cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
        exporting
          prelp = rec_infty
        importing
          pnnnn = p0001.
      append p0001.
    endloop.
    loop at p0001.
      write:/ p0001-orgeh.
    endloop.
    ~Suresh

  • Transporting a logical database.

    Hi,
    Is it possible to transport a logical database across system?
    If yes, how do we do it?
    Thanks ,
    Laxman

    Hi,
    It's like adding any other object,, from the Transport Management (SE10), under your request/task, add a new-entry on clicking sign, then search for 'Logical database' under object, and then put your LDB name.
    with regards
    Mahesh

  • How to use a Logical Database in Function Module.

    Hi Experts,
    I want to use a logical database in a Function Module to fetch data from a standard SAP table into a Internal table for certain filter conditions.
    How can I get get this done????
    I called LDB_PROCESS FM in my FM, but I could not figure out how to store the extract in my IT table since we cant use GET in FM.
    Please provide me a sample code if possible.
    Thanks in Advance,
    Alex.

    Hi,
    i had an example program like this ,in this i want to get the data using pnp logical database with 5 fields in an interface program.
    data: begin of it_final occurs 0,
            pernr like pa0002-pernr,
            vorna like pa0002-vorna,
            nachn like pa0002-nachn,
           usrid like pa0105-usrid,
           usrid_long like pa0105-usrid_long,
           end of it_final.
    get pernr.
      clear : p0000,p0002,p0105.
      rp-provide-from-last p0000 space p_date p_date.
      if p0000-stat2 = '3'.
        v_pernr = pnppernr-low.
      else.
        reject.
      endif.
    *---Get employee pernr, First name ,Last name into final table
      rp-provide-from-last p0002 space p_date p_date.
      if pnp-sw-found = '1'.
       it_final-pernr = p0002-pernr.
       it_final-vorna = p0002-vorna.
       it_final-nachn = p0002-nachn.
      else.
    *---Error message if not infotype 0002 maintained
      T_ERROR-PERNR   = pnppernr-low.
      CONCATENATE TEXT-EMI '0002'
      INTO T_ERROR-MESSAGE SEPARATED BY SPACE.
      APPEND T_ERROR.
      CLEAR T_ERROR.
      endif.
    **--Get SYSTEM USERNAME to final table
      rp-provide-from-last p0105 0001 p_date p_date.
      if pnp-sw-found = '1'.
        it_final-usrid = p0105-usrid.
      else.
    *---Error message if not SYSTEM USERNAME maintained
        T_ERROR-PERNR   = pnppernr-low.
        CONCATENATE TEXT-003 '0105'
        INTO T_ERROR-MESSAGE SEPARATED BY SPACE.
        APPEND T_ERROR.
        CLEAR T_ERROR.
      endif.
    **--Get Email ID to final table
      rp-provide-from-last p0105 0010 p_date p_date.
      if pnp-sw-found = '1'.
        it_final-usrid_long = p0105-usrid_long.
      else.
    *---Error message if not Email ID maintained
        T_ERROR-PERNR   = pnppernr-low.
        CONCATENATE TEXT-004 '0105'
        INTO T_ERROR-MESSAGE SEPARATED BY SPACE.
        APPEND T_ERROR.
        CLEAR T_ERROR.
      endif.
       append it_final.
        clear it_final.
    reward points if useful,
    venkat.

  • What are structures of logical database.

    hi
    what are structures of logical database.

    Dear Chaitanya,
    The structure of LDB can be divided into three sections:
    >Structure
    >Selection
    >Database Program
    STRUCTURE:
    The structure defines the data view of the logical database. It adopts the hierarchy of the database tables defined by their foreign key relationships. This also controls the sequence in which the tables are accessed. It determines the structure of the other components and the behavior of the logical database at runtime.
    The structure of a logical database is usually based on the foreign key relationships between hierarchical tables in the SAP System. Logical databases have a tree-like structure, which can be defined as follows:
    · There is a single node at the highest level. This is known as the root node.
    · Each node can have one or several branches.
    · Each node is derived from one other node.
    The nodes must be structures defined in the ABAP Dictionary or data types from a type group. Normally, these are the structures of database tables which the logical database reads and passes to the user for further evaluation. However, it is also possible, and sometimes useful, to use ABAP Dictionary structures without an underlying database. For technical reasons, the maximum number of nodes allowed in the structure of a logical database is 300.
    Any executable ABAP program that has a logical database linked to it can contain a GET statement for each node of the structure. When you run the program, the corresponding event blocks are processed in the sequence prescribed by the hierarchical structure of the logical database. If a program does not contain a GET statement for every node of a logical database, the processing passes through all the nodes that lie in the path from the root to the nodes specified by GET statements.
    If you call a logical database using the function module LDB_PROCESS, the depth to which the system reads is controlled by an interface parameter.
    SELECTIONS:
    The selections define a selection screen, which forms the user interface of the executable programs that use the logical database. Its layout is usually determined by the structure. You can adapt the selections to your own requirements and also add new ones. When you link a logical database to an executable program, the selections of the logical database become part of the standard selection screen of the program (screen number 1000). If you call a logical database using the function module LDB_PROCESS, the selections are filled using interface parameters.
    The selections in a logical database are defined using the normal statements for defining selection screens, that is, PARAMETERS, SELECT-OPTIONS and SELECTION-SCREEN. In a logical database, you can also use the additions VALUE-REQUEST and HELP-REQUEST to define specific input and value help. You define the selection screen in a special include program known as the selection include.
    When you write programs using a logical database, you can also add your own program specific selections. The standard selection screen then contains the database-specific selections, followed by the program-specific selections that you have defined.
    When the system generates the selection screen for an executable program, database-specific selection criteria and parameters are only displayed if you have declared an interface work area for them in your program using the NODES or TABLES statement.
    Suppose you have a selection include containing the following lines:
    SELECT-OPTIONS slifnr FOR lfa1-lifnr.
    PARAMETERS pbukrs LIKE lfb1-bukrs FOR TABLE lfb1.
    The selection criterion SLIFNR is linked to table LFA1, the parameter PBUKRS to table LFB1. If the TABLES statement in an executable program (report) declares LFA1 but not LFB1, SLIFNR is displayed on the selection screen, but PBUKRS does not appear.
    The selection screen of a logical database can contain dynamic selections as well as static ones. Dynamic selections are extra, user-defined selections that the user can make as well as using the static selections defined in the selection include. To improve performance, you should always use this option instead of reading more data than you need and then sorting it out in the application program.
    To make dynamic selections available for the node nodeof a logical database, the selection include must contain the following statement:
    SELECTION-SCREEN DYNAMIC SELECTIONS FOR NODE|TABLE node.
    If the node node is requested by the user of the logical databases, the dynamic selections are included in the selection screen. A user can then choose Dynamic selections to enter extra selections for the corresponding fields. If you call the logical database using the function module LDB_PROCESS, you can pass a corresponding parameter. You can use these selections in dynamic statements in the logical database program to read data. The values of the program-specific selection criteria that you defined for a node for which dynamic selections were available are also passed to the logical database. The user can also define the fields for dynamic selections as a selection view for the logical database.
    The selection screen of a logical database is part of the standard selection screen (number 1000) of the executable program to which the logical database is attached. It has a standardized layout - the selection criteria and parameters appear on separate lines in the order in which they were declared. You can change the layout using the SELECTION-SCREENstatement.
    The runtime environment generates the selection screen with number 1000 for every program in which the attributes do not contain a different selection screen version. You can prevent certain input fields from the selection screen of a logical database from appearing on the selection screen by defining selection screen versions with a screen number lower than 1000 in the selection include, and entering this version number in the program attributes. By pressing F4 there, you can get an overview of the selection screen versions defined in the logical database concerned. To define a selection screen version, use the statements SELECTION-SCREEN BEGIN|END OF VERSION. Within these statements you can use SELECTION-SCREEN EXCLUDEto specify fields that you do not want to appear on the selection screen.
    If the attributes of an executable program contain the number of a selection screen version, the version is used in the standard selection screen. Although the input fields that you excluded from the selection screen are not displayed, the corresponding selections still exist, and you can still edit them in the program or by calling the function module LDB_PROCESS.
    DATABASE PROGRAM:
    The database program contains the ABAP statements used to read the data and pass it to the user of the logical database. There is a container for special subroutines into which, amongst other things, the data from the database tables is read. These subroutines are called by the reporting processor in the runtime environment in a sequence that has been predefined by the structure. The database program is determined by the structure and selections and can be adapted or expanded to meet your requirements.
    The name of the database program of a logical database ldbconforms to the naming convention SAPDBldb. It serves as a container for subroutines, which the ABAP runtime environment calls when a logical database is processed. The sequence of the calls and their interaction with the events in executable programs or the function module LDB_PROCESS depends on the structure of the logical database.
    A logical database program usually contains the following subroutines:
    · FORM LDB_PROCESS_INIT
    Called once only before the logical database is processed. It prepares it to be called more than once by the function module LDB_PROCESS.
    · FORM INIT
    Called once only before the selection screen is processed.
    · FORM PBO
    Called before the selection screen is displayed, each time it is displayed. Consequently, it is only called when you use the logical database with an executable program, not with the function module LDB_PROCESS.
    · FORM PAI
    Called when the user interacts with the selection screen. Consequently, it is only called when you use the logical database with an executable program, not with the function module LDB_PROCESS. The interface parameters FNAME and MARK are passed to the subroutine.
    FNAME contains the name of a selection criterion or parameter on the selection screen.
    MARK describes the selection made by the user: MARK = space means that the user has entered a simple single value or range selection. MARK = '*' means that the user has also made entries on the Multiple Selection screen.
    · FORM LDB_PROCESS_CHECK_SELECTIONS
    Called instead of the subroutine PAI if the logical database is called using the function module LDB_PROCESS without a selection screen. This subroutine can check the selections passed in the function module interface.
    · FORM PUT_node
    Called in the sequence defined in the structure. Reads the data from the node nodeand uses the
    PUT node.
    statement to trigger a corresponding GETevent in the ABAP runtime environment. The PUT statement is the central statement in this subroutine: It can only be used within a subroutine of a logical database. The logical database must contain the node node, and the subroutine name must begin with PUT_node. The PUT statement directs the program flow according to the structure of the logical database. The depth to which the logical database is read is determined by the GET statements in the application program or the interface parameter CALLBACK of the function module LDB_PROCESS.
    First, the subroutine PUT_root is executed for the root node. The PUT statement then directs the program flow as follows:
    i. If the database program contains the subroutine AUTHORITY_CHECK_node, the first thing the PUT_node statement does is to call it.
    ii. Next, the PUT statement triggers a GET event in the runtime environment. If there is a corresponding GET nodestatement in the executable program to which the logical database is linked, the associated event block is processed. If the CALLBACK parameter of the function module LDB_PROCESS is filled accordingly, the corresponding callback routine is called.
    iii. The PUT statement directs the program flow
    (a) To the next subroutine of a node that follows directly, if a lower-level node (not necessarily the very next) in the same subtree is requested by GET in the executable program or in the function module.
    (b) To the subroutine of a node at the same level, if the preceding node branches to such a node and if a GET statement exists for such a node in the executable program or the function module.
    The PUT statement in that subroutine starts again at step (i). In the subroutine of the lowest node in a subtree to be processed using GET, the program control does not branch further. Instead, the current subroutine is processed further. When a subroutine PUT_node has been executed in its entirety, the program flow returns to the PUTstatement from which it branched to the subroutine PUT_node.
    iv. When control has returned from a lower-level subroutine PUT_node, the PUTstatement triggers the event GET node LATEin the runtime environment.
    · FORM AUTHORITY_CHECK_node
    Called automatically by the PUT node statement. In this subroutine, you can specify authorization checks for the appropriate node node from the structure of the logical database.
    · FORM PUT_ldb_SP
    Called when the user makes a selection using a search help to process the key chosen in the search help. ldb is the name of the logical database. From this subroutine, you can use the entries in the search help tables to read the relevant entries from the root node root. The processing in the program can then be triggered using PUT root. The subroutine PUT_root is then not called automatically.
    · FORM BEFORE_EVENT
    Called before an event, the name of which is passed in the parameter EVENT. Currently, the EVENT field can only contain the value START-OF-SELECTION, to call a subroutine before this event.
    · FORM AFTER_EVENT
    Called after an event, the name of which is passed in the parameter EVENT. Currently, the EVENT field can only contain the value END-OF-SELECTION, to call a subroutine after this event.
    · FORM par_VAL, selop_VAL, selop-LOW_VAL, selop-HIGH_VAL
    Called when the user calls possible values help for the parameter par or the selection criterion selop. These must belong to the selections in the logical database.
    · FORM par_HLP, selop_HLP, selop-LOW_HLP, selop-HIGH_HLP
    Called when the user calls possible values help for the parameter par or the selection criterion selop. These must belong to the selections in the logical database.
    Example
    Suppose that in the logical database structure, LFB1 is a branch of LFA1.
    and that the following selection criteria are defined in the selection include:
    SELECT-OPTIONS: slifnr FOR lfa1-lifnr,
    sbukrs FOR lfb1-bukrs.
    A section of the database program would then read:
    FORM put_lfa1.
    SELECT * FROM lfa1
    WHERE lifnr IN slifnr.
    PUT lfa1.
    ENDSELECT.
    ENDFORM.
    FORM put_lfb1.
    SELECT * FROM lfb1
    WHERE lifnr = lfa1-lifnr.
    AND bukrs IN sbukrs.
    PUT lfb1.
    ENDSELECT.
    ENDFORM.
    An executable program (report) linked to the logical database could contain the lines:
    GET lfa1.
    WRITE lfa1-lifnr.
    GET lfb1.
    WRITE lfb1-bukrs.
    In this example, the runtime environment calls the routine put_lfa1 after the event START-OF-SELECTION. The event GET lfa1 is triggered by the statement PUT lfa1.
    Once the corresponding event block in the program is complete, PUT lfa1 branches to the subroutine put_lfb1.
    From this subroutine, the event GET lfb1 is triggered in the application program. If LFB1 is the last node to be read, processing resumes with the SELECTloop in put_lfb1. Otherwise, the program flow moves to the subroutine put_node of the next node. At the end of the SELECT loop of the last node, processing resumes in the SELECTloop of the node at the next level up. The example of programming using nested SELECT loops is only used to make the program flow clearer. In a real logical database, you would avoid doing this in order to minimize the number of database accesses.
    Regards,
    Rajesh K Soman
    Please reward points if helpful.

  • ABAP Objects and table processing (with logical databases)

    I have a report that is written right now using procedural abap and a logical database.  The report is structured follows (high level):
    start-of-selection.
    get pernr.
      perform get_it0001 using wtab.
      perform get_it0002 using wtab.
      perform get_it0003 using wtab.
      append wtab to itab.
    end-of-selection.
      call function 'reuse_alv_grid_display'
        exporting
          i_structure_name       = 'itabstructure'
        tables
          t_outtab               = itab.
    So basically I'm going through a bunch of personnel numbers, getting a few infotypes and outputting to ALV.  I don't see where ABAP Objects is going to help me for this particular program. 
    Can somebody show me where OO ABAP would make this easier?  Does it even make sense to use OO when you're processing with a logical database?  (Not just PNP, but any logical database in general).
    Thanks in advance.

    Hello Lee
    I assume that the routines GET_ITnnnn are written by yourself. For reading infotypes ABAP Objects provides us with same very helpful classes as shown below:
    * define data
      DATA:
        gif_employee      type ref to if_pt_employee,
        go_employee       type ref to cl_pt_employee,
        gt_infotypes      TYPE tim_tmw_itlist_tab,
        go_control        TYPE REF TO if_pt_td_control,
        go_data           TYPE REF TO if_pt_td_base,
        go_pnnnn          TYPE REF TO if_pt_td_itnnnn,
        gt_p0001          TYPE TIM_P0001_TAB,
        gt_p0002          TYPE TIM_P0002_TAB,
        gt_p0003          TYPE TIM_P0003_TAB.
    start-of-selection.
    GET pernr.
    <b>* Create employee instance</b>
      gif_employee = cl_pt_employee=>get_employee( pernr ).
      go_employee ?= gif_employee.
    <b>* Get master infotypes (0001, 0002)</b>
      CALL METHOD go_employee->get_master_data
        EXPORTING
          im_begda = id_fromdate
          im_endda = id_todate
        IMPORTING
    *      EX_I0000 =
          EX_I0001 = gt_p0001
          EX_I0002 = gt_p0002
    *      EX_I0007 =
    *      EX_I0008 =
    <b>* Append all other required infotypes to itab</b>
      APPEND '0003' TO gt_infotypes.
      CALL METHOD go_employee->get_infotypes
        EXPORTING
          i_itlist      = gt_infotypes
          i_fromdate    = id_fromdate  " start date
          i_todate      = id_todate    " end date
    *      I_FILTER      =
          i_noauthcheck = 'X'
        IMPORTING
          e_result      = gt_infty_request
          e_retcd       = gd_retcd.
    * Please see documentation of parameter e_retcd...
      LOOP AT gt_infty_request INTO go_control.
        go_data = go_control->data.  <b>" get data object</b>
    *   Casting
        TRY.
            go_pnnnn ?= go_data.
          CATCH cx_sy_move_cast_error.
            CONTINUE.
        ENDTRY.
    <b>*   Convert infotype (semi-transparent -> transparent)</b>
        CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
          EXPORTING
            prelp = lo_pnnnn->prelp
          IMPORTING
            pnnnn = gs_p0003.
        APPEND gs_p0027 TO gt_p0003.
      ENDLOOP.
    The class CL_PT_EMPLOYEE provides us already with very easy access to so-called master infotypes (000, 0001, 0002, 0007 and 0008). All other infotypes can be read using method GET_INFOTYPES.
    Using these classes we have a very convenient and standardized way of accessing all kinds of infotypes.
    Regards
      Uwe

  • Issues with parallel processing in Logical Database PCH and PNP

    Has anyone encountered issues when executing programs in parallel  that utilizes the logical database PCH or PNP?
    Our scenario is the following:
    We having have 55 concurrent jobs that execute a program that use the logical database PCH at a given time.  We load the the PCHINDEX table with the code below.
          wa_pchindex-plvar = '01'.
          wa_pchindex-otype = 'S'.
          wa_pchindex-objid_low = index_objid.
          APPEND wa_pchindex TO pchindex.
    We have seen instances where when the program is executed in parallel, with each process having its own range of positions id's, that some positions are dropped or some are added that is outside the range of the given process.
    For example:
    process 1 has a range of positions ID's 1-10
    process 2 has a range of positions ID's 11-20
    process 3 has a range of positions ID's 21-30
    Process 3 drops position 25 and adds position 46.
    Has anyone faced a similar issue?
    Thanks for your help.
    Best Regards,
    Duke

    Hi,
    first of all, you should read [Using Parallel Execution|http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/usingpe.htm#DWHSG024] in documentation for your version - almost all of these topics are covered there.
    1. According to my server specification how much DOP i can specify.It depends not only on number of CPU. More important factors are settings of PARALLEL_MAX_SERVERS and PARALLEL_ADAPTIVE_MULTI_USER.
    2. Which option for Setting Parallel is good - Using the 'alter table A parallel 4' or passing the parallel hints in the sql statementsIt depends on your application. When setting PARALLEL on a table, all SQL dealing with that table would be considered for parallel execution. So if it is normal for your app to use parallel access to that table, it's OK. If you want to use PX on a limited set of SQL, then hints or session settings are more appropriate.
    3. We have a batch processing jobs which are loading data into the tables from flat files (24*7) using sql loader. is it possible to parallel this operation and any negative effect if enabled parallel.Yes, refer to documentation.
    4. Query or DML - which one will be perform best with parallel option.Both may take advantages of using PX (with some restrictions to Parallel DML) and both may run slower than non-PX versions.
    5. What are the negative issue if parallel option is enabled.1) Object checkpoint happens before starting parallel FTS (true for >=10gR2, before that version tablespace checkpoint was used)
    2) More CPU and memory resources are used with PX - it may be both benefit and an issue, especially with concurrent PX.
    6. what are the things to be taken care while enabling the parallel option.Read the documentation - it contains almost all you need to know. Since you are using RAC, you sould not forget about method of PX slaves load balancing between nodes. If you are on 10g, refer to INSTANSE_GROUPS/PARALLEL_INSTANCE_GROUPS parameters, if you are using 11g then properly configure services.

  • Optimization with logical database

    Hi all.
    I have to optimize a report, and it is using BRM logical database to get data from BKPF and BSEG. Could you say to me if it is the faster way or if it would be better to use a SELECT?
    Thanks a lot.
    Marta.

    Hello Marcin,
    Once I met with statement that good ABAPers don't use direct SELECT statement, at least they shouldn't have to.
    What?? This might be true for HR ABAP, where LDBs are used in abundance
    There are so many standard FMs which cover most of SAP db queries.
    Most of these std. FMs are generally "not released" & are not performance friendly either.The "released" BAPIs (BAPIGET) don't cater to all your requirements.
    I seldom use FMs to fetch the data. I find it easy to implement relevant authority objects & build an optimised SQL construct as per my requirement
    Let me know your comments.
    BR,
    Suhas

  • Logical Database in Abap Objects

    Hi to All
    I want do it a program report using a Logical Database.
    Is this possible ??? But when I make a GET <node>, occurs the following error:
             "" Statement "ENDMETHOD" missing.  ""
    I'm doing the following:
    CLASS MONFIN IMPLEMENTATION.
           METHOD TRAER_DATOS.
                   GET VBRK.
           ENDMETHOD.
    ENDCLASS.
    Please, somebody tell me how I use the logical database in Abap Objects.
    Thank you very much
    Regards
    Dario R.

    Hi there
    Logical databases whilst of "some use" are not really part of OO.
    If you want to use a logical database in an abap OO program I would create a special class which just does the get data from your DB and pass this either at record or table level.
    Techniques such as GET XXXX LATE aren't really part of any OO type of application since at Object Instantiation time you should be able to access ALL the attributes of that object.
    As far as OO is concerned Logical databases are a throwback to "Dinosaur Technology".
    Since however modules such as SD and FI are still heavily reliant on relational structures (i.e linked tables etc)  then there is still some limited life in this stuff but for OO try and solve it by another method.
    If you really must use this stuff in OO then do it via a FMOD call and save the data in a table which your method will pass back to your application program.
    You can't issue a GET command directly in a method.
    Cheers
    Jimbo

  • Report Parameters with logical database

    Hello
    I have to read some HR infotypes that are provided with the logical database PNPCE.
    Fort his i have written a report that will use my logical database and get some information.
    What i need,are some new input parameters on the screen that are added by my report:
    parameters: p_persnr type person-pernr,
                        p_name type p0002-nachn,
                        p_sname type p0002-vorna.
    The problem is that i do not know how to link these parameters to my logical database reading.
    When i try to call "get <node>" ,my report is not returning anything.
    Is there a way to send  my parameters as selection parameters to the logical database?
    thank you

    The selection screen 1000 is created dynamically during runtime. I doubt change done by SE51 will solve the issue. In fact there is some code which can help on this.
    INITIALIZATION.
    To restrict the range of PERNRs
      PERFORM z_seloption_restrict USING 'PNPPERNR'.
    *&      Form  Z_Seloption_Restrict
    * Restrict range in select option
    *      -->VALUE(SOP_NAME)  Name of select option as string
    FORM z_seloption_restrict USING value(pv_sop_name).
      IF st_restrict-opt_list_tab[] IS INITIAL.
        CLEAR st_opt_list.
        MOVE: 'EQ' TO st_opt_list-name,
              'X'  TO st_opt_list-options-eq.
        APPEND st_opt_list TO st_restrict-opt_list_tab.
      ENDIF.
      REFRESH : st_restrict-***_tab.
    *  READ TABLE st_restrict-***_tab INTO st_asst
    *                        WITH KEY name = pv_sop_name.
    *  IF sy-subrc NE 0.
      CLEAR st_asst.
      MOVE: 'S'         TO st_asst-kind,
            pv_sop_name TO st_asst-name,
            'I'         TO st_asst-sg_main,
            ' '         TO st_asst-sg_addy,
            'EQ'        TO st_asst-op_main.
      APPEND st_asst TO st_restrict-***_tab.
    *  ENDIF.
      CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
        EXPORTING
          restriction = st_restrict.
    ENDFORM.                    "Z_Seloption_Restrict

  • Logical database PCH,Extended Object ID

    When using logical database PCH.I found Object structure has a component REALO means extended object id.
    Can somebody give a example to show the actual meaning of extended object id?
    thanks.
    Edited by: Lanmbor Yang on May 30, 2008 8:40 AM

    I answer to myself, FM HR_MACO provides the information I need.
    Anyway thanks for the interest

  • Selection screen for HR report with logical database PNP

    Hi All,
       I am writing a HR report. And I use the logical database PNP. Also I create a HR report category for this report. In the report category, I can define the selection screen field. But all these fields are selection option format. My question is How can I add parameters, radiobutton group and checkbox in the selection screen. Thanks.
    Alex

    Hi Alex,
    Sorry for replying so late. Please try this tutorial:
    w w w. s a p t e c h n i c a l. c o m -> tutorials -> ABAP-HR -> Creating HR Report category in PNP logical database
    Sorry, I put it like this, because direct link doens't let me post the answer. Don't know why.
    It can also be something with your custom code in selection screen. Though it works fine for, try to remove COMMENTs and observe the result. Maybe parameters are overlapping somehow. First try this:
    SELECTION-SCREEN begin of BLOCK blk2 WITH FRAME TITLE text-002.
    PARAMETERS RefDate type DATS.
    parameter BFlag type c RADIOBUTTON GROUP grp1.
    PARAMETER FFlag type c RADIOBUTTON GROUP grp1.
    parameters days type i.
    PARAMETERS spvsr like PA0001-MSTBR.
    selection-SCREEN end of BLOCK blk2.
    If that works together with the report category, try to extend it with adding a selection-screen comment, but do this in reversed order (comment goes first and FOR FIELD addition is supplied) like this:
    SELECTION-SCREEN begin of BLOCK blk2 WITH FRAME TITLE text-002.
    PARAMETERS RefDate type DATS.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 3(10) text-003 for field bflag.  "FOR FIELD, and goes first
    parameter BFlag type c RADIOBUTTON GROUP grp1.
    SELECTION-SCREEN COMMENT 16(10) text-004 for FIELD fflag.  "here two
    PARAMETER FFlag type c RADIOBUTTON GROUP grp1.
    SELECTION-SCREEN end of line.
    parameters days type i.
    PARAMETERS spvsr like PA0001-MSTBR.
    selection-SCREEN end of BLOCK blk2.
    If still not working, see if text-003 and text-004 are not too long (you expect them to be 10 chars), This may somehow affect selection screen.
    You may also try with setting cursor position explicity by:
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN POSITION 3.
    SELECTION-SCREEN COMMENT (10) text-003 for field bflag. 
    parameter BFlag type c RADIOBUTTON GROUP grp1.
    SELECTION-SCREEN POSITION 16.
    SELECTION-SCREEN COMMENT (10) text-004 for FIELD fflag.  "here two
    PARAMETER FFlag type c RADIOBUTTON GROUP grp1.
    SELECTION-SCREEN end of line.
    It is really hard to identify where can be a bug as it is working fine for me. Keep trying with different variations, it should finally run with some.
    Regards
    Marcin

Maybe you are looking for

  • Batch characteristic validation

    Hi, I have process inbound idocs, where I have to create batch numbers for materials if they do not exist and correspondingly batch characteristics too. I used functions BAPI_BATCH_CREATE , BAPI_OBJCL_CREATE and for the existing characteristic values

  • Can't re-enable iCloud Photo Library iPhone

    After upgrading to iOS 8 on my iPhone 5s and iPad (4th Gen) I turned on the iCloud Photo Library (beta) on both devices.  Since, I have bought an iPhone 6 and restored my backup to the iPhone 6 from the iPhone 5s backup.  The problem is that my photo

  • Address Book Images Missing

    Almost all of my images in the Address Book have disappeared. The few that are there are the last 3 or 4 I added. When I look in Application Support/AddressBook/Images folder, I can actually find the missing images. However the UUID doesn't match the

  • Resource Central not working in Audition CS5.5

    I can't preview or download any sounds, music, etc. from Resource Central in Audition.

  • ITunes fails when trying to convert videos for iPod Touch

    I have loaded videos taken from digital cameras (Fuji and Canon) into iTunes (latest version) and I can view them using the QuickTime reader (also latest version). Before syncing them to my iPod 4th gen, I go to advanced options and click on Convert