Change of state between ViewWillAppear and ViewDidAppear

I'm making an iPhone app, and I'm having an issue in a custom UITableViewController subclass. I've programmatically created a UINavigationBar item to have as a view at the top of the screen with an edit button on the right hand side. That all works fine.
Selecting a cell calls PresentModalViewController. The controller appears normally, but when I dismiss it the navigation bar is being resized to cover the entire screen.
In ViewWillAppear the frame of the navigation bar is (0, 0, 320, 44), as it should be. However, in ViewDidAppear the frame becomes (0, 0, 320, 431). It only goes to 431 because there's a Tab Bar at the bottom. Nevertheless, I'm getting these values by calling NSLog at the end of ViewWillAppear and the beginning of ViewDidAppear. Something is changing the value in between these calls. I don't understand how this can happen...
I'm using a hack to get the frames of my objects to change in ViewDidAppear, but it looks horrible.
Here's the code to give you an idea of what I'm doing.
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.tableView.frame = CGRectMake(0,44,320,436);
if (![self.navBar isDescendantOfView:self.tableView.superview]) {
[self.tableView.superview addSubview:self.navBar];
NSLog(@"
%@", self.navBar, self.tableView);
- (void)viewDidAppear:(BOOL)animated {
NSLog(@"
%@", self.navBar, self.tableView);
[super viewDidAppear:animated];
self.tableView.frame = CGRectMake(0,44,320,436);
self.navBar.frame = CGRectMake(0,0,320,44);
Any ideas?

Hi Draco, and welcome to the Dev Forum!
There are two very separate questions here:
a) What's wrong with my code (and/or xibs)?
b) What's the correct way to build the structure I've described?
It looks like b is going to be far far easier to answer than a, so I'll do that first.
b) Assuming this is a tab bar app, and TabX wants to bring up a table view with a nav bar: Replace the view controller at TabX with a UINavigationController. Then replace the root controller of the nav controller with your custom table view controller. If your project is based on the Tab Bar App template, these steps can be completed in IB without any code (except for the custom controller class you've already written). For more details, take a look at this thread: http://discussions.apple.com/thread.jspa?messageID=10355023&#10355023.
a) The code you posted raises a number of questions about how and where the view objects were created and how they're connected. Before I could tell you how to fix it, I'd need to reproduce the behavior you described, so I'd need the rest of your code and a detailed description of your xib file(s). The first things I might look at:
1) What is the nav bar's superview and does that superview have a controller?
2) Is there a navigation controller? If so, where is its view in the hierarchy? If not, where is the nav bar created?
Re number 1, if the superview is the view of the tab bar controller, that's probably why your nav bar isn't behaving. I don't think the tab bar controller expects external code to make any direct additions to its view, and I'm not surprised it wants a direct subview to occupy the entire content view area.
We could probably work around the tab bar controller, e.g. by adding a content view under the table view, but whatever we did would only be an attempt to emulate the structure outlined in b, above. Question a should only be pursued as an academic exercise.
Hope that helps!
- Ray

Similar Messages

  • Optimization of Join statement between MKPF and MSEG table for improving pe

    Hi All,
    I had a issue where we are executing one custom report and it is getting timed out after 45 minutes. We further executed with trace on and got to the conclusion with the help of BASIS that about 42 minutes of the 45 minutes tracetime are spent by a join over the tables  MKPF en MSEG.
    This join is done by the abap statement:
      SELECT mkpf~mblnr
             mkpf~mjahr
             mkpf~bldat
             mkpf~blart
             mseg~matnr
             mseg~werks
        INTO CORRESPONDING FIELDS OF TABLE i_matdoc_we
        FROM mkpf INNER JOIN mseg ON mkpfmblnr = msegmblnr
                                 AND mkpfmjahr = msegmjahr
    FOR ALL entries IN i_list
       WHERE mkpf~mblnr BETWEEN lv_interval-fromnumber
                            AND lv_interval-tonumber
         AND mkpf~blart = 'WE'
         AND mkpf~bldat LE gv_last_day_fisc_period
         AND mseg~matnr = i_list-matnr
         AND mseg~werks IN s_werks.
    Here, I_LIST comprises of stock for specific period as entered in the selection screen for that particular Material and plant
    LV_INTERVAL is range of all goods receipts for material and gv_last_day_fisc_period is current date.
    During the tracetime this statement was executed  more than 20.000 times, until the transaction timed out.
    The individual executions of this select stmnt  varied (roughly) between 50 and 1200 miliseconds. (depends wheter the requested database block is in the buffercache or must be read from disk).
    The acesspath used to execute the query ( see below) is optimal, given the present indexes.
    Index MSEG~M is covering al the specified selection criteria for  MSEG.
    Index MKPF-0 is used  to search the specified MBLNR criterium in MKPF.
    The  remaining selection criteria MKPF-BLART and MKPF-BLDAT are not indexed, and imho this would also not make sense for this query.
    BLART has only 3 different values n the MKPF table, and the selected value 'WE' has more than 1 million occurences.
    BLDAT is selected with =<20110903, so this is not distinctive as well.
    Can any one suggest some better way to write this query.
    Regards,
    Subhajit

    Actually there are 2 select statements where JOIN have been introduced and especially the time out is occurring in the second JOIN.
    Find all goods receipts for material
      PERFORM get_number_range_matdoc USING '03'
                                   CHANGING lv_interval.
      SELECT mkpf~mblnr
             mkpf~mjahr
             mkpf~bldat
             mkpf~blart
             mseg~matnr
             mseg~werks
        INTO CORRESPONDING FIELDS OF TABLE i_matdoc_we
        FROM mkpf INNER JOIN mseg ON mkpfmblnr = msegmblnr
                                 AND mkpfmjahr = msegmjahr
    FOR ALL entries IN i_list
       WHERE mkpf~mblnr BETWEEN lv_interval-fromnumber
                            AND lv_interval-tonumber
         AND mkpf~blart = 'WE'
         AND mkpf~bldat LE gv_last_day_fisc_period
    AND mseg~matnr = i_list-matnr
        AND mseg~werks IN s_werks.
      CLEAR lv_interval.
      PERFORM get_number_range_matdoc USING '02'
                                   CHANGING lv_interval.
    Find all goods issues for material
      SELECT mkpf~mblnr
             mkpf~mjahr
             mkpf~bldat
             mkpf~blart
             mseg~matnr
             mseg~werks
        INTO CORRESPONDING FIELDS OF TABLE i_matdoc_wa
        FROM mkpf INNER JOIN mseg ON mkpfmblnr = msegmblnr
                                 AND mkpfmjahr = msegmjahr
    FOR ALL entries IN i_list
       WHERE mkpf~mblnr BETWEEN lv_interval-fromnumber
                            AND lv_interval-tonumber
         AND ( mkpfblart = 'WA' OR mkpfblart = 'WI' )
         AND mkpf~bldat LE gv_last_day_fisc_period
    AND mseg~matnr = i_list-matnr
         AND mseg~bwart NE '561'
         AND mseg~bwart NE '562'
         AND mseg~bwart NE '961'
    AND mseg~bwart NE '962'
    AND mseg~werks IN s_werks.
    Mainly the second JOIN is creating the problem... In the backend ORACLE is being used as database.
    Please suggest how I can improve the performance of these joins as its taking more than 45 mins..

  • Change display order between second and third display

    I have a MacBook Pro Retina 15" (2012) with 2 external displays (Dell 27 and Samsung 24). I use the Dell as main display. My problem is with FCPX. I want to use my Samsung 24 as Second Display to see my video material in it with the option "Show events in second display", but OSX set the macbook display as second and the samsung as third. So, I only can see the events in the macbook and the timeline in the Dell. (Unless I close the Macbook. losing one display. I'd rather keep the 3 to use one of them (macbook) with a Finder window).
    Anyone can help me with this or is impossible to change teh order between the macbook display and the Samsung 24?
    OS X Yosemite 10.10.3 / FCP X 10.1.4

    Another way to put this: in my original instructions, do step 1 after steps 2 and 3:
    (Start with FCP in single window mode, in whichever display, it does not matter)
    2) 1) Open System Preferences->Displays, click on "Arrangement"
    3) 2) Drag the visual representation of the Menu Bar to the display that you want to use as "second" display in FCP X.
    1) Move FCP X's single window to the display you want to use as your main display.
    4) In FCP X, choose to put the viewers events on second display.

  • FB60 screen change layout different between DEV and PRD

    Hi,
    I'm having problem with transaction FB60. When i try to change the layout in PRD, in screen Edit System Setting, some of the field showing 0 length. For example in WBS element field, in DEV show length 24 but PRD show length 0. I try to compare the version but it is same (program & table structure - ACGL_ITEM). When I debug the program, found out that it will get the structure from sap internal c program call 'AB_GET_CX_DATA'. So, maybe this program version are different between DEV and PRD.
    Anybody knows what is the cause of this problem? Or maybe somebody can tell me how to check sap internal c program.
    Thank you very much.

    Yes. FB60 is Enter Vendor Invoice. In this screen you can see a table with column such as GL Acct, Debit/Credit, Amount in DC, Cost Center and others. You can add or remove some of the field using Table Setting and create Screen Variant. My problem is, the length of WBS Element and Profit Center field is 0. How to change the length.
    I already searched in forum but I only found how to create screen variant.
    Thanks.

  • How do I change the contrast between foreground and background in CS4 workspace menus?

    Everyone at my agency who has upgraded from CS3 to CS4 is dismayed to discover that they can not read any tabs on the workspace except the highlighted one. The foreground and background colors are simply too close together for anyone who doesn't have very good eyesight to use 8 hours a day, and if you have any form of color blindness, just forget it. Is there any way to change the foreground and background colors in the workspace itself?

    I don't believe it's possible.  It would be like altering the ribbon in Office 2007 to make it work like Office 2003. This is a built-in function and from the upcoming betas in the Labs it appears they are going to continue this trend.  Only thing I can really suggest you do is submit a feature request: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform .  Outside of that there is not much you can do.
    One other thing has come to mind but it only works for the document area and not other menus.  Instead of opening documents in the tabs in one window you can click on Window at the top and choose Cascade to view each file in its own window and go back to Expose for fast-switching between windows.

  • Tree renderer - change the appearance between selected and not selected

    Hi,
    I have a JTree that I would like to show for each node different information depending on it selection status. I wrote my own renderer to create the Component to display (it is a JPanel with one JLabel in one case, and a JPanel with mulitple JLabels in the other case).
    When I run my program, the node appears ok, but when I select it the tree doesn't update the size of the composnen to be displayed, and that resualts in displaying only a fraction of the information for the selected node.
    I have tried to set the tree row height, so the tree will ignore the chached size of the renderer but it didn't work.
    Any suggestions?
    Thanks,
    Benny

    Have you tried calling tre.setRowHeight(0) - this is supposed to indicate to the tree that the renderer will determine the height of each cell.
    Never tried it, though.

  • Why do the relative values of RGB and CMYK change when switching between Photoshop and InDesign?

    I'm trying to put together a Colour Guide for my company's brand guidelines.
    I initially worked from InDesign and wrote down all the H, RGB, and CMYK values that I got when I eye-dropped my original colour palette.
    However when I put the same RGB values into Photoshop- I am given a (slightly) different set of CMYK numbers from those that I had originally documented in InDesign.
    Why is this???

    Jamie,
    in Photoshop go to Edit > Color Settings and choose your  parameters:
    For RGB: sRGB or AdobeRGB (1998)
    For CMYK: the process as recommended by your printer (person, company)
    For offset printing this is here ISOCoated-v2-eci and elsewhere for instance SWOP.
    For digital printing you should ask the company as well.
    For Grayscale: Gray Gamma 2.2
    For Spot: probably irrelevant in the moment. Dot Gain 20%
    Everything as shown here:
    For your application I've modified my settings a little, therefore we can see top left 'unsynchronized'.
    In InDesign do practically the same, but there are no settings for Grayscale.
    You'll find for any topic explanations if you move to by mouse (position the pointer over ...).
    The field 'Settings' shows not 'Custom' but the file name of a configuration which had been previously saved
    and then loaded (buttons top right).
    Further explanations on request. It would be quite useless to explain everything now at the same time.
    The colors will be wrong if the settings are not synchronized. Above they are explicitly synchronized.
    Because Bridge was not used, the system considers them as 'not synchronized', which doesn't matter.
    Best regards --Gernot Hoffmann

  • Calendar time changed when sync between itouch and mac

    7:30am event on my mac changes to 4:30am on my itouch. Everything is 3 hrs early! I am sure time zone is right. Does anyone know what's the problem? Thanks.

    I have had same issue & the Apple store even swapped my Touch over lst week, with no change in result. However, I found this today in one of the forum threads:
    Settings>Mail, Contacts, Calendar>Time Zone Support>New York
    See http://discussions.apple.com/thread.jspa?threadID=1921463&tstart=240 for "owner" of this solution!

  • How do I change margin units between inches and millimetres?

    Firefox 23.0.1 on Windows 8.
    Using Print-Preview -> Page-Setup -> Margins & Header/Footer

    ''[spam content removed]''
    <!-- hepsi ikinci el eşya alanında bir numara olacak inşallah www.hepsikincielesya.com -->

  • How to make my applicatio​n programmat​ically switch between English and Russian

    Greetings from Colorado...
    My application needs to be switchable between English and Russian.  Future languages to add are Spanish and Chinese.  The user selects a language
    from a control before starting the program and then the program changes the Captions, Boolean Texts, Graph Labels, and Enum Type Strings to the
    chosen language.  For Russian, this requires a different set of characters.  I have made substantial progress by:
    Control Panels>Region and Language>Keyboards and Languages>Change Keyboards added Russian>Keyboard>Russian on my development
    computer.
    In the LabVIEW.ini file, I added UseUnicode=TRUE (thanks to a suggestion found in this forum)
    Made property nodes for controls and used properties such as Interpret As Unicode (True for Russian, False for English), Text, Font Name, Font Size, etc.
    I have used fonts Arial and Arial CYR for Russian and MS Sans Serif for English
    Set the keyboard for Russian and enter Cyrillic characters into text constants that are set for Arial or Arial CYR font.  Sometimes one works and
    sometimes the other works.  As long as I set the font name in the property node the same way the text went into the text constant, it generally
    works.  I wish I could understand why one works sometimes and the other works other times!
    I have had trouble with the Boolean Text going off-center when changing fonts and languages and it seems that by setting the Lock Text In Center
    property to False and then True again, it seems to work.  Often changing Boolean texts between short and long texts causes some of the long text
    to be non-displayed; I have remedied this by explicitly setting the width of the Boolean text in a property node.
    Often, the Russian text appears as gibberish with strange right-angle characters, :s, =s, and tiny numbers.  I have been able to remedy this on my
    development computer by ensuring that the text constant on the block diagram has the same size as the caption is supposed to have.  This
    is not necessary for normal programming in English, but it seems to help here.  But it doesn't always solve the problem.
    Sometimes the English text appears as Chinese gibberish in an Enum Type selection list or in a graph label.  On my development computer,
    it seems that making the text the last property to change helps here.
    By changing the sequences of assignments to a single property node with a long list of properties, I have been able to make some of these
    controls to switch between languages without gibberish showing up.
    A few hours ago, I had the Russian strings in the Enum Type control working, except that when selecting from the available items, only the first
    word of the Russian string was displayed.  Two of the items start with the same word, so the user can't distinguish them.  
    At that time the English strings were appearing as Chinese gibberish while the list during the selection process displayed in English.  As soon
    as I changed the selection, future attempts to change the selection gave Chinese gibberish during the selection process, too.  But this was only
    a problem in the executable version; the source-code version worked fine.
    In an attempt to get rid of the Chinese gibberish, I made new constants and retyped the items into them.  This worked!  But then, the Russian
    stopped working and gave gibberish angles and tiny numbers, even though I didn't touch any of the code that sets the properties in Russian mode.
    After trying a few sequences of setting the properties for the graph X label on page 2 of my tab control, this label started working correctly for both
    languages.  But the text of that label comes through on page 1 of the tab control, partly obscured by other controls on that page.  After the
    program runs a few more seconds, these shadows disappear.
    Most times I restart LabVIEW, I get an error message saying there was a crash due to fontmgr.cpp, line 7494.  But there actually wasn't a crash.
    My computer has Windows 7 64-bit.  Deployment Computer has Windows 7 32-bit.  LabVIEW version is 8.5.  
    I have probably 50 or 100 more controls and indicators to change to language programmability and figuring out all this stuff for each one is
    terribly time-consuming and there is no assurance that all of them will ever work.  
    At this point, I'm hoping that I am on an entirely wrong path and someone will send me a clue to get me on a path that is more predictable.
    Thanks in advance to all who post ideas!
    Cheers
    Halden 

    Hi All,
    I've made a lot of progress on this translation, but it's been really hard.  There are lots of weird things going on that must be logical because they're in a computer, but I can't figure out what the logic is.  When changing a font on a caption using the front panel, it sometimes changes the font on the caption and sometimes doesn't although the indicator always indicates the new font.  Removing the first character of the unicode font string being sent to the caption seems to help...huh?  Anyway, tabs still can't change language programmatically, and niether can ring controls (some kinds will take the new list of strings, but when selecting, they only display the first word of the string!).  Boolean text can be reprogrammed, but only if the boolean text is set to be the same for both true and false states.  When reprogramming captions on a non-displayed page of a multi-page tab-controlled user interface, the new text appears on the current page until I change pages back and forth.  What a pain!
    Sooo, NI....does LabVIEW 2011 have support for unicode fonts?  Or, is there anything else in the new control style that will support programmatic language changing?
    Halden 

  • Difference between macro and subroutine

    what is the difference between macro and subroutine? i
    need some example on macro

    Hi,
    <b>
    Subroutines</b>
    Subroutines are procedures that you can define in any ABAP program and also
    call from any program. Subroutines are normally called internally, that is, they
    contain sections of code or algorithms that are used frequently locally. If you want
    a function to be reusable throughout the system, use a function module.
    <b>Defining Subroutines</b>
    A subroutine is a block of code introduced by FORM and concluded by ENDFORM.
    FORM <subr> [USING ... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>]... ]
    [CHANGING... [VALUE(]<pi>[)] [TYPE <t>|LIKE <f>]... ].
    ENDFORM.
    <subr> is the name of the subroutine. The optional additions USING and
    CHANGING define the parameter interface. Like any other processing block,
    subroutines cannot be nested. You should therefore place your subroutine
    definitions at the end of the program, especially for executable programs (type 1).
    In this way, you eliminate the risk of accidentally ending an event block in the
    wrong place by inserting a FORM...ENDFORM block.
    <b>Macros</b>
    If you want to reuse the same set of statements more than once in a program, you can include
    them in a macro. For example, this can be useful for long calculations or complex WRITE
    statements. You can only use a macro within the program in which it is defined, and it can only
    be called in lines of the program following its definition.
    The following statement block defines a macro <macro>:
    DEFINE <macro>.
    <statements>
    END-OF-DEFINITION.
    You must specify complete statements between DEFINE and END-OF-DEFINITION. These
    statements can contain up to nine placeholders (&1, &2, ..., &9). You must define the macro
    before the point in the program at which you want to use it.
    Macros do not belong to the definition part of the program. This means that the DEFINE...ENDOF-
    DEFINITION block is not interpreted before the processing blocks in the program. At the
    same time, however, macros are not operational statements that are executed within a
    processing block at runtime. When the program is generated, macro definitions are not taken
    into account at the point at which they are defined. For this reason, they do not appear in the
    overview of the structure of ABAP programs [Page 44].
    A macro definition inserts a form of shortcut at any point in a program and can be used at any
    subsequent point in the program. As the programmer, you must ensure that the macro
    definition occurs in the program before the macro itself is used. Particular care is required if you
    use both macros and include programs, since not all include programs are included in the syntax
    check (exception: TOP include).
    To use a macro, use the following form:
    <macro> [<p1> <p2> ... <p9>].
    When the program is generated, the system replaces <macro> by the defined statements and
    each placeholder &i by the parameter <pi>. You can use macros within macros. However, a
    macro cannot call itself.
    DATA: RESULT TYPE I,
    N1 TYPE I VALUE 5,
    N2 TYPE I VALUE 6.
    DEFINE OPERATION.
    RESULT = &1 &2 &3.
    OUTPUT &1 &2 &3 RESULT.
    END-OF-DEFINITION.
    DEFINE OUTPUT.
    WRITE: / 'The result of &1 &2 &3 is', &4.
    END-OF-DEFINITION.
    OPERATION 4 + 3.
    OPERATION 2 ** 7.
    OPERATION N2 - N1.
    The produces the following output:
    The result of 4 + 3 is 7
    The result of 2 ** 7 is 128
    The result of N2 - N1 is 1
    Here, two macros, OPERATION and OUTPUT, are defined. OUTPUT is nested in
    OPERATION. OPERATION is called three times with different parameters. Note
    how the placeholders &1, &2, ... are replaced in the macros.
    Rgds,
    Prakash

  • Maintaining Sessions between http and https

    I have a web application in which I want my users to view the login page over SSL and send the login request via SSL also, but then I want to revert back to http://
    My problem is, and i've seen this problem on loads of boards with no real resolution, during the login I set some objects with in the session that are used to display information in other parts of the site... but the session object is being lost!!!
    I am using Tomcat as my web server, I saw an article on JavaWorld titled "mix protocols transparently in web applications", and apparently to over come this problem if you are using WebLogic 6.1 there is a parameter in the weblogic.xml file that must be configured, but I cant find a similar one on Tomcat!!!
    Thanks in advance

    Thanks a million for the answer, I have got it working now, but I had to do something a little different for any one else who experiances this problem I'll go through it... I set an attribute in the context which was named the the value of the current session id and contianed the session object. Then when leaving the login handeling in my dispatcher servlet I apended the session id to the url of the next jsp called. In this jsp then I retrived the "secure session" object from the context, this so far is what you suggested.
    But then I had to loop through "non secure session" object's attributes and set them in the "non secure session" object, that is I was not just able to reset the "non secure session" object equal to the "secure session" object as when I went on to the next page it was reset to the "non secure session" object again!
    The fact that the session object is changed when moving between http and https is (according to Tomcat buglist) a bug of Tomcat 4.1 and did not occur in tomcat 3.2

  • Switch between log and linear in waveform graph

    I have a waveform graph that plots linearly. however it creates an error when plotting a logarithmic line. Is there anyway to create a switch that allows me to change the plot between log and linear without creating extra graph?
    Thanks
    Chris
    Solved!
    Go to Solution.

    Use a property node: Y Scale.Mapping Mode.  Writing 1 to the node switches to logrithmic mode and 0 is for linear.
    Lynn

  • ITunes: How can I sync my podcasts between Macs and iDevices?

    Hi,
    Using iTunes for a decade now, I still having the same problem that I don't know how to solve:
    How can I sync my podcasts subscriptions and play states between Macs and iDevices?
    I am having two MPBs and one iMac, as well as an iPhone and iPad (yes, making someone rich in California), all of them are linked to the same iTunes/Apple account, they are not in the same Wifi.
    What I would like to have that all these iTunes (plural) have the same Podcasts with the same played/unplayed states...
    Is there any way to do that now, possible with iCloud? I am completely confused now that they have introduced podcast.app for iDevices...
    Thank you for any idea for good solution!

    From what I can tell, the Podcast app should do for your iOS devices what you're describing--as long as they all use the same Apple ID. Here's an article with some helpful information about the app:
    http://support.apple.com/kb/HT5295
    To keep your subscriptions in sync across all devices, the article says this:
    "To subscribe to a podcast on your device, tap the Subscribe button from the podcast provider's page from the Podcast catalog. Enable subscription syncing to keep your subscription up-to-date across your iOS devices. On your iOS device tap Settings > Podcasts > Sync Subscriptions > ON.
    To sync playback position, the article says this:
    "Playback Sync automatically allows you to sync your playback position to all of your iOS devices with the Podcasts app installed, using your Apple ID. In order for Playback Sync to sync your playback position, you must be signed in to the iTunes Store using the same Apple ID on your iOS devices."
    As for keeping playback position on your iOS devices in sync with iTunes on your Macs, you'll need iTunes 11 on all your Macs. So if you're still using iTunes 10 or earlier, you'll need to run a software update to get the latest version. Incidentally, I came across this discussion, which offers some helpful setup/troubleshooting tips about using this new podcast playback syncing feature:
    https://discussions.apple.com/thread/4555757
    Hope this is helpful!

  • Relation between Boactivity and a Y_Bo - New possible change not

    Hi;
    I have a problem and need your help please.
    I have an error with the implementation of the following Components.
    Application: MSC
    BC: Activity:
    Tileset: Y_BESBERTANA
    Tiles: Y_BESBERList, actdet1b, comnote
    BO: BOActivity, Bdoc: Activity_Object
    BO: ZWMBESBERMSA, Bdoc: ZWMBESBERMSA
    Relation between the two BOs above: Y_BESBERREL, Coll for Multiple ZWMBESBERMSA, Type: Normal
    The relation is then between Y_BESBERList and actdet1b.
    Creation and saving of this new entry is possible, but not changing and saving of an existing entry. Also not a before new created entry could be saved.
    When I want to save an existing entry, then I still get the message that the entry could be saved, but nothing were saved and the save button is still active. The event handler in the BO "ZWMBESBERMSA" "before save" was then also not reached, but also not one of the save rules of the objects activity or notes. At the BO "ZWMBESBERMSA" I have no save rule.
    Thanks and best regards
    Thomas

    First off, you need to understand how Oracle Forms interacts with an Oracle database. Forms natively handles all DML transactions for you. Meaning, if you have a Forms data block based on a database table, Forms will generate all the necessary DML to handle any changes that occur in that block. You do not need to write your own DML statements in code.
    so i will insert a one record into the block 'A' and i will press button which will insert particular record into particular table.Is Block "A" based on a table? How are you inserting the record into the table? If you are writting your own DML to insert the record this would explain why you are being prompted to save when you change records. As I mentioned, if your block is based on a table, Forms will know if you change a value within the block.
    How can i control insert statement with the respect to datablock change in the block.If your blocks are based on tables, let Forms handle the DML! don't do it yourself.
    In other words i want to unpost the posted data when user press 'no' in the database messageIf your block is based on a table, when you are prompted to save changes - answering 'NO' will automatically clear the current record of the data block (in essence - rollback the change).
    Craig...

Maybe you are looking for