Tuesday, March 19, 2013

What is Workflow In Oracle Apps?

Oracle Workflow delivers a complete workflow management system that supports business process based integration. Its technology enables modeling, automation, and continuous improvement of business processes, routing information of any type according to user-defined business rules.E-business is accelerating the demand for integration of applications within the enterprise as well as integration of a company’s systems with trading partners and business-to-business exchanges.

Oracle Workflow automates and streamlines business processes both within and beyond your enterprise, supporting traditional applications based workflow as well as e-business integration workflow. Oracle Workflow is unique in providing a workflow solution for both internal processes and business process coordination between applications.

Routing Information
Business processes today involve getting many types of information to multiple people according to rules that are constantly changing. With so much information available, and in so many different forms, how do you get the right information to the right people? Oracle Workflow lets you provide each person with all the information they need to take action. Oracle Workflow can route supporting information to each decision maker in a business process, including people both inside and outside your enterprise.

Defining and Modifying Business Rules
Oracle Workflow lets you define and continuously improve your business processes using a drag-and drop process designer. Unlike workflow systems that simply route documents from one user to another with some approval steps, Oracle Workflow lets you model sophisticated business processes.You can define processes that loop, branch into parallel flows and then rendezvous, decompose into subflows, and more. Because Oracle Workflow can decide which path to take based on the result of a stored procedure, you can use the power of Java and of PL/SQL, the language of the Oracle Database, to express any business rule that affects a workflow process.

Delivering Electronic Notifications
Oracle Workflow extends the reach of business process automation throughout the enterprise and beyond to include any e-mail or Internet user. Oracle Workflow lets people receive notifications of items awaiting their attention via e-mail, and act based on their e-mail responses. You can even view your list of things to do, including necessary supporting information, and take action using a standard Web browser.

Integrating Systems
Oracle Workflow lets you set up subscriptions to business events which can launch workflows or enable messages to be propagated from one system to another when business events occur. You can communicate events among systems within your own enterprise and with external systems as well.
In this way, you can implement point-to-point messaging integration or use Oracle Workflow as a messaging hub for more complex system integration scenarios. You can model business processes that include complex routing and processing rules to handle events powerfully and flexibly.

Workflow Engine        

The Workflow Engine embedded in the Oracle Database implements process definitions at runtime. The Workflow Engine monitors workflow states and coordinates the routing of activities for a process. Changes in workflow state, such as the completion of workflow activities, are signaled to the engine via a PL/SQL API or a Java API. Based on flexibly defined workflow rules, the engine determines which activities are eligible to run, and then runs them. The Workflow Engine supports sophisticated workflow rules, including looping, branching,parallel flows, and subflows.Business Event System
The Business Event System is an application service that uses the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems. The Business Event System consists of the Event Manager, which lets you register subscriptions to significant events, and event activities, which let you model business events within workflow processes. When a local event occurs, the subscribing code is executed in the same transaction as the code that raised the event. Subscription processing can include executing custom code on the event information, sending event information to a workflow process, and sending event information to other queues or systems.


Electronic Notifications
Oracle Workflow lets you include users in your workflows to handle activities that cannot be automated, such as approvals for requisitions or sales orders. The Notification System sends notifications to and processes responses from users in a workflow. Electronic notifications are routed to a role, which can be an individual user or a group of users. Any user associated with that role can act on the notification. Each notification includes a message that contains all the information a user needs to make a decision. The information may be embedded in the message body or attached as a separate document. Oracle Workflow interprets each notification activity response to decide how to move on to the next workflow activity.

Electronic Mail Integration
Electronic mail (e-mail) users can receive notifications of outstanding work items and can respond to those notifications using their e-mail application of choice. An e-mail notification can include an attachment that provides another means of responding to the notification.

Internet-Enabled Workflow
Any user with access to a standard Web browser can be included in a workflow. Web users can access a Notification Web page to see their outstanding work items, then navigate to additional pages to see more details or provide a response.

Monitoring and Administration
Workflow administrators and users can view the progress of a work item in a workflow process by connecting to the Workflow Monitor using a standard Web browser that supports Java. The Workflow Monitor displays an annotated view of the process diagram for a particular instance of a workflow process, so that users can get a graphical depiction of their work item status. The Workflow Monitor also displays a separate status summary for the work item, the process, and each activity in the process. In Oracle Applications, you can also use the Oracle Workflow Manager component of Oracle Applications Manager as an additional administration tool for Oracle Workflow. Oracle Applications Manager is a tool that provides administrative and diagnostic capabilities for concurrent processing, Oracle Workflow, and other functionality in Oracle Applications. Also, if you are using the standalone version of Oracle Workflow, you can use the standalone Oracle Workflow Manager component available through Oracle Enterprise Manager as an additional administration tool for Oracle Workflow.

Workflow Processes
Oracle Workflow manages business processes according to rules that you define. The rules, which we call a workflow process definition, include the activities that occur in the process and the relationship between those activities. An activity in a process definition can be an automated function defined by a PL/SQL stored procedure or an external function, a notification to a user or role that may optionally request a response, a business event, or a subflow that itself is made up of a more granular set of activities. A workflow process is initiated when an application calls a set of Oracle Workflow Engine APIs. The Workflow Engine takes over by driving the relevant work item defined by the application, through a specific workflow process definition. According to the workflow process definition, the Workflow Engine performs automated steps and invokes appropriate agents when external processing is required.

Some of the workflow process in Oracle ERP are

OM workflow process

-> Configure to order
CTO Change Order - Sends a notification to the planner in the shipping organization detailing the changes made to an ATO order. It is started when a change to the order quantity, schedule ship date, request date, or schedule arrival date is made and a discrete job reservation or a flow schedule exists for the order. It is also started anytime a configuration change or order line cancellation is made, even if a reservation does not exist.

->Order and Line Runnable Processes and Functional Subprocesses - Oracle Order Management provides seeded order and line runnable processes and functional subprocesses.

-> Order Header workflow data is defined under the item type OM Order Header (OEOH). Seeded header runnable processes are provided to support the processing of standard Orders and Returns with approvals. Booking and Close Order functional subprocesses are also seeded. Order Line workflow data is defined under the item type OM Order Line (OEOL). Oracle Order Management comes seeded with line-level runnable processes to support the processing of standard items, configurations, service items, drop-shipments, returns for credit only, and returns for credit with receipt and approval. Functional subprocesses to schedule, ship, fulfill, invoice interface, and close order lines are also seeded. Additionally, you can configure custom processes to meet your specific business requirements using the seeded functional sub processes and custom activities. You can use these seeded and custom runable processes for order processing by assigning them to specific order and line transaction types. Oracle Order Management usually seeds new processes with every release.

-> Change Order Notification Process - Sends a change order notification from certain application forms. The recipient and message content are set dynamically when you select a responsibility and provide content. Uses the item type OM Change Order (OECHORD).

-> COGS Process - Generates a cost of goods sold account using the item type GenerateCost of Goods Sold Account (OECOGS).

-> Negotiation Header Processes - Oracle Order Management supports the negotation phase of a sales order (that is, quotes) or blanket sales agreement. The item type for Negotiation is OM Negotiation Header (OENH). It includes steps such as submit draft, optional internal approval, customer acceptance, and complete negotation. If the transaction is a quote, at the end of the negotiation flow, the OM Order Header flow will be started; while if the transaction is a blanket sales agreement, at the end of the negotiation flow, the OM Blanket Header flow will be started.

-> Blanket Header Process - Oracle Order Management supports Blanket Sales Agreements through the workflow item type OM Blanket Header (OEBH). It includes steps such as submit draft (if the Blanket has no negotiation phase), expiration date handling and reminders, terminate blanket, and close blanket.

-> Order Import Process - Oracle Order Management supports the creation and modification of sales orders through the Order Import workflow. When an inbound XML message is received, the Order Import workflow is triggered and, depending on the setup, order import is either run synchronously or deferred for an asynchronous run. This workflow process subscribes to the event
oracle.apps.ont.oi.po_inbound.create and its item type is OM Order Import (OEOI). It includes steps such as raising an event to trigger the OAG CONFIRM BOD XML message, interface table data population, raising integration events, and conditional execution of order import.

-> Send Acknowledgment Process - Oracle Order Management supports the generation of the ACKNOWLEDGE PO and CONFIRM BOD XML message. Both messages conform to the Open Applications Group (OAG) standard. The CONFIRM BOD notifies the buyer that an inbound document has been received and the ACKNOWLEDGE PO conveys to the buyer the results of order import. The CONFIRM BOD and ACKNOWLEDGE PO utilize different processes in the same workflow. These processes subscribe to the events oracle.apps.ont.oi.cbod_out.confirm and oracle.apps.ont.oi.po_ack.create, respectively. The item type for the workflow is OM Send Acknowledgment (OEOA). The two processes include steps such as raising integration events, generation of the deliverable data, and document transmission. Show Sales Order Process - Oracle Order Management supports the generation of the SHOW SO and CHANGE SO XML messages. Both messages conform to the Open Applications Group (OAG) standard. SHOW SO contains status information concerning the current state of an order and CHANGE SO is used to notify the buyer of changes to his or her order. Both messages utilize the same process in the Show Sales Order workflow. The workflow process subscribes to the event oracle.apps.ont.oi.show_so.create and the item type is OM Show Sales Order (OESO). The value of a particular parameter in the consumed event determines which message will be generated. The flow includes steps such as checking trading partner setup, raising integration events, generation of the deliverable data, and document transmission.

-> Open Interface Tracking Process - Oracle Order Management supports the tracking of XML, EDI, and generic order import transactions through the Open Interface Tracking workflow. This workflow process subscribes to the integration event oracle.apps.ont.oi.xml_int.status and retrieves information from those events for use in the Open Interface Tracking UI. The item type for this workflow is OM Open Interface Tracking (OEEM).

-> EDI Workflow Process - Oracle Order Management supports the derivation and generation of EDI acknowledgment data through the OM EDI Workflow (OEXWFEDI) item type. This workflow process subscribes to the event oracle.apps.ont.oi.edi_ack_values. create and populates Oracle Order Management’s acknowledgment tables with the data necessary to generate the outbound EDI messages (POAO and POCAO).

Oracle Receivables

-> Credit Memo Request Approval Process - This workflow routes a credit memo request for approval using an organization’s internal management hierarchy or approval limits defined in Oracle Receivables. If the request is approved, a credit memo is automatically created in Oracle Receivables. Otherwise, the process notifies the requestor with an explanation of why it was not approved.
You initiate the Credit Memo Request workflow from iReceivables. iReceivables is a Web-based, self-service application that enables registered users to access their Receivables account information using a standard Web browser. When an iReceivables user chooses the Dispute a Bill function, Receivables places the specified amount in dispute and initiates the Credit Memo Request process to route the request for approval.

-> Document Transfer Message Workflow - This workflow creates an XML invoice document and sends it to your customer. This workflow consists of two item types.

• AR Transfer Document item type - In Oracle Receivables, users run the Document Transfer Scheduling and Document Transfer concurrent programs to send XML documents. The Document Transfer Scheduling Program schedules transactions for transmission. The Document Transfer program raises a business event that is subscribed to by a workflow process, which calls Oracle XML Gateway to create and transmit the documents.

• AR Notification item type - If the Document Transfer concurrent program encounters technical or transmission errors, then the transmission status changes to Failed and the program sends a workflow notification to the system administrator or Receivables user for exception handling. In addition, Receivables users can receive via Oracle XML Gateway confirmation messages sent from their customers’ payables departments. These messages confirm the document import statuses. The Receivables program receives the messages and, where necessary, automatically sends workflow notifications to Receivables users for exception handling.
-> AR Credit Management Application Process Workflow - This workflow manages the collection and analysis of account or prospect credit data, as well as the making and implementation of credit decisions. The workflow is started when a credit request is generated, either by a credit event, such as an order hold, or by the submission of a credit application. The workflow first tries to automatically complete the credit review process. If, for any reason, a failure occurs in the workflow functions, then the workflow routes the credit analysis to the appropriate credit analyst for action. If an organization requires that credit recommendations be reviewed and approved by other personnel, then the workflow routes the recommendations through an approval hierarchy.

• If the recommendation is approved by the appropriate personnel, then it is automatically implemented.

• If the recommendation is rejected as it is routed through the approval hierarchy, then notifications are sent to the appropriate personnel and the case folder is updated with the credit decision.

Oracle Payables

-> AP Remittance Advice - When you confirm a payment batch or create a Quick payment, this workflow automatically sends an e-mail to each supplier that has a remittance advice e-mail address defined in the Supplier Sites window.

-> AP Open Interface Import Process - This workflow automates verification and validation of data in the Payables Open Interface invoice tables. For example, this process can be Modified to validate all accounting code combinations in the Payables Open Interface invoice tables. Notification of any invalid code combinations can be sent to a specified user for correction. Optionally the process can be set up to override any invalid code combinations with a designated default value. You can use Oracle Workflow to include additional workflow rules that meet the specific requirements of a business. Once an invoice has passed this process it is ready to be imported into the Oracle Payables application tables. To initiate the Open Interface Import process, submit Payables Open Interface Workflow from the Submit Requests window.

-> Invoice Approval Workflow - This workflow routes invoices to designated individuals for approval. This workflow uses the approval rules that you define in Oracle Approvals Management (OAM) to determine if an invoice requires approval. If the invoice requires approval, the workflow sequentially asks each approver on the approval list to approve the invoice online. For example, you can define a rule so invoices over $100,000 require CFO approval and then CEO approval.

-> Process Payment Message Workflow - This workflow creates the XML payment message and sends it to your bank. It then sends notifications to the user who formatted the payment. This workflow also manages the confirmation of payment batches that generate XML payments.

-> Receive Payment Instruction Error Workflow - If you use the XML payment feature and if you set up Oracle XML Gateway to receive the Show Payment Instruction Error message, then when your bank sends you this message, the Receive Payment Instruction Error workflow sends the appropriate user a notification that includes the payment instruction errors.

-> Receive Payment Advice Message Workflow - If you use the XML payment feature and if you set up Oracle XML Gateway to receive the Show Payment Advice XML message, then when your bank sends you this message, the Receive Payment Advice workflow sends a notification that includes the payment advice to the appropriate user.

Oracle General Ledger

-> Journal Approval Process - You can require journal batches to be approved before posting. Create an approval hierarchy and define authorization limits for each user. The Journal Approval process is initiated when you try to post a journal batch. The process automatically routes journals to the appropriate user for approval, based on the approval hierarchy.

-> AutoAllocations Process - When you generate step-down AutoAllocations, the workflow process initiates the AutoAllocation process and validates and generates the Mass Allocation and Recurring Journal batches that are defined in the AutoAllocation. The workflow process also determines whether journal approval is required for each generated journal batch, submits the batches to the appropriate users for approval if required, and notifies the appropriate users of the approval results. If an error occurs during the AutoAllocation process, the designated user or users can choose to roll back the AutoAllocation process, which reverses any posted journals.

Global Intercompany System - The Global Intercompany System (formerly CENTRA) is an enhanced feature for Release 11i, and has been backported to Release 11. It provides an environment for multiple companies to exchange intercompany transactions. The workflow process notifies the receiver company when a sender company initiates an intercompany transaction and requires approval from the receiver, or when the sender company recalls or reverses an intercompany transaction. The workflow process notifies the sender company when a receiver company approves or rejects an intercompany transaction that the sender had initiated. In addition, a threshold amount can be set to limit the volume of notifications. The workflow process is initiated when the sender submits, recalls, or reverses an intercompany transaction, or when the receiver rejects or accepts an intercompany transaction.
Global Consolidation System Cross Instance Data Transfer - You can automate the Global Consolidation System to consolidate data from remote subsidiary ledger database instances to a central consolidation database instance and optionally use workflow notifications to notify users of the cross instance consolidation status. Each notification provides the user with consolidation transfer details including source database name, mapping rule, set of books, group IDs, and concurrent request ID. When a user chooses to automatically run Journal Import or AutoPost on the central consolidation database, the workflow notification cites the status of success or failure of the concurrent request. If the Journal Import or AutoPost process fails, the workflow notification recommends reviewing the request log on the central consolidation database for further details.

Find List Of Activities For WF

SELECT   ias.item_type, ias.item_key, ias.execution_time,
         ac.FUNCTION function_name,
         TO_CHAR (ias.begin_date, 'DD-MON-RR HH24:MI:SS') begin_date,
         ap.display_name || '/' || ac.display_name activity,
         ias.activity_status activity_status, ias.activity_result_code RESULT,
         ias.assigned_user ass_user, ias.notification_id,
         wfn.status notif_status, wfn.subject notif_subject
    FROM wf_item_activity_statuses ias,
         wf_process_activities pa,
         wf_activities_vl ac,
         wf_activities_vl ap,
         wf_items i,
         wf_notifications wfn
   WHERE ias.item_type = '&item_type'
     AND ias.item_key = '&item_key'
     AND ias.process_activity = pa.instance_id
     AND pa.activity_name = ac.NAME
     AND pa.activity_item_type = ac.item_type
     AND pa.process_name = ap.NAME
     AND pa.process_item_type = ap.item_type
     AND pa.process_version = ap.VERSION
     AND wfn.notification_id(+) = ias.notification_id
     AND i.item_type = ias.item_type
     AND i.item_key = ias.item_key
     AND i.begin_date >= ac.begin_date
     AND i.begin_date < NVL (ac.end_date, i.begin_date + 1)

ORDER BY 2, 3

Query to get menu structure


SELECT     LPAD (' ', 6 * (LEVEL - 1)) || menu_entry.entry_sequence SEQUENCE,
           LPAD (' ', 6 * (LEVEL - 1)) || menu_entry.prompt prompt,
           menu_entry.grant_flag grant_flag,
           DECODE (menu_entry.sub_menu_id,
                   NULL, 'FUNCTION',
                   DECODE (menu_entry.function_id, NULL, 'SUBMENU', 'BOTH')
                  ) TYPE,
           menu2.user_menu_name, func2.user_function_name
      FROM fnd_menu_entries_vl menu_entry,
           fnd_menus_tl menu,
           fnd_form_functions_tl func,
           fnd_form_functions_tl func2,
           fnd_menus_tl menu2
     WHERE menu_entry.sub_menu_id = menu.menu_id(+)
       AND menu_entry.function_id = func.function_id(+)
       AND menu_entry.sub_menu_id = menu2.menu_id(+)
       AND menu_entry.function_id = func2.function_id(+)
       AND grant_flag = 'Y'
START WITH menu_entry.menu_id =
                     (SELECT menu_id
                        FROM fnd_menus_tl menu2
                       WHERE menu2.user_menu_name = :XX_MENU_NAME )
CONNECT BY menu_entry.menu_id = PRIOR menu_entry.sub_menu_id

  ORDER SIBLINGS BY menu_entry.entry_sequence

Sunday, March 17, 2013

Purchase Order Creation



STANDARD PURCHASE ORDER
You generally create standard purchase orders for one-time purchase of various items. You create standard purchase orders when you know the details of the goods or services you require, estimated costs, quantities, delivery schedules, and accounting distributions.

CREATING STANDARD PURCHASE ORDER
1. Navigate to xx purchasing users > Purchase orders > Purchase orders


2. Select the type as standard purchase agreement
3. Select the supplier.
4. Select the Ship-to and Bill-To location.
5. Enter description.
6. In Items tab
      i. Click on Num column.
     ii. Select the Type.
            ->Goods
            ->Outside processing (For subcontract items)
            ->Services
     iii. Select the Item.
     iv. Enter the Quantity.
     vi. Select Promise Date and Need by Date.
NB: Always make sure that the transaction is done at the inventory organization level And not in master Inventory Organization level.

7. Click on Shipments button.


8. Click on Distributions button.
i. Select Deliver-To and Sub inventory.
Use the purchase order Distributions window to enter distribution information for purchase order shipments or to view distributions that Purchasing has
automatically created for you. You can enter multiple distributions per shipment line.



9. Save the purchase order.
PO-number will be generated, note down the number.
10. Click on Approve button.


11. Select the forward check button and send it for approval clicking Ok button.


Blanket Purchase Order
You create blanket purchase agreements when you know the detail of the goods or services you plan to buy from a specific supplier in a period, but you do not yet know the detail of your delivery schedules. You can use blanket purchase agreements to specify negotiated prices for your items before actually purchasing them.

CREATING BLANKET PURCHASE ORDER
1.Navigate to XX purchasing users > Purchase orders > Purchase orders



2. Select the type as Blanket purchase agreement
3. Select the supplier.
4. Select the Ship-to and Bill-To location.
5. Enter description.
6. In Items tab
      i. Click on Num column.
     ii. Select the Type.
             ->Goods
             ->Outside processing
             ->Services
    iii. Select the Item.
    iv. Enter the price.
     v. Save the purchase order.
7. Click on Approve button and send it for approval.

CREATING RELEASES FOR BLANKET PURCHASE ORDER

1. Navigate to XX purchasing users > Purchase orders > Releases
2. Enter PO number in po,rev.
3. Click on Num.
4. Select Line, Ship-To, Quantity, Promise Date, Need BY Date, Tax code


5. Click on Distributions button.
     i. Select Deliver-To and Subinventory
6. Save the Releases.
7. Click on Approve Button and send it for approval.


RECEIPT

RECEIPTS (Item being received in Inventory)
1. Navigate to XX Purchasing Users > Receiving > Receipts
2. Enter purchase order number.
3. Click on Find


4. Enter quantity of items which you have received.


5. Click on Inspect button.
6. Enter how much quantity accepted and rejected while Inspection.

7. Save your work.


INVOICE

Types of Invoices
• Credit Memo: A negative amount invoice you receive from a supplier representing a credit for goods or services purchased.
• Debit Memo: A negative amount invoice you send to notify a supplier of a credit you recorded for goods or services purchased.
• Expense Report: An invoice you enter to record business-related employee expenses.
• Mixed: A Standard or Credit/Debit Memo invoice for which you can enter both positive and negative amounts and perform both positive and negative matching.
• PO Default: A trade invoice you want to automatically match to a specified purchase order and then manually match to the individual shipments on the purchase order. After you use this invoice type to complete the match, the invoice will become a Standard type invoice.
• Prepayment: An advance payment you make to a supplier or employee. If you enter Temporary for the Prepayment Type field, then you can later apply prepayment to an invoice.
• QuickMatch: A trade invoice you want to automatically match to all the shipments of a specified purchase order.
• Standard: A trade invoice you receive from a supplier.
• Withholding Tax: An invoice you have generated to pay to tax authority.

CREATING INVOICE
1. Navigate to XX Payables (Super User) > Invoices > Entry > Invoices
2. Enter Supplier name, Invoice number, Invoice amount.


3. Match the invoice with PO number or with receipt number or with packing slip.


4. Enter the quantity for which you want to create invoice.
Save your work.


5. Click on Action button and select Validate and Force approval.
6. Click on OK



7.Again click on action button select Create Accounting.
8. Click on OK


PAYMENTS

TYPES OF PAYMENTS
Manual: Manual payment, which you use to record a payment you have made outside of Payables. For example, a typed check or wire transfers.
Quick: Quick payment, which is a single computer-generated check.
Refund: A payment you receive from a supplier or employee to return funds for an invoice payment you made. Refund payments pay a debit balance, and are always entered as negative amount payments.
Batch: A payment created by payment batch processing. You can see the batch name in the Batch Name field.

Creating Payments
1. Navigate to XX Payables (Super User)  > Payments > Entry > Payments
2. Select Type, Bank account, Document, Supplier, Maturity date.
Maturity Date: If you are creating a future dated payment with a Quick payment or a manual payment, enter the date on which your bank disburses funds for the payment. You can enter a value here only if the Future Dated Payment check box is checked. If the Future Dated Payment check box is checked you must enter a value.
3. Click on Enter/Adjust Invoices button.
4. Select Invoice for which you want to make payment and save your work.


5. Click on Actions button in payment window.
6. Select Format and Create Accounting check box.
7. Click on OK


8. Note down the Quick Payment ID which is displayed in Batch Name field of payment window.