RCU 11.1.1.7 Installation Guide


1.    Navigate to rcuHome/BIN/rcu.bat (*preferable open the .bat using cmd with administrator role)

2.    Select Create in the Create Repository tab


3.    Fill in your database information



·         Database Type: Oracle Database
·         Host Name: database host name
·         Port: database port
·         Service Name: database service name (e.g. XE)
·         Username: sys
·         Password: password for the sys user
·         Role: SYSDBA

4.    If your database is not using the UTF-8 character set, you will see a warning message indicating that there may be a data loss if you are going to use the database for multilingual support. If you are not planning to use multilingual support, then you can click Ignore. Otherwise, click stop.


5.    Select Create a new Prefix, and enter a prefix to use for the database schemas, for example DEV or PROD. You can specify up to six characters as a prefix. Prefixes are used to create logical groupings of multiple repositories in a database.


Select the following components
·         AS Common Schemas
o   Metadata services
·         WebCenter Content
o   Oracle WebCenter Content Server – Complete
o   Oracle WebCenter Content: Imaging
·         SOA and BPM Infrastructure:
o   SOA Infrastructure
o   User Messaging
·         WebCenter Portal
o   Spaces and Services
o   Portlet Producers
*If number of process is not enough, then execute below in sys schema
alter system set processes=500 scope spfile;

6.    In the Schema Passwords screen, select Use main schema passwords for auxiliary Schemas, enter the schema passwords for all components and click next.


7.    In the Map Tablespaces screen, choose the tablespace for the selected components, and click Next.
A confirmation dialog is displayed stating that any tablespace that does not already exist in the selected schema will be created. Click OK to acknowledge this message.


8.    In the Summary screen, click Create

8.    In the Completion Summary screen, click Close

XHR Listener


// Add jquery here
(function() {
   var proxied = window.XMLHttpRequest.prototype.send;
   window.XMLHttpRequest.prototype.send = function() {
       //Here is where you can add any code to process the request. 
       //If you want to pass the Ajax request object, pass the 'pointer' below
       var pointer = this
       var intervalId = window.setInterval(function(){
        //0: request not initialized 
        //1: server connection established
        //2: request received 
        //3: processing request 
        //4: request finished and response is ready
               if(pointer.readyState != 4){
                   return;
               }else if(pointer.readyState == 4){
                   //code here
                   
               }
               // will be raised whenever an AJAX request co

               //Here is where you can add any code to process the response.
               //If you want to pass the Ajax request object, pass the 'pointer' below
               clearInterval(intervalId);

       }, 1);//I found a delay of 1 to be sufficient, modify it as you need.
       return proxied.apply(this, [].slice.call(arguments));
   };


})();

Check Concurrent Job Status Running

SELECT DISTINCT fcp.user_concurrent_program_name,
                fcp.concurrent_program_name,
                fcr.request_id,
                fcr.request_date,
                flv.meaning status,
                fcr.status_code,
                fcr.completion_text,
                fcr.logfile_name,
                fcr.outfile_name,
                fcr.argument_text
  FROM apps.fnd_concurrent_programs_vl fcp,
       apps.fnd_concurrent_requests    fcr,
       apps.fnd_lookup_values          flv
 WHERE fcr.concurrent_program_id = fcp.concurrent_program_id
   AND trunc(fcr.last_update_date) = trunc(SYSDATE)
   AND flv.lookup_code = fcr.status_code
   AND flv.lookup_type = 'CP_STATUS_CODE'
   AND REQUEST_DATE like'%06-NOV-%' 
 ORDER BY fcr.request_date,
          fcr.request_id DESC;

How to create Android APK file in Android Studio

How to create Androdi APK file in Android Studio?

1. Click drop down button at the top toolbar
2. Select Edit configuration



3. Edit configuration popped up

4. Select gradle 



5.  Gradle Project  > select your module name
6. Tasks > type "assemble"
7. Click OK
8. Your APK file will be in ProjectName\app\build\outputs\apk



Asynchronous call with AngularJs and Spring

UI first, content later!

This tutorial is intended to demonstrate an asynchronous call using AngularJs and Spring MVC project.

In order to perform an asynchronous service call, we will use AngularJs ajax http.Post method to call backends (such as SOAP/REST services or Database), and it will also map the data returned from controller to each field on the View.

Include AngularJS in Spring MVC Project
1. Download AngularJS https://angularjs.org/
2. Include AngularJS javascript files under your resources folder and jsp. How to include resource files in Spring project


Asynchronous Call
Spring MVC consists of Model, View, and Controller, however AngularJs covers the View only.



View and Controller

According to the picture above, it describes as the following

1. Spring View handles the page redirection using http.Get from the View. For example when the webpage url is called ndry93.blogspot.com/webpage1

2. Spring Controller returns the requested view name, and thus web page will render.

 @RequestMapping(value = "/webpage1", method = RequestMethod.GET) 
public String index() {               
     return "webpage1"; 
}

3. Asynchronously, AngularJs Ajax http.Post will be executed when the page is rendering its content. See AngularJS tutorial and documentation ( https://docs.angularjs.org/guide )  and http://www.w3schools.com/angular/angular_http.asp

For example,
<script type="text/javascript" src"<c:url value="/resources/js/angular.min.js" />"></script>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('customersCtrl'function($scope, $http) {
  $http.post("getSRDetails.htm", { ticketNumber : "1004406487" })
  .success(
          function (response) {
                $scope.srdetails = response;
          });
});
</script>

8. In the Controller, we should have code as the following to capture request from the View. Assume we get the values from backend service, then we need to convert the list of values into JSON format before we send it back to the view.


@RequestMapping(value = "/getSRDetails.htm", method = RequestMethod.POST)
public @ResponseBody
String GetSRDetails(@RequestBody Map requestthrows JsonGenerationException, JsonMappingException, IOException {

       List<SRConversationDetail> sRConversationDetails = 
                 serviceRequestFacade.retrieveSRDetails(request.get("ticketNumber").toString());
       logger.info("Service Request details size "sRConversationDetails.size());
       ObjectMapper converter = new ObjectMapper();
       logger.info("Service Request details converted: "sRConversationDetails);
       return converter.writeValueAsString(sRConversationDetails);


}

*@RequestBody since request param data sent through request body http POST method. *Use Map data type because the request param is in JSON format


In result, browser will render webpage1.jsp and display contents from Ajax http.Post method by calling /getSRDetails.htm. 


for more detail on the entire design see the next post

AngularJS Documentation