Effective persuasion lets your ideas get noticed

9 Jun

The fine art of persuasion is a much sought after but poorly mastered skill. We all have been in situations where we sometimes get frustrated over our inability to get others to listen to our ideas and suggestions, or experienced anger and annoyance at their unwillingness to follow instructions and answer important questions.

In her book Exercising Influence, Kim Barnes outlines the common tactics used by people to persuade or influence others. These include: tell, sell, negotiate, enlist, inquire, attune, and facilitate.

  • Tell: Suggestions are used to express needs and ideas to the other person. For e.g., “Why don’t we go over the contract clauses once again to see if we can work out a compromise?” is a subtle suggestion aimed at influencing the other person to acquiesce; or something like, “The report has to be submitted to the CEO tomorrow. We need to complete the review by today afternoon”, which is basically an expression of needs.
  • Sell: Logical reasons and motivational factors are used to ‘sell’ the idea to a person. For example, “If we share the work between us, we will be able to meet the deadline.”
  • Negotiate: Incentives are offered in an effort to woo the other person and get his or her buy in. For example, “If you can pull off this project successfully, I will see that you get a big raise and promotion this year as a bonus.”
  • Enlist: Appeal is made to the ego, values, ideals and aspirations of people. For example, “Will you do a favour and edit the report for me? You are the only person who can help me.” Or “This issue has always been close to your heart. You must help us now.”
  • Inquire: Questions are asked to draw out the other person and get more information. “Can you tell me what exactly you are looking for? I think we could work this out if we knew what kind of product you need.”
  • Attune: Effort is made to put oneself in place of the other person, empathise and attune to the situation. For example, “If I were you, I would have handled this matter differently.”
  • Facilitate: This technique is literally used to put words in the other person’s mouth, so to speak. For example, “This dress really suits you. I think you should buy it.”

Connecting with others and establishing genuine rapport is a very important part of effective persuasion. To be able to truly persuade other people to accept your ideas and point of view, you need to master a healthy combination of communication, presentation, relationship and assertiveness skills apart from the above influencing techniques.

It is important to keep in mind that effective persuasion is not about intimidation. Pulling, pushing, bullying, nagging does not get you what you want.

With the right influencing tactics, you can persuade anyone to follow your lead. You can get clients to buy more.

You can negotiate successfully. You can induce your co-workers to listen to your suggestions or convince your team to follow your instructions.

Effective persuasion helps get your ideas noticed, enhances your career, and improves relationship with others. It makes your job easier too.

Source: The Hindu

Advertisements

Leadership Prep – that’s the place to start!

9 Jun

Leadership Prep

So you want to be a leader? Or you want to be a better leader? It can be done, you know. No matter where you are in your leadership journey, you CAN move forward. You CAN lead better. You CAN lead more people. You CAN lead your organization to higher ground. Yes, you CAN!

But let me tell you this: You won’t do it via osmosis! It won’t just “happen.” Growing in your leadership is not something that comes from the fairy godmother of leadership. You can’t touch the hem of Jack Welch’s garment & become “Super-Leader!” Oh, that it were that easy!

So what does it take? Time…Experience…Training…Hard Knocks…A Mentor…Discipline…And a few others.

But let’s start at the very beginning. You want to be a leader. That’s good. You want to be a better leader. That’s good too. But what comes first? Preparation. Leadership Prep. What is it? What needs to happen in order to get yourself ready to become a leader? As you get ready go through a little reflection on Leadership Prep. Before you become the leader you want to be:

Count the cost. Leadership is hard. There will be times that you say, “Leadership isn’t worth it. These people are crazy & I don’t deserve this.” It is true. You don’t deserve it. But you choose it. You choose it because you want to lead people. You want to improve their lives. You see the higher ground that they cannot see & you desire to take them there. It will take time. It will take money. It will sap your strength & energy. Count the cost, my friend. Leadership is not for the weak & timid. Yes, the rewards are great, but so are the sacrifices. Prep yourself for the cost of leadership.

Assess your strengths & weaknesses. Too many people dive into trying to lead & end up dying out because they were not honest with themselves about their strengths & weaknesses. They get going & realize that they should have strengthened themselves in certain areas because now it is killing their ability to lead. If you know your strengths, then you can focus yourself on them & allow yourself to be successful through them. If you are aware of your weaknesses you will be able to stay away from them, or hire to cover them, & thus allow yourself to become even more successful as a leader. So prep yourself by becoming exceedingly clear on your strengths & weaknesses.

Settle in for the marathon, not the sprint. Very few – I mean VERY few – people get big leadership assignments at early ages. And when they do, even fewer of the few see things happen fast in their leadership. No, usually things happen slowly. Why do we think they will happen fast then? Because those are the only stories we hear on TV & read about in magazines. “Twenty-five year old starts business that grows to $20 million a year in sales in JUST TWO YEARS,” Sells a lot better than “Forty-five year old works hard for twenty years & builds lasting business that makes a difference in her community.” Right? Right. So, unless you are one of the chosen few, you will need to prep for a marathon, not a sprint. This is both a mental & emotional adjustment that needs to be made. Prep for the long haul!

Develop a learning attitude. You have perhaps heard it said, “Leaders are readers.” It is true. Even more so, leaders are learners. I don’t know any leader who has attained any level of leadership who doesn’t keep him or herself on the edge of learning. One of my mentors runs a company that you would all know by name – in fact, you probably used one of their products today, no matter where you live in the world – that does billions of dollars a year in revenue (Yes, with a “b”) & he still takes time each year to go to a school of leadership! He is already a tremendously successful leader yet he is still working on it! THAT is a learning attitude! If you want to lead, prep yourself for it by developing a learning attitude.

Acquire a love for people. In reality, we do not lead organizations or businesses. No, we lead people. We are successful if we know how to lead people. People are the name of the game. And the best way to become a leader of people is to love people. Others can tell instinctually whether or not we love them & have their best interests at heart. If they do not know that we care for them they will not follow. Leadership is the art of directing people who we care for & desire to help. In other words, we love people. If you have an issue with people, chances are you are not ready to lead them. To prep yourself for leadership, acquire a love for people. If the other things are in place, then they will want to follow you.

You CAN become a leader. I truly believe that. If you are already a leader, I know you can become better. Take a long, hard look at yourself & see if perhaps there are some areas you need to prep yourself in regard to leadership so that when you really get going you don’t have to stop & go back!

Leadership Prep – that’s the place to start!

Confidence!!!

6 Jun

The business executive was deep in debt and could see no way out
Creditors were closing in on him. Suppliers were demanding payment. He sat on the park bench, head in hands, wondering if anything could save his company from bankruptcy.

Suddenly an old man appeared before him. “I can see that something is troubling you,” he said.
After listening to the executive’s woes, the old man said, “I believe I can help you.”

He asked the man his name, wrote out a check, and pushed it into his hand saying, “Take this money. Meet me here exactly one year from today, and you can pay me back at that time.”

Then he turned and disappeared as quickly as he had come.

The business executive saw in his hand a check for $500,000, signed by John D. Rockefeller, then one of the richest men in the world!

“I can erase my money worries in an instant!” he realized. But instead, the executive decided to put the un-cashed check in his safe. Just knowing it was there might give him the strength to work out a way to save his business, he thought.

With renewed optimism, he negotiated better deals and extended terms of payment. He closed several big sales. Within a few months, he was out of debt and making money once again.

Exactly one year later, he returned to the park with the un-cashed check. At the agreed-upon time, the old man appeared. But just as the executive was about to hand back the check and share his success story, a nurse came running up and grabbed the old man.

“I’m so glad I caught him!” she cried. “I hope he hasn’t been bothering you. He’s always escaping from the rest home and telling people he’s John D. Rockefeller.”
And she led the old man away by the arm.
The astonished executive just stood there, stunned. All year long he’d been wheeling and dealing, buying and selling, convinced he had half a million dollars behind him.

Suddenly, he realized that it wasn’t the money, real or imagined, that had turned his life around. It was his newfound self-confidence that gave him the power to achieve anything he went after.

21st Century Skills

6 Jun
 

a fantastic book by Bernie Trilling and Charles Fadel. It gives a perspective on the new skills needed to succeed in the knowledge age.

 

The book puts forth the idea that although we have moved on from the industrial age to the knowledge age – our learning methods have not. Jobs of the industrial age that required routine manual skills are giving way to automation. And the demand for highly skilled workforce is rising. A stark example of this was the unemployment crisis in the EU, where they had a severe mismatch of workforce skills and available jobs.

 

According to Trilling and Fadel, four powerful forces are converging – knowledge work, thinking tools, digital lifestyles, and learning research – and creating the need for new ways of learning and new skills. They believe that the critical 21st century skills are:

 

  1. Learning and innovation skills
  2. Information, media and technology skills
  3. Life and career skills

 

The knowledge economy demands higher levels of expert thinking, innovation and creativity. We also need complex communication skills with teams spread across geographies and a large amount of communication moving to digital channels.Communication is also more frequent, crisper and increasingly informal. Twitter, Facebook, Whatsapp and other emerging communication tools mandate that we learn to understand and put our point across in smaller, fragmented, multi-stakeholder communication.  

 

The barrage of digital tools and technologies at our disposal mandates that we learn to use them effectively. I believe, that for those of us in the workforce today, the real competition is not posed by our peers, but by the ‘net generation’ just getting out of schools now. These netizens are much better at harnessing digital technologies than digital immigrants. And that they can use it well is evident from the sharp spike in multi-millionaires below 30 years of age!

 

And lastly, they talk about the need for flexibility and adaptability in a fast changing world. I have spoken about it earlier in the context of both the organization and the individual. In Trilling and Fadel’s view, the world is moving too fast, and initiative and self-direction is a skill expected from workers. With global teams one must also adjust faster to multi-cultural contexts and interact effectively with others.

 

Whether we like it or not, the world is changing. And this change is making us obsolete every day – UNLESS we are able to keep pace, motivate ourselves, unlearn and re-learn, adapt and find our own way. It’s a digital jungle – and only the fittest will survive.

 

 

 

Move Fast… Break Things…

5 Jun

The topic of this blog was Facebook’s motto for the longest time – very apt for the fast paced world that we live in. They say opportunity does not knock twice. And one needs to move fast to grab opportunities before others do. Real time information, quick analysis, swift decisions, and on spot action is the need of the hour.

While many of us recognize opportunities, we miss out because of our fear of failure. What if my decision is faulty? What if something goes wrong? We fear the consequence of our actions and suffer analysis paralysis. But we forget that failure is the best teacher. I spoke about stability being a lethal narcotic in one of my previous posts. Success is another one. It lulls you in a false sense of security. Failure is often what one needs to innovate.

One key aspect of ‘moving fast’ is that you get over and learn from your failures quickly. Don’t mope and play the blame game. Apply your learning and make it a part of your DNA so you don’t repeat your mistakes.

Walt Disney was fired from a newspaper for lacking imagination. The Beatles were rejected by a recording studio that didn’t like their ‘sound’. Oprah Winfrey was demoted because she was not fit for television. Apple was almost shut down before it bounced back to become the biggest brand in the world. There are many such examples of business and personal success that have a foundation in failure. So why don’t we appreciate failure?

It’s because we are conditioned to avoid it. We forget that lack of failure is NOT success. And I think that needs to change. I am not suggesting go blindly after every possibility. We need to develop a scientific approach. Weigh risks and rewards. Develop a risk appetite. Ask questions. Trust your instincts. Take ownership. And most importantly allow others to fail.

For most of us accepting that it’s ok to fail will mean a complete shift in mindset. But I would ask you to consider what Wayne Gretzky said “you miss 100% of the shots you never take”. Are you missing out on yours?

I’d like to hear your stories where you tried but failed and what did you learn in the process. Share them as comments below.

Keep winning.

key Profile Options in various modules Order Management, Inventory, Purchasing

17 Sep

Below is a list of some of the key Profile Options in various modules.

Profile Options – INVENTORY

INV:Accounting Category Set
Indicates the default category set for defining category account. This profile option references the ’Product Line Accounting’ function area to retrieve the category set.

This profile is updateable only at the Site level.

INV:Allow Expense to Asset Transaction
Indicates whether you can transfer an item from an expensed subinventory to an asset location.
This profile is updateable at all levels.

INV:Capable to Promise
Indicates whether to enable the CTP calculation.
This profile has a predefined value of NULL (no predefined value) upon installation. This site level option determines how a promise data is derived. It can have the below values:
1 Enable Product Family ATP and CTP
2 Enable Product Family ATP
3 Enable ATP
4 ATP / CTP Based on Planning Output
5 ATP Based on Collected Data
This profile is updateable only at the site level.

INV:Genealogy Delimiter
Allows client to pick the character that appears between the item name and lot number in the genealogy tree Any character can be used as a delimiter. You can change the delimiter profile at any time. The default value is “-“.

INV:Round Reorder Qty
This profile option provides the min-max reporting process with rounding options for reorder quantity. INV_ROUND_REORDER_QUANTITY accepts either “Yes” or “No” as values. The default value is ’Yes’ which means the REORDER QUANTITY is rounding UP. You need to set the value to “No” to round down.

INV:Genealogy Prefix or Suffix
You use this to determine if and how the item number is displayed on the Object Genealogy form. The following values are possible:
Prefix The Item number is a prefix to the lot /serial number
Suffix ATP Based on Collected Data
None ATP Based on Collected Data

INV:Intercompany Invoice for Internal OrdersYou use this profile to enable creation of Intercompany Invoices for Internal Orders. This profile is used in a concurrent program to create accounts payable, and accounts receivable to decide if Internal Order transactions should be invoiced. A “Yes” value enables creation of intercompany invoices. The default value is no.
This profile is updateable only at site level.

INV:Advanced Pricing for Intercompany Invoice
When you set this profile to “Yes”, you can use the Advanced Pricing engine for Intercompany Invoicing. The default value is “No”. à This profile is updateable only at site level.

INV:Default Item StatusIndicates the default item status for new items you define.
àThis profile is updateable at all levels.

INV:Default Primary Unit of Measure
Indicates the default primary unit of measure for new items you define.
àThis profile is updateable at all levels.
INV:Dynamic Precision Option for Quantity on Reports
Indicates the decimal precision for your unit costs. This controls how cost information is displayed on all cost reports. All reports display fourteen digits for unit costs, and display at least 16 digits for extended values.
Inventory predefines a value of -9,999,990.00 for this profile for all levels upon installation.
à This profile is updateable at all levels.

INV:External ATP
Indicates whether non-Oracle ATP products can be integrated with Oracle. Set this profile option in the Source instance if the Source is 10.7 or 11.0. If you select ’Global ATP’, the system uses the new Global Order Promising program. If you select ’None’, the system uses the old ATP program. If you do not select a default value, the
system assumes ’None’ for 10.7 and 11.0 instances, and ’Global’ ATP for the 11i instance.
àThis profile is updateable only at the site level.

INV:Inter-Organization Currency Conversion
Indicates the currency conversion for inter-organization transfers between organizations using different currencies. Available values are:
Corporate An exchange rate you define to standardize rates for your company. The corporate exchange rate
is generally a standard market rate determined by senior financial management for use throughout the organization.
Spot An exchange rate you enter to perform conversion based on the rate on a specific date. It applies to the immediate delivery of a currency.
User An exchange rate you specify when you enter a foreign currency journal entry that does not have a daily exchange rate.
Inventory predefines a value of Corporate for this profile for all levels upon installation.
àThis profile is updateable at all levels.

INV:Intercompany Currency Conversion
Indicates the currency conversion for intercompany invoices using different currencies. Available values are:
Corporate An exchange rate you define to standardize rates for your company. The corporate exchange rate
is generally a standard market rate determined by senior financial management for use throughout the organization.
Spot An exchange rate you enter to perform conversion based on the rate on a specific date. It applies to the immediate delivery of a currency.
User An exchange rate you specify when you enter a foreign currency journal entry that does not have a daily exchange rate.
Inventory predefines a value of Corporate for this profile upon installation.
àThe profile is updateable at the Site, Application, and Responsibility levels.

INV:Item Master Flexeld
Indicates which flexfield is used to define items in MTL_SYSTEM_ITEMS. Inventory predefines a value of System Items for this profile for all levels upon installation.
à This profile is updateable at all levels.

INV:Minmax Reorder ApprovalApproved or Incomplete indicates the status of requisitions created by the Minmax Planning Report.
Inventory predefines a value of Approved for this profile for all levels upon installation. If you choose Incomplete, you can optionally load requisitions as unapproved and use the document approval functionality in Oracle Purchasing. àThis profile is updateable at all levels.

INV:Project Miscellaneous Transaction Expenditure Type
Governs the entry of expenditure types for project miscellaneous transactions. Available values are:
System Derived from Cost Elements You cannot enter expenditure types for project miscellaneous transactions. The Cost Collector uses the expenditure types linked to the cost elements of the current weighted average unit
cost of the item to post to Projects.
User Entered You must enter expenditure types for project miscellaneous transactions.
àThis profile is updateable at all levels.

INV:RC Line Failure Indicates the action taken when a failure is detected while processing a replenishment
count line. Available values are:
Continue processing Other (successful) lines for the replenishment header are processed to requisition lines.
Halt processing Do not process other (successful) lines for the replenishment header. Inventory predefines a value of Continue processing for this profile for all levels upon installation.
àThis profile is updateable at all levels.

INV: RC Requisition Approval
Indicates the status of Subinventory Replenishment requisitions created by the replenishment processor. Available values are:
Approved Requisitions created by the replenishment processor are approved.
Unapproved Requisitions created by the replenishment processor are not approved.
Inventory predefines a value of Approved for this profile for all levels upon installation. If you choose Unapproved, you can optionally load Subinventory Replenishment requisitions as unapproved and use the document approval functionality in Oracle Purchasing. àThis profile is updateable at all levels.

NV: RPC TimeoutIndicates the time in seconds the Item Supply / Demand form waits for a success message to be returned from a remote procedure call before it returns an error message. Use the Trx.Mngr. if processing is set to ’No’. This timeout is also applicable for online transactions. Inventory predefines a value of 300 at the site level for this profile option upon installation. àThis profile options is updateable at all levels.

INV: Restrict Receipt of SerialsIndicates whether two validation checks are performed for serial numbers, used in Oracle Work in Process.
Yes A given serial number for a serialized component may not be received via purchase order receipt, miscellaneous receipt, or account alias receipt, if that same serial number has been issued to Oracle Work in Process. A given serial number for a serialized end-assembly may not be completed into Oracle Inventory via a Discrete Job, Repetitive Schedule, Flow Schedule, or Work Order-less Completion, if that same serial number has a state of ’Issued out of stores’.
No No validations for serialized components and end-assemblies will be performed.
àThis profile option is updateable at all levels.

INV:Save Search Items
Indicates whether items returned by the Search Items window are saved on exit. Inventory predefines a value of N for this profile for all levels upon installation. àThis profile is updateable at all levels.

INV:Transaction Date ValidationControls the date you can enter for transactions. Available values are:
Allow date in any open period Allows entry of a past date if it is in an open period.
Do not allow past date Does not allow entry of a date before the current date.
Do not allow date in past period Allows entry of dates in the current period only.
Provide warning when date in past period Allows entry of dates in prior periods after a warning.
Inventory predefines a value of Allow date in any open period for all levels upon installation.
àThe profile is updateable at the Site, Application, and Responsibility levels.

Use new Trx.Mngr for Processing
There are two transaction managers in inventory. You have the option to user either for transactions processed in the background. Transactions processed online or with immediate concurrent always as Inventory recommends the new manager. If it is set to No, Inventory uses the old transaction manager. The setting of this option does not affect certain transactions such as WIP and receiving transactions. All mobile WIP and VMI Receiving transactions use the new transaction manager. All desktop WIP and non-VMI Receiving transactions use the old transaction manager. à This profile is updateable at all levels.

INV:Updateable Customer ItemThis profile option controls whether the system enables you to change the Customer Item Name after you save it. If you set the value to ’No’ prevents you from altering the Customer Item Name after the initial save.
The default is No. àThis profile is updateable at all levels.

INV:Updateable Item Name
This profile option controls whether the system enables you to change the Item Name after you save it. If you set the value to ’No’ prevents you from altering the Item Name after the initial save. Inventory predefines a value of No for this profile for all levels upon installation. àThis profile is updateable at all levels.

INV:Use catalog name in the item descriptionIndicates whether to use the catalog name or the catalog description as the first element of a concatenated item catalog description. Available values are:
No Catalog description
Yes Catalog name
Inventory predefines a value of No for this profile for all levels upon installation.
à This profile is updateable only at the Site level.

TP:INV Cycle Count Approvals form
Indicates processing control of cycle count approvals in the Cycle Count Approvals window. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The cycle cont transactions are executed on a periodic basis. Displays the concurrent request number representing the concurrent process executing the cycle count transactions.
On-line processing Processes your cycle count transactions while you wait, and control is returned once
transaction processing is completed. Inventory predefines a value of On-line processing for this profile for all levels upon installation. àThis profile is updateable at all levels.

TP:INV Cycle Count Entries formIndicates the processing control of cycle count entries in the Cycle Count Entries window. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The cycle count transactions are executed on a periodic basis. Displays the concurrent request number representing the concurrent process executing the cycle count transactions.
On-line processing Processes your cycle count transactions while you wait, and control is returned once
transaction processing is completed. Inventory predefines a value of On-line processing for this profile for all levels upon installation. à This profile is updateable at all levels.

TP:INV Enter Replenishment Count form
Indicates processing control in the Enter Replenishment Count window. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The replenishment count transactions are executed on a periodic basis.
Concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number representing the concurrent process executing the replenishment count transactions.
Inventory predefines a value of Concurrent processing for this profile for all levels upon installation.
à This profile is updateable at all levels

TP:INV Inter-Organization Transfer formIndicates the processing control of inter-organization transfers in the Inter-Organization Transfer window. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The inter-organization transfer transactions are executed on a periodic basis.
Concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number representing the concurrent process executing the inter-organization transfer transactions.
On-line processing Processes your inter-organization transfer transactions while you wait, and control is returned once transaction processing is completed.
Inventory predefines a value of On-line processing for this profile for all levels upon installation.
à This profile is updateable at all levels.

TP:INV Miscellaneous Issue and Receipt formIndicates the processing control of miscellaneous issues and returns in the Miscellaneous Issue window. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The miscellaneous issue and receipt transactions are executed on a periodic basis.
Concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number representing the concurrent process executing the miscellaneous issue and receipt transactions.
On-line processing Processes your miscellaneous issue and receipt transactions while you wait, and control is returned once transaction processing is completed. Inventory predefines a value of On-line processing for this profile for all levels upon installation.
àThis profile is updateable at all levels.
On-line processing Processes your customer return transactions while you wait, and control is returned once transaction processing is completed.
Inventory predefines a value of On-line processing for this profile for all levels upon installation.
àThis profile is updateable at all levels.

TP:INV Transaction Processing Mode
Indicates the processing control for transacting items. Available values are:
On-line processing Processes transactions while you wait, and control is returned once transaction processing is completed.
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The transactions are executed on a periodic basis. Immediate
concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number of the concurrent process executing the transaction.
Form level processing Processes transactions using the processing control option you choose for that particular type of transaction. You must also set the Inventory profile options for Inter-Organization Transfer, Miscellaneous Issue and Receipt, Receive Customer Return, Return to Customer, and Transfer Between Subinventories. If you are using Oracle Work-in-Process, you must set the WIP profile options Completion Material Processing, Completion Transaction Form, Material Transaction Form, Move Transaction, Operation Backflush Setup, and Shop Floor Processing. The value you choose for this profile overrides values you set for individual transaction profiles unless you choose
Form level processing. Inventory predefines a value of Immediate concurrent processing for this profile for all levels upon installation. à This profile is updateable at all levels.

TP:INV Transfer Between Subinventories formIndicates the processing control of transferring items between subinventories in the Subinventory Transfer window. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The transfer between subinventories transactions are executed on a periodic basis.
Concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number representing the concurrent process executing the transfer between subinventories transactions.
On-line processing Processes your transfer between subinventories transactions while you wait, and control is returned once transaction processing is completed.
Inventory predefines a value of On-line processing for this profile for all levels upon installation.
à This profile is updateable at all levels.

TP:INV Update Average Cost form
Indicates the processing control for updating average costs. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The update average costs transactions are executed on a periodic basis.
Concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number representing the concurrent process executing the update average costs transactions.
On-line processing Processes your update average costs transactions while you wait, and control is returned once transaction processing is completed.
Inventory predefines a value of On-line processing for this profile for all levels upon installation.
à This profile is updateable at all levels.

TP:Server Side Online ProcessingIndicates whether Inventory and Work-in-Process transactions using on-line processing are processed on the server or client side. Inventory predefines a value of Yes for this profile for all levels upon installation.
àThis profile is updateable at all levels.

TP:INV Move Order Transact
Indicates the move order transaction mode. Available values are:
Background processing Upon commit, control returns immediately to you, allowing you to continue working. The move order transactions are executed on a periodic basis.
Concurrent processing Upon commit, Inventory spawns the concurrent process and returns control immediately to you, allowing you to continue working. Displays the concurrent request number representing the concurrent process executing the move order transactions.
On-line processing Processes your move order transactions while you wait, and control is returned once transaction processing is completed.
Inventory predefines a value of On-line processing for this profile for all levels upon installation.
à This profile is updateable at all levels.

INV:VMI EnabledFunctionally for vendor managed inventory, or VMI, has been added with Family pack ’H’ of Oracle Inventory and Oracle Purchasing. Both products must be at ’H’ level or above for the VMI features to function correctly. The profile options is defaulted to No when Purchasing ’H’ is installed. Upon installation of Inventory ’H’ the profile option is automatically set to yes.
à The profile option is updateable at site level. You should update it manually only if the automatic changes fails to occur.

INV:Maximum Number of Quantity Trees
Indicates the maximum number of memory data structures that will be used to capture on-hand quantity information.
Inventory predefines a value of 500 for this profile option upon installation.
à This profile is updateable at the Site level.

INV:Product Family Item TemplateIndicates the template to be applied when you define a product family item.Inventory predefines a value of Product Family for this profile option upon installation. à This profile is updateable at all System Administrator levels.

INV:CCEOI Commit Point
Indicates whether you want to commit the cycle count entries open interface records into the database.
à This profile is updateable at all levels.

INV:CCEOI WorkersIndicates the number of workers to be processed when running the cycle count entries open interface.
à This profile is updateable at the site level.

INV:Override Neg for Backush
Indicates whether backflush transactions can drive the inventory negative even if the inventory organization parameter Allow Negative Balances is unchecked. Inventory predefines a value of Yes for this profile option upon installation. A value of No does not allow backflush transactions to drive on-hand inventory negative even when the inventory organization parameter Allow Negative Balances is unchecked.
i. àThis profile is updateable at all levels.

INV: Quantity Tree Timeout for LockWhen an item is pick released the quantity tree for that item is locked so no other processes can allocate the same item. If the quantity tree is locked by a different pick release batch, pick release waits until the lock is released. This profile determines how long the pick release process waits for the lock to be released. Once the time indicate is exceeded, the pick release batch errors out. This avoids deadlocks during the pick release process. àThis profile is updateable at the site level only.

INV:Purchasing by Revision
This profile determines the purchasing interfaces tables that are populated with revision information from Oracle Inventory. If you set the profile to ’Yes’, the revision information passes to the purchasing interface tables whenever you create a requisition in Inventory. If you set the profile to ’No’, it creates the requisition without revision information. à This profile is updateable at all levels.

INV:Debug TraceThis profile specifies if Inventory and WMS transaction activities are logged to a debug file. You set the value to ’Yes’ to enable logging. You set the value to ’No’ to disable logging. à This profile is updateable at all levels.

INV:Debug File (Including the complete path)
This is the path and filename of the file where Oracle Inventory writes debug messages. You must configure the directory in the database within the v$parameter list for ’utl_file_dir’. If you set the INV:Debug Trace profile to ’Yes’, Oracle Inventory attempts to update this file with debug messages. It is critical that you grant read/write access to the specified file. If Oracle Inventory cannot write to this file, transactions may fail.
à This profile is updateable at all levels.

INV:Detect Truncation on UOM ConversionThis profile is not used in any Inventory procedures. It is used to provide uniform decimal precision across Oracle applications. A transacted item quantity is converted from the transacted unit of measure to the primary unit of measure. If this profile is set to 1, the whole number will have less than 10 digits in the primary unit of measure, and the fractional portion of the number will have less than nine digits. à This profile is updateable at the Site level.

INV:FIFO for Original Receipt Date
This profile is used to control how the system tracks receipt dates for on-hand records. A value of ’Yes’ indicates that the on-hand record from a material transfer should retain the original receipt date. A value of ’No’ indicates the receipt date of on-hand records created from material transfers should be reset to the transfer date. This profile option is relevant if any inventory allocation rules use Receipt Date. Inventory redefines a value of ’No’ for this profile option upon installation. à This profile is updateable at all levels.

INV: MGD Maximum Number of Workers PermittedThis option is used for item attribute copy. This feature allows you to select a subset of an item’s attributes to be mass copied to a number of items. The form submits a concurrent request. The profile determines the maximum number of calls to item import that is processed to fulfill the copy request.

INV:Debug Level
Determines the amount of detail printed to the Oracle Inventory debugging log file. Level 10 is the highest level of logging supported. à This profile is updateable at all levels.

INV:Item Form Folder Category SetIf the profile has an assigned value, the Master Items form Folder tab displays an editable Category field. When you save an item, it is assigned to a category set defined in the profile options. The default value is Null à This profile is updateable at all levels.

INV: Move Order Fill & Kill
This profile option enables you to close a partially allocated and transacted replenishment move order line. Available values are:
No Does not allow cancelling of replenishment move order lines.
Yes Allows cancelling of move order lines.
The default value is No. à This profile option is updateable at the Site level.

Multiple Serials Per Delivery Detail
This profile determines the current patch level of Order Management on the instance. You cannot edit this profile option. It updates automatically when you apply a patch. Inventory uses this profile option to determine if serial numbers can be passed to Shipping in ranges or if they must be passed individually.

INV: Component Pick Batch SizeDetermines the number of move orders lines allocated in one commit cycle for WIP component pick move orders.

INV: Pick Slip Batch Size
Determines the number of move order lines allocated during one commit cycle for replenishment move orders, and move order requisitions.

INV: Item Default TabThis profile option enables you to choose the default folder that appears when you launch the master items window. If you do not set this attribute at the user level, the system derives the value from the responsibility and so forth. Available values are:
Attributes Displays the items attribute tab by default.
Folder Displays the folder tab by default. à This profile is updateable at all levels.

INV: Item Master Default TemplateThis profile option enables you to set a default template for all items you create. There will be a radio group called Copy From, with Template and Item as the radio choices. An editable field will display the current setting. To change the current setting, you simply change this field using the appropriate LOVs. No button is necessary here. By default, template will be selected. The default template can be set to null or a valid value. This default template will be applied to all the new items that are defined during this session. The default template will be defaulted from the value of the profile option

INV: Replenishment Move Order Grouping
This profile option enables you to create only one move order header per request, with each item having its own item. MinMax has been enhanced to permit the optional execution for all subinventories or for a group of subinventories. Available values are:
Organization The organization for which to run the report.
Destination Subinventory The subinventory for which to run the report.

INV: Cross Reference TypeThis profile option communicates to the receiving pages of the Mobile device to use assignments for this particular cross-reference type to validate the items while performing a receipt. à This profile is updateable only at site level.

INV: Max # of Txn Purge ProcessesThis is the maximum number of processes that will be purged. One worker will be started for each accounting period in the date range specified for the purge. However, if there are more accounting periods, than worked allowed by this profile option, then the number of workers will be determined by the ceiling of accounting periods to purge divided by this value. When more workers run in parallel, the purge process can be completed faster, but that also means more system resources are dedicated to purging transactions and thus are not available for other system activities. You would typically set this value to no more than 20, but may set it smaller based on your system resources.

INV: GTIN Cross Reference Type
This Profile option enables you to perform lookups of your GTIN item cross reference. This profile is updateable only at site level.

INV: Fill Kanban on Partial Move Order ReceiptThis profile option determines whether or not a kanban card can be considered filled if the move order created to fill it was only partially transacted. If the card requested 10 and the move order only picked 7, if you set this profile option to yes, it considers the card full. àThis profile is updateable only at site level.

INV: Consigned Inventory Aging EnabledThis profile option is used to find out if the consigned inventory aging feature is present. This profile is updateable only at site level.

INV: Supplier Consigned Enabled
This profile option is used to find if the consigned inventory feature is present.
àThis profile is updateable only at site level.

INV: View Item Category PeopleThis profile option enables you to show only current organization employees in the People LOV of the Category Grants window. à This profile is updateable at all levels. The available values are:
All All Employees listed in the system.
My Employees Current organization employees.

INV: Item Form Uses Master Set of Folders in the Org Items FormThis profile option determines if the Organization Items window uses the same set of folders as the Master I tems window. -à This profile is updateable at the user level only. The available value are
Yes Uses the same set of folders as the Master Items window.
No Stores a separate set of folders for the Organization Items window.

INV: Batch Size
Indicates the number of order/delivery lines that will be placed in a single transaction_batch_id for Interfacing of records when Inventory Transaction Manager makes calls to Shipping API. The transaction_batch_id is used when Inventory Interface is deferred by the Shipping profile “WSH: Defer Inventory Process Online”. This profile can hold any positive whole number.
Order Management Prole Definitions

OM: Administer Public QueriesThis profile option defines which responsibility could create and update public queries.

OM: Allow Negative PricingThis profile option defines if you can have a negative list price or selling price.

OM: Apply Automatic AttachmentsThis profile option defines if rule-based attachments are applied with no user intervention.

OM: Auto Push Group Date
This profile option controls scheduling when a new line is inserted into an existing set. If the new line cannot be
scheduled on the same date as the rest of the set, this profile is used. If the profile is set to Yes, the entire set will be
automatically rescheduled. If the profile is set to No, an error will occur. You can change the dates or quantities to
make scheduling succeed.
This profile option can be overridden for a parameter specific to customers or customer sites by setting a value in the
Customer window. The default is Null that is equivalent to No.

OM: Auto scheduleThis profile option defines the default setting of the use of autoscheduling. When set to “Yes” Order lines are
scheduled automatically at the time of entry. If set to “No”, Order lines are not scheduled automatically at the time of
entry.

OM: Charging Privilege
This profile option controls your ability to manually apply freight and special charges on an order or order line.
Choices from:
Full Access – You can modify and apply charges, but you cannot modify non-overridable charges.
View Only Access – You can only view charges.
Unlimited Access -You can modify and apply all charges including the non-overridable charges.

OM: Context Responsibility for Upgraded OrdersThis profile option is used to set applications context for deferred activities on upgraded orders and order lines.

OM: Credit Card PrivilegesThis profile option limits the amount of credit card information displayed in the Sales Orders window and limits who
can perform manual or on-line authorizations.
The authorization code and credit card number fields displays only the last four digits if the profile option is set to
None or Limited. On-line and manual authorizations are allowed if this profile option is set to All or Limited.
Choose from All, Limited, or None.

OM: Credit Memo Transaction TypeThis profile option value is transferred to Receivables if no value is defined for the credit memo transaction type.

OM: Cust Item Shows MatchesThis profile option defines whether Order Management defaults the Item with the highest ranking item or shows the
list of all the matched Internal item numbers when a customer item number is used and that customer item is cross referenced to more than one internal item.

OM: Customer Relationships
This profile option defines whether Order Management honors customer relationships when entering bill-to and shipto
locations for a customer on an order. (This profile option is currently used only in Order Management, and is not
valid for any other Oracle Applications.) Order Management honors customer relationships for agreements and
commitments regardless of this profile option’s setting.

OM: Debug LevelThis profile option defines the level of debug messages printed in a log file. Level 3 prints all debug messages,
whereas Level 4 only prints a limited amount of debug messages.

OM: Discounting PrivilegeThis profile option provides the choice of controlling users’ ability to apply discounts on an order or order line.
Full – Ability to apply any valid discount against an order or order line, as long as the order type of the order does
not enforce list prices. (Default value).
Non-Over ridable Only – Ability to apply only non-overridable discounts against an order or order line.
Unlimited – Ability to apply any valid discount against any order or order line, regardless of whether the order type
of the order enforces list prices.

OM: Estimated Authorization Validity PeriodThis profile option defines the estimated number of days a credit card authorization is assumed to be valid. The
default value is 21 days.

OM: GSA Discount Violation Action
This profile option defines how you want the user notified when you define a discount that results in an item price
less than the price on a GSA discount for the same price list.

OM: Included Item Freeze MethodThis profile option defines the point in the order’s status at which the included items from a configuration’s bill of
material are added as lines on the order.

OM: Inventory Stock Location
This profile option defines the structure of the Oracle Inventory Stock Locator Flexfield used by Order Management
in the Release Sales Orders For Picking and Shipping Transactions windows. This structure should be the same as
the structure defined in Oracle Inventory. This profile option must be set for the Shipping Transactions window, and
the Update Shipping Information program, to function properly.

OM: Invoice Numbering MethodThis profile option defines whether or not the Invoicing activity generates invoice numbers based on the delivery
name.

OM: Invoice Source
This profile option value is transferred to Receivables if the value is null for your transaction type.

OM: Invoice Transaction TypeThis profile option value is transferred to Receivables if no value is defined for the transaction type.

OM: Item Flexfield
This profile option defines the structure of the Item Flexfield (System Items) used by Order Management. This
structure should be the same across all applications in the same database.

OM: Non-Delivery Invoice SourceThis profile option value is transferred to Receivables if the OM: Invoice Numbering Method profile option is set to
Delivery and the line is non-shippable.

OM: Orders Purge Per Commit
This profile option defines how many orders the purge process should purge before performing a commit.

OM: Over Return ToleranceThis profile option indicates the percentage by which a return line can be over-received. Any value greater than or
equal to zero (0) is a valid value. This profile option is set at the site level. Default value is zero (0).

OM: Over Shipment Invoice BasisThis profile option defines whether to invoice the ordered quantity or the shipped quantity for an over shipment. This
profile option can be overridden for the parameter specific to customers or customer sites by setting a value in the
Customer window. Default value is Shipped.

OM: Over Shipment Tolerance
This profile option indicates the percentage by which an order line can be over-shipped. Any value greater than or
equal to zero (0) is a valid value. This profile option is set at the site level. Default value is zero (0).

OM: Payment Method for Credit Card TransactionsThis profile option is used by the credit card authorization process as default for the primary payment method if a
specific customer does not have one.

OM: Reservation Time Fence
This profile option controls automatic reservations during scheduling. The profile option represents the number of
days into the future that scheduling will reserve. The default value is Null which means that scheduling will not
automatically reserve. This profile option is used during auto scheduling and also by the scheduling workflow activity
and concurrent program to perform reservations.

OM: Return Unfulfilled Referenced Line ActionThis profile option is used for returns to control return of unfulfilled lines. Default value is Allow. Choices from:
Reject – Do not create return line if the reference line is non-fulfilled.
Warning – Create return line with Warning if the referenced line is non-fulfilled.
Allow – Create return line without Warning if the referenced line is non-fulfilled.

OM: Return Item Mismatch Action
This profile option controls what should occur if you try to change the item ID of a referenced return line. Choose
from:
Reject – Line processing is halted with an error message.
Warning – Line processing is continued with a warning.
Allow – Line processing continues with no warning or error.
Default value is Allow.

OM: Risk Factor Threshold for Electronic PaymentsThis profile option sets a threshold for determining whether a credit card authorization qualifies as a high risk.
Scores can range from 1 to 100, referring to a risk free authorization and 100 referring to a high risk authorization. If
the score for a transaction exceeds this threshold, Order Management will put the order on a High Risk Hold. The
default value is a score of 50.

OM: Schedule Line on Hold
This profile option controls whether scheduling will attempt to schedule lines that are on hold. The default value is
Null, which is the equivalent to Yes.

OM: Show Discount Details on Invoice
This profile option defines whether the discount details are passed to Oracle Receivables for printing on an invoice.
Default value is No.

OM: Show Line DetailsThis profile option defines whether the line details of a model are displayed in the Sales Orders window. You can
also toggle the display of line details using the Tools menu from the Sales Orders window.

OM: Source Code
This profile option identifies the source code that Order Management passes to Oracle Inventory during scheduling.
The source code should be defined as the third segment of the Sales Order Flexfield to guarantee that each
transaction is unique.

OM: Under Return ToleranceThis profile option indicates the percentage by which a return line can be under-received for it to be considered
fulfilled. Any value between zero (0) and 100 (both inclusive) is a valid value. à This profile option is set at the site
level. Default value is zero (0).

OM: Under Shipment Tolerance
This profile option indicates the percentage by which an order line can be under-shipped for it to be considered
fulfilled. Any value between zero (0) and 100 (both inclusive) is a valid value. à This profile option can be set only at the site level. Default value is zero (0).

OM: Unit Price Precision TypeThis profile option controls the display of Unit Selling Price field for sales order lines only.
Select from:
• Standard: You will see at least two decimal places, up to a total of 20 decimal places.
• Extended: You see at least five decimal places, up to a total of 20 decimal places.
The QP: Unit Price Precision profile controls how many decimal points you can use on a Price List for a rounding factor.

OE: Validate Option Line Item
This profile option controls whether customer enabled items are visible in the Options window. The default is Yes and it can be set at the Site or Application level. This will be a non-seeded profile option.

OM: Validate Standard Line ItemThis profile option controls whether customer enabled items are visible on the Sales Order line. The default is Yes and it can be set at the Site or Application level. This will be a non-seeded profile option.

OM: View Cancel Lines
This profile option controls the default value of the Cancel check box when sorting sales order lines within the Sales Order Lines Tab, Sort window. The default value is Yes. Select from:
• Yes: The Cancel check box will be automatically selected when sorting sales order lines within the Sales Order Lines Tab, Sort window. Cancelled order lines will not be displayed once the sort completes.
• No: The Cancel check box will not be selected when sorting sales order lines within the Sales Order window, Lines Tab sort window. Cancelled order lines will be displayed once the sort completes if you do not manually select the check box.

OM: View Closed LinesThis profile option controls the default value of the Closed check box when sorting sales order lines within the Sales Order Lines Tab, Sort window. The default value is Yes. Select from:
• Yes: The Closed check box will be automatically selected when sorting sales order lines within the Sales Order Lines Tab, Sort window. Closed order lines will not be displayed once the sort completes.
• No: The Closed check box will not be selected when sorting sales order lines within the Sales Order window, Lines Tab sort window. Closed order lines will be displayed once the sort completes if you do not manually select the check box.

OM: View Pricing/Availability Information in Related ItemsThis profile option controls the amount of information shown in the Related Items and Manual Substitutions window. The available options are: Pricing only, Availability only. Pricing and Availability, and None.

OKC: Enable Sales Contracts
In order to leverage the functionality of Sales Contracts with Order Management, Sales Contracts must be installed and this profile must be set to YES. This profile can be set at the Application or Site levels.

QP: High Volume Order Processing ComplianceThe value is set programatically, and cannot be updated by users. If No, the pricing setup uses modifiers that will prevent using the 11i10 optimized pricing code path. If Yes, the pricing setup is suitable for 11i10 HVOP optimized pricing code. However, you should ensure that custom sourcing rules do not directly access G_HDR or G_LINE. If they do, modify the custom sourcing rules so that directly accessed fields are passed as parameters.

Tax: Inventory Item for Freight
This profile option is used only when the freight item is passed as revenue line. If you set the value of this profile option to Inventory Item then the Invoicing module passes this item for freight charges, which will be treated as revenue lines. This profile option can only be set at the Application or Site level.

Tax: Invoice Freight as RevenueIf the Receivables profile option TAX: Allow Tax Code Override is set to YES, and profile option TAX: Invoice Freight as Revenue is set to YES, then freight charges are treated as revenue lines, and the Invoicing module will pass VAT tax and associated sales credits for processing.

MRP Prole Definitions

MRP:ATP Assignment Set
Indicates the name of the assignment set to use for Supply Chain ATP.

MRP:Calculate Excess Exceptions on Time FenceIndicates whether to calculate excess exceptions at the time fence, instead of up to the time fence.
This profile has a predefined value of No upon installation.

MRP:Calculate Suggested Repetitive Schedules
Indicates whether to calculate and use suggested repetitive schedules to perform forecast consumption. Available values are listed below: Calculate and use suggested repetitive schedule information. Do not calculate and use suggested repetitive schedule information.
Yes No

MRP:Compute Sales Order ChangesIndicates whether to calculate and use sales order demand to perform forecast consumption and track sales order information. Available values are listed below : Calculate and use sales order information. Do not calculate and use sales order information. Oracle Master Scheduling/MRP predefines a value of Yes for this profile for the site upon installation. You may set this value to No if you wish to disable forecast consumption and sales order tracking in Oracle Master Scheduling/MRP permanently. This profile has a predefined value of Yes for this profile for the site upon installation.

MRP:Consume Forecast Set Summary
Indicates whether to enable or temporarily disable forecast set consumption. Forecast set consumption is the process that replaces forecasted set demand with actual demand and is handled by the Planning Manager process. Available values are listed below: Enable forecast set consumption. Update the forecast set when you place sales order demand. Disable forecast set consumption. Do not update the forecast set when you place sales order demand.

MRP:Consume ForecastIndicates whether to enable or temporarily disable forecast consumption. Forecast consumption is the process that replaces forecasted demand with actual demand and is handled by the Planning Manager process. Available values are listed below:
Enable forecast consumption.
Update the forecast set when you place sales order demand.
Disable forecast consumption.
Do not update the forecast set when you place sales order demand.
The planning manager verifies the setting of this option before performing forecast consumption. If it is set to No, the planning manager does not update forecast entries. The planning manager processes any sales order demand occurring while this profile is set to No when you set the profile option back to Yes. This profile has a predefined value of Yes upon installation.

MRP:Consume MDS
Indicates whether to enable or temporarily disable shipment relief of a master demand schedule. Available values are listed below:
Enable shipment relief.
Disable shipment relief.
The planning manager verifies the setting of this option before performing shipment relief. If it is set to No, the planning manager does not update MDS entries. The planning manager processes any sales order shipments occurring while this profile is set to No when you set the profile option back to Yes. This profile has a predefined value of Yes upon installation.

MRP:Consume MPSIndicates whether to enable or temporarily disable production relief of a master production schedule. Available values are listed below:
Enable production relief.
Disable production relief.
The planning manager verifies the setting of this option before performing production relief. If it is set to No, the planning manager does not update MPS entries. The planning manager processes any purchase requisitions and discrete jobs occurring while this profile is set to No when you set the profile option back to Yes. This profile has a predefined value of Yes upon installation.

MRP:Cutoff Date Offset Months
Specifies the number of months from today to default the cutoff date for all forecasting, scheduling and planning forms. Oracle Master Scheduling/MRP loads the forecast, master scheduling, and material requirement entries from the current date up to and including this date.

MRP:Debug Mode
Indicates whether to enable debug messages within Oracle Master Scheduling/MRP. Available values are listed below:
Enable debug messages.
Do not enable debug messages.
This profile has a predefined value of No upon installation.

MRP:Default DRP Plan Name
Specifies the DRP plan name that defaults when navigating to the Plan Options window, Plan Status window, or the Planner Workbench.

MRP:Default Forecast Date
Indicates whether to default the forecast date to the next valid day/week/period in the Enter Forecast Entries window. Available values are listed below:
Default the forecast date to the next valid day/week/period in the Enter Forecast Entries form. Do not default the forecast date to the next valid day/week/period in the Enter Forecast Entries form. This profile has a predefined value of Yes upon installation.

MRP:Default Forecast Name
Specifies the forecast name that defaults when navigating to any of the forecasting forms.

MRP:Default Plan Name
Specifies the MRP or MPS plan name that defaults when navigating to any of the planning forms.

MRP:Default Schedule NameSpecifies the schedule name that defaults when navigating to any of the scheduling forms.

MRP:Default Sourcing Assignment SetDetermines the sourcing assignment set that Oracle Purchasing uses to assign sources to requisitions.

MRP:Demand Time Fence Days
Indicates the number of time fence days for forecast set consumption and MDS (sales order) load.

MRP: Environment Variable to Set Path for MRP FilesSpecifies the appropriate path for the MRP files. If this profile is not used, the files are written to $MRP_TOP/$APPLOUT. This profile contains no pathname following the installation.

MRP:Firm Planned Order Time Fence
Indicates whether to form natural time fences for your MRP firm planned orders when launching the planning process. A MRP firm planned order is an order that is frozen in quantity and time (unavailable for rescheduling). Available values are listed below:
Form natural time fences for your MRP firm
planned orders when launching the planning process.
Do not form natural time fences for your MRP firm
planned orders when launching the planning process. This profile has a predefined value of Yes upon installation.

MRP:Firm Requisitions within Time Fence
Indicates whether to form natural time fences for your firm requisitions
when launching the planning process. Available values are listed below: Form natural time fences for your MRP firm
requisitions when launching the planning process. Do not form natural time fences for your MRP firm requisitions when launching the planning process.

MRP:Include Scheduled Receipts in Use–up Calculation
Enables the Memory–based Planning Engine to include scheduled receipts in calculating use–up date. The scheduled receipts included will be Discrete Jobs, Approved Purchase Orders, Receipts, and Shipments. Purchase Requisitions and Non–Standard Jobs will be excluded. This profile has a predefined value of No upon installation.

MRP:Interface Table History DaysIndicates the number of days that Oracle Master Scheduling/MRP saves rows in the forecast, schedule, and workbench temporary interface tables after they have been processed. This profile has a predefined value of 5 upon installation.

MRP:Maintain Original Schedule Version
Indicates whether to maintain the original master schedule version. The original schedule version is the earliest copy of schedule dates and quantities, and often may not serve a useful purpose. This gives you the ability to disable the original schedule version if you do not intend to use it as part of your business procedures and do not want to contend with the additional overhead required by Oracle Master Scheduling/MRP to maintain it. If you change this profile option, you must start the concurrent manager and the planning manager so that the new setting of the profile option is detected. Available values are listed below:
Maintain the original master schedule version.
Do not maintain the original master schedule version.
Oracle Master Scheduling/MRP predefines a value of No for this profile for the site upon installation. This profile has a predefined value of No upon installation.

MRP:MPS Relief Batch SizeIndicates the batch size for production relief when relieving master production schedule entries.

MRP:MPS Relief Direction
Indicates the direction in which the production relief takes place when relieving master production schedule entries. Available values are listed below:
Oracle Master Scheduling relieves master production schedule entries backwards from the discrete job due date then forwards until it finds enough schedule quantity to relieve. Oracle Master Scheduling relieves master production schedule entries only forward from the discrete job due date until it finds enough schedule quantity to relieve.
Attention: When you change any of these profile options you must restart the planning manager to activate the new profile option.
Yes No Backward, then forward Forward only
This profile has a predefined value of Backward, then forward upon installation.
Note: The name of this profile option in Release 10 is
MRP:Relief Directional Control.

MRP:Perform Planning Manager Functions in LoadsEnsures that the forecast and master schedule load programs perform all planning manager functions: compute sales order changes, forecast consumption, and MDS relief. This profile has a predefined value of Yes upon installation.

MRP:Plan Revenue Discount Percent
Specifies the average discount percent that is applied to all items in a plan. This value is a key performance indicator used to calculate performance in a plan for Business Intelligence reports. This profile can be a value between 0 and 100, decimal values are permitted.

MRP:Plan Revenue Price ListSpecifies the sales order price list that is applied to items in a plan. This value is used to calculate the plan margin key performance indicators for Business Intelligence reports.

MRP:Planning Manager Batch Size
Indicates the batch size for the number of rows in a set that the planning manager processes. You use this profile option during a forecast and master schedule load to determine the number of rows to process in batch. Oracle Master Scheduling/MRP also uses this profile option during forecast consumption and master schedule relief to determine the number of items to process. A larger batch size is more efficient, because a process needs to make fewer database hits. For example, if there are 1000 rows or items to process, and you have set the profile to 100, the process needs to access the database 10 times to retrieve information on all 1000 rows or items. Setting the profile to 200 means that the process needs to access the database only 5 times. A smaller batch size means that the work may be divided across more workers. Using the example above, a value of 100 means that the Planning Manager could divide the work across 10 processes, while a value of 200 means that only 5 processes could operate simultaneously.

MRP:Planning Manager Max WorkersIndicates the maximum number of workers to be launched by the planning manager. If there are many rows processing, the planning manager continues to spawn more workers, until all rows have been processed, or the number of Planning Manager Workers running or pending matches or exceeds the value of MRP:Planning Manager Workers.
A larger value for this profile means that the Planning Manager can use more workers to process tasks. However, a larger value could also mean that the concurrent manager queue becomes filled with workers, and other processes do not run. In general, do not define a value that exceeds the maximum number of concurrent programs that can run simultaneously. This profile has a predefined value of 10 upon installation.

MRP:Purchasing by Revision
Indicates whether to pass on item revision to the purchase requisition.

MRP:Purge Batch SizeIndicates the batch size for the number of rows that the planning purge process deletes between commits. The larger the number, the faster the purge processes performs. The lower the number, the smaller the rollback segments required. This profile has a predefined value of 25000 upon installation.

MRP:Requisition Load Group Option
Indicates the group by option used when loading requisitions using the Planner Workbench form. Available values are listed below: Create one purchase requisition for all recommended orders. Create one purchase requisition for buyer. Within each requisition, create one line for each planned order for the buyer. Create one purchase requisition for each category of items. Within each requisition, create one line for each planned order for the category. Create one purchase requisition for each inventory item. Within each requisition, create one line for each planned order for the item.
All on one Buyer Category Inventory item
Create one purchase requisition for recommended order. Create one purchase requisition for each planner.
Within each requisition, create one line for each planned order for the planner. Create one purchase requisition for each supplier. Within each requisition, create one line for each planned order for the supplier. This profile has a predefined value of supplier upon installation.

MRP:Retain Dates within Calendar BoundaryEnsures that dates stay within the calendar boundary. This profile has a predefined value of Yes upon installation.

MRP:Snapshot Pause for Lock (Minutes)
Indicates the number of minutes to pause execution of the Snapshot process while waiting to acquire locks on tables.
This profile has a predefined value of 5 upon installation.

MRP:Snapshot WorkersIndicates the number of workers that are launched during the execution of the Snapshot process. A larger value means that more tasks are performed in parallel. Too many workers, however, can result in system degradation and diminishing performance benefits. In general, do not define a value for this profile that exceeds the maximum number of concurrent programs that can run simultaneously. This profile has a predefined value of 5 upon installation.

MRP:Sourcing Rule Category Set
Indicates the category set used when Oracle Supply Chain Planning or Oracle Purchasing creates sourcing assignments at category–org or category level.

MRP:Time Fence WarningIndicates whether to receive a warning if you modify a master production schedule within the planning time fence or master demand schedule within the demand time fence. Available values are listed below:
One each Planner Supplier
Receive a warning modify a master production schedule within the planning time fence or master demand schedule within the demand time fence. Do not receive a warning if you modify a master schedule within the planning or demand time fence. This profile has a predefined value of Yes upon installation.

MRP:Trace Mode
Indicates whether to enable the trace option within Oracle Master Scheduling/MRP and Supply Chain Planning. Available values are listed below:
Enable the trace option within Oracle Master
Scheduling/MRP and Supply Chain Planning.
Do not enable the trace option within Oracle
Master Scheduling/MRP and Supply Chain Planning.
This profile has a predefined value of No upon installation.

MRP:Use Direct Load OptionEnables the Loader Worker to use the direct load option instead of conventional loads. This profile has a predefined value of No upon installation. You can update this profile at all levels.

MRP:Use Ship Arrived Flag
Indicates how to treat sales orders shipped to customers. You can automatically treat sales orders as “arrived” at a customer site after the intransit lead time has expired, or you can manually update the ARRIVED_FLAG in SO_PICKING_HEADERS. This profile is used by the Memory–based Planning Engine when a customer is modelled as an organization. This profile has a predefined value of No upon installation. Available values are listed below:
Use arrived flag in SO_PICKING_HEADERS.
Use intransit time between source and the destination organizations.

Purchasing Profile Options Descriptions

MRP: Default Sourcing Assignment SetThis profile option indicates which sourcing rules assignment set will be used in Purchasing and Supplier Scheduling. Planning allows you to use multiple Assignment Sets, but Purchasing looks at only a single Assignment Set—the one that is specified in this profile option. the Assignment Set name you should specify when you assign sourcing rules in the Sourcing Rule/Bill of Distribution Assignments window.
This profile option must be set if you are using sourcing rules in Purchasing.

MRP: Sourcing Rule Category Set
If you are using sourcing rules in Purchasing, this profile needs to be set to the name of the default category set used by Purchasing as indicated in the Default Category Sets window. Otherwise, you will not be able to display Category and Category–Organization assignments in the Sourcing Rule / Bill of Distribution Assignments window.

PO: Allow Auto–generate Sourcing RulesCreate Only indicates whether the buyer can create new sourcing rules, sourcing assignments, and approved supplier list entries while approving a blanket purchase agreement. Create and Update enables the buyer to update sourcing rules and assignments as well as create new sourcing rules. The default is None.

PO: Allow Autocreation of Oracle Sourcing DocumentsYes or No indicates whether the buyer can create Oracle Sourcing documents from the AutoCreate window. The default is No.

PO: Allow Buyer Override in AutoCreate Find
Yes or No indicates whether the suggested buyer (from the Enter Person window) defaulted into the Find Requisition Lines window can be cleared or overridden. The default is Yes.

PO: Allow Category Override in AutoCreate FindYes or No indicates whether the category (from the Buyers window) defaulted into the Find Requisition Lines window can be cleared or overridden.

PO: Allow Rate Override for User Rate Type
Yes or No indicates whether the Rate in the Currency tabbed region of the Receipts window can be changed. Even if the Rate Type is User, you cannot change the Rate if this profile option is set to No. This profile option affects the Rate on the receipt only, not in the Currency window of a purchase order, RFQ, or quotation. (In the Currency window, you can modify the Rate if the Rate Type is User.)

PO: Allow Requisition Approval Forward ActionYes indicates that the Forward and the Approve and Forward actions are active in a requisition approval notification.

PO: Allow Retroactive Pricing of POs
Used to determine if blanket releases and standard purchase orders can be mass updated with retroactive price change(s) entered on their corresponding blanket agreement.
_ Never: If this profile is not set or is set to Never, the Apply Retroactive Price Update to Existing PO/Releases checkbox will be disabled in the Blanket Agreement Approval window and the Mass Update Price on Open Releases concurrent program will not update any blanket releases or global agreement sourced standard purchase orders.
_ Open Releases Only: The Mass Update Price on Open Releases concurrent program will only process releases which have no receipts (if accruing at time of receipt) or invoices matched to them.
_ All Releases: Perform retroactive pricing on all releases (including those which have accrued receipts or invoices), if the archive mode for that operating unit is set to Approve.

PO: Amount Billed Threshold PercentageOracle Services Procurement: Indicates the amount above which the amount billed exceeded threshold notification will be sent to the requester.

PO: Archive Catalog on Approval
Yes or No indicates whether Purchasing archives blanket purchase agreements in a price/sales catalog submission upon approval. You need to consider this profile option only if you receive price/sales catalog submissions from your suppliers through the Purchasing Documents Open Interface. This profile option comes into effect only if Archive on Approval is chosen in the Document Types window in Purchasing and you import the documents with a status of Approved; if you then choose No for this profile option, Purchasing does not archive the price/sales catalog agreements.
Note: If a document update is pending review in the Exceeded Price Tolerances window, the revision of that document is not
updated until you accept all line updates.

PO: AutoCreate GL Date OptionIndicates the date used on purchase orders generated by AutoCreate: The autocreate date is used as the purchase order
date.The GL date on the requisition distribution is used as the purchase order date.

PO: Automatic Document Sourcing
Yes means that Oracle Purchasing automatically defaults source document and pricing information for an item from the most recently created purchase agreement or quotation. No means that this source document information comes from the Approved Supplier List window, where you must specify which source documents to use. Note that if an item on a requisition is associated with both a blanket purchase agreement and a quotation, Oracle Purchasing may use the blanket purchase agreement even if the quotation was created more recently (depending on your sourcing settings).

PO: Automatically Deliver Drop Ship ASNsYes indicates that you want Oracle Purchasing to automatically perform a receipt and deliver action for drop ship ASNs.

PO: Change Supplier Site
Yes or No indicates whether users can change the supplier site on approved purchase orders.

PO: Check Open PeriodsYes indicates that the need by date and the promise by date must be in an open Purchasing period when entering purchase orders. Any other setting provides no validation against Purchasing periods.

PO: Contractor Assignment Completion Warning DelayOracle Services Procurement: Yes indicates that the contractor assignment completion notification is sent to the requester when the assignment is complete.

PO: Contracts Enabled
Oracle Procurement Contracts: Yes indicates that Oracle Procurement Contracts is installed, implemented, and active in Oracle Purchasing.

PO: Convert Requisition UOM to Source Doc UOM During Release CreationA Null setting (default value) indicates that the functionality continues as in the past (AutoCreate of releases from a requisition will fail with different UOMs, but the Create Releases concurrent program will convert UOMs and create a release). If set to Yes, users can create requisitions in a different UOM from the UOM on the blanket agreement line and the conversion will be done by Purchasing when the release is created. No means the UOM on the requisition must match the UOM on the blanket purchase agreement for a release to be created by any process.

PO: Custom Measure Precedence
This profile is used by Oracle Purchasing Intelligence. It determines the survey matching precedence.

PO: Default Need–By TimeIndicates the time used to default for the entry of need–by date when a requisition, purchase order, or release is created.

PO: Default PO Promise Date from Need By dateYes indicates that the promise date is defaulted from the requisition need–by date when a purchase order or release is automatically created.

PO: Default Supplier Item Catalog Option
Indicates the default source tabbed region in the supplier item catalog: Negotiated Sources, Prior Purchases, Sourcing Rules, or Requisition Templates.

PO: Display AutoCreated QuotationControls the viewing of an autocreated quotation.

PO: Display the Autocreated Document
Obsolete.

PO: Display VMI WarningYes or No indicates whether a warning will be displayed when Vendor Managed Inventory (VMI) item is being placed on a Purchasing document. Default is Yes, the warning will be displayed.

PO: Enable Direct Delivery to Shop FloorIf Enterprise Asset Management has been implemented and this profile is set to Yes, Outside Services items can be delivered directly to the shop floor.

PO: Enable Services Procurement
Oracle Services Procurement: Yes indicates that Services Procurement is installed, implemented, and active in Oracle Purchasing.

PO: Enable Sql Trace for Receiving ProcessorYes means that when you run the Receiving Transaction Processor to import data from another system using the Receiving Open Interface, the View Log screen displays the receiving transaction pre–processor’s actions, including errors, as it processed the receipt data from start to finish. (The profile option RCV: Processing Mode must also be set to Immediate or Batch for the Yes option to work.) Yes also generates a database trace file; if you need help with an error that occurs while the
Receiving Transaction Processor runs, Oracle Support Services may ask you for this trace file. This profile option should be set to Yes only while debugging the Receiving Open Interface or for generating a trace file. The Receiving Open Interface validates receipt transactions from other systems and uses the Receiving Transaction Processor to import the validated data into Purchasing.

PO: ERS Aging Period
The value in this profile option indicates the number of days between the receipt date and the Payment on Receipt automatic invoice creation date. For example, a value of 2 means that Payment on Receipt creates invoices only for receipts that are 2 or more days old. Any corrections or returns you make against a receipt during that 2–day period are included on the Payment on Receipt invoice.

PO: ERS Invoice Number Prefix’ERS–’ is the prefix that appears before all invoices that you create automatically using Payment on Receipt. This profile option allows you to change this prefix. For example, shortening this prefix allows extra spaces for longer packing slip or receipt numbers.

PO: Fax Output Directory for the PO DocumentThe operating system directory name where the document publisher will store the generated purchase order PDF file for faxing.

PO: Generate Amendment Documents
Oracle Procurement Contracts: Yes indicates that amendment documents are automatically generated and included with the purchase order PDF. The purchase order PDF cover page displays a summary of changes.

PO: In File PathFor e–mailed purchase orders this indicates the absolute path of the directory where the optional terms and conditions file is stored. This directory must also be specified in the UTL_FILE parameter in the INIT.ORA file.

PO: Item Cross Reference WarningIndicates the Item Cross Reference Type that you want to use as a disposition warning message for requisitions.

PO: Legal Requisition Type
Indicates whether users can enter internal requisitions sourced from stock by means of an internal sales order, purchase requisitions sourced from a purchase order, or both types. Available values are Both, Internal, and Purchase.

PO: Notification Lines Display LimitIndicates the number of purchase order, release, or requisition lines to be displayed in approval notifications. Oracle recommends a maximum of 30 lines.

PO: Override Approved Supplier List Status
If you have upgraded from a previous release, you will see this profile option in the application, but the profile option is no longer used.
PO: Override Funds Reservation
Indicates whether the GL Funds Override capability should be utilized. If set to Yes and the Oracle General Ledger (GL) setup allows it, absolute funds checking will succeed even if funds are exceeded, up to the amount limit defined for a given account.
This profile determines the default value for funds reservation in the Approval window and the behavior for funds reservation in Oracle Purchasing workflows.

PO: Price Tolerance (%) for Catalog UpdatesA value in this profile option specifies the maximum percentage increase allowed to an item’s price when your supplier sends updated price/sales catalog information through the Purchasing Documents Open Interface. This profile option affects only blanket purchase agreements and catalog quotations imported through the Purchasing Documents Open Interface. If the tolerance is exceeded, the buyer receives a notification and can accept or reject the price increase in the Exceeded Price Tolerances window. This profile option is used only if price tolerances are not already defined at lower levels, in the purchase agreement Terms and Conditions window or the Supplier–Item Attributes window.

PO: Release During ReqImport
Yes or No indicates whether Purchasing can automatically create releases during the Requisition Import process.

PO: Restrict Requisition line modify to quantity split
Yes or No indicates whether Purchasing restricts requisition line modify in AutoCreate to only splitting the quantity of a line. No means that the standard AutoCreate requisition line modify logic applies.

PO: Secondary E–mail AddressWhen using e–mail purchase orders (PO), enter an e–mail address to send a copy of the e–mail PO to someone in your company. If it is necessary to resend the e–mail, you could log into this secondary e–mail account and resend it from there.

PO: Set Debug Concurrent ON
This profile option is used, usually by technical support staff only, for finding problems with Requisition Import. The default value is No. The user can view and update this profile option. It can also be updated at the user, responsibility, application, and site levels.
Caution: For performance reasons, it is very important that this profile option always be set to No, unless you are instructed
otherwise by Oracle Corporation for debugging purposes.

PO: Set Debug Workflow ONThis profile option is used, usually by technical support staff only, for finding problems with Purchasing workflow processes. The default value is No. The user can view and update this profile option. It can also be updated at the user, responsibility, application, and site levels.
Caution: For performance reasons, it is very important that this profile option always be set to No, unless you are instructed
otherwise by Oracle Corporation for debugging purposes.

PO: Supplier Pricing Method
If you have upgraded from a previous release, you will see this profile option in the application, but the profile option is no longer used.

PO: Terms and Conditions File NameFor e–mailed purchase orders this profile identifies the name of the optional terms and conditions file. This text file needs to be placed in one of the directories specified in the UTL_FILE parameter in the INIT.ORA file and the file path indicated by the profile PO: In File Path.

PO: UOM Class for Temp Labor Services
Oracle Services Procurement: For a rate based temp labor line type, entry of unit of measure (UOM) is restricted to those in this UOM class.

PO: Use Document GL date to UnreserveYes or No indicates whether the GL date of the document is used for encumbrance reversal actions that do not support entry of a GL date (Reject/Return) and as a default for actions that do allow entry of a date (Cancel/Final Close/Unreserve).

PO: Use Need–by Date for Default Autocreate groupingYes indicates that the need–by date on the requisition is included with the defaults to group requisition lines.

PO: Use P–Cards in Purchasing
Set this profile option to Yes if you use procurement card—also known as P–Card or corporate credit card—numbers on requisitions in iProcurement. Set this profile option to Yes to display the procurement card number in the Purchase Orders, Releases, and Purchase Order Headers summary windows. Set this profile option to No if you do not have iProcurement installed or do not want to display the procurement card field to buyers. Purchasing windows can physically display the procurement card field even if iProcurement is not installed and procurement cards aren’t used. Therefore, set this profile option to No if you are not using procurement cards.

PO: Use Requisition Line Numbers on Autocreated Purchase Order LinesYes indicates that the requisition line numbers are used on autocreated purchase order lines. Note that this only applies when creating a new purchase order.

PO: Use Ship–to for Default Autocreate grouping
Yes indicates that the ship–to organization and location on the requisition is included with the defaults to group requisition lines.

PO: VMI EnabledOracle Vendor Managed Inventory: Yes or No indicates whether Vendor Managed Inventory (VMI) is enabled in Oracle Purchasing.

PO: Warn if RFQ Required before AutoCreateYes or No indicates whether you are given a warning message and an opportunity to cancel autocreate if one or more of the requisition lines selected for inclusion requires an RFQ and has not been placed on an RFQ. If you use the PO Create Documents workflow to create purchase orders automatically from approved requisition lines, note that setting this
profile option to Yes can affect the workflow. If it is set to Yes and the requisition line is not on an RFQ (but RFQ Required is checked for the requisition line), the workflow stops automatic document creation because it is unable to issue the warning. (The requisition line will still be available in the AutoCreate Documents window.) Even if an RFQ is required for the requisition line, as long as this profile option is set to No, the workflow will continue creating the document.

PO: Workflow Processing Mode
Affects the performance of the Purchasing approval workflow processes:

Online :-Completes an entire approval workflow process before letting you proceed to the nextactivity, but provides you with an updated Status (for purchase orders) as soon as it finishes.
Background : Enables you to proceed to the next activity while the approval process completes in the background.
Whichever option you choose, you can always view the current status of a requisition or purchase order through the Requisitions Summary or Purchase Orders Summary windows.
The default value is Background.
Note: When this profile option is set to Background, you must start the Workflow Background Engine, which you access
through the System Administrator responsibility. It is recommended that you set this process to run frequently, if you
are using it for Background mode approvals.

PO: Write Server Output to File
Yes or No indicates whether log details are written to a flat file rather than to the standard concurrent manager details log viewable through the View Log button in the Submit Request window when running the Purchasing Documents Open Interface program. Yes means log details are written to a flat file. No means log details are written to the concurrent manager log screen, which can cause overflow problems for large catalogs. Leaving this profile option blank means log details are not written at all, which improves performance. You need to consider a value for this profile option only when debugging a price/sales catalog submission from your supplier through the Purchasing Documents Open Interface.

RCV: Allow routing overrideYes or No indicates whether the destination type assigned during requisition or purchase order entry can be overridden at receipt time.

RCV: Debug Mode
If set to Yes, and RCV: Processing Mode set to Immediate or Batch, debug messages will be printed to the concurrent log file.

RCV: Default Include Closed PO OptionIf it is set to Yes, a search in the Enter Receipts window and the Receiving Transactions window automatically select the Include Closed POs checkbox. Your search results will then include closed orders. The Receiving Open Interface (including ASN) will allow a receipt against orders with the status of Closed for Receiving if this profile is set to Yes. Any setting other than Yes prevents receiving against orders using the Receiving Open Interface with the status of Closed for Receiving.

RCV: Fail All ASN Lines if One Line Fails
If you choose Yes, you can reject an entire Advance Shipment Notice (ASN) if any ASN line fails validation or processing. If you choose No, then you can accept an ASN if at least one ASN line is successful.

RCV: Print Receipt TravelerYes or No indicates whether Purchasing automatically prints the receipt traveler when you perform a receipt or a receiving transaction, and when you match unordered receipts. You can always print receipt travelers from the Submit Requests window.

RCV: Processing Mode
Indicates the processing mode used after you save your work for receiving transactions: The transaction goes to the interface table, where it will be picked up the next time the Receiving Transaction Processor runs. The transaction goes to the interface table, and the Receiving Transaction Processor is called for the group of transactions that you entered since you
last saved your work. The Receiving Transaction Processor is called directly.

These are some of the profile option values from the core modules.

REST Testing

2 Aug
 

 

Testing the “REST”

Software testing is almost the “last line of defence” in the software lifecycle between the software vendor and the customer. Testing is the phase that completely validates your architecture, design, and development. If not done properly, testing can carry bugs that can directly impact an organization’s revenue. So huge stakes hinge on this part of the lifecycle

 

 

Web Services have now become a mainstream technology, and are steadily reaching maturity as a technology. The proliferation of Web Service technologies can be gauged from the amount of commercial and enterprise implementations that are currently taking place.

The certificate of adoption of Web Services can be gauged from the fact that two of the leading open system technologies, i.e., J2EE and the .NET Framework have now included Web Services in their standard offerings.

With all the attention that Web Services have been getting in the past year, there are remarkably few sources of information about testing Web Services, in particular REST-based Web Services. We’ll try to provide some insight into the techniques and strategies for testing REST-based Web Services.

Web Services Styles (SOAP versus REST)
the most popular Web Service implementation styles for most projects would boil down to deciding between SOAP (Simple Object Access Protocol) and REST (Representational State Transfer).Enterprise architect communities have people backing both styles pulling the enterprise projects in one direction or another. The essence of both implementation styles is basically passing XML messages over the wire generally using the HTTP protocol. However, the internal workings of both styles are vastly different from each other.

SOAP-based Web Services
SOAP-based Web Services are based on a set of standard specifications backed by the World Wide Web (W3C) and OASIS consortia. This is the primary reason for the success of this implementation style. It has all the technology vendors agreeing to the basic set of standards that allows technologies to become interoperable. There are also other reasonably mature standards like WS-Security that address the non-functional aspects.

SOAP-based Web Service implementations are based on three important constituents.

The Simple Object Access Protocol
SOAP is a stateless, lightweight, XML-based, one-way message exchange protocol. It basically acts as the medium of communication between the service consumer and the service producer. SOAP specifications define an extensible framework by which application specific information can be exchanged.

SOAP isn’t specifically tied to a particular protocol but it’s been widely used with HTTP. One of the biggest advantages of SOAP is its ability to handle high levels of complexities. It can deal with basic data types, structs, even arrays.

SOAP doesn’t address the semantics of the application-specific messages used for communication between the service consumer and the provider. The SOAP skeleton contains a SOAP envelope with an optional SOAP header element and a compulsory SOAP body element. Any processing error is sent as a SOAP fault in the SOAP message.

The SOAP header element is optional. However it’s used to send authentication and session information. Although this doesn’t lie within the SOAP protocol, it does provide the flexibility that’s exploited by standards like WS-Security. The header element is meant to encapsulate extensions to the message format without having to couple them to the payload or modify the fundamental structure of SOAP.

The SOAP body element is mandatory and contains the application specific information that has to be exchanged between the consumer and the provider. This payload could be a remote procedure call, a XML document that’s interchanged.

Web Services Description Language (WSDL)
The Web Service Description Language is an XML-based interface definition and description format used to describe and publish Web Services in a standard manner. The WSDL definition lets consumers identify the location of the service, the request messages that the service requires, and the corresponding output message format that the consumer will get.

WSDL lets service providers expose only their interfaces describing the location and the message formats and completely hiding the underlying implementation. So as long as the service interaction is on the basis of the defined WSDL as the interface, the service provider can keep changing the implementations without it affecting the consumer.

Universal Description Discovery and Integration (UDDI)
The UDDI specifications let businesses publish their services in private and public registries so businesses and people can find and transact with one another easily and dynamically. UDDI lets a business:

Describe its business and its services

Discover other businesses that offer desired services

Integrate with these other businesses.

UDDI is made up of three different elements. Each of the elements isn’t required for a listing so not all listings in UDDI registries contain all the elements. But the more elements in a listing, the more easily a service can be found and bound to.

The three elements are:

A “white pages” – This contains the basic contact information for each Web Service listing. It generally includes basic information about the company, as well as how to make contact.

A “yellow pages” – This has more details about the company and includes descriptions of the kind of electronic capabilities the company can offer to anyone who wants to do business with it. It uses commonly accepted industrial categorization schemes, industry codes, product codes, business identification codes, and the like to make it easier for companies to search through the listings and find exactly what they want.

A “green pages” This is what allows someone to bind to a Web Service after it’s been found. It includes the various interfaces, URL locations, discovery information, and similar data required to find and run the Web Service.


REST-based Web Services

In the Web Services world REpresentational State Transfer (REST) is a key design idiom that embraces a stateless client/server architecture in which the Web Services are viewed as resources and identified by their URLs.RepresentationalState Transfer (or REST) is based on the concept of transferring state between two systems on a network. The concepts of REST are pretty similar to the workings of the Web. With REST, the pieces of data that are transferred by the Web Service must be identified individually using a standard addressing scheme. A URI uniquely identifies any kind of network resource for which a unique address can be created.

REST leverages the successful aspects of existing Internet protocols. To cap off the REST model, the URI and an HTTP verb (GET, POST, PUT, DELETE) are used together to issue a request to a REST Web Service to access and manipulate the server-side state, or data record, identified by the URI. The actual XML message is contained in the HTTP request and security is provided by HTTPS, which is the secure version of HTTP.

The concepts of REST are further described below.

Representation

Resources are first-class objects Resources are obtained as complete representations.

Resource

A Web page is a representation of a resource Resources are described by URIs. Consumers can retrieve a specific representation of the resource.

State

“State” represents the state of the application state as represented by a collection of resources The state is always maintained and traversed to and fro between the server and the client

Since REST Web Services ride the ubiquitous HTTP protocol and piggyback on the Web infrastructure, their presence is omnipotent and can be polymorphic in nature. This can be explained by the various number of REST-style services that currently exist on the Web. These include a client/server style, stateless and cached with a uniform interface, even code on-demand that is exemplified by Java applets.

You can locate resources by a Universal Resource Identifier (URI), and the operations that might be performed against those resources are defined by the HTTP specification. The core operations include:

GET – This operation returns a state representation of the identified resource. You can determine the state by a number of contextual factors such as who is submitting the request, the parameters of the operation (passed in as either HTTP headers or query string parameters), and the current session state maintained by the service provider.

POST – This operation performs some form of application-specific update to the identified resource. The behavior of this operation is completely up to the service implementing it. The data returned by this operation is also completely up to the application.

PUT – This operation creates a new resource at an identified location (URI). The operation input must include a state representation of the resource. It is up to the service to create a resource based on that state representation.

DELETE – The DELETE operation destroys a resource at the identified location (URI).

Testing Web Services
As we’ve seen, Web Services both REST as well as SOAP are going to be components that expose their functionality over HTTP. Hence we could potentially expose our services over an intranet or the Internet, which implies that the visibility of these Web Services is generally pretty high. There are, of course, some critical differences in the significance of intranet-based Web Services as opposed to the ones that will be exposed to the public domain. Intranet-based services lie within the boundaries of the enterprise and hence can be controlled and monitored with access restricted only to employees. However, an Internet-based service can be accessed by anybody and so we have far lesser control over those services. It’s pretty much the same as the difference between an intranet and the Internet itself.

We’ll look briefly at the various aspects of testing Web Services in general and then how it’s done for REST-based services.

Functional Testing or Black Box Testing
This testing is carried out to ensure that the Web Service functions per the design and the requirements. These only deal with proposed inputs and expected outputs. Service test cases are generally mapped to business use cases that outline all the permutations and combinations of inputs and outputs.

REST-based Web Services are pretty unique since they basically correspond to the various operations outlined above. We suggest a couple of different possible scenarios to address the challenges involved.

The application to be tested could have an implementation of strict REST-based Web Services. We’ll elaborate on this further with an example, say a product catalog in which items can be created, viewed, deleted, and updated. This is pretty similar to the CRUD operations that would happen for the items in the underlying database.

When a new item is created it is achieved by the PUT operation and it in turn creates a new URI like http://www.xyz.com/items/itemnew01

When an item is to be viewed it is achieved by the GET operation by using the URI http://www.xyz.com/items/showitem?itemid=I001. This returns the URI http://www.xyz.com/items/itemnew01

When an item has to be edited it is achieved by the POST operation by using the URI http://www.xyz.com/items/itemid=I001

When an item has to be deleted it is achieved by the DELETE operation by using the URI http://www.xyz.com/items/itemid=I001 In such cases, while the former can be functionally tested by normal Web site testing mechanisms and we can use the normal Web testing tools that are available today.

Now if the application doesn’t have strict REST-based Web Services, the Web Service responses could be slightly different. For example, it could return an XML over HTTP, instead of an URI representation of a resource. So when an item is to be viewed it could return an XML instead of http://www.xyz.com/items/itemnew01. This particularly tends to happen to promote interoperability, so that non-browser-based clients can access these Web Services too.

This case is a bit more complex. Currently there aren’t many tools available that can cater to this case.

Currently most testers build up their test cases and the input data in Excel sheets and verify it against the expected output XML. It probably makes sense to build a small tool that can do the following:

Read the input parameters from the Excel sheet

Invoke the appropriate service.

Store the response provided by the service

Compare the response against the expected response using tools like XMLDiff and provide reports

Non-Functional Requirements Testing
The other fundamental aspect of architecture and design is to ensure that the software meets all the non-functional aspects like security, reliability, availability, and scalability. These facets are generally the most ignored by software designers as well as testers. These prove costly mistakes because a functionally perfect system is of no use if it can’t be used by a specified set of users in a predictable response time. There are also serious ramifications if the system isn’t secure and allows unauthorized users access.

Hence non-functional testing is as significant as functional testing.

Security Testing
As previously mentioned, Web Services are software components that could be exposed over the Internet. In such scenarios security becomes a primary concern, Authentication and authorization concerns have to be tested thoroughly. In most scenarios for REST-based services, authentication is taken care of by using the HTTPS protocol. Most enterprises prefer to add an additional layer of authentication using either basic HTTP authentication or a complex token-based security mechanism. Basic authentication generally deals with access control lists. So testing should cover the aspects of “malicious testing,” where the system is tested for controlled access by a specific and ratified set of users.

Another common security lapse in a REST Web Service is its vulnerability to SQL injection attacks. The similarity between the various HTTP requests to the CRUD database operations is indicated in the section above. It leaves a poorly designed Web Service highly vulnerable to SQL injection attacks. So the test strategy should contain test cases to cover this angle as well.

Amazon’s private “shared-secret” token is a complex implementation of security that uses HMAC signing to show proof of possession of the public token. Although this kind of security implementation in REST Web Services diffuses the basic advantages of REST by reinventing the wheel, this security model exists. Testing these security models is a lot more complex and is more along the lines of testing a PKI infrastructure including the token issuing authority. Authorization is generally designed using filters in combination with the resource control lists. Although this is no different from standard authorization testing mechanisms, it’s imperative that the testing strategy includes tests for authorization. This ensures that a user can access only what he’s supposed to access.

Another common area of testing is the audit trail of requests and responses. Since most REST Web Services are GET-based or based on information retrieval rather than altering the state of the resource on the server, it becomes very important to audit these requests. So the testing strategy should cover the audit trail mechanisms of these Web Services too.

Regression Testing
A regression test is normally a cut-down version of a functional test. Its aim is to ensure that the Web Service is still working between builds or releases. It assumes that some area of functionality worked in the past and its job is to check that it still does. However, versioning is difficult to achieve transparently in REST-based Web Services since each resource has its own representation. So if a resource changed in different builds or releases, it would have a new URI. However, less strict versions of REST Web Services allow a pure XML over HTTP and POST/PUT to be used interchangeably. They also have a version field either as part of the payload or query string. This lets them introduce versioning from a deployment perspective so different versions of the same service can co-exist while using the same URI. Although this violates basic principles of Roy Fielding’s theory, unfortunately there are a lot many implementations out there. Hence regression tests need to account for versioning test cases when multiple versions of the same service will co-exist in the application ecosystem.

Load Testing
The aim of load and stress testing is to find out how well your Web Service scales as the number of clients accessing it increases. The load testing is generally done to find the acceptable benchmarks associated with the Web Service and identify the Service Level Agreements (SLAs) that can be specified with this service. These benchmarks then become the SLAs of the service. Load tests for REST-based Web Services are primarily based on the same concept as load testing Web applications or Web sites. However there are subtle differences that have to be looked at carefully. REST Web Services are XML-based services. So while you get the flexibility of XML, you also get the baggage that comes with it. XML is bulky and takes up more bandwidth. Large XML messages tend to take up lots of memory. These XML messages also have to be parsed and using DOM parsers for large XML documents often leads to low memory situations. So it’s imperative that the load testing strategy includes testing the performance of the services under an extreme load, particularly large XML payloads.

Conclusion
We have articulated the basic architectural Web Service paradigms, namely SOAP-style Web Services and REST-style Web Services. We looked at various aspects of testing REST-based Web Services. It helps to develop a testing strategy or methodology for REST-based services. We also mooted the idea of designing a tool based on available out-of-the-box components to test the services. We concluded that testing REST-based services is reasonably easier than SOAP-based services, where additional testing of standards, interoperability, and versioning is required. Testing is also required to see if the SOAP-based Web Services adhere to WS-I standards.