AWS using Ansible? Yes, it's possible!

  Although, I've used Ansible extensively for a lot of automation and orchestration tasks, using Ansible for AWS was indeed, a new territory for me.  This turned out to be a blessing, since along with using Ansible for AWS tasks, I also learnt how to use WSL (Windows Subsystem for Linux) on a Windows machine. Though WSL's been around for some time, I still hadn't come around to using it since I was mostly using my Macbook pro. Not anymore, though!  Anyway, I have listed below the steps to: Install WSL on Windows 11 23H2 patch Install AWS CLI on Ubuntu 22.04 (Exact version - 22.04.3 LTS) Install Ansible and the amazon.aws collection Use AWS CLI to get the list of  VPCs in the region - us-east-1 (or a region of your choice) Create a python file/script to get the list of VPCs in the region - us-east-1 (or a region of your choice) Create an Ansible playbook to get the list of VPCs in the region - us-east-1 (or a region of your choice.   You may download the complete installat

Pre-requisites to "Convert to Multi-org"

Many a time, DBAs are entrusted with the task of "convert to Multi-org" as soon as an Apps instance is installed. Though, the DBAs perform this task blindly, there is a lot (according to me) of setup work that needs to be completed, before "Convert to Multi-org" can succeed.

I have tried, in this blog entry, to list out these tasks. Please go through the references mentioned below for explanation about the different terms/terminology like Legal Entity, Operating Unit etc.


Step I - Define Work Location

Set the profile option HR:User Type for a given responsibility (that we are going to use to define the work location say Global HRMS Manager) to HR User.

Global HRMS Manager (responsibility) --> Work Structures --> Location

Provide:

1. Location Name
2. Location Address


Step II - Define Business group

Set the profile option HR:User Type for a given responsibility (that we are going to use to define the work location say Global HRMS Manager) to HR User.

Global HRMS Manager (responsibility) --> Work Structures --> Organization --> Description

1. Select New.

2. Provide the Business group name.

3. Select Location as the one defined above.

4. Select Business Group as the Organization Classification and save.

5. Click on Others and fill the "Business Group Info."

6. Select HR Organization as the Organization Classification and save.


Step III - Define Currencies -- Not required as USD is already available. If you want any other currency to be defined, then follow the below navigation.

General Ledger Super User (responsibility) --> Setup --> Currencies --> Define


Step IV - Define Value sets for Accounting key flexfield

Note 1: In order to create the set of books (SOB), the 3C's have to be defined:

a. Currency
b. Calendar
c. Chart of Accounts (COA)

Note 2: For creating a SOB, a minimum of 3 segments have to be defined. The maximum is 30.


1. Create value sets for the key flex field.

General Ledger Super User (responsibility) --> Setup --> Financials --> Flexfields --> Validation --> Sets

eg:
Seg1 (value set/segment for org code) - Char, Max Length = 3, Indendependent
Seg2 (value set/segment for cost centre) - Char, Max Length = 4, Indendependent
Seg3 (value set/segment for natural accounting code) - Char, Max Length = 5, Indendependent

2. Add values to the value set.

General Ledger Super User (responsibility) --> Setup --> Financials --> Flexfields --> Validation --> Values

eg:

For Seg1


001 - BKP1 (Org Name)
002 - BKP2 (Org Name)
003 - BKP3 (Org Name)

For Seg2

0001 - HR (Cost Center)
0002 - Admin (Cost Center)
0003 - Finance (Cost Center)
0004 - IT (Cost Center)

For Seg3

0001 - Expenses (Accounting Code)
0002 - Salary (Accounting Code)
0003 - Misc. Expenses (Accounting Code)
0004 - PF (Accounting Code)
0005 - Retained Earnings (Accounting Code) - Qualifier should be "Yes,Tes,Ownership/Stockholder's Equity/Fund Balance"


3. Define Key Flexfield (Chart of Accounts).

General Ledger Super User (responsibility) --> Setup --> Financials --> Flexfields --> Key --> Segments

a. Search for Accounting Flexfield

b. Provide Code Name = BKP_COA and Code_Title = BKP_Accounting Flexfield

c. Check "Allow Dynamic Inserts".

d. Click on Segments.

e. Define 3 segments as below:

eg:

BKP_Seg1 -> Column = Segment1, Value set name = Seg1, Qualifier = Balancing Segment
BKP_Seg2 -> Column = Segment2, Value set name = Seg2, Qualifier = Cost Center Segment
BKP_Seg3 -> Column = Segment3, Value set name = Seg3, Qualifier = Natural Account Segment

f. Save the segments.

g. Compile


Step V - Define Period Type/Accounting Calendar

1. Define accounting period type if not already defined. -- Not required as it is already defined.

General Ledger Super User (responsibility) --> Setup --> Financials --> Calendar --> Types

2. Define accounting period.

General Ledger Super User (responsibility) --> Setup --> Financials --> Calendar --> Accounting

eg: Name = BKP_CAL


Step VI - Define Sets of Books

5. Define Set of books.

General Ledger Super User (responsibility) --> Setup --> Financials --> Books --> Define

eg:

Name = BKP_SOB, COA = as defined in step 3, calendar name = as defined in step 4, retained earnings = 001.0001.0007

Note: If you receive the below error in retained earnings tab, follow metalink note: 150161.1


APP-FND-00822: Program error: Invalid arguments to the flexfield routines. Please inform your support representative that:

Routine FDFGVP was unable to find the segment qualifier. The flexfield user exits #FND LOADID, #FND POPID, or #FND VALID have been called incorrectly.

Make sure the segment qualifiers specified match those defined in the Define Qualifiers form. (ATTYPE=DETAIL_POSTING_ALLOWED)
____________________________________________________________________

APP-FND-00730: This flexfield has an invalid value set. It may use a special value set that uses an Edit event user exit, and the user exit has failed. If you are using a form on a graphical user interface (GUI) you may have an invalid value set of a different type, possibly a table-validated value set where the table or view does not exist or where there is an invalid WHERE clause.

Contact your system administrator or support representative to check and correct the value sets this flexfield uses.


Step VII - Define Organizations

1. Set the profile option HR:User Type for a given responsibility (that we are going to use to define the legal entity say Inventory) to HR User.

Define Legal Entity

Inventory --> Setup --> Organizations --> Organizations

a. Name = BKP_LE

b. Select Location as the one defined above and save.

c. Select "GRE / Legal Entity" as the Organization Classification and save.

d. Click on Others and fill in "Employer Identification" and save.

e. Click on Others and fill in "Legal Entity Accounting" (specify the name of the set of books created above) and save.


Define Operating Unit

Inventory --> Setup --> Organizations --> Organizations

a. Name = BKP_OU

b. Select Location as the one defined above and save.

c. Select "Operating Unit" as the Organization Classification and save.

d. Click on Others and fill in "Operating Unit Information" (Legal Entity = as defined above, SOB = as defined in step VI) and save.



Step VIII - Set Profile Options

* Profile Option: HR : Business Group at site and responsibility level (to the business group defined above in step II)
* Profile Option: HR : Security profile at site and responsibility level (to the business group defined above in step II)
* Profile Option: MO: Operating Unit at site and responsibility level (to the Operating Unit defined above in step VII)
* Profile Option: MO: Default Operating Unit at site and responsibility level (to the Operating Unit defined above in step VII)


Step IX - Convert to Multi-org

1. Stop all services.

2. Run adadmin to "Convert to Multi-org".

3. If you receive a error saying :

The worker completed and during post run of sub driver "admocnv.drv"
it failed as the following file does not exist
================================
Warning: File /u01/app/DEV/devappl/ar/11.5.0/patch/115/sql/arhmgmul.sql
does not exist
===============================

apply patch 2451368 as per Metalink Note: 284699.1


References:

1. http://www.oracleappshub.com/general-ledger/11i-setup-for-le-ou/

2. Metalink Note:284699.1

Comments

Anonymous said…
Very good. I was looking for this kind of document since long time but could not find good document.
Even though I do not know sysadmin but I was able to do in couple of days.

Thanks again.

Popular posts from this blog

Solution to "End Program - WMS Idle"

Modify retention period of workflow queues

Check if UTL_FILE and FND_FILE are working fine