How to write logic

Experts..
iam developing a report.
i need to get the data from REGUP basedon BKPF.
ihave writeen logic like this
SORT I_BKPF BY BUKRS BELNR GJAHR.
  IF NOT I_BKPF IS INITIAL.
    SELECT LAUFD
           XVORL
           ZBUKR
           LIFNR
           KUNNR
           VBLNR
           BUKRS
           BELNR
           GJAHR
           BUZEI
           ZLSCH
           WAERS
           XBLNR
           BLART
           BUDAT
           BLDAT
           HKONT
           SAKNR
           SHKZG
           DMBTR
           WRBTR
           MWSTS
           WMWST
           SGTXT
           ZTERM
           WSKTO
           AUFNR
           EBELN
            FROM REGUP into table i_REGUP
          FOR ALL ENTRIES IN I_BKPF
            WHERE BUKRS = I_BKPF-BUKRS AND
                  BELNR = I_BKPF-BELNR AND
                  GJAHR = I_BKPF-GJAHR AND
                  XVORL NE 'X' AND
                  LIFNR IN S_LIFNR.
endif.
here BKPF contatain morethan 1 lkhs entries.
this query is taking lot time because REGUP is cluster table.
tell me is there any alternative to FOR ALL ENTRIES.
thanks in advance
regrards
niru

Hi Neeru
Please try to fetch the data in packages using the OPEN CUROSOR, FETCH and CLOSE CURSOR statements. By that you can limit your search list. This will have more DB hits but less data transfer. Or other option would be search for alternative search path by which you can use the primary index of your DB table i.e. LAUFD and LAUFI.
Hope this helps !
Regards
Ranganath

Similar Messages

  • How to write Additional Logic IN SAP Query

    Hi All,
    I need to Add 1 more field in Query.
    How to Write a Logic in Infoset?
    For Ex : Need to add age field in the output.
    Thanks
    Partha.

    Hi,
    Refer to this link..Additional field in SAP Query
    [Creating Additional Fields |http://help.sap.com/saphelp_nw04/helpdata/en/d9/9958e0c50a11d396f80000e82de14a/frameset.htm]
    [Code|http://help.sap.com/saphelp_nw04/helpdata/en/d9/9958e0c50a11d396f80000e82de14a/frameset.htm]

  • How to write the logic for extending Idocs...

    Hi,
          Can anybody pls explain how to write the logic for extending IDOCs with an example...
          Good suggestions can be appreciated..
    Regards,
    Ram

    Hi Ram,
    Generally the IDoc user exit is called at the following places:
      1) When the control record is read.
      2) After each and every segment in the data record
      3) At the end of the data segment processing.
    The IDoc user exit interface generally imports IDOC_DATA (data record internal table) table. Now the data records in the internal table should appear in the same order as maintained while defining IDoc structure (WE30 transaction). For SAP standard segment SAP code will take care of this. For extended segment you will have to take care of this aspect by appending the Z-segment in the IDOC_DATA table.
    You can do this by:
             looping at IDOC_DATA table:
                 - Do a case-endcase fo IDOC_DATA-SEGNAM (This stores the segment 
                   structure as per the hierarchy).
                 - Within the case for "Z-segment" you can write the logic for appending
                   the Z-segment to IDOC_DATA-SDATA.
    Hope this gives some clue.
    Regards,
    Gajendra.

  • How to write ABAP HR reports in ABAP web dynapro

    Hi All,
    How  to write ABAP HR reports in ABAP web dynapro? We can add HR REPORT CATEGORY in ABAP HR using logical database like PNP.How to add HR REPORT CATEGORY in ABAP Webdynapro ?
    Thanks.

    You can't use legacy concepts like logical databases directly in Web Dynpro ABAP.  Even if you could do so, you shouldn't.  Web Dynpro ABAP should always follow MVC - meaning that your business logic (the model) should be separated from WD as much as possible. This means calling function modules or class methods to consume the business logic and data.  So in general there should be no difference between building HR reports or any other type of report in WDA - since from the WDA side you are calling other objects to consume the data. 
    This probably does mean that you will need to create classes to expose the HR data that you want in your WDA.

  • How to write test case for ViewController project using JUnit ?

    Hi All,
    JDev ver : 11.1.1.5
    JUnit : 1.9 jar added.
    I am writing test cases for my ViewController project. View project contains beans and other business logic files.
    So, for that I want to write test cases.
    In lot of codes I have FacesContext instance, there I am getting null pointer error.
    ex:
    public static String getFromHeader(String key) {
    FacesContext ctx = getFacesContext();
    ExternalContext ectx = ctx.getExternalContext();
    return ectx.getRequestHeaderMap().get(key);
    How to write cases for this scenario ?
    I came to know to use mockito, But I dont know how to mock the FacesContext.
    Anyone please help.
    Thanks,
    Gopinath

    Gopinath,
    Although I've not used it and cannot therefore say anything about whether it's useful or not - have you looked at JSFUnit?
    John

  • How to write a procedure for update the table

    Hi all
    can any body please tell me how to write a procedure to update the table......
    I have a table with about 10,000 records...........Now I have add a new column and I want to add values for that like
    registration Code Creidits
    13213 BBA
    1232 MCS
    I had add the creidit now i want to update the table.........the new value want to get by SQL like
    Creidit = select creidit from othere_table...........
    Hope u can understand my problem
    Thanks in advance
    Regards
    Shayan
    [email protected]

    Please try the following --
    update Program_reg a
    set TotalCreidit = ( select tot_cr <Accroding to your logic>
                                from Program_reg b
                                where a.Registration = b.Registration
                                and    a.Enrollment = b.Enrollment
                                and    a.code = b.code
    where a.Registration in ( select distinct Registration
                                        from Program_reg );
    N.B.: Not Tested....
    Regards.
    Satyaki De.

  • How to use logical operator

    Hi ,
    I hava a problem while using logical operators.
    I wrote a procedure to compare two strings.please check the following.
    CREATE OR REPLACE PROCEDURE comp_str(sour_str IN varchar2,targ_str IN varchar2) AS
    leng_sour_str number:=NVL(length(sour_str),0);
    leng_targ_str number:=NVL(length(targ_str),0);
    leng_str number:=NULL;
    BEGIN
    IF sour_str IS NULL THEN
    dbms_output.put_line(leng_targ_str);
    elsif targ_str IS NULL THEN
         dbms_output.put_line(leng_sour_str);
    ELSE
         select utl_match.edit_distance(leng_sour_str,leng_targ_str) into leng_str from dual;
    END IF;
    dbms_output.put_line(leng_str);
    IF (leng_str > 0) OR (leng_sour_str > 0) OR (leng_targ_str > 0) THEN
    dbms_output.put_line('Strings are not same');
    ELSE
    dbms_output.put_line('Strings are same');
    END IF;     
    END comp_str;
    IF (leng_str > 0) OR (leng_sour_str > 0) OR (leng_targ_str > 0) statement is not verifying the conditions properly.
    Please suggest me that how to write multiple conditions with OR Operator or any alternative.
    thanks in advance.

    They are working exactly as you expect it. The problem in your code is probably the "utl_match.edit_distance"-procedure. Do you know the outcome of this procedure?
    Why don't you try something like
    declare
      l_string1   varchar2(255) := 'String1';
      l_string2   varchar2(255) := 'String 2';
    begin
      if length(l_string1) > length(l_string2) then
        dbms_output.put_line('String 1 is longer than String 2');
      else
        dbms_output.put_line('String 1 is shorter than String 2');
      end if;
    end;This way, you can change one string or the other and see, how it works. With utl_match.edit_distance you need to know what exactly they are computing to see what the logical comparison is doing.

  • How to call logical database

    hi friends,
        plz explain me how to call logical database in a report program?

    hi,
    Logical databases are special ABAP programs that retrieve data and make it available to application programs. The most common use of logical databases is still to read data from database tables by linking them to executable ABAP programs.
    However, from Release 4.5A, it has also been possible to call logical databases using the function module LDB_PROCESS. This allows you to call several logical databases from any ABAP program, nested in any way. It is also possible to call a logical database more than once in a program, if it has been programmed to allow this. This is particularly useful for programs with type 1.
    Logical databases contain Open SQL statements that read data from the database. You do not therefore need to use SQL in your own programs. The logical database reads the program, stores them in the program if necessary, and then passes them line by line to the application program or the function module LDB_PROCESS using an interface work area.
    Logical Databases - Views of Data
    A logical database provides a particular view of database tables in the R/3 System. It is always worth using logical databases if the structure of the data that you want to read corresponds to a view available through a logical database.
    The data structure in a logical database is hierarchical. Many tables in the R/3 System are linked to each other using foreign key relationships. Some of these dependencies form tree-like hierarchical structures. Logical databases read data from database tables that are part of these structures.
    Advantages of Logical database -
    1) No need of programming for retrieval , meaning for data selection
    2) Easy to use standard user interface, have check completeness of user input.
    Disadvantages
    1) Fast in case of lesser no. of tables But if the table is in the lowest level of hierarchy, all upper level tables should be read so performance is slower.
    GO THROUGH THE LINKS
    http://www.sap-basis-abap.com/saptab.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/frameset.htm
    /people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases
    Re: **LDB**
    www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_Logical_Database_FAQ.html
    www.sap-img.com/abap/abap-interview-question.htm
    www.sap-img.com/abap/quick-note-on-design-of-secondary-database-indexes-and-logical-databases.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/db9bb935c111d1829f0000e829fbfe/content.htm
    Use Tcode SE36 For creating Logical Database.
    Here is a simple Program on Logical database.
    NODES: spfli,sflight.
    START-OF-SELECTION.
    WRITE 'Test Program for GET'.
    *Fetching SPFLI table
    GET spfli.
    WRITE: / 'Carrid:', spfli-carrid,
    'Connid:', spfli-connid.
    *Fetching SFLIGHT table
    GET sflight.
    SKIP 5.
    WRITE: / 'Carrid:', sflight-carrid,
    'Connid:', sflight-connid.
    logical database
    logical database
    http://help.sap.com/saphelp_nw04/helpdata/en/60/183d78163011d2953c0000e8353423/frameset.htm
    general
    example program
    http://help.sap.com/saphelp_nw04s/helpdata/en/9f/db9be035c111d1829f0000e829fbfe/frameset.htm
    regards,
    pavan
    REWARD POINTS IF USEFUL

  • Can any one tell me how to write open hubs to application server?

    Hello Everone,
    I created open hubs and my requirement is to write the file to application server. So, I created logical file name and logical paths as specified in below link.
    http://help.sap.com/SAPHELP_NW04S/helpdata/EN/8d/3e4ec2462a11d189000000e8323d3a/frameset.htm
    That is created 'logical file path defination' in 'FILE' transaction. Used the physical path as - 'bw/FTPOUT/BPR/GM/<FILENAME>' as given in above link..
    In logical file name I used the above logical file path.
    When I run the open hub, I'm getting the ABAP dump  "UNCAUGHT_EXCEPTION
    CX_RSB_WRITE_ERROR
    12/18/2008 09:00:40"
    Can any one tell me how to write open hubs to application server?

    Hi David,
    Goto transaction code - FILE
    1) Create a Logical File Path definition, enter the technical name and description by clicking new entries and save it.(z_ftp)
    2) create a Logical file name definition using cross client,
        enter the logical file name = z_ftp , name = ftp , physical file = ftp_test.txt,
    dataformat = ASC, Appln area = BW and Logical path = z_ftp(created from step 1).
    click SAVE button.
    3) Assignment of physical paths to logical paths, choose your logical path here.
    enter the syntax group = UNIX
    Physical path = /bwftp/....
    Save it .
    In the openhub,
    choose definition type = file
    Check the applicaion sever.
    servername = dev
    type of file name = Logical file
    Applin server file name = z_ftp
    separator = |
    Hope this helps and solve your problem.
    Thanks
    Sat

  • How to convert logical standby database to Physical Standby Database

    Hi,
    Does anyone know how to convert logical standby database(10.2.0.3) to Physical Standby Database(10.2.0.3)? Is this possible? If so,please give me steps for it.
    Thanks.
    Regards,
    RJ.

    I don't believe this to be possible. One of the steps invloved in the creation of a logical standby is the following:
    ALTER DATABASE OPEN RESETLOGS;
    This makes the logical standby a different incarnation of the db from the primary.
    A physical standby is a binary copy of a primary db, a logical standby is a completely seperate db that just happens to get sql statements applied to it that are generated from a primary db, but is open read/write.
    One avenue, though would be if you had flashback database enabled and you flashed back all the way to when the db was a physical standby and then rolled forward with the archived redo logs.
    It's somewhat unlikely you are in that situation, but that is a possibility.
    Indeed the 11g snapshot standby does this sort of thing:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/manage_ps.htm#sthref740
    jason.
    http://jarneil.wordpress.com

  • In Fi Hw we wll interact with Abapers and hw we wll write logic for reports

    hi every body...
    my name is ravi prasad.  i need one help.in FI....in real time as a sap FI consultant how we will interact with Abapers.and
    how we will write Logic for the Reports. please send me step by step.
    My mail id is    [email protected]
    Thank you very much.
    Awaiting for your response.

    hi,
    Please give me one example , and how we enter into tables, and how we know which table we have to use, and we will write logic.
    Ex;---if our client needs total sales commission payed by him.... if it is below 100,
    and if it above hundred....like that
    for that purpose in which place we will write logic.; i need the place where we write the logic.
    please send me tcodes and step by steps.
    Thank you very much,
    awaiting for your reply.
    my mail id is      [email protected]

  • Can you plz tell m how to write Design Strategy in the scenario IDoc-- File

    Hi,
    can any body plz tell me how to write Design strategy, Preprocessing logic and post processing logic in the scenario IDoc-->File.
        My idoc is:
                Message Type: ZMMIPORDCHG
                Basic Type  : ORDERS05.
    lookup's are available.

    Hi,
    take a look at this document for an IDOC to IDOC Scenario,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cdded790-0201-0010-6db8-beb9bb2b2660
    Use it as a template to design one side of the Interface and also take a look at this blog,
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
    Regards,
    Bhavesh

  • 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 write the given query using 'ANY ' operator

    Hi,
    How to write the given query using 'ANY ' operator , I dont need to fetch to grade_master table twice in database, just need to fetch within the result set.
    SELECT dsg_code,dsg_name,dsg_grade FROM designation_master WHERE dsg_orgn='&&Orgn' and dsg_ctry='&&ctry'
    And dsg_loc ='&&loc' And dsg_oru = '&&oru' and dsg_grade in decode('&&radio_group',
    1, SELECT grd_code FROM grade_master WHERE grd_osm_code in (Select grd_osm_code FROM grade_master WHERE grd_orgn='&&Orgn' and grd_ctry='&&ctry' And grd_loc ='&&loc' And grd_oru = '&&oru' and grd_code ='&&emp_grade'),
    2, SELECT grd_code FROM grade_master WHERE grd_osm_code > (Select grd_osm_code FROM grade_master WHERE grd_orgn='&&orgn' and grd_ctry='&&ctry' and grd_loc ='&&loc' And grd_oru = '&&oru' and grd_code),
    3, SELECT grd_code FROM grade_master WHERE grd_osm_code < (Select grd_osm_code FROM grade_master WHERE grd_orgn='&&orgn' and grd_ctry='&&ctry' And grd_loc ='&&loc' And grd_oru = '&&oru' and grd_code ='&&emp_grade'))
    thanks
    rincy

    Hi,
    One thing I understood my your issue is you want to perform, execution of query once or fetch the results sets my minimizing the number of times executions of queries. It would be hard for us to check in this way, atleast provide some temporary data and some business rules. Only I can IN, >, < (queries logical conditons on inner query)
    - Pavan Kumar N
    - ORACLE OCP - 9i/10g
    https://www.oracleinternals.blogspot.com

  • How to write queries more efficiently? Please Help a sinking guy

    Hello Query Guru's,
      I am having issue writing the SQL statements efficiently, please help/guide me to learn how to write SQL’s more efficiently and logically. At my work I am being a fun every day by my team when comes the coding please guide me to become an efficient query writer. I am starving and ready to do hard work but need to know the correct path.
    Thanks in Advance.

    You could pick up examples from introductory books on Oracle.
    For example the Certification Guides for the Oracle SQL Fundamentals Guide  (1Z0-051 http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-051&p_org_id=&lang=    ) .  Search bookstores / amazon.com  for books for 1Z0-051
    You could also look at Jason Price's book Oracle Database 11g SQL  :  http://www.amazon.com/Oracle-Database-11g-SQL-Press/dp/0071498508/ref=sr_1_1?ie=UTF8&qid=1372742972&sr=8-1&keywords=Jason+Price
    Hemant K Chitale

Maybe you are looking for