Use of foreign key check in ABAP reports

Hi,
I'm trying to understand if it's possible to use a foreign key integrity check in an ABAP reports. I have understood that this kind of check is deactivated for performance reasons, is it right?
In this case I'd like to know if it is possible to activate the foreign key check "on demand", or just for a particular table.
As an example, I'd like to use the foreign key defined on attribute AKONT of table KNB1, that points on the related attribute of table SKB1.
Thanks,
Gabriele

Welcome on SCN!
I'm trying to understand if it's possible to use a foreign key integrity check in an ABAP reports. I have understood that this kind of check is deactivated for performance reasons, is it right?
Most likely yes. Integrity is turned OFF for Open SQL statements but is turned ON for screen fields.
If you just create screen parameter like
parameters pa_akont type knb1-akont.
...then input help for that field will be automatically provided. This means that you will not be able to pick or enter value different that this allowed from SKB1 table (foreign key relationship will be checked).
You can explicitly assign different input help or search help for certain screen field independently of type it is refering i.e by means of fm F4IF_FIELD_VALUE_REQUEST .
This however still relates only to screen fields, not fields used directly in ABAP statement.
Regards
Marcin

Similar Messages

  • Editable ALV & Foreign Key Check

    I am working on an Editable ALV. Here if I try to enter some value into a field which doesnt exist in the corresponding Check table of the field, ALV throws me an error. This scenario is working fine.
    But in some scenarios I populate the ALV table from a Z table (Z table has the same strucutre as the ALV table) and then show this to the user as an editable ALV but in this scenarios if some erroneous values exist in my Z table for a particular fieId I am not getting the Foreign Key check I mentioned earlier.  Here I was hoping to get error message after SET_TABLE_FOR_FIRST_DISPLAY !
    I am using CL_GUI_ALV_GRID, has anyone found a workaround for this
    Antony

    Hi Antony,
    you can INHERIT a class from CL_GUI_ALV_GRID and then redefine SET_TABLE_FOR_FIRST_DISPLAY adding the raising EVENT data_changed for all cells.
    Regards,
    Clemens

  • Problem with Foreign Key check in an editable ALV

    Hi,
    I've implemented an editable ALV.
    The underlying context node is referenced to a structure and within the structure the foreign keys are defined.
    In my example, I have two editable columns with different foreign key checks.
    My problem is, the foreign key check works only for one column.
    So if I enter in both columns incorret values, only a message for the first column is thrown,
    but not for the second column!
    Only if I enter two errors in one(!) column (in two rows), than I get two error messages.
    Examples:
    does not work:
    COL1 | COL2
    err1  | err2   -> only one error message is displayed (for err1)
    It works in this case:
    COL1 | COL2
    err1  |  ok
    err2  |  ok
    => two messages for err1 and err2
    and in this case
    COL1 | COL2
    err1  |  ok
    ok     |  err2
    => two messages for err1 and err2
    I've found nothing in OSS. My system is a 7.00 with SP18, so OSS 1153492 is already implemented.
    Do I somenthing wrong or is this an error in SAP?
    Thanks,
    Andreas

    Hi Lekha,
    thank you very much for your support!
    I try to give you an example.
    In general, you need an editable ALV with at least two columns.
    The node for the ALV table in the component controller has to be assigned to a dictionary structure!
    That is very important, otherwise the foreign key check will not work!
    And the two fields in this dictionary structure have to be assigned to a "check table".
    Prerequisition: NW70 SP16 or higher! See oss note 1153492.
    Maybe an easy way to reproduce it is using the WD component WDT_FLIGHTLIST_EDIT.
    So copy this component to a Z-component.
    Than create a dictionary structure for the node "NODE_FLIGHTTAB" with the same 10 fields as the node attributes.
    In your new dictionary structure, assign to the fields CARRID and CONNID the check tables SCARR and SPFLI. (see table SFLIGHT).
    Than make both columens (CARRID and CONNID) editable.
    This has to be done in the "RESULTVIEW" in the method "INIT".
    You can user the following code:
      lr_column = lr_column_settings->get_column( 'CARRID' ).
      create object lr_input_field
        exporting
          value_fieldname = 'CARRID'.
      lr_column->set_cell_editor( lr_input_field ). 
      lr_column = lr_column_settings->get_column( 'CONNID' ).
      create object lr_input_field
        exporting
          value_fieldname = 'CONNID'.
      lr_column->set_cell_editor( lr_input_field ).
    Copy this code below this code:
      lr_column_settings ?= l_value.
      lr_column = lr_column_settings->get_column( 'PRICE' ).
      create object lr_input_field
        exporting
          value_fieldname = 'PRICE'.
      lr_column->set_cell_editor( lr_input_field ).
    Than just activate all,  create a Web Dynpro Application and your are ready to test it.
    To test it, do the following:
    Append/Insert an empty row.
    Enter a CARRID and CONNID that does not exist and press ENTER.
    My result: only one error message is displayed for the wrong CARRID, but no error message for CONNID!
    Insert a new row.
    Enter in the first row, column CARRID an invalid value and in the second(!) row in column CONNNID.
    Than you get two(!) error messages. That's the behavior I expect.
    So thank you very much in advance for your help!
    Regards,
    Andreas

  • What is use of LOAD key word in ABAP-HR

    what is use of LOAD key word in ABAP-HR?

    Hi,
    LOAD keyword is used to load all the parameter values.
    Basic form
    LOAD REPORT prog PART part INTO itab.
    Variants
    1. LOAD REPORT prog PART 'HEAD' INTO itab.
    2. LOAD REPORT prog PART 'TRIG' INTO itab.
    3. LOAD REPORT prog PART 'CONT' INTO itab.
    4. LOAD REPORT prog PART 'DATA' INTO itab.
    5. LOAD REPORT prog PART 'DDNM' INTO itab.
    6. LOAD REPORT prog PART 'DATV' INTO itab.
    7. LOAD REPORT prog PART 'SELC' INTO itab.
    8. LOAD REPORT prog PART 'STOR' INTO itab.
    9. LOAD REPORT prog PART 'LITL' INTO itab.
    10. LOAD REPORT prog PART 'SYMB' INTO itab.
    11. LOAD REPORT prog PART 'LREF' INTO itab.
    12. LOAD REPORT prog PART 'SSCR' INTO itab.
    13. LOAD REPORT prog PART 'BASE' INTO itab.
    14. LOAD REPORT prog PART 'INIT' INTO itab.
    15. LOAD REPORT prog PART 'DATP' INTO itab.
    16. LOAD REPORT prog PART 'TXID' INTO itab.
    17. LOAD REPORT prog PART 'COMP' INTO itab.
    Effect
    Loads the specified part of the generated version of the program prog into the internal table itab (for analysis purposes only).
    The return code value is set as follows:
    SY-SUBRC = 0 The load for the program prog exists and is current.
    SY_SUBRC = 4 The load for the program prog does not exist.
    SY-SUBRC = 8 The load for the program prog exists, but is not current. In some cases, this SY-SUBRC may mean that the program load has been destroyed. You can resolve this by generating the program. With PART 'LREF' , SY-SUBRC = 8 means that the line reference table is incorrect for the program. With PART 'CONT' , it means that the reference part of the internal table is empty.
    itab has been filled only if SY-SUBRC = 0 .
    Reward points if useful.
    Regards,
    Sekhar

  • Use of "super" key word in abap oops...

    Hi,
      Can any one explain me what is the use of ' super ' key word in abap oops. excluding super class.
    With Regards,
    M.S.Amirtharaj Vijay.

    Vijay,
    please read the sap documentation or f1 help
    Thanks
    Bala Duvvuri

  • Foreign Key check in ALV Grid

    Hi all.
    I'm trying to have data automatically validated using Foreign Keys in an (editable) ALV Grid.  I managed to get the proper values in a dropdown on F4, but i want the manual entries validated without coding every field individually.
    The field in question is LFA1-REGIO.  This field has a Foreign Key in T005S.  I'm using F.M. DDIF_TABL_GET to populate my Field Catalog.  This gives me all Foreign Key fields for my fields.
    If the user enters 'ZZ' as a Region(LFA1-REGIO), the auto-validation of CL_GUI_ALV_GRID does not recognize that this value is invalid.
    I've debugged the class methods that handle the validation, but it seems the problem is in the way i'm setting up my Foreign Key info.
    Could someone tell me how to set this up properly?  i also have access to the dependant field LAND1, and would like to integrate it in the Validation, but this is a second priority.  Thanks in advance.

    Hi Jester,
      In your ALV Grid Field Catalog (LVC_S_LAYO), for REGIO check whether field <b>checktable</b> has value T005S and <b>ref_field</b> has REGIO and <b>ref_table</b> has LFA1.
      If the above entries are fine and still the validation does not occur then try changing the ref_table to T005S and see..
      Hope this helps..
    Sri

  • SSL: How to use the same key pair for ABAP & JAVA?

    Hello,
    I want to setup an XI (3.0 on Netweaver04)installation in the way, that ABAP AS and JAVA AS use the same key pair for SSL. My problem is to define the same private key on ABAP and JAVA. With the JAVA Administrator I am able to define or import a private key. But I could not find a possibility in ABAP to manage private keys in order to use the same on as in JAVA. What is the procedure for this?
    Thanks and Regards,
    Frank Tottleben

    Hello,
    I want to setup an XI (3.0 on Netweaver04)installation in the way, that ABAP AS and JAVA AS use the same key pair for SSL. My problem is to define the same private key on ABAP and JAVA. With the JAVA Administrator I am able to define or import a private key. But I could not find a possibility in ABAP to manage private keys in order to use the same on as in JAVA. What is the procedure for this?
    Thanks and Regards,
    Frank Tottleben

  • Use of Foreign Keys in MDM

    Hi All,
    Is there any mean by which we can use Foreign Keys in MDM.
    Sighting an example.
    We have 3 table with fields:
    Products(Main Table): Material No( UF)
    Product Regions(Flat): Marerial No ( Foreign Key),Region: Lookup
    Prices(Flat): Material No( Foreign Key),Region: Lookup(Foreign Key),Price Type: Lookup.
    How is it possible to achieve the above mentioned scenerio.
    And are Foreign Keys same as Unique Fields in MDM. 
    Thanks
    Manish
    Edited by: manish gupta on Mar 4, 2009 12:30 PM

    Hi Manish,
    MDM server sits on the database server.
    The database server is a DBMS.MDM repository does not work with the tables and fields structure in exactly the same way as an RDBMS.
    So we do not use in the real sense the same Primary key Unique key concept.However we have the linkup/lookup field concept in MDM.
    Where a field in the main table can reference another field in the lookup table.
    So if you relate this to the RDBMS concept.The primary field in one table is the Foriegn key in another table.So in the lookup table we can refer a field of the main table.
    say for eg:
    You have a field Regions in the main table of type lookup flat.
    This field is actually used in the lookup flat table say lookup regions.
    This table has a field regions which is holding a legal set of values.
    So the field Regions in main table is used in the Lookup table as well.Where in the main table it was the linking field and in the lookup table it is the field holding the lookup values.
    So you can to an extent relate these 2 concepts but it does not precisily work in the same way in MDM.
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Publish: dropping index when it is used for foreign key constraint enforcement

    Hi,
    I'm trying to update a target schema from a reference database via Publish. Among the changes to apply, there's an index that needs to be dropped. Since it's linked to a foreign key constraint, it cannot be deleted unless the foreign key is temporarily dropped
    (I saw somewhere that disabling the foreign key should be enough but it doesn't seem to work either).
    Since there are other changes to be made on the same table, this foreign key also has to be dropped before the script can delete the table and re-create it. This part of the script is correctly generated. The problem is that this part appears after the 'DROP
    INDEX' instruction.
    So when generating the update script, SSDT tries to drop the index BEFORE dropping the foreign key. And I can't drop the foreign key in my custom pre-deployment script, otherwise the update script would fail when trying to delete it again.
    Shouldn't SSDT be smart enough to drop the constraint before the index? Is it a bug or did I forget to set an option? If it's not a bug, what can I do apart from doing it manually?
    Thank you for your help

    Hi Elsa,
    That sounds like a bug. Could you please file a Connect issue for this at
    https://connect.microsoft.com/SQLServer/feedback/CreateFeedback.aspx using the category "Developer Tools (SSDT, BIDS, etc.)"? We're trying to track all bugs through
    Connect so that you can tell when we have fixed the issue and we can request more information.
    A workaround for this issue might be to write a pre-deployment script for your project to drop the foreign key prior to deployment. A pre-deployment script can be added to your project by right-clicking on the
    project in solution explorer and then clicking on Add > Script... and selecting Pre-Deployment Script from the list.
    Thanks!

  • Subquery in IF statement in trigger, without using foreign keys

    Hello,
    I'm investigating ways of writing a subquery in an IF statement, which is placed inside a trigger.
    I wanna write smth like IF (:new.jazz not in (select goldies from T where ... )) etc. I don't know whether the fact that the IF is in a trigger adds some additional restrictions. (Does it?)
    So far I found the solution described here: SubQuery Comparison in If Statement which I find a bit tacky, I could have the 'cooleststarinthegalaxy' instead of 1 and seems you need to do extra light, but still extra lifting.
    I also read about the possibility of using MERGE, which I'm currently researching.
    Is there any other way?
    Thanks
    Edited by: BluShadow on 14-Nov-2012 13:37
    fixed link
    Edite by me: the question is how (if possible) to do this without a foreign key.
    Edited by: questioningq12 on Nov 14, 2012 6:11 AM
    Edited by: questioningq12 on Nov 14, 2012 6:13 AM

    Hi,
    questioningq12 wrote:
    Say I have tables A(namea varchar(10)), B(nameb varchar(10)), and B contains tuples ('1stname','2ndname').
    I wrote a trigger before insertion, for each row, on table A. For a tuple t to be inserted, it should check whether t.namea is in the set of values nameb from B.
    E.g., INSERT INTO A VALUES('1stname') should work. But INSERT INTO A VALUES ('3rdname') should fail. You can use a foreign key constraint for that.
    If the tables already exist, and b.nameb is declared as UNIQUE (or PRIMARY KEY), then you can say:
    ALTER TABLE  a
        ADD CONSTRAINT     a_namea_fk
        FOREIGN KEY  (namea)
        REFERENCES b (nameb)
    ;If you had a situation where you really needed to query a table in PL/SQL, and you weren't sure if the query would find anything, you could put the query in its own BEGIN ... EXCEPTION block, and test for NO_DATA_FOUND.
    If you're just checking to see if a row exists or not, you can always write a query that is guaranteed to return exactly 1 row, like this:
    BEGIN
        SELECT  COUNT (*)
        INTO    x
        FROM    b
        WHERE   nameb = :NEW.namea
        AND         ROWNUM  = 1;
        IF x = 0
        THEN  
            ...        -- print msgs, raise exceptions etc
        END IF;
    END;Edited by: Frank Kulash on Nov 14, 2012 9:22 AM
    Added example

  • Foreign key dependency checking

    Dear all:
    I have a question about foreign key checking.
    Let's say I have two Z table, one is master table and one is transaction table.
    The master table contains a primary key named CustNo.
    The transaction table have two primary keys named CustNo and OrderNo.
    The CustNo has foreign key (mandt + CustNo) point to master table, with setting
    "Key fields/candidates  1:N"
    I expected that, delete record in master table should check if there is any dependency in the transaction table,
    but I am wrong.  I am able to delete anything in master table even there are records in transaction table using the same CustNo.
    My question is, how can I make the dependency check?
    Thanks in advance.
    Edited by: Hung Kai, Michael Cheng on Nov 3, 2008 5:29 AM

    Hello,
        For this u need to change the cardinality.
    Below are the list of cardinalities and their functionality.Chack it and use the proper one.
    The left side (n) of the cardinality is defined as follows:
    n=1: There is exactly one record assigned to the check table for each record of the foreign key table.
    n=C: The foreign key table may contain records which do not correspond to any record of the check table because the foreign key field is empty. This can occur for example if the field of the foreign key table is optional, in which case it does not have to be filled.
    The right side (m) of the cardinality is defined as follows:
    m=1: There is exactly one dependent record for each record of the check table.
    m=C: There is at most one dependent record for each record of the check table.
    m=N: There is at least one dependent record for each record of the check table.
    m=CN: There may be any number of dependent records for each record of the check table.
    Shafi

  • How to choose the right foreign key to be used when processing a dimension

    Hi,
    here is the problem I'm facing : I need to create a dimension in my cube from the table dimDocumentVente.
    Here are the relations between my tables in SQLServer.
    dimDocumentVente
        ID
        ID Article
        ID GroupeComptaProduitTVA
    dimArticle
       ID
       ID GroupeComptaProduitTVA
    dimGroupeComptaProduit
       ID
       Code
    with Foreign keys between :
    - IDGroupeComptaProduit  in dimDocumentVente and ID in dimGroupeComptaProduit
    - IDGroupeComptaProduit in dimArticle and ID in dimGroupeComptaProduit
    - IDArticle in dimDocumentVente and ID in dimArticle
    In this dimension (based on dimDocumentVente), I add the information ID from dimGroupeComptaProduit.
    When I process the dimension, I see in SQL Profiler that the relation between the 2 tables is done using dimArticle, which is not what I want to do. I want to use the relation which is between dimGroupeComptaProduit and dimDocumentVente.
    Is there a way to tell SSAS, that I want to use the foreign key between dimDocumentVente and dimGroupeComptaProduit to calculate this attribute ?
    From the user point of view, the information contained in the table dimGroupeComptaProduit contains information linked the the VAT rate. This information is linked to the items in our ERP (Dynamics NAV), and when we create a new order, this information is
    copied in the order line and the user has the possibility to override it. So in the cube, it's interesting to both analyse from the value stored in the item and the value stored in the order. That's the reason why !
    Thanks in advance for your help.

    Thanks for your answer but unfortunately, that's not exactly what I'm looking for.
    I mean, I want to create a dimension based on table dimDocumentVente in which I want to include the information "code" coming from dimGroupeComptaProduitTVA table.
    Please see below.
    As you may notice, I have several foreign keys.
    When I process the dimension, I see in SQL profiler that SQLServer is using the relation between dimDocumentVente and dimArticle plus between dimArticle and dimGroupeComptaProduitTVA to process my dimension. It's necessary for me that instead, it uses directly the
    relation between dimDocumentVente and dimGroupeComptaProduitTVA. Is there a way to change this  ?
    Thanks.

  • ABAP report using /BIC/ tables

    Hi Friends,
    Have anybody created ABAP reports in BI system using /BIC/ reports & What is the requirement?
    Please let me know.
    Thanks in advance,
    Beena

    Hi  kvbeena,
    it is not clear to me what do you mean by "creation of ABAP reports in BI system using /BIC/ reports"?
    In BW routines it is pretty common to read DSO objects by SELECT statements as described in forum referred above.
    Also you can use DDIC elements in your custom ABAP reports while creating data objects.
    Kindly specify your question in more detail.
    BR
    m./

  • Creating Column in table or use Foreign Key

    I have a bunch of tables that are year specific, so I need to store the year in the record. I'm not sure if I should create a column in each table called 'year' or create a master 'Year' table and use a foreign key to it in all my other tables. Any advice?
    PK_ID NUMBER Constraint pk1
    PRIMARY KEY
    YEAR VARCHAR2(4)
    --- or----
    PK_ID NUMBER Constraint pk1
    PRIMARY KEY
    FK_YEAR NUMBER Constraint fk_year
    REFERENCES year_table(PK_ID)

    Does your "year" entity have any attributes ?
    Why do you have a year, which to most people seems to be a number, stored as a varchar2(4) ? And what are you going to do about the Y10K problem ?
    How about making the ID of year the numeric value of the year you are storing - then you have eat your cake and have it ;)
    Seriously, though, why do you want a table to say that the year 2008 is the year identified by a meaningless unique number ?
    Regards
    Jonathan Lewis
    http:/jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk

  • [PHP-MYSQL] tutorial on using ADDT and dynamic list/form with self-foreign keys?

    Hi all,
    I have a 3 levels catagoris product catalog and would like to manage it
    using dynamic list/forms.
    I'm searching info about using self-foreign keys on dynamic list/forms.
    Is there any tutorial on how to manage this kind of tables using addt?
    tia
    tony

    Hello Tom,
    You were offered the solution on the InterAKT forums, I am not sure why you are posting this problem again. There's also another thread here that presents the same issue and solution:
    http://www.adobeforums.com/cgi-bin/webx/.3bc42a90/0
    Regards,
    Ionut

Maybe you are looking for

  • Has there been updates to transcription support in a PS 4 Windows Update? Behaviour has changed...

    I utilise PowerShell transcription support heavily in my PS scripts. Essentially I utilise transcription as a replacement to having a logging framework - all logging is performed via Write-Host, Write-Verbose and Write-Debug calls, and then logged to

  • CE Cash Management

    I need some help with Open Interface for cash Management, the sintax problem: UNABLE TO GENERATE FORECASTING FOR OPEN INTERFACE with external table source. I would like to know what is the data import table that works with this open interface

  • TS1702 iPad calendar won't show March in month view.

    I'm flicking through the months on my calendar app and when I get to March 2013 the app closes, doesn't matter if I'm going from Feb forward or April back. Day or week view works ok.  I have an iPad 2 wi-fi only running iOS 6.1, it,s all up to date.

  • Netweaver not showing line number in the error file.

    Hi All, I am working on SAP NetWeaver 2. I am having a serious problem in here. What is happening is, In my code there is a Null pointer exception occurring frequently. In my log file I can see the file in which it is occurring but I cannot see the l

  • Security Flaw: Screen Saver Authentication

    Hi, I have found a security flaw, it exists in both Panther and Tiger. If a system has 2 accounts, the first account being active and locked through a screen saver. The second account (if administrator) can type their username/password in the authent