5 Replies Latest reply on Apr 27, 2013 6:15 PM by 963998

    Background execution of Oracle Forms records

      Hi Experts,

      We have oracle Form A from which we are selecting List Item i.e. country code, and then displays all Tax Registration details in lower block

      Form A Tax Registraion details execution Flow

      1) Selects Country code from List item

      2) Picks all Tax registration number which are belonging to user selected country code from database

      3) All tax numbers are going to be validate from Online java webservices, here Java Webservices returns taxnumber with TRUE or FALSE values

      4) Taking Java Webservice's returned values(Tax Registration numbers and TRUE OR FALSE) and again we point database to get more fields values for all tax numbers and same will be displayed in forms block with TRUE or FALSE values

      5) When user selects country code in Form A, all tax number details are displaying in block with TRUE or FALSE status

      All above steps are achieved successfully.

      Now the Problem is, when user selects the Country code in Form A, it takes lot of time to get all details from Webservice and database. we can understand this delay because of it is connecting to Java Webservice to fetch thousand of records for validation.
      So now user wants to point to other forms when this Form A is in execution.

      I tried to calling this form using OPEN_FORM to create separate session for this Form A and the execute in background. Using


      but it was not helped us to point to other form when the Form A is in execution.

      We call all forms from menu items, now user is not able to click on menu items when Form A is in execution.

      This is very critical, So can we know please as soon as possible, how to point to other forms when FormA is in execution.

      Environment used
      Front end: Oracle Forms 10g(Forms [32 Bit] Version (Production))
      Back end : Oracle 10g
      Server : Putty Unix Application server
      Windows : Windows Xp professional service pack 3

      Thanks in Advance

      Best Regards
        • 1. Re: Background execution of Oracle Forms records

          The forms are synchronous by it's nature. So there in no out of the box way to make forms act asynchronously. One way though it would be to write your own java bean (being asynchronous) to call out the web service. This way you can kind of simulate asynchronous web service call which would allow you to continue to work in your forms session synchronously. In you example call another form. But there is a catch here as soon as the java bean had to communicate with forms session there could be a problem as the form which initially called web service is not active. So you should plan and test this scenario carefully.

          You could also try to use integration with AQ feature in Forms 11g. This way the communication with web service had to be done inside database. Those are just some ideas but the real implementation depends on your needs.

          Best regards.
          1 person found this helpful
          • 2. Re: Background execution of Oracle Forms records

            Thanks for your reply and your points !

            Are there any other ways apart from using Java beans in forms 10g to point to other forms or menu when one form is validating tax numbers from online webservice?

            If no, please provide us some examples of Java beans URL Links from which we can achieve open other forms when one form is in execution.

            Thanks and Best Regards
            • 3. Re: Background execution of Oracle Forms records
              François Degrelle

              It could be possible to run another independant Forms session by using the Web.Show_Document() built-in.

              • 4. Re: Background execution of Oracle Forms records
                In case you do not wish for the form to wait for a given web-service to return something, then, the form should launch a job in the database that would query the web-service, and then, on a when-timer-expired in the form check if that job has finished running. So, the user may be moving within the form while the job is running in the database, the main problem being how to transmitt data from the job to the form. Maybe via a database table. Or possibly using the facilities of dbms_pipe.
                • 5. Re: Background execution of Oracle Forms records
                  Hi Fracoise,HDH

                  Thanks for the reply!

                  Web.show_document it just creates another session, it's pretty useful.

                  As per the information from HDH, it is very usefull if we put the procedures of forms in plsql jobs, i will try this method.

                  Once again thanks for your suggestions :-)