ABAP logical database

Hi,
What is Logical Database? advantages and disadvantages?
thanks in advance?

Hi,
Advantages of Using Logical Databases
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db99b435c111d1829f0000e829fbfe/content.htm
Logical databases save you having to define a selection screen and read data from the database in every program. The program does not have to specify how to retrieve the data, but instead only has to process it and display it on the screen.
An executable program can only work with one logical database, but each logical database can be used by several programs. This offers considerable advantages over integrating the database accesses with SELECT statements into each executable program. It means that you only have to code identical access paths once. The same applies to coding authorization checks.
When you use logical databases, most executable programs benefit from having
· an easy-to-use and standard user interface
· check functions, which check that user input is complete, correct, and plausible
· meaningful data selection
· central authorization checks for database accesses
· good read access performance (for example, with views) while retaining the hierarchical data view determined by the application logic.
Even though you are using central logical databases, the program itself remains flexible because:
· You can still create your own selection screens for each program
· You can code your own functions in any event block in the program. For example, you may want to write user dialogs for further authorization or plausibility checks on the selection screen.
+++++
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bed35c111d1829f0000e829fbfe/frameset.htm
Thanks,
Aby

Similar Messages

  • ABAP Logical Database ADA

    Hi All, I am quite familiar with Logical Databases but I need to understand the following.
    1) I am using LDB ADA, but I want to use my own Selection Screen and not the default one that the LDB provides. I know I must put something in AT SELECTION-SCREEN but am unsure what.
    2) Once I get the data, I want to store the data in an internal table - how do I go about doing this? If you can provide a code example that would be great.
    Points for any relevant help.

    Hi,
    A logical database is a special ABAP/4 program which combines the contents of certain database tables. You can link a logical database to an ABAP/4 report program as an attribute. The logical database then supplies the report program with a set of hierarchically structured table lines which can be taken from different database tables.
    Logical database structures
    There are three defining entities in an SAP logical database. You must be clear on all three in order to create and use one.
    Table structure: Your logical database includes data from specified tables in SAP. There is a hierarchy among these tables defined by their foreign keys (all known to SAP), and you are going to define a customized relationship between select tables. This structure is unique and must be defined and saved.
    Data selection: You may not want or need every item in the referenced tables that contributes to your customized database. There is a selection screen that permits you to pick and choose.
    Database access programming: Once you’ve defined your logical database, SAP will generate the access subroutines needed to pull the data in the way you want it pulled.
    Creating your own logical database
    Here’s a step-by-step guide:
    1) Call up transaction SLDB (or transaction SE36). The path you want is Tools | ABAP Workbench | Development | Programming Environment | Logical Databases. This screen is called Logical Database Builder.
    2) Enter an appropriate name in the logical database name field. You have three options on this screen: Create, Display, and Change. Choose Create.
    3) You’ll be prompted for a short text description of your new logical database. Enter one. You’ll then be prompted to specify a development class.
    4) Specify a root node, or a parent table, as the basis of your logical database structure. You can now place subsequent tables under the root table as needed to assemble the data object you want. You can access this tree from this point forward, to add additional tables, by selecting that root node and following the path Edit | Node | Create. Once you’ve saved the structure you define in this step, the system will generate the programming necessary to access your logical database. The best part is you don’t have to write a single line of code.
    Noted point is we cant add any selection criteria thru our se38 program if you are attaching any LDB to program.Ist of no use.
    If you want to change selection criteria to the existing LDB, you have to goto SE36 tcode and provide LDB name and choose "Change" mode by selecting "Selections" Radio button.
    declaration of params is different compared to normal se38 program in some aspects.
    PARAMETERS :p_curr LIKE bkpf-waers FOR TABLE bkpf OBLIGATORY.
    this BKPF table should be one of the node in the "Structure" Radio button.
    Thanks
    Sivaparvathi
    Please reward points if helpful.

  • Change output of abap logical database report

    Hello
    I have an abap report that is using a logical database to display some fields.My problem is that i have to change it and display more fields for output ,how can i control this?
    Thank you

    Hi,
    We need to add the required (additional) fields to the internal table structure, fill the fields with relevant data and display them on the screen. How is the output fields related to using a LDB..?
    Can you explain me a little bit more on the below stmt?
    " I have an abap report that is using a logical database to display some fields."
    I am not clear in understanding the relation b/w 'using LDB' and 'fields in output'. I dont think the fields displayed in the output screen will be restricted while using a LDB. Pls correct me if i understood wrong.
    Thanks,
    teja.

  • 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

  • LOGICAL DATABASE IN HR ABAP PRPGRAMMING

    Hi Friends,
    what is use of LOGICAL DATABASE IN HR ABAP PROGRAMMING
    AND END-OF-SELECTION EVENT IN HR PROGRAMMING PROGRAMMING???
    regards,
    vijay.

    hi
    HR Logical Databases
    In Human Resources (HR), the following logical databases can be used as a data source for HR InfoSets:
    PNP (PNPCE)
    PAP
    PCH
    By selecting a logical database, you determine the HR data that can be reported on using an InfoSet.
    Logical Database PCH
    This logical database generally enables you to report on all HR infotypes. However, you are advised not to use this logical database unless you want to report on Personnel Planning data.
    Logical Database PNP (or PNPCE)
    Use logical database PNP to report on HR master data. It is possible to use logical database PCH to access this data, but PNP meets such reporting requirements more quickly because it is best suited to the task of selecting persons.
    Logical database PNP enables you to access HR master data and infotypes from Personnel Planning. For example, you have the following options:
    Reporting on the costs, number of attendees booked, and instructor for a business event on which an employee is booked
    Reporting on working time and planned compensation for a position that an employee occupies
    Reporting on the validity and proficiency of a qualification that an employee fulfils
    From a technical perspective, this means you can use PNP to report on all of the infotypes that exist for objects (infotype 1000) that have a direct relationship (infotype 1001) with the Person object.
    The ability to access infotypes from Personnel Planning using logical database PNP is a special feature that you can only use in the context of SAP Query and Ad Hoc Query. You cannot use this functionality for ABAP reports you programmed yourself.
    You can also use logical database PNP to report on data from Personnel Time Management (infotypes 2000 to 2999) and Payroll (special payroll infotypes for the USA and customer infotypes; for more information, access Customizing for the Human Resources Information System and see Payroll Results).
    Logical Database PAP
    Logical database PAP enables you to access data from Recruitment.
    regards
    navjot
    reward if helpfull

  • Use of Logical database in ABAP Queries

    hi,
    Can anybody tell me when/why do we use logical database in Infosets for ABAP Query?
    Regards,
    Divya

    hi,
    pros: -you need not to define so many own tables, fields and additional codings in your info set
    cons: - performance in huge DB's
    A.
    Message was edited by: Andreas Mann

  • Logical database of ABAP query

    Hi,
    Can anybody please let me know what is the Logical database for ETXDCI, ETXDCH & ETXDCJ (Tax tables) with any sales document tables? I need to develop one ABAP query for the users.
    I am a Functional person so I would like to know Can anybody please let me know how I can find out the Logical database?
    Your time and help will be really appreciate.
    Thanks & Regards,
    Niki Shah.

    Try the BRF logical database.
    I found it by searching in which programs the tables were used.
    It show program SAPDBBRF which is the program for logical database BRF.
    Kind regards,
    Arthur Parisius

  • ABAP Report Program Logical Database PNP

    I have a ABAP program using the logical database PNP. The report is config to run on MSS using EP. I have added code to capture the Org Unit when it is pass to the program from MSS.  My issue is how do i capture the org unit value that is passed to the program.   I have added code to capture field pnporgeh  in the START OF SELECTION event.   This works great if you are running the program from R3, but none of my edit checking against field pnporgeh works.

    Hi John,
    I am also having same trouble where in i have added a new custom(Z) report in the MSS ->My Staff -> Reporting under report category -> Time Management (MSS). I am not able to find how the value of org unit which is selected on portal screen is passed to report in R/3 which is using PNP logical db.
    I tested in debugging but selection screen parameter PNPORGEH contains nothing.
    Many Thanks in advance for the help.
    Edited by: Ankit Kashyap on Nov 17, 2010 12:40 PM

  • 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

  • Problem with logical database DDF in ABAP query

    Hi All,
          I have created an ABAP query via the transaction SQ01 using the logical database DDF to retrieve customer master data from tables KNA1 & KNB1. The selection screen used is the screen 903 of the logical database DDF. But now the problem is that when I execute the query, I am getting a blank value in the tax code4(KNA1-STCD4) field though there is value in the KNA1 table for this particular field. This field was added to the table by means of a customizing include. Can anyone suggest a way to get around this problem so that I can view the content of the field STCD4 in the query.
    Thanks and regards,
    Sarath.

    I think it's not used by DDF.
    so you must check it with:
    check kna1-bran1 in s_bran1.
    A.

  • Is Logical Database used in ABAP?????

    Hi All,
    I m very confused whether LDB's are used in ABAP or not.
    i have undergone a small training in ABAP-HR (HCM).
    In that training i was told that there is an advantage in HCM that LDB's are used here
    which were not used in ABAP.
    And i have read somewhere that LDB's are used in ABAP.
    can plz sumone give a light on this.
    Thanks,
    Sonali

    hi,
    The use of a logical database provides you with an alternative to having to program database accesses individually. Logical databases retrieve data records and make them available to ABAP programs.
    The same logical database can be the data source for several Quick Views, queries, and programs. In the Quick View, the LDB can be specified directly as a data source. A query works with the logical database when the functional area that generated the query is defined with a logical database. In the case of type 1 programs, the LDB is entered in the attributes or called using function module LDB_PROCESS. See appendix for information on how to use the function module.
    Logical databases offer several advantages:
    The system generates a selection screen. The use of selection screen versions or variants provides the required flexibility.
    The user does not have to know the exact structure of the tables involved (especially the foreign key dependencies); the data is made available in the correct order at GET events.
    Performance improvements within logical databases directly affect all programs linked to the logical database, without having to change the programs themselves.
    Maintenance can be performed at a central location.
    Authorization checks can also be performed centrally.
    A logical database is an ABAP program that reads predefined data from the database and makes it available to other programs.
    A hierarchical structure determines the order in which the data is supplied to the programs. A logical database also provides a selection screen that checks user entries and conducts error dialogs. These can be extended in programs.
    SAP provides some 200 logical databases in Release 4.6. The names of logical databases have been extended to 20 places in Release 4.0 (namespace prefix max. 10 characters).
    In the case of executable programs, you can enter a logical database in the attributes.
    Use the NODES statement to specify the nodes of the logical database that You want to use in the program. NODES allocates the appropriate storage space for the node - that is, a work area or a table area depending on the node type.
    The logical database makes the data records available for the corresponding GET events.
    The sequence in which these events are processed is determined by the structure of the logical database.
    Logical databases are made up of several sub-objects. The structure determines the hierarchy, and thus the read sequence of the data records.
    Hope this helps, Do reward

  • Can I use logical databases in a WebDynpro ABAP program?

    can I use logical databases in a WebDynpro ABAP program?
    I need to build a WDA screen that is similar to the SAPDBPNP selection screen (user can find the personnel number based on several criteria, such as last_name/first_name of the employee).  So it seems that the existing logical databases have already many nice features already built (like the selection screens, the logic behind the screens etc). So I was wondering if/how I can use them in my WDA application.

    Hello, Tiberiu.
    You cannot use LDB directly within your WDA programa. BUT, you can fetch results from this LDB by using FM LDB_PROCESS. This function module can be called anytime from any kind of ABAP program. But you will still have to create the screen, as it only processes data, not screens.
    Regards,
    Andre
    PS: Pls reward points if it helps.

  • Can I use logical databases in a WebDynpro for ABAP program?

    can I use logical databases in a WebDynpro ABAP program?
    I need to build a WDA screen that is similar to the SAPDBPNP selection screen (user can find the personnel number based on several criteria, such as last_name/first_name of the employee).  So it seems that the exisinting logical databases have already many nice features already built (like the selection screens, the logic behind the screens etc). So I was wondering if/how I can use them in my WDA application.

    Hi
    Please let me also know the solution to this. I am a beginner to WebDynpro  and want to know if I can make use of LDB's as we do in our normal HR programming do develop a WDA in HR.
    Thanks and regards,
    Uma.

  • 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

  • Logical database access in abap HR

    Dear all,
                 i am working on HR Master Report. is there any way to access logical database PNP without standard input screen.
    means due to requirement my input screen is totally different so i don't want to use standard input screen. but i want to access
    pernr table by get pernr or other functioality of PNP logical database.
    any valuable suggesstion will be much apprecaited.
    Thanks and Regards
    vijay dwivedi

    Yes, there is, by means of FM [LDB_PROCESS|http://help.sap.com/saphelp_47x200/helpdata/en/64/237f8cd43711d1950b0000e8353423/frameset.htm]
    Regards
    Marcin

Maybe you are looking for

  • HT1363 why exactly isnt  the ipod classic 1st gen compatible with windows7?

    when i connect my ipod classic 1st gen to my windows 7 32-bit labtop it says it says one of the usb devices attached to this computer has malfuntioned and wndows dose not reconize it.....i have read that the 1st gen ipod classic isnt compatible with

  • Creating a drawing (CAD) program in Java

    I'm in the planning stages of creating a drawing/drafting program in Java, and I'm fairly new to Swing, so I need some guidance. For a drafting program, I will need to be able to draw all kinds of objects using lines, curves, etc, connected in variou

  • Combobox with LOV showing ID but would like to display more meaningful text

    Hi, I'm experimenting with JDeveloper 11.2. I have a base table/eo with an FK ID to another table/eo which is a lookup table. On the base tables view I have created a combobox with LOV but it is showing the ID and I'd like it to show the name from th

  • It's urgent - - - Real time Problem

    hi experts, i am working on aging report. its a interactive report. now wht i want is that document type DR should also get totalled in the base report but this report is not doing so. please help me out that how can i include dr in the aging also. a

  • Abstract classes and constructors - cannot call abs. methods in CONSTRUCTOR

    Let me explain the scenario: I'm building a program in which I need to read a file (among other things) and I intend to use object orientation to it's fullest in doing so. I thought of creating an abstract FILE class which has the commonalities, and