Anda di halaman 1dari 88

INTRO TO INTERFACES(For Freshers to oracle Apps) INTRO TO INTERFACES(For Freshers to oracle Apps) What is a interface?

In terms of oracle applications interface is a communication channel that allows the data to move in and out of the system. How many types of interfaces are there? 1.INBOUND INTERFACES 2.OUTBOUND INTEFACES Inbound InterFace:The one which allows data to get into oracle application from outside is called inbound interface. OutBound Interface:The one which allows data to get data from oracle applications to other systems is called outbound interface. What are different types of inbound interfaces available? 1.Open interfaces 2.API's(Application Program Interface) 3.EDI(Electronic Data interchange)--Mainly used for automation transactions with third party systems 4.XML GATEWAY --Mainly used for automation transactions with third party systems 5.WEBADI--Used for uploading data from excel with the scope to have some validations--mainly used for one time loading..Just like sqlloader+validation program.. 5.PLSQL Packages for Reading XML Data--Use this in case of importing non stadard transactions What are different types of outbound interfaces available? 1.Custom programs where we pull data to a csv file using UTL_FILE in the required format 2.EDI 3.XMLGATEWAY 4.PLSQL Packages for generating XML what is the difference between OPEN INTERFACE & API's? OPEN INTERFACE: I dont see much difference between the open other than the way we load data. In case of open interface the data is loaded in to open interfce table like GL_INTERFACE or Sales Order Interface(OE_ORDER_HEADERS_IFACE_ALL). Run the interface import program. This will validate the data and put it into oracle applications.All the invalid records are marked as Error. One thing is there are GUI Screens available for most of these interface where you check the errror message correct it there only and resubmit the interface. From the technical perspective there are Error tables available for each interface API: API's are the oracle built packages where the validation logic is wrapped inside a package and the data is passed as parameters to the API. Most of these api's use the PLSQL tables as paremeters to take the advantage of bulk binding concepts for faster loading data. THey will have the two OUT parameterst to throw back the error code and message in case of data validation failure Apis' are compartively faster than open interfaces.

If a API's and open interface are available it is better to load through API's.If the records are more...

Let see what are inbound interfaces inbound interfaces:Inbound interfaces where data comes into our systems.so when ever we are moving from Legacy system to oracle applications we need to move the data residing in that system(master and transactional data) from legacy to new oracle apps system Inbound are broadly classified in to two types 1.Interfaces 2.Conversion Conversion:Conversion is a one time activity where we move the data from the legacy system to oracle applications Interface:Is a integration between oracle applications and any other third party application which will exists even after migrating to the new oracle apps systems Lets talk about conversion In a typical conversion process we will load data provided by the client team into oracle applications Usually data is provided in the dat format or in excel(*.csv) THe usual steps involves in a conversions are 1.Load the Dat/csv files into a staging table--This step is done using external tables/sqlloader 2.Perform the basic validations on the data at staging table 3.Derive any data required based on conditional logic/or defaulting some of the coulmns 4.mark the valid records in the staging table 5.pull all the valid records and insert into open interface tables/call API's 6.if data is loaded into interface tables run the standard interface program pragmatically/submitted as a part of the request set 8.once the interface program runs check whether any records are left in the open interface tables with error state 9.update the corresponding staging table with the error status and error message 10.pull all the error records from the staging table and generate a error records report with the corresponding error message Typical conversion examples are item,customer,supplier etc.. One of the conversion approaches we have taken recently where the data volume is very high is we divided the program into two step process 1.load data 2.program to validate and load data. This process was very useful when we have more custom validations before loading data into system

so we developed the custom program to run in two modes. 1.validation mode 2.validation and insert mode for this process we will have a processed column in the staging table.we load data with N status once we validate data we mark the records as V and error records CE--custom validation error in validation mode we just validate the custom data loaded in the staging table and generate the error report based on the custom validation logic and mark the records as V or CE In validation and insert mode we pick all the records marked as v and N.Validation logic's are performed on records which are in N status only.we load load all the records marked as V and then load open interface/call api By following this process we avoid multiple iterations for the conversion process. Conversion process itself is multiple iterative process where we clean data by performing multiple mock conversions. add validations: The best approach is have the concurrent program to switch on and off the validation when ever required. Normally we will have around 2-3 mock conversions before we load data in the production system if we have option to switch off validation..we can switch of them if they are very time consuming because by the time we go to production we would have cleaned our data.

Overview of Procure to Pay Cycle in Oracle Apps


Procure to Pay Lifecycle is one of the important Process in Oracle Applications. Procure to Pay means Procuring Raw Materials required to manufacture the final or finished Goods from a Supplier to Paying the Supplier from whom the material was purchased. But this process is not just two steps. It involves many steps. Lets see the steps and Oracle Application involved in performing those steps.

1.Creation Of Purchase Requisition Requisition is nothing but a formal request to buy something. Requisitions represent the demand for any goods or services that an organization needs.

Requisitions for goods and services:

Are generated by applications including Inventory, Work in Process (WIP), Material Requirements

Planning (MRP) and Order Management. May be entered manually through Purchasing windows. May be entered using iProcurement. May be imported from external systems.

There are two types of Requisitions 1] Internal Requisition Basically used when there is a Requirement from One Inventory Organization to the Other Inventory Organization (Inter- Organization Transfer) 2] Purchase Requisition Basically used when there is a Requirement to be fulfilled by External Sources i.e. Suppliers, Requirement from MRP, Requirement from WIP, Requirement from Sales Order etc. With Oracle Purchasing module, you can create, edit, and review requisition information on-line. Then the Requisitions went for approvals from proper authorities. 2. Creation of Purchase Order Based on the Purchase Requisition and its approval next we have to create a Purchase order to buy the item.

Purchasing supports four types of purchase orders: 1] Standard: Create standard purchase orders for one-time purchases of various items. You create standard purchase orders when you know the details of the goods or services you require, estimated costs, quantities, delivery schedules, and accounting distributions.

2] Blanket: Create blanket purchase agreements when you know the detail of the goods or services you plan to buy from a specific supplier in a period, but you do not yet know the detail of your delivery schedules. 3] Contract: Create contract purchase agreements with your suppliers to agree on specific terms and conditions without indicating the goods and services that you will be purchasing. 4] Planned: A planned purchase order is a long-term agreement committing to buy items or services from a single source. You must specify tentative delivery schedules and all details for goods or services that you want to buy, including charge account, quantities, and estimated cost. Once purchase orders are created, they may be submitted for approval. The approval process checks to see if the submitter has sufficient authority to approve the purchase order. Once the document is approved, it may be sent to your supplier using a variety of methods including: printed document, EDI, fax, e-mail, iSupplier Portal and XML. Once the purchase order or release is sent to your supplier, they are authorized to ship goods at the times and to the locations that have been agreed upon. 3. Receipt of Material After receiving the PO, the supplier will send the items.

Purchasing lets you control the items you order through receiving, inspection, transfer, and internal delivery. You can use these features to control the quantity, quality, and internal delivery of the items you receive. 4. Creation of Payables Invoice Once youve received goods or service from your supplier, youll also receive an invoice. Using Payables you can record invoices in a number of different ways.

With Payables you can:

Import/Enter invoices manually, either individually or in batches.

Use Quick Invoices for rapid, high-volume entry of standard invoices and credit memos that are not

complex and do not require extensive online validation. Automate invoice creation for periodic invoices using the Recurring Invoice functionality. Use iExpenses to enter employee expense reports using a web browser. Import EDI invoices processed with the e-Commerce Gateway. Import XML invoices. Match invoices to purchase orders or receipts to ensure you only pay what youre supposed to be

paying for. 5. Payment to Supplier Once invoices are validated, they can be paid. Payables integrates with Oracle Payments, the E-Business Suite payment engine, to handle every form of payment, including checks, manual payments, wire transfers, EDI payments, bank drafts, and electronic funds transfers. Payables also integrates with Oracle Cash Management to support automatic or manual reconciliation of your payments with bank statements sent by the bank. This is how the P2P Cycle occurs in Oracle Apps.

How to Set R12 Supplier Page in Read Only Mode?


How to Set R12 Supplier Page in Read Only Mode?

Open System Administrator resp. Navigate to Security->Responsibility>Define o Query responsibility name(Ex: Payables, HG Operations) you want to use that will have the Supplier page as Read Only. o Under Menu Exclusions select Type as 'Function' and Name as 'Supplier Full Access : Buyer View' o Save changes. Navigation Path: System Administrator->Security->Responsibility>Define

o Now Now open Suppliers page and check changes open Suppliers page and check changes. Navigation Path: Payables Resp(Payables, HG Operations)->Suppliers>EntrySupplier page looks like this in read only mode

R12 SUPPLIERS HOW TO DOCUMENTS

Supplier Entry 1. How to Resolve Error APP-SQLAP-10000: ORA-1 on Supplier Creation

This is occurring because the Supplier Numbering Method has been changed and this should not be done. Set this as Manual and suppliers can be entered successfully See Note 444200.1 for more information.

2. How to Use the Geography Code Override Field in the Supplier Entry Screen in R12
Geography Code Override is an internal code that is understood by the Vertex integration (Vertex is an External Tax Engine). As per Oracle E-Business Tax: Vertex Q-Series and Taxware Sales / Use Tax System Implementation Guide Release 12: The geocode is a nine-digit numeric code that is composed of a two-digit state code, followed by a three-digit county code, followed by a four-digit code to identify a tax jurisdiction within a city. For example: 12-345-6789. Vertex uses the term geocode for tax jurisdiction codes. The Vertex integration uses the Vertex GeoCoder API to retrieve the geocode for ship-to customer address, if a geocode is not available on the customer address and cannot be retrieved from the E-Business Tax jurisdiction setup. So in Payables Supplier Address Book, if a user enters alphanumeric value in this field the system errors out The GEOCODE for VERTEX must be between 000000000 and 999999999. See Note 454368.1 for more information.

3. How to Use the R12 Supplier Form in Read Only Mode


This is done by excluding the function "Supplier Full Access: Buyer View" in the responsibility you want to use that will have the Supplier page as Read Only. In System Administrator: Navigate to the Responsibilities form (Security > Responsibility > Define) Query: <Responsibility you want to use that will have the Supplier page as Read Only> In the Menu Exclusions tab, enter Type: "Function", Name: "Supplier Full Access: Buyer View" Save See Note 455039.1 for more information.

4. How to Configure the R12 Supplier Form so that Only the Contact Directory may be Modified
This can be done by excluding certain functions and menus from a responsibility, create certain page personalizations for the same responsibility, and then assign that responsibility to the users who should have limited access. The required setup cant be performed at the User level. See Note 466699.1 for steps.

5. How to Prevent Suppliers from Being Created in Supplier Inquiry


R12 Supplier functionality is quite different than the supplier functionality in previous versions. According to Development, you need to exclude a responsibility from having the ability to create/update supplier records. To do this, you need to do the following: a. Log into your System Administrator responsibility. b. Navigate to Security -> Responsibility -> Define and query the Payables responsibility you want to only have Inquiry access. c. Under Menu Exclusion area, set the following: Type = function Name = Supplier Full Access: Buyer View Save and test this responsibility. See Note 473346.1 for more information.

6. How to Exclude the Product and Services Page in Supplier Form


You can do this by excluding a function in the responsibility that is used to access the Supplier form. System Administrator responsibility Security > Responsibility > Define In the Responsibilities form query the responsibility that is used to access the Supplier form In the Menu Exclusions tab enter the following: Type: Function Name: Supplier: Buyer View: Product and Services Page Save.

When next you enter the Supplier form, the Product and Services link will no longer be in that menu. See Note 553985.1 for more information.

7. How to Remove Button Update Suppliers from Supplier Inquiry Page


See Note 559510.1 for options and steps.

8. How to find the Tax Registration Number in the R12 Suppliers Form
The Tax Registration Number is in the Organization page of the Supplier form. After you query or create a new Supplier, click on the Organization link in the left side menu. Scroll down a bit until you see the Tax and Financial Information region. Tax Registration Number is one of the fields in that region. See Note 554495.1 for more information.

9. How to define a Descriptive Flexfield at the Supplier level in R12


In R12 the Descriptive Flexfield (DFF) is defined the same way as in 11i, using the Descriptive Flexfield Segments form. Once it has been defined, you can see it in the Organization page of the Supplier form under the heading "Additional Information" See Note 604825.1 for more information.

Supplier Address 1. How to Change the County Field as Required Field in the Supplier Address Book
Steps: a. Login to Trading Community Manager b. Navigate: Trading Community -> Administration -> Geography Hierarchy c. In the Search look for code US -> Click on Go d. Choose the Manage Validations option e. For County, uncheck the Geography Validation The system will stop validating the information for County. In this screen also you may enter valid values for each segment. Please note that since R12 is a more integrated product, this validation is also used across several other applications like Accounts Receivables; review your business requirements and make the necessary adjustments to your setup. See Note 421142.1 for more information.

2. How to Get Supplier Alternate Address in R12


Development provided this functionality in the Patch 6493417 for release 12. This is available now on MetaLink. See Note 549751.1 for more information.

3. APXVDMVD: How change the address format to "United States"


Supplier from United States can not be created and the invoices or purchase orders can not be created as the address format is wrong. 1. Go to payables manager responsibility 2. Navigate to ->set up ->lookups ->countries 3. retrieve the "United States" 4. Make sure the address format is set correctly. 5. Save This will allow the address format to be retrieved correctly in the supplier form. See Note 470073.1 for more information.

4. How to Change Default Country for Supplier Addresses


In System Administrator, navigate to Profiles -> System. Select Site, Application, and Responsibility. Choose Default Country as the Profile. Click Find. Use the list of values to change the default country at the level needed. Save. See Note 557227.1 for more information.

Employee 1. How to see Create/Update employee supplier details function in Supplier Information Management

Development has explained the following: The default Menu for accessing the Supplier Search and Details pages should only allow access to non-employee-supplier type records. Thus customers must either update the Function Security for the seeded PO/AP/Supplier Profile Admin responsibilities to gain access to employee-supplier records or create/update their own custom responsibilities. The seeded menu with ability to search employees and the seeded menu without the ability are the same except a new function. Existing customers can either update their existing menu to add the function or they need to create a new responsibility to use the new menu that has the function. To access employee related information: A. Create a new menu. - Assign the sub menu: "Supplier Information Management (Buyer View)" ( Please specify prompt for this sub menu). - Assign the function: "Create/Update employee supplier details" B. Create a new responsibility using this menu. C. Use this new responsibility to access the Supplier HTML ( the employee related information will now be available ). See Note 472390.1 for more information.

2. How to Use Employee Type Supplier in R12 if Oracle HR is Not Installed or at Least Shared
The new Supplier model in R12 requires that an Employee type supplier be associated with an Employee in HR. An Employee type supplier takes address information directly from the HR tables rather than creating Addresses in TCA. If you are not going to have HR installed in R12, you should create the suppliers that you will make expense reports with as non-employee type suppliers with some sort of user defined Supplier type ("AAAEMPLOYEE" for example). If you have an 11i database you will be upgrading to R12, you should change all of your Employee type suppliers to some other type as a pre-upgrade step. In 11i you would create a new Vendor Type lookup code in the PO Lookups form. It can have any name. For example "AAAEMPLOYEE" with a meaning Employee. You would then update all of your Employee Type Suppliers in 11i such that they use this new vendor type and the Organization type "Individual". If a script is needed for the update, please contact Oracle Support for assistance. See Note 603332.1 for more information.

3. How to Enter the Alternate Site Name for an Employee Type Supplier
Reference confirmation received from the Product Manager: We should not allow the update of the employee suppliers details like supplier name, alternate supplier name, known_as and sic_code. This is because the data should be in sync with TCA and HR information. So the code has been changed to make those fields as read only for employee type supplier. Therefore, the functionality is intended and users will not be able to update the Alternate Supplier Name field for Employee type suppliers. See Note 602953.1 for more information.

Supplier Site 1. How to Create Supplier Site in R12


Please make sure you are doing these steps, after you have successfully created a supplier: 1. Select Address Book from the list on the right. 2. Choose the Create button 3. Enter supplier address information 4. Click on the Continue button. 5. Assign the address to your operating unit 6. Click on the Apply Button. 7. Now, choose the manage sites icon to the right. See Note 464264.1 for more information.

2. How to get the Supplier Site to Accept Asset Type as a Liability Account

The form is specifically coded to allow only a code combination with a natural account of type "Liability" be used as the default liability account for a supplier site See Note 464352.1 for more information.

3. How to Automatically Populate the Site Number for a supplier


The system profile option, HZ:Generate Party Site Number should be Yes, so the site number is automatically generated. See Note 473045.1 for more information.

Bank 1. How to find Supplier Bank Information in Release 12


The supplier bank account information is in the table: IBY_EXT_BANK_ACCOUNTS, the bank and bank branches information is in the table: HZ_PARTIES. The bank branch number can be found in the table: HZ_ORGANIZATION_PROFILES The HZ_ORGANIZATION_PROFILES table stores a variety of information about a party. This table gets populated when a party of the Organization type is created. This table also contains data retrieved from Dun & Bradstreet using either the Dun & Bradstreet online or batch download methods. Historical data for the organization can also be stored in this table. Each time organization information is changed, the effective end date column for the original record is updated and a new record that contains the updated information is created. The column name is BANK_OR_BRANCH_NUMBER VARCHAR2 (30) Stores bank number for banks and branch number for bank branches, primarily ABA number for US bank branches. See Note 438262.1 for more information.

2. Where are Supplier (External) Bank Accounts Created?


Supplier (or External) bank accounts are created in Payables, in the Supplier Entry forms. Navigate to Suppliers -> Entry. Query or create your supplier. Click on Banking Details and then choose Create. After you have created the bank account, you can assign the bank account to the supplier site. See Note 470646.1 for more information.

3. How to import Supplier Bank Accounts during Supplier and Supplier Site Open Interface
After the Supplier or Supplier Site is validated and a rows entered in the various AP and HZ tables, an IBY (the new Payments application) Payee is created for the Supplier or Supplier Site. If the Payee is successfully created, we then check to see if there are any corresponding rows in IBY_TEMP_EXT_BANK_ACCTS and if there are, we call an IBY API to create the Bank Account and associate it with the Payee. A row in IBY_TEMP_EXT_BANK_ACCTS is said to be associated with the Supplier or Supplier Site if the column IBY_TEMP_EXT_BANK_ACCTS.calling_app_unique_ref2 is equal to either vendor_interface_id for Suppliers or vendor_site_interface_id for Supplier Sites. For details on how to populate the Bank Account Interface tables, please log an SR with the AP Payments group. See Note 466334.1 for more information.

4. How to enable the Supplier bank Account default to the Payment Schedules tab
A review of the current code, underlying in ibydiscb.pls ie IBY_DISBURSEMENT_COMP_PUB, depicts that the Supplier bank Account defaults to the Payment Schedules tab in the remit to bank Account only if any of the below mentioned two conditions are satisfied; 1. The Supplier bank Account has no currency associated to it Or 2. The currency code associated to the Supplier Bank Account is the same as the Payment Currency at the Invoice level See Note 579441.1 for more information.

5. How to find the Alternate Account holder for a Supplier bank account
In R12 there are major changes in how payments are made. One of the changes is in how Supplier Bank Accounts work. The Account Holder and Alternate Account holder for Supplier Bank Accounts are now taken directly from Supplier data. The Alternate Supplier Name field in

the Organization page is automatically the Alternate Account Owner Name for all Supplier Bank Accounts for that supplier. See Note 579264.1 for more information.

6. How to Query the Bank Account at the Supplier Site Level in SQL
In R12 a Supplier Site is stored, in TCA, as a Party_Site. The Party Site has the Party ID of the Party that represents the Supplier record. SELECT BANK_ACCOUNT_NAME, BANK_ACCOUNT_NUM FROM IBY_EXT_BANK_ACCOUNTS WHERE EXT_BANK_ACCOUNT_ID IN (SELECT EXT_BANK_ACCOUNT_ID FROM IBY_ACCOUNT_OWNERS WHERE ACCOUNT_OWNER_PARTY_ID IN (SELECT party_id FROM hz_party_sites WHERE party_site_name = <site name>)) See Note 469459.1 for more information.

7. How to Add a Pay Group with more than 25 Characters to a Supplier


This is not possible as the lookup code that can be entered is only up to 25 characters according to the Oracle Payables User Guide for Release 12 page 1-55. See details below: To define lookup codes: 1. Navigate to the Oracle Purchasing Lookups window from the menu. 2. Enter one of the following predefined lookup Types: 1099 Supplier Exception, Acceptance Type, FOB (free on board), Freight Terms, Minority Group, Pay Group, PO/Requisition Reason, Price Type, Quotation Approval Reason, Reply/Receive Via, and Supplier Type. 3. Enter up to 25 characters as a unique code you want to add to the lookup codes that is already provided. So the lookup code can be entered for only up to 25 characters. If more than 25 characters are entered, you will encounter the following error: oracle.apps.fnd.framework.OAException: java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "APPS.POS_VENDOR_PUB_PKG", line 2398 ORA-06512: at line 1 See Note 567369.1 for more information.

Supplier Import 1. How to Upload Invoices into iSupplier


With Release 12, there is now the Invoice Open Interface Import program, as referenced in the Oracle Payables Reference Guide (available on Metalink under Doc ID: Note 412010.1 Oracle Payables Documentation, R12 ): "The Invoice Open Interface Import program builds Payables invoices based on the invoice records in the Payables Open Interface tables. After the import program builds the invoices, they can be viewed, modified, and validated in the Invoice Workbench. The invoice data includes EDI and XML invoices from your suppliers, invoice records that you entered in the Quick Invoices window, invoices that you loaded with Oracle SQL*Loader, lease invoices that were transferred from Property Managerd transaction data, and invoices that your suppliers entered and submitted online via Oracle iSupplier Portal." See Note 430344.1 for more information.

2. How to validate the Employee ID in Supplier Import


Employee IDs in the Supplier Import are validated against HR_EMPLOYEES_CURRENT_V. In short the Employee ID is validated against a list of current persons with current assignments of a specific type and are associated with the business group defined for the Operating Unit running the import. See Note 566203.1 for more information.

3. How to Upload Tax Details to the Supplier Interface


The R12 Tax model does not allow for tax information to be stored on the Supplier records. The Tax that is assigned to an Invoice is derived by the eTax setup itself. It is a location based

taxation system rather than based on a discrete tax code like in 11i. The basis for e-Tax is to be able to derive Tax without any need for user intervention. There are a bunch of known facts i.e. where the supplier site is, where the goods have come from or gone to, where the service was performed and so on. Rules are then entered as Part of the Regime to Rate Flow or for the Jurisdiction or Tax Zone that then dictates which Tax must be applied. The idea being that the initial configuration can be done by, or under the advice of, a Tax expert and thereafter it does not matter where in the world the transaction is entered. It can be done with little knowledge i.e. I could enter an invoice for a supply of goods that happened in Finland without any knowledge of Finnish Tax. The Configuration of the Rules is of course of the utmost importance to a successful implementation of e-Tax and Guided and Expert configuration alternatives are provided. The above is applicable for R12. See Note 549624.1 for more information.

4. How to Setup the Payment Method when Creating a Supplier and Supplier Site
Payment methods are setup using the following: Menu: Setup: Payment > Payment Administrator > Payment Methods > Payment Methods Payments Setup assigned to "Product" Payables with "Automatically assign Payment Method to all Payees" option set to Yes. See Note 443554.1 for more information.

WebForms 1. How to tell if a Field is Required in R12 Webforms


Required fields in a web form are indicated by a small star like symbol ("*"). There is no color coding of such fields. See Note 455303.1 for more information.

2. How to Remove the "Personalize Page" Link in a Webform


This is controlled by the profile option "Personalize Self-Service Defn" To display the link enter "Yes" (This is the seeded default) Enter "No" if you do not want the link displayed. You could enter "No" at the Site level, and then give the ability to do webform personalizations to specific users by entering "Yes" for those users. See Note 459266.1 for more information.

3. How to Remove Buttons on an R12 Webform Using Page Personalizations


To remove specific buttons (or any other page element) use the following process: 1) Open form and navigate to page 2) Click on the Personalize Page link in the upper right of the page 3) Click Expand all (Some page elements are nested and not visible at the top level. For instance the "Create" button in the Quick Update page of the Supplier form is in the Table Actions section of the Key Purchasing Setups and Key Payment Setups sections; 2 nested levels from the top) 4) Search through the various page elements until you find the one youd like to change. 5) Click on the Personalize icon (yellow pencil) 6) For the "Rendered" element property, set the value to "false". The levels are like setting profile options, with inherit being sort of like NULL. See Note 459261.1 for more information.

IMPORTANT
If you did not find the information you were searching for, please review the following Payables documents: Note 578232.1 R12 Proactive Intelligence Center: Oracle Payables Note 396084.1 Oracle Payables Documentation Resources, R12 Note 562887.1 R12 Helpful Tips for a Successful R12 Oracle Payables Implementation Note 557869.1 EBS R12 Oracle Financials Critical Patches Note 405627.1 Oracle Payables Release 12 Known Issues Additional R12 documents: Note 580299.1 R12 Best Practices for Adopting Oracle E-Business Suite Note 461705.1 EBusiness R12 Upgrade Guide

Note 602615.1 How to Locate the Latest R12 Product-Specific Information using New MetaLink Features

References
Note 421142.1 R12: How do you Change the County Field as Required Field in Supplier Address Book? Note 430344.1 R12: How Can Invoices be Uploaded into iSupplier? Note 438262.1 Where is Supplier Bank Information Stored in Release 12? Note 443554.1 What is the criteria for payment method that can be selected for defaults? Note 444200.1 R12: How To Resolve Error APP-SQLAP-10000: ORA-1 On Supplier Creation? Note 454368.1 What is the Purpose of the Geography Code Override Field in the Supplier Entry Screen in R12? Note 455039.1 How do You Use the R12 Supplier Form in Read Only Mode? Note 455303.1 How do you tell if a Field is Required in R12 Webforms? Note 459261.1 How to Remove Buttons on an R12 Webform using Page Personalizations Note 459266.1 How to Remove the "Personalize Page" link in a Webform Note 464264.1 How to Create Supplier Site in R12 Note 464352.1 Supplier Site does not Accept Asset Type as a Liability Account Note 466334.1 R12: Assigning Bank Account to Supplier Supplier Import Note 466699.1 How to Configure the R12 Supplier Form so that Only the Contact Directory may be Modified Note 469459.1 R12: How to Query the Bank Account at the Supplier Site Level in SQL Note 470073.1 APXVDMVD: County And State Fields Not Seen In Supplier Address Note 470646.1 R12 Where are Supplier (External) Bank Accounts Created? Note 472390.1 R12: Cannot Select Employee As Supplier Type When Creating A Supplier Note 473045.1 R12 Site Number for a Supplier is Required but Not Automatically Populated Note 473346.1 R12 How Can You Prevent Suppliers From Being Created in Supplier Inquiry Note 549373.1 Suppliers and Customers Referring to the Same Entity have Two Rows in HZ_PARTIES Note 549624.1 R12: How to Upload Tax Details to the Supplier Interface? Note 549751.1 How to Get Supplier Alternate Address in R12 Note 553985.1 R12: How to Exclude the Product and Services Page in Supplier Form Note 554495.1 Where is the Tax Registration Number in the R12 Suppliers Form? Note 557227.1 Change Default Country for Supplier Addresses Note 559510.1 How to Remove Button Update Suppliers from Supplier Inquiry Page Note 566203.1 How is the Employee ID Validated in Supplier Import? Note 567369.1 Cannot Add a Pay Group with more than 25 Characters to a Supplier Note 579264.1 R12 Where does the Alternate Account Holder for a Supplier Bank Account Come From? Note 579441.1 Supplier Bank Account Not Defaulting When Enter Invoice Even After Patch 6804773 Note 602953.1 R12: How to Enter the Alternate Site Name for an Employee Type Supplier Note 603332.1 How to Use Employee Type Supplier in R12 if Oracle HR is Not Installed or at Least Shared

Multi-Org or multiple organization access (MOAC) in R12


Multi-Org or multiple organization access (MOAC) in R12 What is MOAC?
Multi-Org or multiple organization access (MOAC) is basically an ability to access multiple operating units from a single application responsibility.

Why it has been created?


Prior to R12, end users use to toggle / switch / change responsibilities in order to do transactions (like invoice / payment processing in AP) in different operating units. This is a very time consuming and inefficient way of recording transactions when you have 100s of operating units specially Internet based organizations who have worldwide operations in almost all the countries. To address this, a new feature in R12 has been introduced in which user can switch between operating units within a responsibility something similar to Change Organization feature in inventory. Prior to R12, user would have to switch responsibilities in order to enter transactions in respective operating units (tagged to the responsibility).

What are its advantages?

Multi-Org Access Control (MOAC) enables companies that have implemented a Shared Services operating model to efficiently process business transactions by allowing them to access, process and report on data for an unlimited number of operating units within a single applications responsibility.

This increases the productivity of Shared Service Centers, as users no longer have to switch

application responsibilities when processing transactions for multiple operating units at a time. Ability to view data from multiple operating units from a single responsibility, gives users more

information. This enables them to make better decisions. The following SQL will dump out the Security Profiles and Operating Unit Names assigned to them.

SELECT

FROM WHERE

psp.SECURITY_PROFILE_NAME, psp.SECURITY_PROFILE_ID, hou.NAME, hou.ORGANIZATION_ID PER_SECURITY_PROFILES psp, PER_SECURITY_ORGANIZATIONS pso, HR_OPERATING_UNITS hou pso.SECURITY_PROFILE_ID = psp.SECURITY_PROFILE_ID AND pso.ORGANIZATION_ID = hou.ORGANIZATION_ID;

There are three Profile Options you need to be aware of related to Multi-Org that should be set at the Responsibility Level.

MO: Security Profile- Always evaluated first. MO: Operating Unit- Secondary priority being evaluated after MO: Security Profile MO: Default Operating Unit- Sets the default Operating Unit for transactions when running under a

Security Profile.

How it is done in R12?


In Release 12, one creates a Security Profile and assigns as many operating units as you required. One can tie that security profile to a single responsibility using a profile option called MO: Security Profile. For example, you could assign the security profile to the EMEA Payables responsibility to allow that responsibility to process invoices across all operating units.

In Release 12, define a security profile in HR using the Security profile form or the Global Security profile form, and assign all of the operating units that one would want a responsibility to access. The one needs to run a concurrent request called Run Security List Maintenance from HR which will make those security profile available and allow one to assign them to a responsibility via a profile option called MO: Security Profile. One can define another profile option called MO: Default Operating Unit which is optional and allows one to specify a default operating unit that will be the default when you open different subledger application forms.

Steps to Create Report in Oracle Reports Builder 10g

STEPS TO CREATE REPORT IN ORACLE REPORTS BUILDER 10G


In Oracle Reports, you have two options for building a paper report. The first one is to use the wizards and editors in Reports Builder. The second one is to define the data model and/or layout for your paper report in XML. Here we will discuss the steps to build a paper report using the Report Wizard.

STEP 1: INVOKING REPORTS BUILDER AND THE REPORT WIZARD


When you invoke Reports Builder, the Welcome dialog box gives you the option of using the Wizard to build a new report. The Report Wizard provides an easy step-by-step interface to create a new report. The Report Wizard opens with a Welcome page. To suppress this page, clear the Display at startup check box. You can reinstate this page in the same way as the Welcome dialog box in Reports Builder; select the Wizard tab in the Preferences dialog box and then select Report Wizard Welcome Page. Each page of the Report Wizard asks you for information to help you create your initial report. Step through the wizard pages, selecting Next and Back, until you are satisfied with the initial information that you have entered. On the last page, select Finish.

Welcome to Reports Builder

Report Wizard

STEP 2: CHOOSING THE LAYOUT TYPE


Here you have to specify the type of layout you want the Wizard to generate. The available options are:

Web and Paper Layout Web Layout only Paper Layout only

Report Layout Type

STEP 3: CHOOSING A REPORT STYLE


This page of the Report Wizard shows the various styles of reports. Select Tabular and then click Next.

Report Style

STEP 4: SELECTING THE DATA SOURCE TYPE


Next, you have to define the data source type for your report. Through the implementation of the Pluggable Data Source (PDS) feature in Oracle Reports, the data for your report can come from any source you choose. Reports Builder provides interface definitions that act as a translator between Reports Builder and a PDS by redefining Reports Builders requests in terms your data source uses. Oracle Express Server, OLAP, JDBC, Text and XML pluggable data sources are shipped with Oracle Reports. You can also define your own data source.

Data Source Type

STEP 5: BUILDING A QUERY USING QUERY BUILDER


Building your query with the Query Builder GUI saves you time and increases the ease of use for developers not familiar with building SQL statements or with the application tables. To build a query using Query Builder: 1. Select Query Builder from the Query page in the Report Wizard.

2. Enter your username, password, and alias in the Connect dialog box that appears if you have not
already connected to the database.

3. Select the data tables to build the query. 4. Click Include. The tables appear in the selection area. 5. Click Close to close the Select Data Tables window.
6. In each table, double-click the column names that you want in the query, or use the check boxes. To select all columns, double-click the Table title bar. 7. Click OK. Query Builder copies the query syntax into the Report Wizard. You can modify the query by reentering Query Builder or by modifying the SQL query statement text. Note: If you prefer to write your own SQL statement, enter the syntax directly in the SQL query statement area of the Query page. Alternatively, you can import the contents of a file by clicking Import SQL Query.

Query Builder

STEP 6: SELECTING DISPLAYED FIELDS


In the Field page, select each field from the Available Fields list and click >. The selected fields move to the Displayed Fields list. To display all fields, click >>. You can alter the sequence of displayed fields by dragging one field above or below another in the list. The sequence of fields in this list determines how the fields appear in the report output. In a tabular report, the fields appear in sequence from left to right across the page. Fields that remain in the Available Fields list are available for you to reference in your report definition as hidden fields or in PL/SQL trigger code. In the report output, the user sees only those fields that you transfer to the Displayed Fields list.

Displayed Fields

STEP 7: TOTALS AND LABELS


In the next two pages of the Report Wizard, you can create totals based on any of the displayed fields and modify the labels and width of the displayed fields. Totals: Standard SQL aggregate functions are provided for creating totals in your report.

Total Fields Labels: The field label is displayed on one or more lines in the report output. In a tabular report, the labels appear above the field values.

If the initial label is wider than the field, Reports Builder allows enough space for the label, or

displays it on multiple lines. If you increase the number of characters in the label text in the reentrant Wizard, the label can

appear truncated in the report output.

Labels

STEP 8: SELECTING A REPORT TEMPLATE


Report Templates enforce corporate standards as well as create professional-looking paper reports easily. Select a template from the list of predefined template names. In a template, the fonts, styles, and colors are already selected for designated objects. A variety of templates are available with the standard Reports installation. To select a predefined template: 1. Select the Predefined Template option button, if it is not already selected. 2. Select a template from the Template list. 3. Click Finish.

Report Template

STEP 9: VIEWING THE PAPER REPORT OUTPUT


When you finish creating your report in the Report Wizard, the output appears in the Paper Design view of the Report Editor. Magnifying the Output

The Paper Design view contains a Magnify tool in the vertical toolbar. This provides a view of the area of layout you want to see. You can also use the View menu to magnify or reduce the size of the output. Select View > Zoom to see your options. Viewing Different Pages The Paper Design toolbar contains four buttons, and the specific page option, with which you can scroll through the pages of your report.

Report Output

STEP 10: SAVING THE REPORT DEFINITION


Remember to save the report frequently by selecting Save in the toolbar, or by using the File > Save menu option. The recommended format for storing paper reports is with an .rdf extension. If you want to make a copy of the report definition in a different filename, use the menu option File > Save As. There is no toolbar button for the Save As option.

OM Questions 1) What are the Base Tables and Interface Tables for Order Management? Interface Tables : OE_HEADERS_IFACE_ALL, OE_LINES_IFACE_ALL OE_PRICE_ADJS_IFACE_ALL, OE_ACTIONS_IFACE_ALL OE_CREDITS_IFACE_ALL (Order holds like credit check holds etc) Base Tables : OE_ORDER_HEADERS_ALL: Order Header Information OE_ORDER_LINES_ALL: Items Information OE_PRICE_ADJUSTMENTS: Discounts Information OE_SALES_CREDITS: Sales Representative Credits. Shipping Tables :WSH_NEW_DELIVERIES, WSH_DELIVERY_DETAILS, WSH_DELIVERY_ASSIGNMENTS, WSH_DELIVERIES. 2) What are the Base Tables and Interface Tables for Order Management? Interface Tables : OE_HEADERS_IFACE_ALL, OE_LINES_IFACE_ALL OE_PRICE_ADJS_IFACE_ALL, OE_ACTIONS_IFACE_ALL OE_CREDITS_IFACE_ALL (Order holds like credit check holds etc) Base Tables : OE_ORDER_HEADERS_ALL: Order Header Information OE_ORDER_LINES_ALL: Items Information OE_PRICE_ADJUSTMENTS: Discounts Information

OE_SALES_CREDITS: Sales Representative Credits. Shipping Tables :WSH_NEW_DELIVERIES, WSH_DELIVERY_DETAILS, WSH_DELIVERY_ASSIGNMENTS, WSH_DELIVERIES. 3) What is Order Import and What are the Setup's involved in Order Import? A) Order Import is an open interface that consists of open interface tables and a set of APIs. It imports New, updated, or changed sales orders from other applications such as Legacy systems. Order Import features include validations, Defaulting, Processing Constraints checks, Applying and releasing of order holds, scheduling of shipments, then ultimately inserting, updating or deleting orders from the OM base tables. Order management checks all the data during the import process to ensure its validity with OM. Valid Transactions are then converted into orders with lines, reservations ,price adjustments, and sales credits in the OM base tables. B) Setups: Setup every aspect of order management that we want to use with imported orders, including customers, pricing, items, and bills. Define and enable the order import sources using the order import source window. 4) Explain the Order Cycle? i) Enter the Sales Order ii) Book the Sales Order(SO will not be processed until booked(Inventory confirmation)) iii) Release sales order(Pickslip Report is generated and Deliveries are created) (Deliveries details about the delivery. Belongs to shipping module (wsh_deliveries, wsh_new_deliveries, wsh_delivery_assignments etc) they explain how many items are being shipped and such details. iv) Transaction Move Order (creates reservations determines the source and transfers the inventory into the staging areas) v) Launch Pick Release ( vi) Ship Confirm (Shipping Documents(Pickslip report, Performa Invoice, Shipping Lables)) vii) Auto invoice and closed 5) Explain the Order to Cash Flow? I. Enter the Sales Order II. Book the Sales Order(SO will not be processed until booked(Inventory confirmation)) III. Release sales order(Pickslip Report is generated and Deliveries are created) (Deliveries details about the delivery. Belongs to shipping module (wsh_deliveries, wsh_new_deliveries, wsh_delivery_assignments etc) they explain how many items are being shipped and such details. IV. Transaction Move Order (Selects the serial number of the product which has to be moved/ shipped) V. Launch Pick Release VI. Ship Confirm (Shipping Documents(Pickslip report, Performa Invoice, Shipping Lables)) VII. AutoInvoice (Creation of Invoice in Accounts Receivable Module) VIII.Autolockbox ( Appling Receipts to Invoices In AR) IX. Transfer to General Ledger ( Populates GL interface tables) X. Journal Import ( Populates GL base tables) XI. Posting ( Account Balances Updated). 5. What are the Process Constraints? A. Process Constraints prevent users from adding updating, deleting, splitting lines and canceling order or return information beyond certain points in the order cycle. Oracle has provided certain process constraints which prevent data integrity violations. Process constraints are defined for entities and attributes. Entities include regions on the sales order window such as order, line, order price adjustments, line price adjustments, order sales credits and line sales credits. Attributes include individual fields (of a particular entity) such as warehouse, shit to location, or agreement.

6. What are Validation Templates? A) Validation Templates are used to define the validation conditions in process constraints. A validation template names a conditions and defines the semantic of how to validate that condition. These are used in processing constraints framework to specify the constraining conditions for a given constraint. These conditions are based on 1 Where the entity is in its work flow. 2 The state of attributes on an entity. 3 Any other validation condition that cannot be modeled using the above condition. 7. What are different types of Holds? 1 GSA(General Services Administration) Violation Hold(Ensures that specific customers always get better pricing for example Govt. Customers) 2 Credit Checking Hold( Used for credit checking feature Ex: Credit Limit) 3 Configurator Validation Hold ( Cause: If we invalidate a configuration after booking) 8. What is Document Sequence? A) Document sequence is defined to automatically generate numbers for your orders or returns as you enter them. Single / multiple document sequences can be defined for different order types. Document sequences can be defined as three types Automatic (Does not ensure that the numbers are contiguous), Gapless (Ensures that the numbering is contiguous), Manual Numbering. Order Management validates that the number specified is unique for order type. 9. What are Defaulting Rules? A) A defaulting rule is a value that OM automatically places in an order field of the sales order window. Defaulting rules reduce the amount of information one must enter. A defaulting rule is a collection of defaulting sources for objects and their attributes. It involves the following steps 1 Defaulting Conditions - Conditions for Defaulting 2 Sequence Priority for search 3 Source Entity ,Attribute, Value 4 Defaulting source/Value 10. When an order cannot be cancelled? A) An order cannot be cancelled if, 1 It has been closed 2 It has already been cancelled 3 A work order is open for an ATO line 4 Any part of the line has been shipped or invoiced 5 Any return line has been returned or credited. 11. When an order cannot be deleted? A) you cannot delete an order line until there is a need for recording reason. 12. What is order type? A) An order type is the classification of order. It controls the order work flow activity, order number sequence, credit check point and transaction type. Order Type is associated to a work flow process which drives the processing of the order. 13. What are primary and secondary price lists? A) Every order is associated to a price list as each item on the order ought to have a price. A price list is contains basic list information and one or more pricing lines, pricing attributes, qualifiers, and secondary price lists. The price list that is primarily associated to an order is termed as Primary price list. The pricing engine uses a Secondary Price list if it cannot determine the price of the item ordered in the Primary price list.

14. What is pick slip? Types? A) It is an internal shipping document that pickers use to locate items to ship for an order. 1 Standard Pick Slip Each order will have its own pick slip with in each picking batch. 2 Consolidated Pickslip Pick slip will have all the orders released in the each picking batch. 15. What is packing slip? A) It is an external shipping document that accompanies the shipment itemizing the contents of the shipment. 16. What are picking rules? A) Picking rules define the sources and prioritization of sub inventories, lots, revisions and locators when the item is pick released by order management. They are user defined set of rules to define the priorities order management must use when picking items from finished goods inventory to ship to a customer. 17. Where do you find the order status column? A) In the base tables, Order Status is maintained both at the header and line level. The field that maintains the Order status is FLOW_STATUS_CODE. This field is available in both the OE_ORDER_HEADERS_ALL and OE_ORDER_LINES_ALL. 18. When the order import program is run it validates and the errors occurred can be seen in?A) Responsibility: Order Management Super User Navigation: Order, Returns > Import Orders > Corrections

Functional-- Purchase Order Flow

Functional-- Purchase Order Flow


Functional Training of Purchase Order Flow What is flow of PO: Step 1:We will be raising the Requisitions for the items which are needed. Requisition is 2 types Internal Requisition Purchase Internal Requisition is used when we are getting the items from one organization to another organization of the same business group. Purchase Requisition is raised when we are getting the items from outside the business group. Step 2:Once the Requisition has been approved, we will be sending (Request For Quotes) RFQ's to different Suppliers. It contains the information regarding the type of RFQ, terms and conditions, shipments, currency. RFQ is of 3 types Bid RFQ Catalog Standard BID: Used for a fixed specific quantity, Location and date. This will be used for large or expensive price of equipments. That you have never order before. There won't be price any breaks for a BID Quotation. CATALOG: This will be used for high volume items for which your supplier sends information regularly. The CATALOG RFQ includes price breaks at different quantity levels. STANDARD: It is used for items we need only once or not very often for a specific fixed quantity, location and date. It includes price breaks at different quantity levels. Step 3:We will be receiving the quotations from different suppliers. Quotation is of 3 Types. Bid Catalog

Standard Step 4:Based on the quotations, we will be deciding the supplier and purchasing order is given to that supplier. Purchasing is of 4 types Standard Planned Blanket Contract Step 5:Once we receive the items from the Supplier we will issue the receipts to the Supplier. This is done in 3 ways. Two-Way: In 2-way we will compare PO and Invoice. Three-Way: In 3-way we will compare the PO, Receipt and Invoice. Four-Way: In 4-way we will compare PO, Receipt, Inspection and Invoice. 2-Way Matching verifies that Purchase order and invoice information match within your tolerances as follows:Quantity Billed <-Quantity Ordered Invoice Price <- Purchase Order Price (<- Sign is used because of tolerances) 3-Way Matching verifies that the receipt and invoice information match with the quantity tolerances defined:Quantity billed Quantity received 4-Way Matching verifies that acceptance documents and invoice information match within the quantity tolerances defined:Quantity billed <- Quantity accepted. (Acceptance is done at the time of Inspecting goods).Whether a PO shipment has 2-way, 3-way or 4-way matching can be setup in the Shipment Details zone of the Enter PO form (character). RECEIPT REQUIRED INSPECTION REQUIRED MATCHING Yes Yes 4-Way Yes No 3-Way No No 2-Way In 'More' alternative region of Shipments block, you define the Invoice Matching option, where you can choose 2-way, 3-way or 4-way match. Step 6:Because of these Transactions Inventory and Payables get affected.

RFQ to PO Receipt Cycle RFQ to PO Receipt Cycle This Post is about Orace Apps RFQ to Receipt Creation. In this Post I will explain the Cycle from RFQ to PO Receipt. Once we Submit the Request to Print the RFQ for a supplier, print Count for that supplier will Incremented. As shown below I have printed for all suppliers , so all supplier print count incremented by 1. As shown Below in Oracle Apps UIs 1.

RFQ # 308, 2. Supplier Info from Supplier List and 3. Price Breaks.

Print RFQ for all the Suppliers by means of Concurrent Program available in Oracle Apps

Once we Print the RFQ , Status of RFQ become Printed , and also Print

count will Increment.Since we get response from the Office Supplier , Inc Site OFFICESUPPLIER , Responded field populated for It.

From the RFQ , Select Tools > Copy Doc .It will Create Quotations as shown below. 1. Enter the Supplier Name for whom you want to create Quote. 2. Press OK and it will Create Quotation.

1. Query for Quotation # 502. 2.

Create Purchase Order Agreement from Quotation by selected Tools > Copy Doc 3. Press Ok and it will Create Purchase Order Agreement.

Query for PO Agreement and Approve it

Once Oracle Purchase Agreement is Approved , create the releases for Blanket PO Agreement .In this PO Agreement Release we have item Test001 , BUT Item Test001 is restricted to be ordered from supplier that are in Approval Supplier list, and as our Supplier is not part of any Approve Supplier list , system will throw Error.

For my test , I just remove the Item Test001 and Approve the Oracle Purchase Order Release and finally did the receipt against PO.

RFQ to PO Receipt Cycle Email ThisBlogThis!Share to TwitterShare to Facebook

This Post is about Orace Apps RFQ to Receipt Creation. In this Post I will explain the Cycle from RFQ to PO Receipt. Once we Submit the Request to Print the RFQ for a supplier, print Count for that supplier will Incremented. As shown below I have printed for all suppliers , so all supplier print count incremented by 1. As shown Below in Oracle Apps UIs 1. RFQ # 308, 2. Supplier Info from Supplier List and 3. Price Breaks.

Print RFQ for all the Suppliers by means of Concurrent Program available in Oracle Apps

Once we Print the RFQ , Status of RFQ become Printed , and also Print count will Increment.Since we get response from the Office Supplier , Inc Site OFFICESUPPLIER , Responded field populated for It.

From the RFQ , Select Tools > Copy Doc .It will Create Quotations as shown below. 1. Enter the Supplier Name for whom you want to create Quote. 2. Press OK and it will Create Quotation.

1. Query for Quotation # 502. 2. Create Purchase Order Agreement from Quotation by selected Tools > Copy Doc 3. Press Ok and it will Create Purchase Order Agreement.

Query for PO Agreement and Approve it

Once Oracle Purchase Agreement is Approved , create the releases for Blanket PO Agreement .In this PO Agreement Release we have item Test001 , BUT Item Test001 is restricted to be ordered from supplier that are in Approval Supplier list, and as our Supplier is not part of any Approve Supplier list , system will throw Error.

For my test , I just remove the Item Test001 and Approve the Oracle Purchase Order Release and finally did the receipt against PO.

AutoInvoice in Oracle Apps R12


AutoInvoice in Oracle Apps R12
AutoInvoice is a powerful, flexible tool you can use to import and validate transaction data from other financial systems and create invoices, debit memos, credit memos, and onaccount credits in Oracle Receivables. You use a custom feeder program to transfers transaction data from an external system into the AutoInvoice interface tables. AutoInvoice then selects data from the interface tables and creates transaction in Receivables. Receivables rejects transactions with invalid information to ensure the integrity of your data. You can run AutoInvoice together with Customer Interface or separately.

Oracle Receivables can create invoices from the following Oracle applications: Oracle Order Management, Oracle Projects, Oracle Service, Oracle Property Manager. Oracle Receivables can create invoices from the following non-Oracle applications: Legacy system (for transaction history), Non-Oracle billing applications, Non-Oracle order entry applications. Oracle Receivables uses three interface tables for AutoInvoice: 1. RA_INTERFACE_LINES 2. RA_INTERFACE_DISTRIBUTIONS 3. RA_INTERFACE_SALESCREDITS AutoInvoice transfers transaction data from the above three interface tables into the following Receivables tables:

RA_BATCHES_ALL RA_CUSTOMER_TRX _ALL RA_CUSTOMER_TRX_LINES _ALL RA_CUST_TRX_LINE_GL_DIST_ALL RA_CUST_TRX_LINE_SALESREPS_ALL AR_PAYMENT_SCHEDULES_ALL AR_RECEIVABLE_APPLICATIONS_ALL AR_ADJUSTMENTS_ALL

RA_INTERFACE_LINES: This table contains information relating to all transactions to be processed by AutoInvoice. Transactions include invoices, debit memos, credit memos, and on-account credits. Each record contains line, tax, freight, or finance charges information. The Line_Type field identifies the type of information contained in the record. A record can be a parent record: Line, Header Freight, or Charges; or a child record: Tax or linelevel

Freight. A child record is linked to the parent record using the Link-To Transaction flexfield.

RA_INTERFACE_DISTRIBUTIONS: This table contains accounting distributions to be used by the transactions defined in

RA_INTERFACE_LINES. Accounts defined in this table override any accounts created using AutoAccounting. You can choose to pass some or all account information to AutoInvoice. Any accounts that are not

passed will be derived using AutoAccounting. Records in this table are linked to records in the RA_INTERFACE_LINES table using the

Transaction flexfield. Not required if AutoAccounting determines GL distributions.

RA_INTERFACE_SALESCREDITS: This table contains all sales credit information for the transactions in the RA_INTERFACE_LINES

table. The two tables are linked using the Transaction flexfield. Not required if not tracking sales credit.

What occurs during auto-invoice:

1. Populates the RA_Interface_Lines, RA_Interface_distribution and RA_Interface_salescredit tables. 2. Lines are grouped and ordered by the grouping rule and line ordering line. Grouping rules are mandatory and determine how transaction lines are grouped into transactions. Optionally, you can use line-ordering rules to determine the order in which lines are displayed on a transaction. 3. Tax, freight, commitments and credit memos are linked to transaction line by transaction line, transaction reference and transaction link-to descriptive flex fields. To uniquely identify imported transactions and link the tax, freight, commitments and credit memos, define the Transaction flexfields. 4. GL date is determined. 5. GL accounting code combinations are assigned using auto accounting rule. 6. TAX is determined. 7. All transactions are batched. 8. Validated lines are used to create the transaction. When run, AutoInvoice produces the AutoInvoice Execution Report and the AutoInvoice Validation Report. Any entries which failed validation can be reviewed in Oracle Receivables AutoInvoice Interface Exceptions window. Depending on the error, changes may need to be made in Receivables, the feeder program or the imported records in the interface tables. Transaction flexfields:

Transaction flexfields are descriptive flexfields that AutoInvoice uses to uniquely identify transaction

lines. Because they are unique for each transaction line, they can also be used to reference and link to

other lines. Receivables lets you determine how you want to build your transaction flexfield structure and what

information you want to capture. Define a flexfield for each import source. Specify which one to use during import.

Types of transaction flexfields: Invoice Header (optional): Specifies invoice header information Line (required): Uniquely identifies invoice lines Link-To (optional): Link tax and freight to invoice lines

Reference (optional): Links credit memos to transactions

What is inside AutoInvoice? AutoInvoice is a tool consists of 3 main programs. Each program will have unique nature of work to do and they are called internally except Purge program whose execution is derived on the setup otherwise ready to execute stand alone.

Master (RAXMTR) Import (RAXTRX) Purge (RAXDEL)

1] Auto Invoice Master program: Selects and marks records in the interface tables to be processed based on the parameters the user entered and then calls the AutoInvoice Import program. Auto Invoice Master program has no report output.

Gathers statistics, it means it gathers the stats on interface tables and set the stats on certain

indices on interface tables. Marks interface records for processing by marking request_id. Submits multiple workers for Parallel Processing by creating instances for request.

2] Auto Invoice Import Program: Validates the selected record and creates transaction if it passes validation. Any record that fails validation is left in the interface table with an error code. Depending on the setup, related records may be rejected as well. This program has an output file called Auto Invoice Execution report, which you can view by clicking the View Report button in the Requests window.

Workhorse of Auto invoice Validates data Inserts records Deletes interface data Only when system option purge set to Y

3] Auto Invoice Purge Program: Deletes records from the interface tables. If you set the Purge Interface Table system option to No in Define System Option window, Auto Invoice does not delete processed records from the interface tables after each run, and we must submit Auto Invoice Purge Program periodically to clean up the interface tables. This program only deletes transaction lines that have been successfully imported. AutoInvoice Exception Handling: Records that fail validation are called Exceptions

Exceptions stay in Interface Tables which is RA_INTERFACE_ERRORS_ALL. Errors can be corrected in the Exception Handling window. Once corrections are made, Auto invoice must be resubmitted. Records that pass validation get transferred to Receivables tables.

AutoInvoice Exception Handling Windows: Interface Exception window displays exception messages associated with all invalid records.

Interface Lines window displays records that fail validation, provides an error message and can be

used to correct the errors. The Line Errors windows displays errors associated with a specific line, and can only be opened

from Interface Lines window. Interface Exceptions window displays Interface Id, Exception Type, Error Message and Invalid Value

associated to the error. Data cannot be edited in this window, but error can be viewed and corrected by clicking the Details

button. Error Message and Column name with invalid data are displayed in the Message column, and the

invalid value that needs to be corrected is displayed in the Invalid Value column.

Value Set Basics in Oracle Apps R12

Value Set Basics in Oracle Apps R12


1.Overvi ew
Value-set is a group of values. It can also be thought of as a container of values. The values could be of any data type (Char, Number etc.) A value set is used in Oracle Applications to restrict the values entered by a user. For example, when submitting a concurrent program, we would like user to enter only valid values in the parameter. This is achieved by associating a value set to a concurrent program parameter. A Value Set is characterized by value set name and validation. There are two kinds of validations,format validation and Value validation. In the format validation, we decide the data type, length and range of the values. In the value validation, we define the valid values. The valid values could be defined explicitly, or could come implicitly from different source (like table, another value-set etc.) 2. Uses Value-set is an important component of Oracle Applications used in defining Concurrent program parameters, Key Flex field and descriptive flex field set of values. Some of the scenarios where value-set is used are given below: a. In a concurrent program, we may want users to enter only number between 1 and 100 for a particular parameter.

b. In a concurrent program, we may want users to enter only Yes or No for a particular parameter. c. Suppose a concurrent program has two parameters. First parameter is department and second parameter is employee name. On selecting a particular department, we want to show only those employee names which belongs to the selected department. d. In a descriptive flex field enabled on a particular screen, we want to show only a designated list of values for selection by a user. e. In case of accounting reports, we may want users to enter a range of key flex field values (concatenated segments).

3. Steps To Create Value Set:


Navigation:

Value Set Form:

The various fields are explained below:

Value Set Name Description List type List of Values Long List of Values Pop-List

: Any user defined unique name : Description of the value set : Three choices are available for this field:

Security type

: Three choices are available for this field: No Security Hierarchical Security Non-Hierarchical Security

Format Validation Format Type Possible values for this field are: Char Date Date Time Number Standard Date Standard Date Time Time Maximum Size : Maximum size of the value Precision : Applicable when format type is number Numbers Only : When this is checked, only numbers are allowed Upper Case Only : This is applicable when Format type is Char Right Justify and Zero-Fill Numbers: Applicable only for Numbers Min Value : Min Value allowed Max Value : Max Value Allowed

Value Validation Possible values of the value validations are as follows: None You use a None type value set when you want to allow users to enter any value so long as that value meets the value set formatting rules. That is, the value must not exceed the maximum length you define for your value set, and it must meet any format requirements for that value set. Independent: When this is chosen, the individual values are defined using the navigation shown below Values Screen Navigation:

Values Find Screen:

Dependent: Same like Independent Value Set, except the List of Values shown to you will depend on which the Independent value you have selected in the Prior Segment. Must define your independent value set before you define the dependent value set that depends on it. Must create at least one dependent value for each independent value In the above Value set screen, if you choose type as DEPENDENT and clicked the Edit Information Button, we get the below screen

Table: The list of value is created based on database tables. Allows to write simple queries, joins, order by etc The value, meaning and ID can be used to display a value, description to the value but return ID to the calling program or screen. Additional columns can also be displayed.

Can also create dependent values to filter LOV data based on parameter value selected earlier. This can be done using :$FLEX:.value_set_name in the where clause. In the above Value set screen, if you choose type as TABLE and clicked the Edit Information Button, we get the below screen

Special & Pair Value Sets: Pair validation value set allows to select a range of concatenated Flex field segments as parameters to the report. The special value set is used to perform special validation. This is used to enter the entire key flex field segment in the single parameter of the report/calling entity. Special and pair value sets provide a mechanism to allow a "flexfieldwithin-a-flexfield". These value sets are primarily used for Standard Request Submission parameters. You do not generally use these value sets for normal flex field segments. Special and Pair value sets use special validation routines you define. For example, you can define validation routines to provide another flexfield as a value set for a single segment or to provide a range flex field as a value set for a pair of segments. In the above Value set screen, if you choose type as SPECIAL and clicked the Edit Information Button, we get the below screen

4. FNDLOAD & Value SETS: FNDLOAD can be used to migrate the value set information from one instance to another and below is the code sample

<-- Command to be executed -->


FNDLOAD $usrname/$Passwd OY DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME=LEARN_VALUESET

P TO P CYCLE FUNCTIONAL SETUPS


P TO P CYCLE FUNCTIONAL SETUPS:

STEP 1: DEFINE WORKDAY CALENDER INVOICES N: SET UP---- ORGANISATION ---- CALENDER.

STEP 2: DEFINE ACTUAL INVENTORY HRMS RESPONSIBILITRY N: WORKSTRUCTRE ---- ORGANISATION ---- DESCRIPTION.

STEP 3: DEFINE ITEMS IN MASTER INVENTORY IN INVENTORY MODULE N: ITEMS --- MASTER ITEMS.

STEP 4: CREATE SUBINVENTORY IN ACTUAL INVENTORY IN INVENTORY MODULE. N: SETUP --- ORGANISATION ---- SUB INVENTORY.

STEP 5: ASSIGN ACTUAL INVENTORY IN INVENTORY MODULE. N: SETUP----ORGANISATION ---- ASSIGNMENT.

STEP 6: DEFINE JOB IN HRMS MODULE. N: WORKSTRUCTURE---- JOB------ DESCRIPTION.

STEP 7: DEFINE POSITION N: WORKSTRUCTRE ---- POSITION ---- DESCRIPTION.

STEP 8: DEFINE EMPLOYEE. N: PEOPLE ---- ENTER/ MAINTAIN.

STEP 9: DEFINE APPROVAL GROUP IN PURCHASING MODULE. N: SET UP ---- APPROVAL --- APPROVAL GROUP.

STEP 10: DEFINE APPROVAL ASSIGNMENT IN PURCHASING MODULE N: SETUP --- APPROVAL ---- APPROVAL ASSIGNMENTS.

STEP 11: ASSIGN EMPLOYEE TO USER.

STEP 12: CREATE BUYER IN PURCHASING MODULE N: SETUP ---- PERSONAL ---- BUYER.

STEP 13: CREATE REQUISITION N: REQUISITIONS ---- REQUISITIONS

STEP 14: CREATE P.O. N: PURCHASE ORDERS --- PURCHASE ORDERS.

STEP 15: RECEIVING ITEMS. N: RECEIVING ---- RECEIPTS.

STEP 16: TRANSFER TO INVENTORY. N: RECEIVING --- RECEIVING ---- TRANSACTION.

Defining Purchasing Options Defining Purchasing Options

Defining Purchasing Options Purchasing Options window is used to define default values and controls for functions in Oracle Purchasing. You can often override purchasing options when you are creating documents.

Defining Purchasing Option is required step to use Orale Purhasing. Navigation Purchasing Responsibility=> Setup=> Organization=>Purchasing Options There are 6 tabs in purchasing options as below: 1. Receipt Accounting (Accrual Options) 2. Control 3. Default 4. Internal Requisition 5. Numbering 6. Tax Default

Descriptive Flex Fields


DESCRIPTIVE FLEX FIELDS Most of the Oracle application screens come with a facility to expand the space to capture custom fields. This facility of adding new custom fields (without any programming) is called DFF or Descriptive Flex Fields. The advantage of DFF is that around 15 new custom fields can be captured on each of the database table based block or form without doing any programming. The availability of facility of DFF on a screen is shown by square bracket [ ] and is shown below in figure 1.

For using a DFF facility on a standard screen, it has to be activated first. The activation is done by system administrator responsibility and it includes deciding number of fields to be used, window title of the fields, valid values of the fields, context etc. Once activated, the DFF field is immediately available for use. It can be used by clicking on the [ ] field which pops up a screen to capture the enabled fields.

DFF Features

DFF is directly mapped to a table and each segment of DFF is mapped to an individual field of the table. These fields are often named as ATTRIBUTE1, ATTRIBUTE2, , ATTRIBUTE15 (most of the time, we have maximum of 15 attribute fields available in each standard table). In addition to these 15 attribute fields, there is also one field called ATTRIBUTE_CATEGORY. This field is called Context field or Structure Field. How the structure field is used is explained below: Some time there is a requirement to capture context sensitive information in DFF fields. Suppose in HR form, we want to capture some custom information. If we are entering record for an Employee, we want to capture certain information; on the other hand, if we are entering record for an Applicant, then we want to capture some other custom information. This can be achieved by defining different contexts. In the example, just given, we can define two contexts, Employee and Applicant. Depending upon what context is chosen, we will show the corresponding fields to the users for entry.

Uses DFF is a very powerful feature of oracle applications which provides lot of extensibility to an implementation. Since Oracle Applications is implemented across diverse businesses and each business may need different kind of information to be captured (in addition to the standard information capturing which oracle provides), DFF comes in very handy to capture the custom information. Fields captured by DFF are stored in the database and are automatically queried whenever corresponding record is queried on the screen.

Examples 1. A business ABC wants to capture additional supplier attributes like supplier turnover, suppliers rating etc. These fields are not captured by standard oracle application screen and can be captured by activating DFF on supplier screen. 2. A leasing company wants to capture maximum mileage allowed and mileage penalty imposed for extra miles for the trucks it leases. These fields are not provided in the standard oracle applications and can be captured by activating DFF on lease authoring screen.

How to enable DFF Enabling a DFF can be best illustrated by an example. We will take GL Daily Rate Screen (Navigation: GL Super User => Setup => Rates => Daily) for this discussion. The screen is shown below. The screen has the DFF facility available but is not active currently.

We want to enable this DFF to capture two more fields: Exchange Rate Source Exchange Rate Time

a. First step is to find out the corresponding table name for this screen. This can be found by
querying the record and then going to Help => Diagnostics => Examine and checking the Last Query field in the System Block. This will provide us with the table name underlying the data. In this example, our table name is GL_DAILY_RATES. b. Now go to Application Developer Responsibility and Navigate to Flexfield => Descriptive => Register. Now do a query based on this table name (GL_DAILY_RATES).

We note down the Title (which is Daily Rates). a. Now, we know the title of the standard DFF available for the Daily Rate screen. This DFF needs to be now enabled. For doing this navigate to FlexField=>Descriptive=>Segments screen and do a query based on the DFF title (Daily Rates).

Global Data Elements context is always pre-populated. If we do not want any context, then we can just click on segments button and define the required segments. However, if we need to define different contexts, then those context can be entered here and the corresponding segments can be entered for each of chosen contexts. a. Click on the Segments button, and enter the values as shown below. We can associate value-set for each segment so that users can enter only valid values when entering a record.

a. Save the changes and come back to the previous screen. Click on Freeze Flexfield
definition check-box and save the changes.

a.

Now, we are done with activating the DFF. Come back to the Daily Rate Screen and see that DFF is enabled and can be used to capture two new fields as shown below:

Defining a new DFF DFF is implemented using the Attribute column fields in a table. For example, let us consider definition of a table GL_DAILY_RATES. SQL> desc gl_daily_rates

Name Null? Type ------------------------------- -------- ---FROM_CURRENCY NOT NULL VARCHAR2(15) TO_CURRENCY NOT NULL VARCHAR2(15) CONVERSION_DATE NOT NULL DATE CONVERSION_TYPE NOT NULL VARCHAR2(30) CONVERSION_RATE NOT NULL NUMBER STATUS_CODE NOT NULL VARCHAR2(1) CREATION_DATE NOT NULL DATE CREATED_BY NOT NULL NUMBER(15) LAST_UPDATE_DATE NOT NULL DATE LAST_UPDATED_BY NOT NULL NUMBER(15) LAST_UPDATE_LOGIN NOT NULL NUMBER(15) CONTEXT VARCHAR2(150) ATTRIBUTE1 VARCHAR2(150) ATTRIBUTE2 VARCHAR2(150) ATTRIBUTE3 VARCHAR2(150) ATTRIBUTE4 VARCHAR2(150) ATTRIBUTE5 VARCHAR2(150) ATTRIBUTE6 VARCHAR2(150) ATTRIBUTE7 VARCHAR2(150) ATTRIBUTE8 VARCHAR2(150) ATTRIBUTE9 VARCHAR2(150) ATTRIBUTE10 VARCHAR2(150) ATTRIBUTE11 VARCHAR2(150) ATTRIBUTE12 VARCHAR2(150) ATTRIBUTE13 VARCHAR2(150) ATTRIBUTE14 VARCHAR2(150) ATTRIBUTE15 VARCHAR2(150) RATE_SOURCE_CODE VARCHAR2(15) This table contains a field called CONTEXT and 15 Attribute columns. The Context field stores the structure or content of the DFF and attribute columns store the actual values of the custom fields. When we create a DFF definition (as shown below), we choose a Structure Column (CONTEXT in the below example) and also choose a prompt for the Context.

The fields to be used in the DFF design can be associated by clicking on the Columns button and checking the enabled button as shown below:

There is also a button called Reference Fields, which is used for defining the reference fields for DFF as shown below:

Reference fields are useful for automatically prompting user to enter required values. This can be explained by an example: Suppose a manufacturing firm sells three kinds of items Computer, Printers and Fax Machines. Depending upon the item type, we would like to capture different kind of custom information from the user. If item type is a reference field in the DFF definition, then we can choose item type in the reference field during DFF enabling. For each item type, we can define a context field (Computer, Printers, Fax Machines) and the corresponding segments. When user enters item

information, depending upon the item type, the corresponding DFF structure appears automatically. FAQ on DFF

a. Can we create a custom DFF? Ans. Yes, we can create a custom DFF. But the table to be used in the DFF should be registered with Oracle Applications. a. How do we use a custom DFF? Ans. Custom DFF can be used only in a custom form. For details on how to use a custom DFF in custom form, please see Oracle Forms section. a. What is meant by Global Context? Ans. When we need to capture same kind of information for all the records, then global context can be used. In this case, for all the records, the same structure appears for data entry. a. How do we use different Attribute columns during DFF activation? Ans. If we are using two different contexts (say Printer and Fax) and not using Global Context, then we can re-use the attribute columns. That means, an attribute column associated with Printer context can also be associated with the Fax context. However, if we are using global context also, then the attributes used in global context cannot be re-used for any other context. For example, if we are using Attribute1 to Attribute3 in the global context, then we can use only Attribute4 to Attribute15 in the other contexts. a. What is the Difference between Reference Field and Context? Ans: When we use multiple contexts, user has to manually select a context when entering values. Based on the context chosen, corresponding fields are shown to the user. However, when we use a reference field, a context is automatically defaulted to the user (which cannot be changed). A reference field is one of the fields from the same table. a. How do we use Reference Field? Ans: Reference field is defined during the DFF definition. Reference field is one of the fields from the same table. Usually, reference field chosen should be quite selective. For example, a field having 500 distinct value is not a good reference field. However, a field having around 10 distinct values or less can be a good reference field. When reference field is used in the DFF activation, we need to define structure for each of the unique value of the reference field. Once defined properly, based on the reference field, a DFF structure is automatically displayed to the user during data entry.

How to Define Expense Item How to Define Expense Item In this post I will explain how to create an Expense Item. Go to Inventory responsibility Navigation > Inventory > Items > Mater Items

In the Item Definition UI enter 1. Item Name 2. Description


Main Tab - Select UOM. Inventory Tab - Dont Select any Attribute in Inventory tab Purchasing Tab Select Purchasable o Enter Default Buyer Details o Default Buyer o Expense Account Receiving Tab Enter o Receipt Date Control Attribute

INTERNAL SALES ORDER

INTERNAL SO
INTERNAL SALES ORDER Scenario: There is a shortage of an item in (EMF) and a surplus of the same item in (BRF). So to transfer the material from BRF to EMF is done by using the internal requisitions / internal sales orders. Modules Involved: Inventory Purchasing Order Management Item Setup: Enable the field "Internal Orders Enabled"

Internal Customer Setup: - Navigate to Customers -> Standard Shipping Network Setup: Verify setup for inter organization Shipping Network between BRF and EMF - Navigate to Inventory -> Setup -> Organizations -> Shipping Networks Make sure the Inventory Accounting Periods are open for BRF and EMF - Go to Change Organization and select BRF or EMF as necessary - Navigate to Inventory -> Accounting Close Cycle -> Inventory Accounting Periods - Verify if the Sysdate is in an Open accounting period, else open the same by clicking on the button Change Status, and clicking ok to the question "Open Period?" Do a miscellaneous receipt to create on-hand quantity for the item in BRF. - Go to Change Organization and select BRF - Navigate to Inventory -> Transactions -> Miscellaneous Transaction - Create a miscellaneous receipt transaction - Save record - Navigate to Inventory -> On-hand, Availability -> On-hand Quantity and verify the on-hand quantity for the item Purchasing Setups: Verify the transaction type and order source - Navigate to Purchasing -> Setup -> Organizations -> Purchasing Options - Click on the Internal Requisitions tab - Notice the Order Type and Order Source setup

Test flow Setups: 1. Create an internal requisition - Navigate to Purchasing -> Requisitions -> Requisitions Submit the requisition for approval and check status Click on the Approve button, then OK Screen goes back to a blank requisition screen Go to Purchasing -> Requisitions -> Requisition Summary Search by entering noted requisition number and verify status is Approved

Run the Create Internal Orders concurrent program. This process inserts the data from PO into the OM interface tables -Navigate to Purchasing -> Reports -> Run - Run the concurrent request Create Internal Orders - Go to View -> Requests and verify that the concurrent has completed successfully

Run the Order Import process This process pulls the data from the OM interface tables into OM - Go to Orders, Returns -> Import Orders -> Order Import Request - Select the following parameter values and leave the rest as default Order Source: Internal Validate Only? : No.

- Submit the concurrent request - Go to View -> Requests and verify the presence of Parent and Child requests, and that they have completed successfully - View the output of the Child request by clicking on the View Output button. There should be an indication on successful import and creation of the internal sales order. 4. View the created internal sales order information Navigate to Orders, Returns -> Order Organizer Query the internal sales order by entering Order Source: Internal Requisition Number: Enter internal requisition number - Click on the Open button

5. Pick release the internal sales order - Navigate to Shipping -> Release Sales Orders -> Release Sales Orders In the Order tab Order Number: Enter order number Scheduled Ship Dates: leave from/to dates as blank Requested Dates: leave from/to dates as blank In the Inventory tab Warehouse: BRF Auto Allocate: Yes In the Shipping tab Autocreate Delivery : Yes Auto Pick Confirm : Yes Click on the Concurrent button to submit the pick release process

6. Ship confirm the internal sales order - Navigate to Shipping Transactions

- Select the order number and click on the Find button - In the Lines/LPN tab, verify that the Line Status as Staged - Go to the Delivery tab and click on the Ship Confirm button - Click on OK

7. Verify the status of the internal sales order - Query order in the order organizer and verify the line status is now Shipped

At this point run the Workflow Background Process to close the order line. The Invoice Interface Workflow activity will not interface internal sales order lines; even if the activity is present within the workflow process (activity will result in 'Not Eligible' status). Internal order lines are never interfaced to Oracle Receivables.

8. Now that the item has been shipped out of the warehouse BRF, we will proceed to receive the shipped quantity in EMF. - Navigate to Purchasing ->Receiving -> Receipts -> Receipts - Choose the organization as EMF - In the Requisition field, enter requisition number and click on Find - Both the Receipts Header / Receipts screen will open - In the Receipts screen, check the checkbox to the left of the line

Save record -- This completes the steps for the internal sales order test flow

How to Create Supplier List and RFQ How to Create Supplier List and RFQ

This Post is about How to create Supplier List and RFQ in Oracle Purchasing. In the post I will explain about the Supplier List and how to use Supplier List and Price breaks while creating a RFQ. Navigate to Supplier List Supplier Base > Supplier List

Purchasing Responsibility -Navigate to RFQ UI Navigation > RFQ. Enter details for the RFQ Operating Unit RFQ Type Status Due Date Description Reply Via Close Date Item category UOM etc

Press the Price Breaks to Enter the Breaks. You need to do that for each Item. Please note that in RFQ Type , I have selected the Catalog RFQ. ( this Post is based on Catalog RFQ) There are 2 types of RFQ

Catalog Bid

Catalog Its supports Price Breaks. These can be copy to a Blanket Purchase Agreement. Bid - Its supports Shipments. These can be copy to a Standard Purchase Order

From the RFQ UI , Press the Supplier button and Select the Supplier List that we have created

Once you select the Supplier list , system will add all the supplier to supplier List.

Your RFQ is now Ready , you can Print your RFQ. Once an RFQ is printed, its status changes from Active to Printed. Now suppose you have made some changes after , To Print it again, you need to set status to Active. Also in Supplier UI, you need to check "Include in next Printing" for the supplier that you want to Reprint Oracle R12 Internal Requisition and Internal Sales Order Process Flow. Oracle R12 Internal Requisition and Internal Sales Order Process Flow. In this blog I will explain the Process flow and Setup required to create Oracle Order Management Internal Sales order (ISO) from Internal requisition (IR) What is internal sales order A request within your company for goods or services. An internal sales order originates from an employee or from another process as a requisition, such as inventory or manufacturing, and becomes an internal sales order when the information is transferred from Purchasing to Order Management. Also known as internal requisition or purchase requisition. Oracle Purchasing uses Order Import to transfer requisitions for internally sourced products to Order Management. Once imported, the internal sales orders are processed similar to regular sales orders.

Note: You can create requisitions (with same number) in two different operating units. You can partially or fully cancel the line quantities on internal sales orders. You can make the following attribute changes after an internal sales order has been generated: Update Scheduled Shipment Date Decrement order line quantity Note: If you cancel an internal sales order, order line, or backordered order line that is linked to an internal requisition, manually cancel the internal requisition. The order cancelProcessing issues a reminder. Test Case Item IR Item004 Assign to Inventory Org M1 and M2 Create Requisition with Destination Org M1 and Source Org M2.Create Internal Sales Order in M2 1# Create Item IR Item4 , with Purchased Item as template , in Oracle Inventory Management.

2# Mark Item as Internal Order Enabled.

3# Assign Item to M1 and M2 Inventory Orgs.

4# Define Cost for Item Navigation >Costs >Item Costs

5# Update the cost Navigation Costs

Update Standard Costs Update Cost

6# Set the Internal Order Setup at Customer Ship To Site in Oracle Order Management.

7# Define Shipping Network setup Between M2 and M2 in Oracle Shipping. Inventory > Setup > Organization > shipping Network

8# Define Purchasing Option Setup for Internal Sales Order and define Internal requisition Order Type Internal requisition Order Source. in Oracle Purchasing Module

9#Create & Approve Requisition in Oracle Purchasing

Save and Approve Requisition.

10#submit Create Internal Order Concurrent program in Oracle Purchasing.

11#Submit Order Import

Query for Sales Order based on requisition Number.

12# Progress the Sales Order from Awaiting Shipping to Close.

Supplier Conversion in R12

Supplier Conversion in R12


Vendor conversion program will load the Supplier Master, Sites and Contacts data from data files to the staging tables, validate the data and then load the data into Interface tables, finally Validated data will import into Oracle Supplier Standard Tables by using Oracle Standard Supplier Import Programs. Pre-requisites setups are: Payment terms, Pay Groups, CCID, Supplier classifications, Bank Accounts , Employees (if employees have to set up as vendors).

The Interface Tables are: AP_SUPPLIERS_INT AP_SUPPLIER_SITES_INT AP_SUP_SITE_CONTACT_INT AP_SUPPLIERS_INT: This is the open interface table for AP Suppliers. It holds Supplier information which is loaded by the user for import. The columns in the table map to corresponding columns in the PO_VENDORS table. The Oracle Payables application uses this information to create a new Supplier record when the Supplier Open Interface Import program is submitted. Each row in the table will be identified by a unique identifier, the VENDOR_INTERFACE_ID. Mandatory Columns: VENDOR_INTERFACE_ID (ap_suppliers_int_s.NEXTVAL)- Supplier interface record unique identifier VENDOR_NAME Supplier name Other important columns: SEGMENT1 Supplier Number VENDOR_TYPE_LOOKUP_CODE Supplier type SHIP_TO_LOCATION_CODE Default ship-to-location name BILL_TO_LOCATION_CODE Default bill-to-location name TERMS_NAME Payment terms name TAX_VERIFICATION_DATE Tax verification date(1099) VAT_REGISTRATION_NUM Tax registration number ATTRIBUTE1 -15 Descriptive Flexfield Segments PAY_GROUP_LOOKUP_CODE Payment group type INVOICE_CURRENCY_CODE Default currency unique identifier PAYMENT_CURRENCY_CODE Default payment currency unique identifier NUM_1099 Tax identification number (1099) VAT_CODE Default invoice tax code HOLD_FLAG Indicates whether or not the supplier is on purchasing hold SUMMARY_FLAG Key flexfield summary flag ENABLED_FLAG Key flexfield enable flag EMPLOYEE_ID Employee unique identifier if supplier is an employee AP_SUPPLIER_SITES_INT: This is the open interface table for AP Supplier Sites. It holds Supplier Site information which is loaded by the user for import. The columns in the table map to corresponding columns in PO_VENDOR_SITES_ALL table. The Oracle Payables application uses this information to create a new Supplier Site record when the Supplier Sites Open Interface Import program is submitted. Each row in the table will be joined to the appropriate Supplier using the VENDOR_ID column. Mandatory Columns: VENDOR_SITE_INTERFACE_ID (ap_supplier_sites_int_s.NEXTVAL) Supplier Site interface record unique identifier VENDOR_SITE_CODE Supplier Site name Other important columns: ADDRESS_LINE1 First line of supplier address ADDRESS_LINE2 Second line of supplier address ADDRESS_LINE3 Third line of supplier address CITY City name STATE State name or abbreviation ZIP Postal code

COUNTRY Country name PHONE Phone number FAX Supplier site facsimile number SHIP_TO_LOCATION_CODE Default ship-to-location name BILL_TO_LOCATION_CODE Default bill-to-location name PAYMENT_METHOD_LOOKUP_CODE Default payment method type VAT_CODE Invoice default tax code PAY_GROUP_LOOKUP_CODE Payment group type TERMS_NAME Payment terms name INVOICE_CURRENCY_CODE Default currency unique identifier PAYMENT_CURRENCY_CODE Default payment currency unique identifier EMAIL_ADDRESS E-mail address of the supplier contact PURCHASING_SITE_FLAG Indicates whether purchasing is allowed from this site AUTO_TAX_CALC_FLAG Level of automatic tax calculation for supplier HOLD_ALL_PAYMENTS_FLAG Indicates if Oracle Payables should place payments for this supplier on hold AP_SUP_SITE_CONTACT_INT: This is the open interface table for AP Supplier Site Contacts. It holds Supplier contact data. The columns in the table map to corresponding columns in PO_VENDOR_CONTACTS table. The Oracle Payables application uses this information to create a new Supplier Contact record when the Supplier Sites Open Interface Import program is submitted. Each row in the table will be joined to the appropriate Supplier Site using the VENDOR_SITE_CODE and ORG_ID. Mandatory Columns: VENDOR_INTERFACE_ID Supplier interface record unique identifier VENDOR_CONTACT_INTERFACE_ID (AP_SUP_SITE_CONTACT_INT_S.NEXTVAL) Vendor Contact Interface Identifier VENDOR_SITE_CODE Supplier Site name Other important columns: FIRST_NAME Contact First name LAST_NAME Contact last name AREA_CODE Area code of contact phone number PHONE Contact phone number FIRST_NAME_ALT Alternate Supplier contact first name LAST_NAME_ALT Alternate Supplier contact last name EMAIL_ADDRESS Email address for the Supplier Site contact FAX Facsimile number for the Supplier Site contact VENDOR_ID Supplier unique identifier Validations: Vendor Number (Check for duplicate records in ap_suppliers table) Vendor Name (Check for duplicate records in staging as well as in ap_suppliers table) Terms Name (Check for proper record in ap_terms_tl table) Pay Group (Check for proper record in fnd_lookup_values_vl table where lookup_type = PAY GROUP) Employee Id (Check for proper employee record in per_all_people_f table) Vendor Type (Check for proper record in po_lookup_codes table where lookup_type = VENDOR TYPE) Vendor Site Code (Check for duplicate records in ap_supplier_sites_all table) Country Code ( Check for proper country code in fnd_territories_vl table) Payment Method (Check for proper payment method in iby_payment_methods_vl table) Interface programs: 1. Supplier Open Interface Import

2. Supplier Sites Open Interface Import 3. Supplier Site Contacts Open Interface Import The data inserted via these interfaces are automatically populated into TCA tables. Note: AP_SUPPLIER_INT_REJECTIONS table contains suppliers, sites, contacts rejections information.

ORACLE PURCHASING PURCHASE ORDERS FREQUENTLY ASKED QUESTIONS

ORACLE PURCHASING PURCHASE ORDERS FREQUENTLY ASKED QUESTIONS CONTENTS 1. In the Price type quickpick in the Purchase Order Lines zone in enter Purchase Order form, there is a value called COST PLUS FEE. What is the COST PLUS FEE price type? How is Purchase Order treating this price type? 2. What is 2-way, 3-way, 4-way matching? How is this set up? 3. How do you reflect discount from a supplier on a Purchase orders? 4. How do you change the created date on a Purchase Order? 5. What is the sorting order for requisition lines in autocreation of a Purchase Order? 6. What does the error 'APP-50022: Oracle Human Resources could not retrieve a value for User Type profile option' mean? 7. In the Enter Receipts (RCVRCERC) form and using different responsibilities produces different values in the action required field. The Purchasing Responsibility shows Direct and Standard while the Inventory Responsibility shows just Direct. Why are the action options for creating receipts different in Inventory compared Purchasing? 8. How do you purge Cancelled Requisitions? 9. On the requisition form in the source details zone, there is a field labeled supplier item. Where does this information on the quickpick come from and how can this information default in? 10. You are entering a requisition and are unable to find the header or line note fields. Was this replaced in GUI by attachments? 11. When you select the Notifications form to review approvals and click on

approve button for a Requisition waiting for approval, the 'Reject' box is greyed out. How does the approver reject a requisition? 12. What are standard Quotations used for? 13. When do you see the status of a Purchase order as Archived? 14. Where are standard notes in GUI? 15. In Oracle Purchasing, where is the automatic numbering for Purchase Order defined and maintained? 16. There is a field for the organization code. What is this code? 17. Can the original Purchase Order can be viewed in any way without resorting to SQL, for a revised Purchase Order? QUESTIONS & ANSWERS 1. In the Price type quickpick in the Purchase Order Lines zone in enter Purchase Order form, there is a value called COST PLUS FEE. What is the COST PLUS FEE price type? How is Purchase Order treating this price type? Answer The functionality for COST PLUS FEE price type is not in Oracle Purchasing at this point of time. PO does not do anything with this price type. It is an enhancement request that is being looked at for future releases. 2. What is 2-way, 3-way, 4-way matching? How is this set-up? Answer 2-way matching verifies that Purchase order and invoice information match within your tolerances as follows: Quantity billed <= Quantity Ordered Invoice price <= Purchase order price (<= sign is used because of tolerances) 3-way matching verifies that the receipt and invoice information match with the quantity tolerances defined: Quantity billed <= Quantity received 4-way matching verifies that acceptance documents and invoice information match within the quantity tolerances defined: Quantity billed <= Quantity accepted. (Acceptance is done at the time of Inspecting goods). Whether a PO shipment has 2-way, 3-way or 4-way matching can be setup in the Shipment Details zone of the Enter PO form (character) Receipt required Inspection required Matching Yes Yes 4-way Yes No 3-way No No 2-way In GUI, Shipments block, alternative region, click on Morethis brings up a region with 'Invoice matching' column where you can choose 2-way, 3-way or 4- way match.

You can find more detailed information about matching in the Oracle Payables Reference Manual (Volume 3) Topical Essay on Integrating your Payables and Purchasing Information. 3. How do you reflect discount from a supplier on a Purchase orders? Answer The legal document is the Purchase order not the quote and therefore the purchase order should reflect agreed upon price. Secondly if the discount comes after the PO then AP should handle it when invoicing. If you are using a blanket Purchase order then you can use price breaks. 4. How do you change the created date on a Purchase Order? Answer The 'Created' date on the Purchase order is not an updateable field, due to it being a legal document once approved. 5. What is the sorting order for requisition lines in autocreation of a Purchase Order? Answer Requisition lines first meet search criteria determined by "find" screen, and then are grouped together by item and item category, then by need-by date. After you choose an action, enter any search criteria to narrow the selection of requisition lines. Oracle Purchasing chooses requisition lines from the requisition pool that meet your search criteria. All requisition lines for the same item and item category are grouped together, but they are not necessarily in order alphabetically. Within each grouping of item and item category, requisition lines are ordered by need-by date. 6. What does the error 'APP-50022: Oracle Human Resources could not retrieve a value for User Type profile option' mean? Answer The profile HR: User Type needs to be set. Set the profile option 'HR: User Type' at the Responsibility level. 7. In the Enter Receipts (RCVRCERC) form and using different responsibilities produces different values in the action required field. The Purchasing Responsibility shows Direct and Standard while the Inventory Responsibility shows just Direct. Why are the action options for creating receipts different in Inventory compared Purchasing? Answer Set the Profile option RCV: Allow routing override to 'YES' at the application level. 8. How do you purge Cancelled Requisitions? Answer To purge any Purchase orders or Requisitions: assign the Payables Purge GUI responsibility to the user have the user choose that responsibility then choose Purge from the menu under the Category field do a List of Values and pick Simple Requisitions for cancelled requisitions The choices are listed. 9. On the requisition form in the source details zone, there is a field labeled supplier item. Where does this information on the quickpick come from and how can this information default in? Answer The supplier item field on the requisition can be populated by using either the supplier item catalog or ASL. Take an item from the supplier item catalog that has an associated supplier item, add it to the order pad and then add it to the requisition. After doing this go to the source details zone. The supplier item is defaulted in for that item you choose from the catalog. Navigation: > Purchasing > Supplier Item catalog 10. You are entering a requisition and are unable to find the header or line note fields. Was this replaced in GUI by attachments? Answer

The attachments have replaced notes. The attachments are better because at the header level, the requisition notes were not coming over to the Purchase Order whereas the attachment does come over to the Purchase Order. 11. When you select the Notifications form to review approvals and click on approve button for a Requisition waiting for approval, the 'Reject' box is greyed out. How does the approver reject a requisition? Answer You cannot reject Requisitions submitted to yourself. You can only reject those from others. 12. What are standard Quotations used for? Answer Standard quote is one that you can tie back to a PO. For example, navigate to RFQ -> Auto create -> enter a PO and reference it back. 13. When do you see the status of a Purchase order as Archived? Answer You must approve or print a specific purchase order before you can see it in the history information. 14. Where are standard notes in GUI? Answer Go to Setup > Attachments >Create attachment. Go to Purchase Order and attach the attachment to the Purchase Order. In GUI, notes are replaced by attachments. 15. In Oracle Purchasing, where is the automatic numbering for Purchase Order defined and maintained? Answer The navigation path for GUI is: Setup > Organizations > Purchasing Options, Numbering alternate region The navigation path for Character is: \ Navigate Setup Purchasing Options Purchasing, Numbering options 16. There is a field for the organization code. What is this code? Answer

This code is a short abbreviation for the organization. 17. Can the original Purchase Order can be viewed in any way without resorting to SQL, for a revised Purchase Order? Answer The original version of a revised PO cannot be viewed from the PO form or PO summary form. Information on the original PO can be obtained from the PO_HEADERS_ARCHIVE and PO_LINES_ARCHIVE tables using the PO_HEADER_ID column as a common reference using SQL only.

Multiple oraganizations Access control(MOAC)-R12--Part1


Multiple oraganizations Access control(MOAC)-R12--Part1

Hi ALL, Here i am trying to put the MOAC techical architecture in simple terms.. we are might have heard the term multi organization till 11.5.10 prior it is only one organization what does multiorganization mean?? Managing multiple organizations data in a single system...putting it in lay man terms For example lets take GEfinancial It is headquarted in US and operations in india also..assume it declares the Profit and loss results in both the countries.. Indian accounting rules, financial Calendar is different between the US and India.. since it belongs to same company with in one system I define two operating units one for us and one for India different ledgers and calendars...if I want I can have different chart of accounts also.. to manage data for both the organizations with in single instance oracle introduced the column org_id in all table which holds organization specific data.. For data security purpose people of a organization should able to see their own data to achieve this they created view on the base table like _all _B which restricts the data of the organization to which the user/user responsibility is attached.

for this purpose they defined a profile MO:operating unit which is set at the responsibility/user level based on this value the system context org_id is set to the operating unitid set at the profile level and a additional conditiion is added to the where clause of the views like 'org_id = substrb(userenv(''CLIENT_INFO''),1,10)' By this way they are able to restrict data to the one organization in all the forms,reports,concprograms fnd_global.apps_intialize--will set the applciation context org_id thats the resason when ever we try to access the data from toad/sql plus for single org specific views we will not get any results.. select * from po_headers--no data found if we set the application context we will able to see data for that org_id execute dbms_Application_info.set_client_info('101'); or fnd_global.apps_intialize(userid,responsibilityid,applicationid) --this inturn will get the org_id and set the context

From R12:Multiple organization access control Till 11.5.10.2 one responsibility is able to see data of only one operating unit.. when ever we want to see another operating unit data we need to change resposnsibility.. From R12 oracle introduced the concept of Multiple organization access control(MOAC) so that being in the same responsibility the user should be able to see the data for which he is give access.. let see how they achieved it.. 1.First we will define a policy which will have access for different operating units 2.they attach that policy to the responsibility/user at profile option level

technically..till 11.5.10 the query is getting chagned as org_id=101 if we have to access multiple organization it should changed to org_id in (101,102) or exits... for achieving this oracle used the concept of Virtual Private Database (VPD).. VPD: The Virtual Private Database (VPD) feature allows developers to enforce security by attaching a security policy to database objects such as tables, views and synonyms. It attaches a predicate function to every SQL statement to the objects by applying security policies. When a user directly or indirectly accesses the secure objects, the database rewrites the user's SQL statement to include conditions set by security policy that are visible to the user. First lets decide whethere the access mode to a responsibility is single or multiple or all.Based on the security policy oracle decides the access mode let assume our security policy which is attached to our respobility has access to the two operating units. now oracle will populate the global temporary table(session controlled) mo_glob_org_access_tmp with all the operating units attached to the security policy of yours.. based on the vpd a concept from oracle 9i onwards they defined a policy 'ORG_SEC' which call the function 'MO_GLOBAL.ORG_SECURITY' for all the objects to which the policy is attached..

MO_GLOBAL.Org_Security function: FUNCTION org_security(obj_schema VARCHAR2 obj_name VARCHAR2)RETURN VARCHAR2 IS BEGIN --- Returns different predicates based on the access_mode -- The codes for access_mode are -- M - Multiple OU Access -- A - All OU Access -- S - Single OU Access -- Null - Backward Compatibility - CLIENT_INFO case

-IF g_access_mode IS NOT NULL THEN IF g_access_mode = 'M' THEN RETURN 'EXISTS (SELECT 1 FROM mo_glob_org_access_tmp oa WHERE oa.organization_id = org_id)'; ELSIF g_access_mode = 'A' THEN -- for future use RETURN NULL; ELSIF g_access_mode = 'S' THEN RETURN 'org_id = sys_context(''multi_org2'',''current_org_id'')'; END IF; ELSE RETURN 'org_id = substrb(userenv(''CLIENT_INFO''),1,10)'; END IF; END org_security; let see what happend po_headers view(11.5.10.2) in R12 1.Dropped the view po_headers 2.Created a synonym for the base table create synnonym for po_headers for po_headers_all 3.attach the security policy org_sec to this synonym so when ever we access this synonym from any where the policy will call the mo_global.org_Security funcion to all a condition to the select statement we isssued select * from po_headers will be changed as select * from po_headerS_all where exists 'EXISTS (SELECT 1 FROM mo_glob_org_access_tmp oa WHERE oa.organization_id = org_id)' By this they are able to access all data of all organizations assigned to the security policy.

RETCODE & ERRBUFF

Hi ALL, As we all know there are two mandatory parameters that need to be pased for all the procedures called 1.ERRBUFF 2.RETCODE.. They are very useful parameters if used properly..like setting the status of the conucrrent program and putting the log messages... i think it is better we make some rule like we make the program end in Error when ever there is a unidentified exception occurs based on your business rule... define ERRBUFF as the first parameter and Retcode as the second one...Dont forget to specify the out variable type in it... CREATE PROCEDURE SAMPLE_PROC (ERRBUF OUT VARCHAR2, RETCODE OUT VARCHAR2, p_1 varchar2) The retcode has three values returned by the concurrent manager 0--Success 1--Success & warning 2--Error we can set our concurrent program to any of the three status by using these parameters... for example Begin ..... Exception when others then fnd_File.put_line(fnd_file.log,'Unhandled exception occurred in package.procedure'||SQLERRM); retcode='2'; end; Even you can use fnd_concurrent.set_completion_Status to send the concurrent program to more status than success,error and warning.....

FND_GLOBAL PACKAGE

Recently i come accross a requirement to capture the requestidof the concurrent with in the concurrent program session...Even i am aware of the FND_GLOBAL package...But it didnt strike'at first go.....so i am writing this article for people who are not even awarethat this package exists.. FND_GLOBAL package gives the most of the enviroment values THis package should be used in database side only...use FND_PROFILE package to get these values in Forms. 1.FND_GLOBAL.USERID --Returns userid
2.FND_GLOBAL.APPS_INTIALIZEprocedure APPS_INITIALIZE(user_id in number,resp_id in number,resp_appl_id in number); This is used to set the values userid and responsibilityid for a session 3.FND_GLOBAL.LOGIN_ID -Gives login id 4.FND_GLOBAL.CONC_LOGIN_ID--Not sure how to use this 5.FND_GLOBAL.PROG_APPL_ID--Concurrent program application id 6.FND_GLOBAL.CONC_PROGRAM_ID--Concurrent program id 7.FND_GLOBAL.CONC_REQUEST_ID (Server)This will give the concurrent request id of the program which is calling the plsql package.. ln_Request_id:=FND_GLOBAL.CONC_REQUEST_ID;

Adding Concurrent Program to a request group from backend

This one of the common requirements of adding adding the new concurrent program to the request group in production environment... The critical comes when we dont have access to the sysadmin responsibility and guide the DBA to do it... Actually there is API's for adding the concurrent program from backend.. it is better to create that script and askt he DBA to run the script which will add the concurrent program to the request group. The API is given in the Application Developer the only thing is knowing that it exists and remembering it at the right movement... FND_PROGRAM.ADD_TO_GROUP FND_PROGRAM.ADD_TO_GROUP (program_short_name IN VARCHAR2, program_application IN VARCHAR2, request_group IN VARCHAR2, group_application IN VARCHAR2); Description Use this procedure to add a concurrent program to a request group. This procedure corresponds to the "Requests" region in the "Request Groups" window in System Administration.

Arguments (input): program_short_ name The short name used as the developer name of the concurrent program. program_ application The application that owns the concurrent program. request_group The request group to which to add the concurrent program. group_ application The application that owns the request group. Sample: begin FND_PROGRAM.ADD_TO_GROUP(program_short_name=>'XX_TEST', program_=>'Application Object Library', request_group=>'Application Developer Reports', group_application=>'Application Object Library'); Commit; Exception when others then Dbms_output.put_line('Exception while adding'SQLERRM); End; You need to commit the trasaction to get things effected
Attachment Functionality in Oracle Applications

why do i need a attachment functionality? The attachments feature enables users to link unstructured data, such as images, wordprocessing documents, spreadsheets, or text to their application data. For example,users can link images to items or video to operations as operation instructions. Can i enable it to any form i want? For most of the standar you can do that..i hope custom form done in standard way can also have this feauture enabled where should i start??? Lets Define the terms first 1.Entity:An entity is an object within Oracle Applications data, such as an item, an order, or anorder line. The attachments feature must be enabled for an entity before users can link attachments to the entity. 2.Category:A document category is a label that users apply to individual attachments anddocuments. Document categories provide security by restricting the documents that canbe viewed or added via a specific form or form function. In the below example i am tryign to enable the attachment funcionality for the USer form..I want to upload the approval copy for creating a user or

attaching new responsibility what are the steps to do that?? Step1:First Define a Entity for which you are creating the attachments.In my case it is users. define the base table and entityid and others things

Step2:Define a category(optional).if the attachments belongs logically to different group. In this example i am addding to the miscellenous category.

Make the assignments of the Function once you define it. step3:Find the Form Name,Function Name and block name to which the attachment feauture need to be enabled. Step4:Define the Attachment Function .Seelct the type either you want the attachmetn feature at form level or Function level

Press the Blocks Button. and Enter the Block name you want to enable the attachment feauture.

Press the Entities Button Enter the entity and other settings and see what fuctionalties are required for this form.like query,insert,update and delete allowed can be done or not from this form Enter the primary Key so that it show the document based on the primary key. If it a common document like across users then primary key should not be given. Press the categories button to select the caegories Press the Assignments Button in document categories and attach the Function. Now the attache button is enabled..press the button and upload the document..

uploading document is self explainable for developing some complex one..read tthe application developer for more info.. more or less it depends on the entity definition and the primary key for the document.. you can have more than one primary key...just play aroud with the primary key..you will be able to get any requirement...
Special Validation type Valuesets

How do you validate the parameter value of a concurrent program submitted through SRS window? This is one of the recent requirement i come across..after some research i came to know it can be done using special valueset. 1.create a valueset of specail validation type

2.create a validate Event.you can write the PLSQL COde to validate FND PLSQL "declare l_email VARCHAR2(2000) := :!VALUE; BEGIN IF NVL(UPPER(substr(l_email,-9,9)),'INVALID')<>'GMAIL.COM' THEN fnd_message.set_name('FND','INVALID_EMAIL'); fnd_message.raise_error; end if; end;" 3.attach it to the parameter in ..you will get a warning while saving the program ..ignore it.. As far i checked it is validation only when you enter... THis is another sample available in one of the forums..but didn't work for me.. FND PLSQL "declare l_payroll VARCHAR2(20) := ':$FLEX$.VALSET_TST5'; l_input DATE := :!VALUE; BEGIN if l_payroll is null and l_input is not null then fnd_message.set_name('XXPAY','ONLY_ENTER_DATE_WITH_PAYROL L'); fnd_message.raise_error; end if; end;" Just try to experiment around..this might meet your requirement....

Useful Information about LOG & OUT Files

Recently we came around a scenario whether the naming convention of the out files need to be changed.After some R&D we find some good document regarding this.. Where do concurrent request or manager logfiles and output files

go? The concurrent manager first looks for the environment variable $APPLCSF. If this is set, it creates a path using two other environment variables: $APPLLOG and $APPLOUT It places log files in $APPLCSF/$APPLLOG, output files go in $APPLCSF/$APPLOUT So for example, if you have this environment set: $APPLCSF = /u01/appl/common $APPLLOG = log $APPLOUT = out The concurrent manager will place log files in /u01/appl/common/log, and output files in /u01/appl/common/out Note that $APPLCSF must be a full, absolute path, and the other two are directory names. If $APPLCSF is not set, it places the files under the product top of the application associated with the request. For example, a PO report would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT Logfiles go to: /u01/appl/po/9.0/log Output files to: /u01/appl/po/9.0/out All these directories must exist and have the correct permissions. Note that all concurrent requests produce a log file, but not necessarily an output file. Concurrent manager logfiles follow the same convention, and will be found in the $APPLLOG directory

What are the logfile and output file naming conventions? Request logfiles: l.req Output files: If $APPCPNAM is not set: . If $APPCPNAM = REQID: o.out If $APPCPNAM = USER: .out Where: = The request id of the concurrent request And: = The id of the user that submitted the request

Manager logfiles: ICM logfile: Default is std.mgr, can be changed with the mgrname startup parameter Concurrent manager log: w.mgr Transaction manager log: t.mgr Conflict Resolution manager log: c.mgr Where: is the concurrent process id of the manager

OUT & LOG Files

Normally where do you find the out and log files.. i always learnt that they will be in the corresponding top out and log directories. But i never checked.. Last week i got a requirement to find the files and when i check i dont find any out files or log files in the corresponding Top. later after some hard work i find that there is a setting.If that is not specified only then they will be stored in the out and log files. $APPLCSF The value of this will determine where log and out files
FND LOAD Examples

Hi All, Plz find the different ways of using fnd load. Most of time we required for the movement of different objects majorly likelookups,Menus,Concurrent ProgramsAlerts,valueset... Using FND Load we can load many of the different FND objects from one server to other server. But Unfortunate i never find all the FND load Examples at one place. So i thought i put diffrent examples at one point so that in future a single point of reference can be there. One Important thing is FNDLOAD updates the object if the object alreadys exists... Check once it is moved as in case of some objects i creates a new one also with a different version Concurrent Programs:Use the Below Script to download concurrent

programs.The best part of it is it downloads all the valuesets attached to the concurrent program. Download:$FND_TOP/bin/FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXBOB_EXT_TRNFB_DTL_REP.ldt PROGRAM APPLICATION_SHORT_NAME="XXBOB" CONCURRENT_PROGRAM_NAME="XXBOB_EXT_TRNFB_DTL_REP"U
PLOAD:

$FND_TOP/bin/FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XXBOB_EXT_TRNFB_SUM_REP.ldt Lookups: Download:$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct BOB_OTA_SESSION_FEEDBACK_RESP.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME ='OTA' LOOKUP_TYPE="BOB_OTA_SESSION_FEEDBACK_RESP" UPLOAD:$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct BOB_OTA_SESSION_FEEDBACK_RESP.ldt

Menu: This will download all the menu definitions and the definitions of the functions associtated with it.But it will not download the submenus. Download:$FND_TOP/bin/FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct BOB_ILEARNING_ADMIN_TOP_MENU.ldt MENU MENU_NAME="BOB_ILEARNING_ADMIN_TOP_MENU"
Upload:$FND_TOP/bin/FNDLOAD

apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct BOB_ILEARNING_ADMIN_TOP_MENU.ldt Forms Personalization: This is one of the important things if the number of personalizations are

moreBut for caution check whether the personlaization works properly are not...i experienced some problems with that.. DOWNLOAD:FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_PERWSHRG.ldt FND_FORM_CUSTOM_RULES function_name="PERWSHRG-404" Upload:FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct Responsibility: Check this once if..i need to try if we download responsibility whether it will download and other all depending objects also..Some one can try this...let me know the answer also... Download:FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_PERSON_RESPY.ldt FND_RESPONSIBILITY RESP_KEY="XX_PERSON_RESPY"
UPLOAD:FNDLOAD

apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_PERSON_RESPY.ldt Messages: Use to dowload the messages..in case if you want to download all the messages in a application(work when doing big bang implementation) just provide application short name onlyit will donwload all the messages Download:$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XXBOB_OLM_EXTTRG_FB_CONF.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME='XXBOB' MESSAGE_NAME="XXBOB_OLM_EXTTRG_FB_CONF" Upload: $FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XXBOB_OLM_EXTTRG_FB_CONF.ldt Valuesets:Try this and let me know if it doesn't work..i have not yet tried this... Download:$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXVALUESETNAME.ldt FLEX_VALUE_SET_NAME='XXVALUESETNAME' Upload:$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD

$FND_TOP/patch/115/import/afffload.lct XXVALUESETNAME.ldt Alerts: Most people are not aware that there is a FNDLOAD script for alerts..even me..but i searhced some how find this one..it worked..i tried this by downloading all alertsunsing only application short name..But the other parameter will work..try this out... Download: $FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct OTA.ldt ALR_ALERTS APPLICATION_SHORT_NAME='OTA' ALERT_NAME= 'URALERT'
UPLOAD:$FND_TOP/bin/FNDLOAD

apps/apps 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct OTA.ldt Descriptive FLEX FIELDS:Download:$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct ADD_EXT_ORG_TRG_DTLS.ldt DESC_FLEX APPLICATION_SHORT_NAME='XXBOB' DESCRIPTIVE_FLEXFIELD_NAME='ADD_EXT_ORG_TRG_DTLS'
UPLOAD:

$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct ADD_EXT_ORG_TRG_DTLS.ldt