Need to select from BSEG on Non Key fields.

Hi all,
I am developing a report on Work Order Cost Analysis. The selection screen has Order Type (AFPO-DAUAT), Plant (AFPO-DWERK), Date range (AFKO-GLTRI) and Part Number (AFKO-PLNBEZ) as the selection criteria. <b>All the orders and their corresponding object numbers (OBJNR) are picked in an internal table</b>, for all orders that fulfill the selection criteria and their Actual Finish Date (AFKO-GLTRI) falls between the entered date range.
Now comes the problem, <b>corresponding to these Order Numbers I need to pick records from BSEG.</b> Since this is not a key field in BSEG, its not indexed and the report times out on the Development Server itself.
<b>I also tried using COEP</b> table as the fields that I need are present there as well (Though I am not sure weather it would be give me all the lines of records that I need from BSEG), but that operation also times out.
LDBs also don't seem to help. Is there any way I can achieve the above?
<b>PLEASE HELP. REWARDS GUARANTEED.</b>
Regards,
Nikhil

OK - a couple of things:
In the select from covp, you are retrieving the CO document data not the FI document data, so you need the reference documents.
Even though OBJNR is the first field of a key it will not be very selective. It would be better if you could specify more fields. Fortunately, some are standard and you can probably figure out what to use. If you can limit this to a single fiscal year, it would be best. Failing that, you should specify any (or all) fiscal years in a range table (using =).
This is the select that I came up with:
SELECT refbk refbn refgj refbz
       FROM  covp
       INTO  CORRESPONDING FIELDS OF TABLE it_covp
       FOR ALL ENTRIES IN it_worder
       WHERE lednr = '00'               "Standard ledger
       AND   objnr = it_worder-objnr
       AND   gjahr IN s_gjahr
       AND   wrttp = '04'               "Actuals
       AND   versn = '000'              "Plan/Actual ver.
       AND orgvg = 'RFBU'.              "FI Postings
I filled s_gjahr with the individual years from 1995 to 2006 and it ran in under 20 minutes. (The first select was wide open and selected all.)
Rob
By the way - do you still need to go to BSEG, or can you get everything you need from COVP?
Message was edited by: Rob Burbank

Similar Messages

  • Selection from BSEG table

    Hi all
    In one of my program i have to use selection from BSEG by using non key fields like anln1, hkont  etc.
    My program run time taking too much time i.e 1.5 to 2hrs
    Is there any criteria to reduce my run time.
    plz help
    thks
    sateesh

    Hi
    If you need a select by field hkont (so G/L account) use the table BSIS (open item) and BSAS (cleared item)  instead of BSEG, just Eric said.
    SELECT * FROM BSAS WHERE BUKRS = BUKRS
                                              AND HKONT = HKONT.
       SELECT SINGLE * FROM BSEG WHERE BUKRS = BSAS-BUKRS
                                                              AND BELNR = BSAS-BELNR
                                                              AND GJAHR = BSAS-GJAHR
                                                              AND BUZEI  = BSAS-BUZEI.
             SELECT SINGLE * FROM BKPF WHERE BUKRS = BSAS-BUKRS
                                                                   AND BELNR = BSAS-BELNR
                                                                   AND GJAHR = BSAS-GJAH.
    Max
    Edited by: max bianchi on Nov 5, 2008 11:03 AM

  • Select From BSEG

    Hi
    The below mentioned piece of code is throwing a dump in Production system.
    Is there any way of alternate selection.
      IF NOT it_pos[] IS INITIAL.
        SELECT * FROM bseg INTO
                 TABLE it_bseg
                 FOR ALL ENTRIES  IN it_pos
                     WHERE  bukrs IN dd_bukrs
                     AND    belnr = it_pos-belnr
                     AND    gjahr = it_pos-gjahr.
      ENDIF.
    Regards
    Subin.S

    I think you need to post a few more details of the environment and error to assist people in offering solution.
    Questions I think of are:
    - What type of dump are you getting? - Out of Time? Out of Memory? Other?
    - How many entries are in internal table it_pos[] before the BSEG select starts?
    - How many entries are in BSEG approximately?
    - Do you need all the BSEG records to be selected into an internal table at once or can you process them in smaller sets?
    - Do you have a number of other large internal tables in your program?  Can any of these be cleared to free up memory?
    - can you run SQL trace (ST05) against the program to see the execution time for each fetch from BSEG and how many records each fetch returns?
    - why are you doing two selects from BSEG? What is the difference between them? normally better to get all the fields at the same time instead of selecting twice.
    - in Development or Test where there is less data, does tha program run OK?  If so, can you run it in SE30 to see what that transaction highlights as performance or similar issues?
    - what table or tables do you fill table it_pos[] from?  are there any duplicate records in this internal table?
    - what SAP version are you running?  32 bit or 64 bit?  What database?
    To solve an issue like this with a program these and probably dozens of other questions must be asked and answered - and as the person on the site you are the only one able to get the answers. 
    Posting more details will help forum readers to evaluate the issue in light of their experience and to provide further suggestions.  The more information you can give - the more likely that someone will be able to answer.
    thanks
    Andrew

  • Old key field FROMNUMBER is now non-key field

    Hi All,
    I am getting one issue with NRIV table.When I tried to activate this table from se11 it is giving error as
      Program start============================================================
      Mass activation
      =========================================================================
      Process..................: presap_4
      User.....................: ABAP1
      Date, time...............: 19.02.2007, 12:50:33
      Platform.................: CUSTOMER-PRE(620)/ORACLE/WindowsNT/presap
      Tool.....................: SE11_OLD/RADMASG0
      Log......................: T, ABAP120070219125033
      Program parameters:
      Input medium..............: Direct object entry
      Activation method.........: Activ
      Chk. mode.................: O
      Version to be activated...: M
      Versions to Be Deleted....: Delete only active versions
      Lock against paral. exec..: Shared
      Parallel mode.............: Switched off
      =========================================================================
      Start phase 001 **********************************************************
            Activation of objects
    Activate objects at level 1
        Old key field FROMNUMBER is now non-key field
      Structure change at field level (convert table NRIV)
            Activation of objects
      End phase  001 ***********************************************************
               Activation of objects
    Activate objects at level 1
           Old key field FROMNUMBER is now non-key field
         Structure change at field level (convert table NRIV)
               Activation of objects
         End phase  001 ***********************************************************
         Start phase 002 **********************************************************
               Final log
         Following objects not activated/deleted or activated/deleted w. warning:
         Table NRIV could not be activated
         (E- Structure change at field level (convert table NRIV) )
           Final log
    End phase  002 ***********************************************************
    Start phase 003 **********************************************************
           Statistics on activated and deleted objects
    Number of objects to be activated............:  1
    Objects not activated........................:  1
    Activated objects with errors in dependencies:  0
    Objects activated with warning...............:  0
    Successfully activated objects...............:  0"
    Can any one help in this.It is bit urgent.
    Thanks,
    Krishna

    Hi Brend,
    Thanks for the reply.
    But could you tell me how to convert this table and what to convert.
    Posibble could you give this with step by step, we are struck with number range issues with this problem and needed with critical.
    Thanks for the help in advance.
    Krishna

  • Non key field in Maintainance View

    Hi,
    I have generated a maintainance view for a Z table. I want to sort data from SM30 by means of a selection screen, for that, in the 'View Flds' tab in the maintainance view, i have entered a 'S' for which ever fields i want to filter the data on.
    When i execute the table maintainance, i am able to see only the key fields and not the non-key ones in the selection popup, though i have put a 'S' for both, the key and non-key fields.
    Can anyone please let me know how to get the non-key fields on the selection popup when i execute the maintainance view?
    Cheers,
    Raghav.

    Not possible via this functionality. A workaround was suggested by Raymond in this thread:
    Transaction code for Table Maitainence for table
    Thomas

  • How can we protect the  ztable non key fields data in sm30 display.

    Hi experts,
         I have created tablemaintenence generator for one z table, in sm30 user has access to enter the data.
    in that maintenence i have to protect the non key field values data  like once the user saves his data.than in the edit mode it has to show the nonkey fields data  but  dont access to edit some nonkey fields... please help

    Hi
    U need to change the screen flow generated by maintenance view generator: here go to Enviroments->Modifications->Screen; doubleclick on your screen and the system take you to screen painter.
    Here go to screen flow and in PBO add new module in order to protect the field for the old records: u can use the statament LOOP AT SCREEN./ENDLOOP to do it.
    LOOP AT SCREEN.
       IF .....
         SCREEN-INPUT = 0.
         MODIFY SCREEN.
       ENDIF.
    ENDLOOP.
    Max

  • Changing Non key field to Key field in a custom table

    Hello Abap gurus:
    I have a requirement in which i need to change a non key field in my custom table(Z TABLE) to key field.
    For example; i have field sequence as
    field 1  key field
    field 2 key field
    field 3 key field
    field 4 non-key field
    field 5 non-key field
    field 6 non-key field
    field 7 non-key field.
    i want to change field 7 as key field.
    Can i do perform operation??
    when i am tryingto perform bove operation it is taking long time to get the table activated.
    Could any one please help me in getting this resolved.
    regards,
    Sravanthi.

    Use DB Utility (se14) to perform alter table or conversion. The latter is used when atemps to perform first operation fails. Which one is used, really depends on system and current DB table state (i.e. if has any content and what is being adjusted).
    The way Max suggested is similar to [conversion process|http://help.sap.com/saphelp_nw04/helpdata/EN/cf/21f1b8446011d189700000e8322d00/content.htm] which system takes care of itself.
    Refer [Adjusting Database Structures|http://help.sap.com/saphelp_nw04/helpdata/EN/cf/21f1ab446011d189700000e8322d00/content.htm] and already given link to conversion.
    Please also consider potential errors while doing conversion . This can lead to data loss, so you should think of some backup to prevent that.
    Regards
    Marcin

  • Error in collect statement(non-key fields must be numeric)...

    Error in collect statement(non-key fields must be numeric)...
    Hello Experts,
    I created an internal table based from a ztable. The structure of the ztable is
    as follows:
    1. MANDT -> PRIMARY KEY
    2. BUKRS -> PRIMARY KEY
    3. TXK50 -> PRIMARY KEY
    4. ANLKL -> PRIMARY KEY
    5. KTANSW -> PRIMARY KEY
    6. KOSTL  -> PRIMARY KEY
    Then the remainder of the fields(around 8 fields) are currency data types(ANBTR).
    An error is showing saying 'You can only use the collect command in a table if all of its non-key
    fields are numeric(type I,P or F).
    I searched the forum and it said that non-keys must be numeric in order for the
    collect command to work. But all of my primary keys are non-numeric.
    Below is my declaration:
    CLASS-DATA: gt_output_acq TYPE hashed TABLE OF zsd_output_acq
                                  WITH UNIQUE KEY bukrs txk50 anlkl
                                                  ktansw kostl,
                    gt_output_ret LIKE gt_output_acq,
                    wa_output_gen LIKE LINE OF gt_output_acq,
                    gt_output_net TYPE HASHED TABLE OF zsd_output_net
                                  WITH UNIQUE KEY bukrs txk50 anlkl
                                                  ktansw kostl,
                    wa_output_net LIKE LINE OF gt_output_net,
                    gt_sort_crit  TYPE SORTED TABLE OF t_sort_crit
                                  WITH NON-UNIQUE KEY bukrs kostl,
                    wa_sort_crit  LIKE LINE OF gt_sort_crit.
    FIELD-SYMBOLS: <fs_output_acq> LIKE LINE OF gt_output_acq,
                       <fs_output_ret> LIKE LINE OF gt_output_ret,
                       <fs_output_net> LIKE LINE OF gt_output_net.
    COLLECT <fs_output_acq> INTO gt_output_acq.     "Here is the error

    Hi Vijay,
    Here it is:
    CLASS-DATA: gt_output_acq TYPE hashed TABLE OF zsd_output_acq
                                  WITH unique KEY bukrs txk50 anlkl
                                                  ktansw kostl,
                    gt_output_ret LIKE gt_output_acq,
                    wa_output_gen LIKE LINE OF gt_output_acq,
                    gt_output_net TYPE hashed TABLE OF zsd_output_net
                                  WITH unique KEY bukrs txk50 anlkl
                                                  ktansw kostl,
                    wa_output_net LIKE LINE OF gt_output_net,
                    gt_sort_crit  TYPE SORTED TABLE OF t_sort_crit
                                  WITH NON-UNIQUE KEY bukrs kostl,
                    wa_sort_crit  LIKE LINE OF gt_sort_crit.

  • To pass non key field data to workflow

    Hello,
    I want to pass data from webdynpro application to workflow. For this i used FM 'SWE_CREATE_EVENT' to trigger the workflow.
    I filled the container table with following values
    wa_cont-element = 'NAME2'
    wa_cont-value = 'James Anderson'.
    APPEND wa_cont to it_cont.
    wa_cont-element = 'STRAS'
    wa_cont-value = 'Hampshire'.
    APPEND wa_cont to it_cont.
    wa_cont-element = 'PSTLZ'
    wa_cont-value = '104010'.
    APPEND wa_cont to it_cont.
    wa_cont-element = 'ORT01'
    wa_cont-value = 'London'.
    APPEND wa_cont to it_cont.
    wa_cont-element = 'LAND1'
    wa_cont-value = 'United Kingdom'.
    APPEND wa_cont to it_cont.
    Also i created a custom business object 'ZHRADCHO'. In which i decleared
    KEY FIELDS as ->
    PERNR
    SUBTY
    ENDDA
    BEGDA
    METHODS ->
    send_data_to_wf
    I created Import/Export parameters for this method ->
    NAME2 (Import and Export parameter)
    STRAS (Import and Export parameter)
    PSTLZ (Import and Export parameter)
    ORT01 (Import and Export parameter)
    LAND1 (Import and Export parameter)
    EVENTS ->
    CHANGE
    In SWDD transaction -> basic data -> binding
    I did the following binding
    &_EVT_CREATOR&                             =>     &_WF_INITIATOR&
    &_EVT_OBJECT.PERSONNELNUMBER&        =>     &WA_ZHRAD.PERNR&
    &_EVT_OBJECT.SUBTYPE&        =>               &WA_ZHRAD.SUBTY&
    &_EVT_OBJECT.ENDDATE&        =>     &WA_ZHRAD.ENDDA&
    &_EVT_OBJECT.STARTDATE&        =>     &WA_ZHRAD.BEGDA&
    WA_ZHRAD is structure type of custom table ZHRAD in which i want the data. So in the workflow container i created the element of type ZHRAD. How do i get the rest of the fields which i declared in the method. I am able to get the data in the key fields which are binded as above. But if i bind the rest of the fields i get an error. How do i get the data in non-key field elements?
    Regards,
    Yayati Ekbote

    Hello Rick,
    I am passing the other values through container only. But my question is, in workflow side, in which parameters will i recieve the values?
    In the method of the BO i wrote in the automatically generated program.
    swc_get_element container  'C/o ' CO.
    swc_set_element container  'C/o ' CO.
    swc_get_element container  'StreetHouseNo '  STREETHOUSENO.
    swc_set_element container  'StreetHouseNo ' STREETHOUSENO.
    Like wise for all non-key parameters.
    So in SWDD transaction, which parameters should i bind to get the values in the fields of workflow container?
    Regards,
    Yayati Ekbote

  • Searching non-key fields in table maintainance

    Hi..
    How to find non-key fields or how can we enble the FIND button in maintaince table ?
    Please reply....
    Thanks ...

    Hi,
    When you are on the table maintenance screen, you can :
    1. Goto menu options. Selection-->By Content
    2. Choose the fields you want to search data on and Press enter
    3. Enter the operator and the value  (you can append or insert a new field here as well )
    4. Click on the choose button.
    regards,
    Advait

  • Validating non key fields in table maintenance generator

    Hi,
    I ma using events for table maintenance generator event 05 ,there i want to validate non key fields ......i am throwing error message ....all the non key fields are getting in display mode ...i need them to enable to enter values ....
    please suggest
    Thanks,
    Shailaja Ainala.

    Hi Shailaja,
    Its property of error message, which makes it as non-editable.
    You can display either status or info message after validation check.
    And finally before saving (before save event) display error message, so that it invalid entries doesnt get saved.
    Thanks,
    Nisha Vengal.

  • It is possible to assign value range to non key fields in the table?

    Hi,
    I want to give some range of values to the fields which are non key fields in the table.
    is it possible?
    can anybody tell me the procedure.
    Thanks in Advance,
    venkat

    HI,
    It is higjly possible in case of Z-table. but in standard table you can't make any modification.
    You assign the value range to the domain of field.
    go to SE11 and open the database table.
    Select the Data Element of the fieldto which  you want assign the range.
    Click on its domain .
    click on Value Range tab.
    Set the range.
    Regards,
    anirban

  • INFNR - Non-key field

    Hi SAP Lords,
    I need table where INFNR should be a non-key field.
    I have MATNR, WERKS, VKORG,LIFNR,EKORG in hand but just cant find the table to extract INFNR.

    EBAN                             Purchase Requisition
       EINA                             Purchasing Info Record: General Data
       EINE                             Purchasing Info Record: Purchasing Organization Data
       EIPA                             Order Price History: Info Record
       EKPO                             Purchasing Document Item
       ELBM                             Vendor Evaluation: Material-Related Item
    Nabheet

  • Key fields and non-key field of condition table

    Hello Gurus,
          what is key fields and non-key field of condition table?
    thanks very much!

    Key field
    Each condition table contains keys that can be used for creating dependent condition records.
    for example let take condition type PR00.
    PR00 uses access sequence PR02 .
    Access sequence PR02 has following tables associated with it namely 304, 305 & 306
    When you create a conditon record for PR00 with transaction VK11 or VK31, you have a button 'key combination' which is nothing but fields associated with tables 304, 305 & 306.
    In brief, Condition records are always created using specific keys. Condition tables are used to define the structure of the keys of a condition record.
    Non key field
    For example take condition table 144 - sales deal basic data.
    Table 144 is associated with access sequence PBUD.
    If you check the fields associated with this table (click technical view button), there are three fields at bottom which do not have 'key' check mark -KDATU, PLTYP, KSTAF
    So, when you create a condition record for PBUD, system does not propose these 3 fields in 'key combination' and hence are non key fields.
    Please reward points for good answers as this would help increase the total donation that SAP will make to the United Nations World Food Programme.

  • How can we hide the non key field values in the sm30 display

    hello experts,
    I have to protect the non key field values in the sm30 display , can u help me out wat changes i have to do in the layout.

    Hello Gopal,
    What do you mean by 'protecting' your non-key field value?
    1) You want to display it, but make it non-changeable
    A - Make the field as output-only in screen, as already answered by a preivous collegue
    2) You do not want to display this field at all
    A - Goto the DDIC definition of the view (not possible for a table directly), and maintain the required field as a Hidden. After activating, remember to re-generate the maintenance dialogue. Also, please maintain Event 21, in case you want to access/change the value of this field in background.
    3) You want to maintain special validations/checks for the field
    This can be easily done by introducing your modules within the CHAIN-FIELD commands in the PAI of the generated screens.
    Best Regards,
    Rekha

Maybe you are looking for