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.

Similar Messages

  • 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.

  • HR Reporing Payroll using Logical Database PNPCE

    Hi ALL
    Can any body explain me how can we do HR Payroll reporing using logical database PNPCE.
    In the program attibutes as mentioned we need to scee 900 for payroll reporting, but when I use PNPCE I cant see that screen in the Dropdown.
    can any body help me with this.
    regards
    AJ

    check this program..
    REPORT    ZHR_PAYROLL_EX1
               MESSAGE-ID ZZ
               LINE-SIZE 132
               LINE-COUNT 64(2)
               NO STANDARD PAGE HEADING .
                  T A B L E S                                            *
    TABLES    : PA0001 ,        "Infotype 0001
                 PCL1,           "HR Cluster 1
                 PCL2,           "HR Cluster 2
                 T549A,          "Payroll Accounting Areas
                 T549Q.          "Payroll Periods
                  I N C L U D E S                                        *
    *--Standard Include for US Payroll
    INCLUDE RPC2RUU0.            "Cluster RD data definition
    INCLUDE RPC2CD00.            "Cluster CD Data-Definition
    INCLUDE RPC2CA00.            "Cluster CA Data-Definition
    INCLUDE RPC2RX00.            "Cluster RF data definition internat. part
    INCLUDE RPPPXD00.            "Data definition buffer PCL1/PCL2
    INCLUDE RPPPXD10.            "Common part buffer PCL1/PCL2
    INCLUDE RPPPXM00.            "Buffer handling routine
                    INTERNAL TABLES
    *Internal Table to Hold data from PA0001
    DATA : BEGIN OF I_0001 OCCURS 0,
              PERNR LIKE PA0001-PERNR,  "Personnel Number
            END OF I_0001.
    *Internal Table to Hold data from PA0001
    DATA : BEGIN OF I_FINAL OCCURS 0,
              PERNR LIKE PA0001-PERNR, "Personnel Number
              GAMNT LIKE PC207-BETRG,  "Gross Amount
              NTAMT LIKE PC207-BETRG,  "Net Amount
              PAYDT LIKE PC261-PAYDT,  "Pay Date
              RUNDT LIKE PC261-RUNDT,  "Run Date
              VORNA LIKE PA0002-VORNA,  "First Name
              NACHN LIKE PA0002-NACHN,  "Last Name
            END OF I_FINAL.
    *Internal Table to Hold data from PA0002
    DATA : BEGIN OF I_0002 OCCURS 0,
              PERNR LIKE PA0002-PERNR,  "Personnel Number
              VORNA LIKE PA0002-VORNA,  "First Name
              NACHN LIKE PA0002-NACHN,  "Last Name
            END OF I_0002.
    Control record type
    TYPES     : BEGIN OF T_T569V,
                   ABKRS    LIKE T569V-ABKRS, "Personnel Area
                   PABRJ    LIKE T569V-PABRJ, "Accounting year
                   PABRP    LIKE T569V-PABRP, "Accounting period
                   STATE    LIKE T569V-STATE, "Status of Control Record
                   ADRUN    LIKE T569V-ADRUN, "HR: Special payroll run
                 END   OF T_T569V.
                      STRUCTURES
    DATA : WA_T569V TYPE T_T569V.    " Work area for t569v
                     DATA
    DATA : V_PABRJ  LIKE T569V-PABRJ,  "Accounting year
            V_PABRP  LIKE T569V-PABRP,  "Accounting period
            V_BEGDA  LIKE SY-DATUM,     "Begin Date
            V_ENDDA  LIKE SY-DATUM,     "End Date
            V_FPPER(6) TYPE C,          "For Period
            V_SEQNR  LIKE PC261-SEQNR.  "Sequence Number
       SELECTION SCREEN
    Selectio Screen Block for Employee Selection.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_PERNR FOR PA0001-PERNR, "Pernr
                      S_DATE  FOR SY-DATUM.     "Date
    SELECTION-SCREEN END OF BLOCK B1.
       START-OF-SELECTION
    START-OF-SELECTION.
    *Get Data from pa0001
       PERFORM GET_DATA_FROM_0001.
    *Get Data from pa0001
       PERFORM GET_DATA_FROM_0002.
    *Get CHAD Details
       PERFORM GET_PAYDATA.
       END-OF-SELECTION
    END-OF-SELECTION.
       IF NOT I_FINAL[] IS INITIAL.
    *Print the Final Report.
         PERFORM PRINT_REPORT.
       ENDIF.
                    T O P  O F  P A G E
    TOP-OF-PAGE.
    Display Header
       PERFORM DISPLAY_HEADER.
                    S U B - R O U T I N E S
    *&      Form  get_data_from_0001
          Get Data from 0001
    FORM GET_DATA_FROM_0001.
       SELECT PERNR                     "Personnel Number
              FROM PA0001
              INTO TABLE I_0001
              WHERE PERNR IN S_PERNR AND
                    ENDDA >= S_DATE-LOW AND
                    BEGDA <= S_DATE-HIGH .
       IF SY-SUBRC = 0.
         SORT I_0001 BY PERNR.
       ENDIF.
    ENDFORM.                    " get_data_from_0001
    *&      Form  get_data_from_0002
          Get Data from 0002
    FORM GET_DATA_FROM_0002.
       SELECT PERNR                     "Personnel Number
              VORNA
              NACHN
              FROM PA0002
              INTO TABLE I_0002
              WHERE PERNR IN S_PERNR AND
                    ENDDA >= S_DATE-LOW AND
                    BEGDA <= S_DATE-HIGH .
       IF SY-SUBRC = 0.
         SORT I_0002 BY PERNR.
       ENDIF.
    ENDFORM.                    " get_data_from_0002
    *&      Form  populate_chad_coinage_table
          text
    FORM GET_PAYDATA.
       LOOP AT I_0001.
         READ TABLE I_0002 WITH KEY PERNR = I_0001-PERNR BINARY SEARCH.
         IF SY-SUBRC = 0.
           I_FINAL-VORNA = I_0002-VORNA.
           I_FINAL-NACHN = I_0002-NACHN.
         ENDIF.
    Read Result Directory for Payroll Results for a Employee.
         PERFORM CU_READ_RGDIR.
    Get Sequence Number & Associated Payroll Results.
         PERFORM GET_PAYROLL_RESULTS.
       ENDLOOP.
    ENDFORM.                    " get_paydata
    *&      Form  cu_read_rgdir
          Reag rgdir to get the results with conty grouping 'TD'
    FORM CU_READ_RGDIR.
       DATA : V_MOLGA  LIKE T500L-MOLGA ."Country Grouping
    *Call function module to get Results
       CALL FUNCTION 'CU_READ_RGDIR'
         EXPORTING
           PERSNR          = I_0001-PERNR
         IMPORTING
           MOLGA           = V_MOLGA
         TABLES
           IN_RGDIR        = RGDIR
         EXCEPTIONS
           NO_RECORD_FOUND = 1
           OTHERS          = 2.
       SORT RGDIR BY SEQNR.
    ENDFORM.                    " cu_read_rgdir
    *&      Form  get_payroll_results
          Get Sequence number
    FORM GET_PAYROLL_RESULTS.
       LOOP AT RGDIR WHERE   SRTZA = 'A' AND
                         VOID IS INITIAL AND
                         REVERSAL IS INITIAL AND
                         OUTOFSEQ IS INITIAL AND
                         PAYDT    IN S_DATE.
         V_SEQNR = RGDIR-SEQNR.
    *-- Macro Call for Germany
         RP-INIT-BUFFER.
         RX-KEY-PERNR = I_0001-PERNR.
         RX-KEY-SEQNO = V_SEQNR.
         RP-IMP-C2-RU.
         LOOP AT RT WHERE LGART = '/559'.
           I_FINAL-PERNR = I_0001-PERNR.
           I_FINAL-GAMNT = RT-BETRG.
           I_FINAL-PAYDT = RGDIR-PAYDT.
           I_FINAL-RUNDT = RGDIR-RUNDT.
           APPEND I_FINAL.
           CLEAR  I_FINAL.
         ENDLOOP.
       ENDLOOP.
    ENDFORM.                    "get_payroll_results
    *&      Form  display_header
          Display Header
    FORM DISPLAY_HEADER .
       FORMAT COLOR 1.
       ULINE.
       WRITE:/1 SY-VLINE,
             (15) 'Empl Number',
             SY-VLINE,
             (20) 'First Name',
             SY-VLINE,
             (20) 'Last Name',
             SY-VLINE,
             (15) 'Pay Date',
             SY-VLINE,
             (15) 'Run Date',
             SY-VLINE,
             (25) 'Gross Amount',
             132 SY-VLINE.
       ULINE.
       FORMAT COLOR OFF.
    ENDFORM.                    " display_header
    *&      Form  print_report
          Display Report
    FORM PRINT_REPORT .
       LOOP AT I_FINAL.
         WRITE:/1 SY-VLINE,
               (15) I_FINAL-PERNR,
               SY-VLINE,
               (20) I_FINAL-VORNA,
               SY-VLINE,
               (20) I_FINAL-NACHN,
               SY-VLINE,
               (15) I_FINAL-PAYDT,
               SY-VLINE,
               (15) I_FINAL-RUNDT,
               SY-VLINE,
               (25) I_FINAL-GAMNT,
               132 SY-VLINE.
         ULINE.
       ENDLOOP.
       SKIP 2.
       WRITE:/1 'Period Begin Date:',(25) V_BEGDA.
       WRITE:/1 'Period End   Date:',(25) V_ENDDA.
    ENDFORM.                    " print_report

  • Splitting "pernrs" in program that is using logical database

    Hello All,
           I have a HR program that uploads data from file into infotype 377. Everything works fine except if the file has like 20000 records the program is taking for ever to run! I am using logical database (GET PERNR) in the program. I populate my pnpindex with all pernrs from file for processing. Is there any way I can aplit pernrs (like 5000 each processing) so that I can speed up the process i.e, I want to process 5000 pernrs at a time. I tried to find solution here but no luck and I am out of ideas. If you happen to have any ideas on this, please let me know.
    Thanks.
    Mithun

    U need to code your program to run parallely ...
    look at the sample code at ..
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/interface%252bprogram%252bfor%252bmaterial%252bdata

  • How to retrieve data using logical database and custom select options

    Hi all,
    I have a selection screen which is displayed by logical database PSJ and I have two select options of my own. I need to retrieve data based on both selection screen of logical database and my own select options. How can I do it?
    Thanks in advance.

    Hai Gupta
    Check the following Document & Links
    1. A logical database is in fact
    a program only.
    2. This LDB provides two main things :
    a) a pre-defined selection screen
    which handles all user inputs and validations
    b) pre defined set of data
    based upon the user selection.
    3. So we dont have to worry about from
    which tables to fetch data.
    4. Moreover, this LDB Program,
    handles all user-authorisations
    and is efficient in all respects.
    5. tcode is SLDB
    good info about Logical Database. you can check the link.
    http://www.geekinterview.com/question_details/1506
    http://help.sap.com/saphelp_46c/helpdata/EN/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Re: How to Create and Use ldb in reports?
    Re: Logical databases
    http://help.sap.com/saphelp_46c/helpdata/en/9f/db9bed35c111d1829f0000e829fbfe/frameset.htm
    Functions for displaying and changing logical databases:
    Call Transaction SE36 or
    Choose ABAP Workbench -> Development -> Programming environ. -> Logical databases
    Interaction between database program and report:
    During program processing, subroutines are performed in the database program and events are executed in the report.
    To read data from a database tables we use logical database.
    A logical database provides read-only access to a group of related tables to an ABAP/4 program.
    advantages:-
    The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.
    i)An easy-to-use standard user interface.
    ii)check functions which check that user input is complete,correct,and plausible.
    iii)meaningful data selection.
    iv)central authorization checks for database accesses.
    v)good read access performance while retaining the hierarchical data view determined by the application logic.
    disadvantages:-
    i)If you donot specify a logical database in the program attributes,the GET events never occur.
    ii)There is no ENDGET command,so the code block associated with an event ends with the next event
    statement (such as another GET or an END-OF-SELECTION).
    1. transaction code SLDB.
    2.enter name z<ldb-name>
    3.create
    4.short text
    5.create
    6. name of root node (here Ekko)
    7. enter short text (f6)
    8.node type -> data base table.
    9.create
    10 change logical DB
    riht click on ekko and insert node
    here node name ekpo
    11.create
    12. click on selections
    13. press no Should the changed structure of Z<ldb name> be saved first.
    14.select tables which you want to join.
    15.transfer
    16 now you have to o to coding part.
    17. save
    activate.
    19.click to src code
    double click on first include and activate
    Regards
    Sreeni

  • To use logical database PNP in class builder

    Hi
    Inside the class builder (SE24), i have a created a method.
    Now while implementing that method, that is between method and endmethod
    statement can i implement logical database PNP or PNPCE.
      If 'yes' how to use it.
      if 'no' what is the other way to implement authorization.
    Pls help me

    Hello,
    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.
    Vasanth

  • How to inactivate the 'Complex Search' button when using Logical Database

    Hy experts
    I m using Logical Database for a select and you know that for an GET event by default in selection screen it appears some selection fields for every GET event..I manage to hide the ones that don't interest me but I have a little problem: I have a button that's called 'Complex Search' and I don't know how to get rid of this button..
    Here is some code:
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
    IF screen-name CP '%BT02010_BLOCK_1000'.
          screen-input = '0'.
          screen-active = 0.
          screen-invisible = 1.
          MODIFY SCREEN.
        ENDIF.
        IF screen-name CP 'QL_REFIL'.
          screen-input = '0'.
          screen-active = 0.
          screen-invisible = 1.
          MODIFY SCREEN.
        ENDIF.
    I do this for every screen-name in the program that doesn t interes me..but it seams that even if I comment all the button with 'Complex Search' remains..I mention that is a disperate solution to inactivate every screen element but I could not do other way..My bigest pb is the 'Complex Seach' button..can anyone help me?? pls.. <REMOVED BY MODERATOR> ..thx..
    Edited by: Alvaro Tejada Galindo on Feb 12, 2008 12:45 PM

    Thank you Thomas,
    I need some more from you...
    If I have 8 tables for 8 columns, then how do i proceed?
    Also could u tell me some query optimization techniques while working with intermedia text.
    Thanks you once again,
    waiting...
    Khaleel Hi Khaleel,
    I think this depends on your data model (relationship between the tables) and how you like to search later.
    The optimization begins also with the create index statement (memory clause and storage clause).
    If you like me to help I need more information about your hardware, os, datamodel and what kind of searches you will have later.
    Cheers,
    Thomas

  • Selection screen is not displaying if I use logical database CCLDB_AENR

    Hi Experts,
    If I use the logical database CCLDB_AENR in my custom program, it is not displaying my custom program selection screen. It is only displaying the logical database selection screen.
    some one help me how we can handle this.
    Thanks,
    Naresh.

    Hi Experts,
    If I use the logical database CCLDB_AENR in my custom program, it is not displaying my custom program selection screen. It is only displaying the logical database selection screen.
    some one help me how we can handle this.
    Thanks,
    Naresh.

  • Query using logical database

    Hi,
    There is one query which is using logical database PNM. I have got one requirement to add one field in selection screen to filter the output. The field which is required to be displayed in selection screen to filter the data is from table mkal which is not present in logical database. Hence my question is, is it possible to add field from table which is not present in logical database? IF yes, please specify the procedure.

    Hi Jogeswara,
    Thanks for your inputs.
    But my question is, how can I filter the data which is being fetched by standard logical database. I cannot go inside the std. LDB and change internal tables of it. I tried coding in extras, but I think it works only if we want to add additional fields in output.
    At present, we are considering the option of creating a z LDB where we copy. std. LDB and also add the reqd. table which is not present in LDB.
    Is there any other option?
    Please provide your valuable inputs.
    Regards,
    Imran Kundan.

  • Duplicated entries in BSIK using Logical Database KDF

    Hello everyone,
    I'm using Logical Database KDF to retrieve some data, but i'm getting duplicated entries when getting to BSIK. Can anyone point out in my program what could i be doing wrong?
    If i put a breakpoint in the line immediatly below GET bsik, i can watch several entries being duplicated.
                                         Thanks in advance to everyone,
                                                       Nuno
    START-OF-SELECTION.
    GET lfa1.
      MOVE-CORRESPONDING lfa1 TO t_alv.
    GET lfb1.
    GET bsik.
      MOVE-CORRESPONDING bsik TO t_alv.
      CLEAR bkpf.
      SELECT SINGLE * FROM  bkpf CLIENT SPECIFIED
             WHERE  mandt  = syst-mandt
             AND    bukrs  =  bsik-bukrs
             AND    belnr  = bsik-belnr
             AND    gjahr  = bsik-gjahr.
      t_alv-xblnr = bkpf-xblnr.
      SELECT        * FROM  bset CLIENT SPECIFIED
             WHERE  mandt  = syst-mandt
             AND    bukrs  = bsik-bukrs
             AND    belnr  = bsik-belnr
             AND    gjahr  = bsik-gjahr.
         t_alv-mwskz = bset-mwskz.
          t_alv-hwbas = bset-hwbas.
          t_alv-hwste = bset-hwste.
          t_alv-dmbtr = bset-hwbas + bset-hwste.
          t_alv-stceg = lfa1-stceg.
        APPEND t_alv.
      ENDSELECT.

    Hello Nuno Centeio ,
                                      According to the table definition there can be more than one entries for a vendor based on the table key definition.
    Thanks,
    Greetson

  • Radio Button problem when using Logical Databases.

    Hi,
    I have a report that uses logical database PCH.  I'd like to default the reporting period radio button so that when the report is run it is defaulted to today.
    The name of the screenfield is PCHZTR_D so I set
    PCHZTR_D = 'X'. 
    in the initialisation event but this doesn't work.
    Any suggestions how I can get the reporting period to default to 'today' programmatically.
    I don't want to use a variant.
    Thanks,
    Paul

    Try doing it in the AT SELECTION-SCREEN output Event.
    report zrich_0001.
    nodes: objec.
    <b>at selection-screen output.
    PCHZTR_A = space.
    PCHZTR_D = 'X'.</b>
    REgards,
    Rich HEilman

  • Why u  use logical databases

    how u used logical database?how is data transferrd to program?corresponding statement in LDB?

    Hi,
    Logical databases are programs that does useful tasks like data fetch, Authorization check on behalf of thep program to which you attach them.
    Some of the Tasks of LDB's.
    <b>Reading the same data for several programs.</b>
    The individual programs do not then need to know the exact structure of the relevant database tables (and especially not their foreign key relationships). Instead, they can rely on the logical database to read the database entries in the right order during the GET event.
    <b>Defining the same user interface for several programs.</b>
    Logical databases have a built-in selection screen. Therefore, all of the programs that use the logical database have the same user interface.
    <b>Central authorization checks</b>
    Authorization checks for central and sensitive data can be programmed centrally in the database to prevent them from being bypassed by simple application programs.
    <b>Improving Performance</b>
    If you want to improve response times, logical databases permit you to take a number of measures to achieve this (for example, using joins instead of nested SELECT statements). These become immediately effective in all of the application programs concerned and save you from having to modify their source code.
    The data fetch happend with the PUT_XXXX subrotuines in the Logical database programs.
    Example:
    DATABASE PROGRAM OF THE LOGICAL DATABASE TEST_LDB
    PROGRAM sapdbtest_ldb DEFINING DATABASE test_ldb.
    TABLES: lfa1,
            lfb1,
            lfc1,
            bkpf.
    Initialize selection screen (process before PBO)
    FORM init.
    ENDFORM.                                "INIT
    PBO of selection screen (always before selection
    screen
    FORM pbo.
    ENDFORM.                                "PBO
    PAI of selection screen (process always after ENTER)
    FORM pai USING fname mark.
      CASE fname.
        WHEN 'SLIFNR'.
        WHEN 'SBUKRS'.
        WHEN 'SGJAHR'.
        WHEN 'SBELNR'.
      ENDCASE.
    ENDFORM.                                "PAI
    Call event GET LFA1
    FORM put_lfa1.
      SELECT * FROM lfa1
               WHERE lifnr      IN slifnr.
        PUT lfa1.
      ENDSELECT.
    ENDFORM.                                "PUT_LFA1
    Call event GET LFB1
    FORM put_lfb1.
      SELECT * FROM lfb1
               WHERE lifnr      =  lfa1-lifnr
                 AND bukrs      IN sbulrs.
        PUT lfb1.
      ENDSELECT.
    ENDFORM.                                "PUT_LFB1
    Call event GET LFC1
    FORM put_lfc1.
      SELECT * FROM lfc1
               WHERE lifnr      =  lfa1-lifnr
                 AND bukrs      =  lfb1-bukrs
                 AND gjahr      IN sgjahr.
        PUT lfc1.
      ENDSELECT.
    ENDFORM.                                "PUT_LFC1
    Call event GET BKPF
    FORM put_bkpf.
      SELECT * FROM bkpf
               WHERE bukrs      =  lfb1-bukrs
                 AND belnr      IN sbelnr
                 AND gjahr      IN sgjahr.
        PUT bkpf.
      ENDSELECT.
    ENDFORM.                                "PUT_BKPF 
    Regards,
    Sesh

  • Why and how we use Logical Database?

    Can anybody explain with example why and how we use logical database?
    Regards,
    Rajan

    Hello,
    SAP comes loaded with all the extras. Among the extras that are most helpful to IT managers are all the access routines needed to pull any business object that managers can think of out of SAP databases. However, SAP has not thought of everything where your particular applications are concerned. SAP organizes its standard database tables to service business units based on conventional business applications. Itu2019s likely your business requires something new, perhaps even something exotic. In that case, you will need to create a new database, using information from different places. Basically, you need a logical database. You need to create a virtual business data object repository consisting of a new kind of record or table that suits your purposes. In addition, the repository should be composed of information that is actually stored in a number of different locations, none of them necessarily logically associated with one another. Letu2019s take a closer look at creating logical databases.
    A case for a logical database
    Suppose my company manufactures widgets of the most obscure variety, and they are components of other widgets. I sell my widgets as raw material for the more sophisticated widgets built by others, but in some cases I actually partner with other manufacturers in creating yet another class of widget. Now, in my world, I consequently have customers who are also partners. I sell to them and I partner with them in manufacturing and distribution. Also, I need an application that uses both of these dual-use relationships.
    Essentially, I have a customer database and a partner database. Neither contains records that are structured to contain the identifying particulars of the other. Thus, I need a hybrid database that gives me tables detailing these hybrid relationships. What can I do? I can go the long way around and write a new database, pulling information from both and creating new objects with a customized program that I write by hand. However, this process is cumbersome and contains maintenance issues. On the other hand, I can use SAPu2019s logical database facility, create my logical database in a couple of minutes, and have no maintenance issues at all.
    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.
    u2022     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.
    u2022     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.
    u2022     Database access programming: Once youu2019ve 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
    ABAP/4 (Advanced Business Application Programming language, version 4) is the language created by SAP for implementation and customization of its R/3 system. ABAP/4 comes loaded with many predefined logical databases that can construct and table just about any conventional business objects you might need in any canned SAP application. However, you can also create your own logical databases to construct any custom objects you care to define, as your application requires in ABAP/4. Hereu2019s 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.     Youu2019ll be prompted for a short text description of your new logical database. Enter one. Youu2019ll then be prompted to specify a development class.
    4.     Now comes the fun part! You must 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 youu2019ve 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 donu2019t have to write a single line of code.
    Regards
    Arindam

  • How to use Logical database in function module?

    I will create a function module in HR.
    but how to use Logical database  in function module ?  Logical database PNP always show screen.in function (RFC) code , it is a matter.

    You cannot attach the LDB to the main program of the function group.
    - So you may [SUBMIT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=submit&adv=false&sortby=cm_rnd_rankvalue] a report which use the LDB and get back the data (export/import), by default in the syntax of SUBMIT the selection-screen will not be displayed
    - Use [LDB_PROCESS|https://www.sdn.sap.com/irj/sdn/advancedsearch?query=ldb_process&cat=sdn_all], fill a structured table for selection, and get data back in another table
    - Use [HR function modules to read Infotypes|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=hrfunctionmodulestoread+Infotypes&adv=false&sortby=cm_rnd_rankvalue].
    Regards

  • Can we use different Databases (Oracle & SQL Server) in one report?

    Post Author: venki5star
    CA Forum: .NET
    Hi there.
    Can we use different databases (Oracle & SQL Server) in a same report?
    If possible how?
    Another question,
    Can we change the Provider Name at runtime of the given report. If so the above question is useless...
    Thanks in Advance.

    I tried this using Oracle Provider for OLEDB (the one that supplied by Oracle Client) and Crystal Reports 9. you can drag the column into designer but the image does not appear in preview.
    I guess it's because CR does not recognized it as image, and there are no information that the blob data is an image at all.

Maybe you are looking for

  • Error when @Singleton in Glassfish v3 and weld. CDI not working for EJBs.

    Hello, I am getting the following error when deploying a web app with a SSB with the @Singleton annotation. If I use javax.ejb.Singleton I get the error. If I use @Stateless and @Singleton with javax.inject.Singleton, I don't. I use Glassfish v3 with

  • Problem when updating dhcpcd file

    My internet is working fine except when i update the dhcpcd file i can't access a lot of server or site. Example, i use the gatech server with pacman but after the dhcpcd update i can't. I can visit the archlinux website but not his wiki or forum...

  • My itunes freezes when syncing apple tv

    I upgraded to the new version of itunes and my apple tv did it's software upgrade too But now i can't sync my apple tv with my itunes it just freezes, i've done factory restore on the apple tv and it just won't do anything!

  • RFQ release strategy

    Hi I have a problem. I use RFQ release strategy but can create PO with reference to not released RFQ. I need to create PO's only with reference to released RFQ, same as with reference to released contract (I can't create PO with reference to not rele

  • 802.1x switches as intermediaries

    While viewing the documentation for configuring 802.1x on Cat Series switches; there is a statement to the effect that certain switches (Cat 2940 through Cat 3750) can be used as intermediaries. What does this really mean? Is this the edge switch its