Sales Order operation on Inactive subinventory

13 Dec

Sales Order operation on Inactive subinv

  • Pick release
    • Subinv is not allowed to be entered in the pick release form
    • But if submitted without subinv and there is WMS pick rule, it will pick release and task will be created
  • Pick confirm
    • Subinv value not allowed in picking page in MSCA, so pick confirm cant be done
  • Backorder
    • Backorder allowed from inactive subinv
  • Reservation
    • Reservation not allowed on an inactive subinv
  • Locator neither be inactivated nor status be changed when there is reservation and onhand exist

Oracle WMS Partial Pick & Curtail Pick

13 Dec

Partial Pick and Curtail Pick

There are different context for reason codes

Pick Partial: Reason code with this context will be used only while user wants to pick partial qty from the allocated qty. Using this user can change the allocated quantity in the task while picking. This is needed if the pick load page needs to provide a reason code for exception for picking partially.

Curtail Pick: Reason code with this context will let user decide how he wants to proceed with the task after partial qty has been picked, whether to back order the remaining quantity or to auto allocate the remaining quantity from a different location source provided onhand is available.

If user choose a curtail pick reason code with cycle count then all the remaining qty in that location source will be reserved against cycle count and a new task will be created from different source if onhand is available. If user choose a curtail pick reason code with no cycle count, then the remaining qty will be back ordered.

Curtail Pick with Cycle Count

Onhand available in multiple source location

  • Current Task Completed and new task auto created for the remaining qty
  • In Shipping Transaction, the picked qty is ready to be dropped and Remaining qty also available to be picked in a new task
  • In inventory, onhand been depleted by the picked qty and remaining qty in that locator is being reserved against cycle count and the qty for the new task is being allocated from different location

Onhand available in single source location

  • Current Task Completed and no new task auto created for the remaining qty
  • In Shipping Transaction, the picked qty is ready for ship confirm and Remaining qty back ordered
  • In inventory, onhand been depleted by the picked qty and remaining qty in that locator is being reserved against cycle count

*Note: In this process, not only the remaining task qty, rather the whole qty left in the locator for that item after partial pick will be reserved against cycle count and will not be available for other demands until unless those cycle counts are adjusted.

Curtail Pick with No Cycle Count

Onhand available in multiple source location

  • Current Task Completed and no new task auto created for the remaining qty
  • In Shipping Transaction, the picked qty is ready for ship confirm and Remaining qty back ordered
  • In inventory, onhand been depleted by the picked qty and remaining qty available for next demand

Onhand available in single source location

  • Current Task Completed and no new task auto created for the remaining qty
  • In Shipping Transaction, the picked qty is ready for ship confirm and Remaining qty back ordered
  • In inventory, onhand been depleted by the picked qty and remaining qty available for next demand

WMS Label Print flow

20 May

WMS Label Print flow

WMS Label Print flow

Oracle Cycle Count

31 Jul

Step by Step Cycle Count in Oracle Warehouse

ABC Compile: 

It sorts the items in descending order in the subinventory or org based on the selection criteria

  • Define the ABC compile based on need 
  • Select subinventory/organization 
  • Select criteria to choose current onhand or historical transactions 
  • Once defined, click on compile. It will submit a request and will generate a sorting output list of items 

ABC Assignment Groups:

  • Create an assignment group 
  • Assign the ABC compile 
  • Attach the ABC classes 
  • Then Click on Assign Items 
    • Select sequence to classify the items into A B C classes 
    • Then click on Assign. It will submit a request 
  • Once request is completed, you can see how items are classified by clicking on Update Items 

Define Cycle Count

  • Define Cycle count based on need 
  • Give Adjustment account 
  • Enter late Days: after how many days uncounted cycle count will be considered as late count 
  • Starting seq: This is the staring number of the count 
  • Enter all other details as needed 
  • in Serial, LPN and Schedule tab, 
    • select the serial controlled count options 
    • Select the schedule, if you want to schedule the count 
  • In Adjustment and ABC, 
    • select approval criteria 
    • Give the ABC group created earlier 
    • In Option, select reinitialize and save, it will submit a request. Once the request is completed, you can see status will be completed in the cycle count as well. 
    • Then click on Classes and enter the no of counts you want to do for each class in a year 
  • From Tools –> Select Perform Full Cycle Count, it will submit request set, submit with proper parameter 
    • Once the request is completed, go back to cycle count and re-query and click on items, you will see last scheduled date should be populated against items 
    • Also in Serial, LPN and Schedule tab, you see Last date and Next date is populated as per the schedule 

Cycle Count Entry

  • Now Go to cycle count entry form, select the cycle count header name and then find all open counts 
  • It will show all open request counts pending 
  • You can either use this form or you can directly go to MSCA –> Inventory –> Counting –> Normal for entering the counts against the records 
  • Also you can count using WMS Task feature by going to MSCA, Task –> Directed task –> Warehouse –> Counting 

Approve Count

  • Go to Approve Count section post counting 
  • It will show all pending approval including adjustments if needed 
  • Select the option and save 

View Adjustments in material transactions

Oracle iProcurement Overview

31 Jul

Features and Overview of iProcurement

  • Web based applications allows organization to perform purchase activities 
  • It’s a self-service application module which enables buyers raise and work on requisitions and corresponding tracking 
  • Web based shopping interface for goods and services including requisitions for temporary rate based labor 
  • Complete Catalog and Contents management 
  • Online Approvals management 
  • Streamlined order placement in integration with Purchasing 
  • Streamlined with Sourcing to complete the RFQ negotiation cycle 
  • Complete Order Tracking

Procurement Process in iProcurement

  • Process 
    • Enter Requisition online using catalog form 
    • Workflow Approval 
    • Buyer Creates Purchase Order 
    • Supplier Notified and delivers directly to requestor 
    • Record Receipt in iProcurement 
  • iProcurement Process Flow in Oracle 
    • Ordering 
      • Requisition 
      • PO 
      • Receiving 
    • Analysis 
      • Payment 
      • Supplier Performance 
    • Sourcing 
      • Supplier Management 
      • Negotiations & Awards 
      • Catalog Content Management 

Why switching to iProcurement

Issues in conventional procurement systems are

  • Lack of procurement information 
  • Minimal coordination of common purchases across organizations 
  • Scarcity of formal contracts(Only available are BPA and CPA) 
  • Large complexity like more people involved 
  • Lack of standardized process or systems 

Benefits of iProcurement

  • It provides an intuitive web interface 
  • Goods and services can be found easily and added to the cart like any other online shopping portals 
  • Streamlines Order Placement – Shopping 
    • Shopping List 
    • Multiple Shopping Cart 
    • Copy orders 
    • Service Requests 
    • Non Catalog Requests 
    • Automatic Document creation 
    • Centralized Purchasing 
  • Streamlined Order Placement – Delivery 
    • Inventory Replenishment Requests 
  • Streamlined Order Placement – Billing 
    • Procurement Card purchases for Catalog orders 
    • Oracle project integration 
    • Multiple Account Distributions and Account generation workflow integration 
  • Streamlined Order Placement 
    • Notes – Additional Item information, Upload & view attachments 
    • Approvals – Approval routing configuration and Vacation scheduling 
    • Review/resubmit and Cancellation 
  • Desktop receiving 
    • Requestor can receive and confirm receipt of requested goods and services directly in iProcurement 
    • iProcurement can automatically record the receipt transaction 
  • Streamlines employee ordering 
  • Enforce purchasing policies 
  • Reduces procuring costs 
  • Easy to upload and view additional information 
  • Search product internally or from external sources 
  • Automatic document creation 
  • Center led procurement process 

R12 Enhancements

  • New Approval types 
  • New user-interface options 
  • New option for creating and maintaining favorite lists 
  • Unified catalog architecture 
  • Better catalog authoring capability for buyers, supplier and catalog administrators 
  • Tolerance based change request routing and Approval 
  • Content security enhancements 

Integration with other applications

  • Oracle Purchasing 
  • Oracle Payables 
  • Oracle Inventory 
  • Oracle Projects 

iProcurement in P2P flow

  • Setups 
    • Jobs 
    • Positions 
    • Employees 
    • Hierarchies 
    • Approval Groups 
    • Assignment sets 
    • Item categories 
    • Buyers 
    • Purchasing/Financial/Receiving options 
    • DFF for Item Categories 
    • Define Information templates 
    • Define Realms 
    • Setup Attachments 
    • Setup Profile options 
    • Enable Function Securities 

Item Availability in iProcurement

  • Internal Catalog: Items assigned to categories enabled for iProcurement 
  • External Catalogs: Managed by supplier/Third Part or Self-managed 

Flow

  • Requisition Creation 
  • Requisition Approval 
  • PO creation and processing 
  • Shipment of Goods 
  • Receiving of Goods 
  • Invoicing 
  • Payments

Note: underlined steps can be done in iProcurement, for others EBS integration needed with respective modules

Core features of iProcurement

  • Catalog Management 
  • Shopping 
  • Checkout 
  • Requisition Tracking and Management 
  • Desktop Receiving

    WMS Zone Picking

    5 Apr

    WMS Zone Picking basic setup steps

    WMS Receipt Label Print flow

    8 Jan

    WMS Receipt Label Print flow

    1. Once Receiving transaction saved, it processes the transaction and inserts the data into rcv_shipment_headers, rcv_transactions.
    2. Once transaction completed in the same flow, inv_rcv_integration_apis.complete_lpn_group calls inv_label.print_label_wrap
    3. inv_label.print_label_wrap generates the detailed XML and publishes in label history table
    4. Once label history table populated with all data, inv_label.print_label_wrap calls INV_PRINT_REQUEST.SYNC_PRINT_REQUEST to print the label based on print mode and printers from profiles of either user or responsibility.

      To get the label print work below basic setups need to be there

      1. Responsibility or user which does the transaction needs to be assigned to the Receipt business flow with required label format(material or lpn or serial, etc)
      2. For each label type, there should be a default label format
      3. If you want to have specific labels printed for different conditions then specific label format rules need to be defined in the system.

      Oracle EBS 12.2.7 informative video

      14 Sep

      Came across this video about the new Oracle EBS release 12.2.7.

      Informative

      SQL Script to find Concurrent program details with Path

      5 Sep

      SQL Script to find Concurrent program details with Path, program type, Executable details

      SELECT fcp.concurrent_program_id
            ,fcp.concurrent_program_name 
            ,fcpt.user_concurrent_program_name usr_conc_program
            ,fcp.enabled_flag flag
            ,fcp.output_file_type output_TYPE
            ,fe.executable_name
            ,fcp.execution_method_code program_method_code
            ,(SELECT meaning FROM apps.fnd_lookup_values WHERE lookup_code = fcp.execution_method_code AND lookup_type = ‘CP_EXECUTION_METHOD_CODE’) prog_method
            ,fe.execution_method_code executable_method_code
            ,(SELECT meaning FROM apps.fnd_lookup_values WHERE lookup_code = fe.execution_method_code AND lookup_type = ‘CP_EXECUTION_METHOD_CODE’) exec_method
            ,fe.execution_file_name
            ,fa.application_short_name
            ,fat.application_name
            ,fa.basepath top
            ,(select value from apps.fnd_env_context where variable_name = fa.basepath and concurrent_process_id = (select max(concurrent_process_id) from apps.fnd_env_context)) ||’/reports/US’ path
            ,fcp.creation_date
            ,(select user_name||’ : ‘||description from apps.fnd_user where user_id = fcp.created_by) created_by
            ,fcp.last_update_date
            ,(select user_name||’ : ‘||description from apps.fnd_user where user_id = fcp.last_updated_by) updated_by
      FROM apps.fnd_concurrent_programs_tl fcpt
          ,apps.fnd_concurrent_programs    fcp
          ,apps.fnd_executables            fe
          ,apps.fnd_application_tl         fat
          ,apps.fnd_application           fa

      WHERE 1 = 1
      and fcpt.application_id = fcp.application_id
      and fcpt.concurrent_program_id = fcp.concurrent_program_id
      and fe.executable_id = fcp.executable_id
      and fe.application_id = fa.application_id
      and fat.application_id = fa.application_id
      AND fcp.enabled_flag = ‘Y’
      and upper(fcpt.user_concurrent_program_name) = ‘&prog_name_upper_case’–like ‘%EVENT%’
      ;

      Reusing Shipped LPNs in Oracle WMS

      26 Jul

      Yes LPNs can be reused in either same inventory organization or a different organization.
      This can be achieved using container public API

      Provided the current context of the LPN is issued out of store and there is no pending transaction on that LPN and LPN name is a valid LPN name.

      Prior to R12.1.1, oracle was not allowing to re use the LPN once shipped out.

      But in certain business case this is necessary to reuse.
      Like logistic business they have they container returned to dock or warehouse after delivering to customer and which can be resused, so why not the LPN tagged to that.

      As of now there is no functionality in oracle forms using which this can be achieved.
      In those cases, this can be achieved by using the below API

      apps.wms_container_pub.reuse_lpns
      It will Validate the LPN on below points

      • It should be issued out of stores. 
      • It should have a valid LPN name. 
      • There should not be any pending transactions for this LPN.

      It derives the contents from WMS_LPN_CONTENTS & WMS_LICENSE_PLATE_NUMBERS. This will update the WMS_LPN_HISTORIES table as well

      • It marks the LPN as ‘Defined but not used’ with no Subinventory/Locator. 
      • LPN is ready for reuse in the organization provided. 
      –SAMPLE API CODE 
      prompt Enter License Plate Number which has to be reused accept lpn;
      Declare
      l_Return_Status Varchar2(1);
      l_Msg_Count Number;
      l_Msg_Data Varchar2(100);
      l_Lpn_Id Number;
      l_Clear_Attributes Varchar2(10) := ‘Y’;
      l_Unpack_Inner_Lpns Varchar2(10) := ‘N’;
      l_Clear_Containter_Item_Id Varchar2(10) := ‘N’;
      l_Organization_Id Number := Null;
      — l_License_Plate_Number Varchar2(100) := ‘JR1’;
      l_License_Plate_Number VARCHAR2(100):= ‘&lpn’;
      Begin
      Select Lpn_Id
      Into l_Lpn_Id
      From Wms_License_Plate_Numbers
      Where License_Plate_Number = l_License_Plate_Number;
      Wms_Container_Pub.Reuse_Lpns
      (
      p_Api_Version => 1,
      x_Return_Status => l_Return_Status,
      x_Msg_Count => l_Msg_Count,
      x_Msg_Data => l_Msg_Data,
      p_Lpn_Id => l_Lpn_Id,
      p_Clear_Attributes => l_Clear_Attributes,
      p_New_Org_Id => l_Organization_Id,
      p_Unpack_Inner_Lpns => l_Unpack_Inner_Lpns,
      p_Clear_Containter_Item_Id => l_Clear_Containter_Item_Id
      );
      Commit;
      Exception
      When Others Then
      Dbms_Output.Put_Line(‘SQLEERM ‘ || Sqlerrm);
      End;