Copy Responsability from One User to another User

on Thursday, January 31, 2013

DECLARE
 
  resp_count NUMBER := 0;
 
  CURSOR src_user_resp_details
  IS
    SELECT DISTINCT fa.application_short_name,
      fr.responsibility_key                  ,
      fsg.security_group_key
       FROM fnd_application fa      ,
      fnd_responsibility fr         ,
      fnd_user fu                   ,
      fnd_user_resp_groups_all furga,
      fnd_security_groups fsg
      WHERE 

      AND fu.user_name                        = 'USER FROM'
      AND fu.user_id                          = furga.user_id
      AND fa.application_id                   = fr.application_id
      AND furga.responsibility_id             = fr.responsibility_id
      AND furga.responsibility_application_id = fa.application_id
      AND fsg.security_group_id               = furga.security_group_id
      AND furga.end_date IS NULL;

 
 
BEGIN
  FOR user_resp_details_rec IN src_user_resp_details
  LOOP
    BEGIN
      --
      fnd_user_pkg.addresp
                 (username            => 'USER_TO',
                  resp_app            => user_resp_details_rec.application_short_name,
                  resp_key            => user_resp_details_rec.responsibility_key,
                  security_group      => user_resp_details_rec.security_group_key,
                  description         => NULL,
                  start_date          => SYSDATE,
                  end_date            => NULL
                 );

     
      resp_count := resp_count + 1;
     
 EXCEPTION
    WHEN OTHERS THEN
     
      DBMS_OUTPUT.put_line ( 'Error while Adding Responsibility: ' || SQLERRM );
      DBMS_OUTPUT.put_line ( 'resp_app: ' || user_resp_details_rec.application_short_name );
      DBMS_OUTPUT.put_line ( 'resp_key: ' || user_resp_details_rec.responsibility_key );
     
    END;
  END LOOP;
 
  DBMS_OUTPUT.put_line (resp_count || ' Responsibilities Successfully Copied!!' );
 
  COMMIT;


END;

Recurring Journals

on Wednesday, January 9, 2013


Define recurring journal formulas for transactions that you repeat every accounting period, such as accruals, depreciation charges, and allocations. 

You can use recurring journals to create three types of journal entries:

Skeleton Journal Entries

Skeleton journals have varying amounts in each period. You define a recurring journal entry with out amounts, and then enter the appropriate amounts each accounting period.  There are no formulas to enter, only account combinations. 

For example, you can record temporary labor expenses in the same account combination every month with varying amount due to fluctuations in hours..

Standard Recurring Journal Entries 

Standard recurring journal entries use the same accounts and amounts each period.

For example, Record monthly lease expenses with constant amounts charged to the same account.

Recurring Journal Formula Entries 

Formula entries use formulas to calculate journal amounts that vary from period to period. 

For example, calculate commotion to sales representative based on the sales of the month.

APPS Architecture

on Friday, January 4, 2013



Desktop tier    

A client could access the Oracle Applications only by using a Web Browser which must have Oracle JInitiator installed on it. Oracle JInitiator is the Oracle Java Virtual Machine used to run Oracle Forms applets.


Application (or middle) tier includes 
  • Web Server listens for HTTP requests and provides an HTTP response to the client. The HTTP response usually consists of an HTML document, but can also be a raw file, an image or some other type of document (defined by MIME-types);
 
  • Forms server: includes the Forms listener and the Forms Runtime Engine. The Forms Runtime Engine maintains a connection to the database on behalf of the Java client. It uses the same Forms, Menus, and Libraries files that are used for running in client/server mode. No application code changes are required to deploy a legacy client/server application to the Internet;
 
  • Concurrent Processing Server: server which run reporting programs and data updating programs (periodically or ad hoc). These programs (named concurrent programs) run on this server in background in order not to interfere with the normal operations. When a request is made a row is inserted into FND_CONCURRENT_REQUEST table. The concurrent managers read these requests in the table and start the relevant concurrent programs;
 
  • Reports Server:   run Oracle Applications reports and is always installed on the same node as the Concurrent Processing Server. However the reports are administered separately from the concurrent processing reports; 
 
  • Administration Server:  contains scripts which are used to administer the Oracle Applications eBusiness Suite. From this server the following operations can be performed:

  •  Applying patches (using adpatch);
  •  Maintaining Oracle Applications (using adadmin);
  •  Upgrading Oracle Applications from an earlier release to  11.5.x (using adaimgr).

  • Discoverer Server (optional):  is installed if Oracle Discoverer will be used.

Database tier 
    
The Database tier contains the Oracle Database Server which store all the data needed by Oracle Applications. The database store the Oracle Applications online help as well. The database server communicate with middle tier and does not communicate directly with the desktop tier.