IR ISO process (Explained in detail)

Tuesday, October 16, 2012 by Ajay Atre



Step#1 - Creating the Item
Inventory Super User - Navigation: Items/Master Items
Enter item name and description
Table affected – MTL_SYSTEM_ITEMS_B

Copy from template tools – copy from –purchased item

Ensure it is Purchased and Purchasable under Purchasing tab

Ensure below attributes under Order management
Customer Ordered and Customer Orders Enabled, Shippable, Internal Ordered, Internal Orders Enabled, OE Transactable

Organization assignment
Assigning to M1 and M2 as M1 will be the destination inventory organization and M2 will be the Source Inventory Organization.



Please note here
In the Vision Demo instance, the Purchasing and Order Management Attributes are controlled at Item Master level. By choosing the attributes at the item master level (V1) automatically sets these attributes for all organizations which are assigned (ex. M1 and M2).  By choosing the attributes at the Item Master level - they are already set for all inventory organizations assigned.

Step#2 - Shipping Network Creation
Inventory: Navigation: Setup/Organizations/Shipping Networks




Enter the Inventory Organization that will be the Source and the scope should be From or To Organizations
Choose the Transfer Type:
·         Direct - means that when the Internal Sales Order is shipped the receipt process in the destination organization is done automatically
·         Intransit - means that when the Internal Sales Order is shipped - the destination inventory organization has to manually do the receiving process in Purchasing
Choose Internal Order Required checkbox - Save

Please note here
If the Source and Destination Inventory Organizations are the same, then this step is conditionally not required. (Essentially the Item is being transferred between subinventories in the same Inventory Organization).

Step#3 - Internal Location Creation
Purchasing Super User: Setup/Organizations/Locations
The location created will be used to tie the Destination Location in the requisition form to the Internal Customer to be used on the Sales Order form. 
Purchasing does not allow the entry of a Customer - therefore it passes the location to Order Management.
During Order Import in Order Management - the system locates the Customer Record to which the Location is assigned. Associating the location to the customer record will be done in the later steps.

Assign the location to the inventory organization


Step#4 – Inventory creation using Miscellanous Transaction (Receipt) in source whs
Inventory: Navigation: Transactions/Miscellaneous Transactions
Choose the source inventory organization. For example M2 here, Misc receipt transaction will create an inventory for the item.
Table affected – MTL_MATERIAL_TRANSACTIONS


You can see onhand using material workbench
Inventory: Navigation: On- hand, Availability
Table affected – MTL_ONHAND_QUANTITIES_DETAIL



Step#5 - Create the Internal Customer - Assign the Location
Order Management Super User:  Navigation: Customers/Standard


Add ship to and bill to


Under ship to add the location we have created, which is ORATEST_INTERNAL LOCATION




Step#6 - Item Price Information
Purchasing Super User:  Items/Master Items

The price used on the requisition comes from the item costs section.
To view this information Query back the item Choose from the top text menu - Tools/Item Costs



Step#7 - Creating the Requisition
Purchasing Super User: Navigation - Requisitions/Requisitions
Table affected – PO_REQUISITION_HEADERS_ALL (segment1 is requisition number), PO_REQUISITION_LINES_ALL



Step#8 – Requisition Approval
By default requisition will not get approved it will in incomplete status, you will need to define approval in purchasing.
To get this tutorial going I have defined position based approval in purchasing adding those steps
1.   Operating unit parameters
Purchasing Super User: Navigation – Setup, Organizations, Financial parameters
Uncheck the Use approval hierarchies check box


2.   Define job
Purchasing Super User: Navigation – Setup, Personnel, Jobs
I have defined job as TEST IR APPROVER


3.   Define Approval Group
Purchasing Super User: Navigation – Setup, Approvals, Approval Group


4.   Approval assignments
Purchasing Super User: Navigation – Setup, Approvals, Approval Assignments
Assignments are done to job which we have defined in earlier step (TIR.TEST IR APPROVER)
I am assigning the job (TIR.TEST IR APPROVER) to approval group (TEST APPROVAL GROUP)


5.   Employee creation /job assignment

Click on assignment; Assign the job to the employee



Once these steps have done you should able to approve the requisition.


Step#9 - Submitting the Create Internal Orders Concurrent Request
Purchasing Super User: Navigation - Reports/Run


Create Internal Orders will insert data into the Order Management interface Tables
Important columns inserted are
·         location_id- Order Management uses this information to get the customer associated with the location
·         calculate_price_flag- Will be N This means that Purchasing is going to pass the price and it will not be impacted or recalculated when imported into Order Management
·         Create Internal Orders process does not pass any values from flexfields

Step#10 - Import the Internal Sales Order
Order Management Super User: Navigation: Orders, Returns/Import Orders/Order Import Request
Table affected – OE_HEADERS_IFACE_ALL, OE_LINES_IFACE_ALL



Step#11 – View the Internal Sales Order, book and reserve inventory
Find the order which was imported
Table affected – OE_ORDER_HEADERS_ALL, OE_ORDER_LINES_ALL
FLOW_STATUS_CODE is available in both the headers and lines tables which tell us the status of the order at each stage.




You can see the requisition number under others tab

Check the ship from location


Table affected –OE_ORDER_HEADERS_ALL (FLOW_STATUS_CODE is Entered)

Book the order, once booked allocate the inventory against the order

Table affected –
OE_ORDER_HEADERS_ALL (FLOW_STATUS_CODE is BOOKED)
OE_ORDER_LINES_ALL (FLOW_STATUS_CODE is AWAITING_SHIPPING)
WSH_DELIVERY_DETAILS (Records will be created in this table with RELEASED_STATUS=’R’ (Ready to Release))
WSH_DELIVERY_ASSIGNMENTS (Records will get created in this table also)





Table affected – MTL_RESERVATIONS (DEMAND_SOURCE_LINE_ID is OE_ORDER_LINES_ALL.line_id)



Step#12 – Pick Confirm the ISO (Internal Sales Order)

Order Management Super User: Navigation: shipping transactions



Grants
If you are seeing the shipping transactions menu under Action is disabled

Then setup, shipping, grants and Role definitions, grants
Enter the user name and role as upgrade Role


Pick release the order
Order Management Super User: Navigation: shipping transactions
Query the order and use launch pick release under actions and click go

Table affected –
If Autocreate Delivery is set to ‘Yes’ then a new record is created in the table WSH_NEW_DELIVERIES
DELIVERY_ID is populated in the table WSH_DELIVERY_ASSIGNMENTS
The RELEASED_STATUS in WSH_DELIVERY_DETAILS would be now set to ‘Y’ (Pick Confirmed) if Auto Pick Confirm is set to Yes otherwise RELEASED_STATUS is ‘S’ (Release to Warehouse).



Behind the scene it will submit program as Pick Selection List Generation which will pick confirm the order
If you query back the order, you should be seeing the line status as Staged/Pick Confirmed


So as the order line status will change from awaiting shipping to picked




Step#13 – Ship Confirm the ISO (Internal Sales Order)
Order Management Super User: Navigation: shipping transactions
Query the order and click on delivery tab and then click on ship confirm
Table affected –
RELEASED_STATUS in WSH_DELIVERY_DETAILS would be C (Ship Confirmed)
FLOW_STATUS_CODE in OE_ORDER_HEADERS_ALL would be BOOKED
FLOW_STATUS_CODE in OE_ORDER_LINES_ALL would be SHIPPED



Click ok


Behind the scene it will submit Interface Trip Stop which will now actually reduce inventory
If you query back the order on shipping transaction you should see the order status as shipped.
If it’s shipped then you need to run the workflow background process



Once successfully completed you shall see the order as interfaced under shipping transactions


At this point the order is shipped fully.

The next step is Sales Order was shipped from the source inventory organization (M2) and needs to be received into the destination inventory organization (M1).

Step#14 – Receive the ISO (Internal Sales Order)

Receive the ISO in destination organization
Purchasing Super User: Navigation – Receiving, receipts
Select the destination organization M1 here
You can receive by requisition number or the shipment number (shipment number is nothing but the delivery number of an order). In case if the order is shipped with multiple deliveries then suggestion would be receive by shipment number.

Table affected –
RCV_SHIPMENT_HEADERS (shipment_num is oracle delivery number, SHIPMENT_LINE_STATUS_CODE shows fully received partially received)
RCV_SHIPMENT_LINES (RCV_SHIPMENT_HEADERS.shipment_header_id, to_organization_id, quantity_shipped, quantity_received
rcv_transactions and mtl_material_transactions- shows the receiving transactions



Check the line and click save




You can cross check the receipts under receiving transactions summery






Filed under , , having 20 comments

Multi-Org with R12

Friday, October 5, 2012 by Ajay Atre



Multi-Org is a server side enhancement, which enables the Multiple Organizations in an enterprise to use a single installation of Oracle Applications products while keeping transacting data separate and secure
In 11i the Multi-Org Structure
In R12 the Multi-Org Structure
Business Group -> Set of Books -> Legal Entity -> Operating Unit -> Inventory Organization
Business Group -> Ledgers -> Legal Entity -> Operating unit -> Inventory Organization
The difference in 11i and R12 is:
·         Set of Books are replaced by ledgers in R12.
·         Ledgers are created using Accounting Setup Manager.
·         Further Operating Unit can also be created in Accounting Setup Manager itself.
Business Group - It represents the highest level in the organization structure, such as the major division.
·         The Business Group partitions HR information and the Purchasing Approval Hierarchy.
·         You must have at least one Business Group.
·         Multiple Legal Entities can relate to a single Business Group
Ledger:
A Ledger is a financial reporting entity, which implements the four “C”s &  is a single repository of financial truth.
·         Chart of Accounts (COA: Accounting Flexfield Structure)
·         Functional Currency
·         Financial Accounting Calendar
·         Accounting Conventions (Subledger accounting method)
Legal Entity:
A Legal entity represents a legal company for which you prepare fiscal or tax reports.
Subledger Accounting (SLA):
Subledger Accounting is mainly a rule-based accounting engine that centralizes accounting for Oracle E-Business Suite products in R12.
·         By maintaining a full link between the transaction and accounting data, Subledger Accounting allows powerful reconciliation and auditing capabilities. 
Operating Unit: an autonomous business unit in an organization that has a business need to secure transaction data, set up and seed data
·         An Operating Unit is linked to a Responsibility using the MO: Operating Unit profile option.
Balancing Entity:
This is an entity for which you prepare a balance sheet, represented as a balancing segment
value in the Accounting Flexfield structure.
·         There can be multiple balancing entities within the same operating unit structure and each of these must balance within itself. 
·         All required intercompany entries will be automatically created within the Ledger to ensure that companies are never out of balance.
Inventory Organization:
An inventory organization represents an organization for which you track inventory transactions and balances.
Examples include manufacturing plants, warehouses, distribution centers, and sales offices.
·         Products BOM, WIP, Inventory etc. secure information by Inventory Organization.
·         To run any of these products or functions, you must select an organization classified as an inventory organization.
Profiles
MO: Operating Unit - Operating Unit assignment to Responsibility
MO: Security Profile - It enables the user to get access on more than one Operating Unit by defining a security profile with Multiple Operating Unit and assigning it to the responsibility  (If MO: Security Profile is set, then MO: Operating Unit is ignored by the system)
MO: Default Operating Unit - It is used when we have more than one OU attached to a responsibility through security profile, among which you want a particular OU to be defaulted
HR: User Type - It limits the access on windows shared Oracle Human Resources and Other Applications
HR: Business Group - We associate a Business Group with a responsibility using this profile option. It should be done for all responsibilities
HR: Security Profile - When we define a new Business Group instead of modifying the predefined setup Business Group, you need to set the HR: Security Profile option to point the Security profile for the new Business Group. Oracle HRMS automatically creates a security profile with the Business Group name when you define a new Business Group
Setup steps Pre-requisites:
Define Organization, Define Legal Entity, Access to Responsibilities HRMS, GL, Purchasing, System Administrator, Inventory etc
Steps:
1. Design a Structure
2. Define a Location
3. Define Business Group
4. Define or Use existing Accounting Flexfield
5. Create Legal Entity
6. Create Ledgers
7. Create and Assign Operating Unit and Legal entity
8. Create Inventory Organization
9. Run Reports - Replicate Seed Data, Multi-Org setup Validation Report

Detailed setup steps
1.       Login as sysadmin responsibility
2.Ddefine required responsibilities
Navigation:security->responsibility->define
3.Define user and assign responsibilities to the user.
N:Security->user->define.
4.Login as GL Responsibility
5.Define accounting flexfield
N:setup->financials->flexfield->key->segments
6.Give values for your segments
N:setup->financials->flexfield->key->values.
7.Define Currency
N:setup->Curriencies->define
8.Define Calender.
N:Setup->financials->calender->Type/Accounting
9.Create SOB N:Setup->financials->book->define
10.Login as HRMS responsibility.
11.Define a location N:Work Structure->Location
12.Define a Business Group
N:Works Structure->organization->description
13.Set the following Profile Options to all your responsibilities
HR:security
HR:bisiness group
HR:User Type
GL:Set of books name
14.Login As Inventoruy responsibility
15.Create legal entity
N:Setup->organizations->organizations
16.Create Operatiing unit N:Setup->organizations->organizations
17.Set Profile option Mo:Operating unit for all responsibilites which is worked at operating unit level.
18.Create Work day calender
19.Create inventory Organization.
N:Setup->organizations->organizations
20.Login as sysadmin and run replicate seed data program
Table information

Filed under having 8 comments

Useful Unix Utilities

Monday, September 17, 2012 by Ajay Atre



Useful Unix utilities
1.       Submitting a concurrent program using Unix
One can code in the command as CONSUB within the shell script which can submit the concurrent program through shell script directly.

CONCSUB $ORACLEUSERID $RESPAPPLNAME $RESPNAME1 $USERNAME WAIT=N CONCURRENT $PROGAPPLNAME $PROGSHORTNAME1 $PARAM1 $PARAM2 $PARAM3
Where
ORACLEUSERID – oracle apps userid/password. UserID/PWD comes in parameter1
RESPAPPLNAME – Responsibility application name
RESPNAME1 – Responsibility name
USERNAME – Username who is submitting the program
WAIT- If needed waiting time can be added
PROGAPPLNAME- Actual program needs to be submitted
PROGSHORTNAME1- Concurrent program short name
PARAM1, PARAM2, PARAM3- Concurrent program Parameters

2.       Compress the file in Unix
zip archivefile1 doc1 doc2 doc3
Finding the files in Unix
find . -name "*.*" -print | xargs grep "force_line_approval"

3.       Email with attachment from shell script
uuencode $file_name $$file_name |mail -s "$EMAILSUBJECT" $TOADDRESS -- -f $SENDERADDRESS
EMAILSUBJECT- Email Subject
TOADDRESS – To address
SENDERADDRESS – Sender Address
Note:-  you need to install uuencode in your environment.

4.       Get the file size in unix
FILESIZEAFTER=$(du -h $DATA_FILE | awk '{ print $1 }')
echo "... file $FINAL_OUTFILE  size $FILESIZEAFTER"

5.       Trim the spaces of the parameter value
USERPWD=`echo $1 | cut -f3 -d' ' | cut -f2 -d'"'`

6.       Find the file file size
#check file size
   fsize=`wc -c $FINAL_OUTFILE`
   fsize=`echo $fsize | cut -f1 -d' '`
   if test $fsize -ge 1
   then
     echo  "...Data File size > 0 "
   else
     echo  "...Data File size = 0; "
     exit 
   fi
else
   echo "...Data File not found "
   exit 
fi

7.       FTP Download
Mirror the directory
lftp431 -u $FTPUSER,$FTPPASS $FTPSERVER -e "mirror $ONLY_NEWER_OPTION $REVERSE_OPTION $REMOVE_SOURCE_FILES_OPTION $NO_PERMS_OPTION $NO_RECURSION_OPTION --verbose=3 $SOURCEDIR $TARGETDIR; exit"

Note:-  you need to install lftp in your environment. Mirror command will download everything to your local directory (as good as mget).  

8.       FTP Outgoing
1.       SFTP FTP- needs a port number
lftp -u $FTPUSER,$FTPPASS -e "lcd $SOURCEDIR;put $DELETE_OPTION $EDI_OUT_DATA_FILE; exit" $FTPSERVER:22$TARGETDIR
2.       Generic FTP
lftp -u $FTPUSER,$FTPPASS -e "lcd $SOURCEDIR; put $DELETE_OPTION $EDI_OUT_DATA_FILE; exit" $FTPSERVER$TARGETDIR

9.       Compiling the oracle form  under Unix
Exporting the AU_TOP Resource path
export FORMS60_PATH=:FORMS60_PATH:$AU_TOP/resource:$AU_TOP/forms/US
frmcmp_batch module=$CUS_TOP/forms/US/testfrm.fmb userid=apps/apps

R11i Command
f60gen Module=$CUS_TOP/forms/US/ testfrm.fmb Userid=apps/apps compile_all=special
Output_File=$CUS_TOP/forms/US/ testfrm.fmx

10.   Setting the softlink for Unix executables
ln -s $FND_TOP/bin/fndcpesr $CUS_TOP/bin/TESTSCRIPT
Where
TESTSCRIPT- is just the name of the Unix shell script without an extension.

11.   FND LOAD for copying the AOL objects across instances
Download the concurrent program
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct /tmp/TESTPROG.ldt PROGRAM APPLICATION_SHORT_NAME="CUSTOP" CONCURRENT_PROGRAM_NAME=" TESTPROG "

FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct /tmp/ TESTPROG.ldt

11.    SQL LOADER Example
sqlldr control=test.ctl userid=$LOGIN data=$ FILEDIR/$ DATA_FILE log=TEST.log

retcode=`echo $?`; export retcode
case "$retcode" in
0) echo "SQL*Loader execution successful" ;;
1) echo "SQL*Loader execution exited with EX_FAIL, see logfile TEST.log" ;;
2) echo "SQL*Loader execution exited with EX_WARN, see logfile TEST.log"
   echo "All the records in $DATA_FILE will not be processed by this program"
   RET_FLAG=1 ; export RET_FLAG
   ;;
3) echo "SQL*Loader execution encountered a fatal error for $ DATA_FILE" ;;
*) echo "unknown return code for while processing";;
esac


12.   Append files into single file
# -----------------------------------------------------------------------------+
# append files into one new file                                               +
# -----------------------------------------------------------------------------+
FIRST_FILE="Y"

for FILE in `ls -1 $IN_FILE_PATH/$FILE_PATTERN`
do

   # --------------------------------------------------------------------------+
   # get File Name by removing the path                                        +
   # --------------------------------------------------------------------------+
   FILE_NAME=`echo $FILE| awk -F\/ '{print $NF}' `

#   echo "Data File name... $FILE_NAME"

   # --------------------------------------------------------------------------+
   # get Backup File Name                                                      +
   # --------------------------------------------------------------------------+
   BK_FILE_NAME=`date +$FILE_NAME.%Y%m%d%H%M%S`
  
   echo "...Inbound Data File name: $FILE_NAME - ...Archive Data File name: $BK_FILE_NAME"

   # --------------------------------------------------------------------------+
   # append files to one new file                                              +
   # --------------------------------------------------------------------------+
   if [ "$FIRST_FILE" = "Y" ]
   then
      cat $FILE > $NEW_FILE
      FIRST_FILE="N"
   else
      cat $FILE >> $NEW_FILE
   fi

   # --------------------------------------------------------------------------+
   # move File to backup directory                                             +
   # --------------------------------------------------------------------------+
   mv $FILE $BK_DIR/$BK_FILE_NAME
done

Filed under , having 0 comments