Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

topparent.command("RECORD_COMMIT") does not raise error

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    topparent.command("RECORD_COMMIT") does not raise error

    I am using topparent.command("RECORD_COMMIT") and when the statement failed to save record (lets say because failure of field rule) it does not raise error. The "On Error Goto" is not working. The Control does not go to error handler.

    Any Suggestions highly appreciated.

    This is the code I have
    ----------------------

    on error goto rule_err
    dim commit_flag as L
    commit_flag = .t.

    topparent.command("RECORD_COMMIT")

    IF COMMIT_FLAG = .T. THEN
    DisableButtons("EnterSave")
    DisableButtons("EnterCancelChanges")
    EnableButtons("Enternewrecord")
    EnableButtons("Btnefile")
    EnableButtons("EnterPrint")
    END IF
    end

    '----------
    rule_err:
    commit_flag = .f.
    resume next

    #2
    Atchut, I'm sorry but I don't recognize the commands you're using. Cannot find a form method called
    Code:
    .command()
    Were you thinking of

    Code:
    topparent.commit()
    ??

    -- tom

    Comment


      #3
      Hello all,

      topparent.command("RECORD_COMMIT") is the command we get when you are in xbasic script editor and click on the genie and then choose to do a menu commands action from the options.


      Code:
      'Execute menu command: 'RECORD_COMMIT'.
      topparent.command("RECORD_COMMIT")
      is the code that is displayed to be inserted in the editor.

      I was also looking for trapping that kind of errors.

      How is that accomplished?

      I am basically trying to capture the field is required error to put a custom errror message.

      Thanks in advance.
      Kanaka.

      Comment


        #4
        Kanaka,

        I'm sorry to say that I don't have experience using the command you're referencing. However, the required field rule is one that I routinely avoid. It is relentless.

        In situations where I do not want a record to be saved unless a particular field is "filled in" by the user, I accomplish the same thing as the "required field" field rule by writing a short script in the CanSaveRecord event in field rules. This event will fire just before the pending changes are committed.

        A sample script might be something like this in a case where I do not want the "Lastname" field left blank:

        Code:
        'CanSaveRecord event script 
        tbl = table.current()
        if tbl.lastname = "" then   'field is empty
           ui_msg_box("Oops","You must fill in the Lastname field before saving the record.")
           cancel()
        end if
        The cancel() function will cancel the pending commit. The msg box tells the user what is needed.

        -- tom

        Comment


          #5
          Originally posted by Tom Cone Jr
          Kanaka,

          I'm sorry to say that I don't have experience using the command you're referencing. However, the required field rule is one that I routinely avoid. It is relentless.

          In situations where I do not want a record to be saved unless a particular field is "filled in" by the user, I accomplish the same thing as the "required field" field rule by writing a short script in the CanSaveRecord event in field rules. This event will fire just before the pending changes are committed.

          A sample script might be something like this in a case where I do not want the "Lastname" field left blank:

          Code:
          'CanSaveRecord event script 
          tbl = table.current()
          if tbl.lastname = "" then   'field is empty
             ui_msg_box("Oops","You must fill in the Lastname field before saving the record.")
             cancel()
          end if
          The cancel() function will cancel the pending commit. The msg box tells the user what is needed.

          -- tom
          Thank you Tom,
          I have found from other messages about the same solution you have proposed above.
          I am really curious if anyone else can help me out with this. I suppose no one has used the menu commands so much since they are restricted from trapping errors from their code when they use these commands.
          I found a similar plea for help from another message about command. Apparently there were no replies.
          http://msgboard.alphasoftware.com/al...ad.php?t=48986
          I am not trying to be lazy here but with all the time it takes to change my almost finished program, I feel I should shout out for help.
          There is one thing else I wanted to point out to you that, if you set a field as required in the field rules we can set the validation in the validation tab as
          Lastname="" and your custom message. I found out all of this too after posting this message. Oh well, now I have things to do either way.

          Thanks for all the help.

          Kanaka.

          Comment


            #6
            How about something like the following. I think it's much simpler and more intuitive. I use this method quite a bit. The need for "xbasic_wait_for_idle()" seems to come and go so you may have to try it with and without but it should generally be safe to go "with".

            parentform.commit()
            xbasic_wait_for_idle()

            IF parentform.mode_get() = "VIEW"
            ......

            Comment


              #7
              How about something like the following. I think it's much simpler and more intuitive. I use this method quite a bit. The need for "xbasic_wait_for_idle()" seems to come and go so you may have to try it with and without but it should generally be safe to go "with".

              parentform.commit()
              xbasic_wait_for_idle()

              IF parentform.mode_get() = "VIEW"
              ......

              Comment


                #8
                How about something like the following. I think it's much simpler and more intuitive. I use this method quite a bit. The need for "xbasic_wait_for_idle()" seems to come and go so you may have to try it with and without but it should generally be safe to go "with".

                Code:
                parentform.commit()
                xbasic_wait_for_idle()
                
                IF parentform.mode_get() = "VIEW"    'It's saved.
                ......

                Comment

                Working...
                X