WIP Material Transaction Upload

Description

WIP Material Transaction Upload issues components to, and returns components from, WIP work orders in bulk from Excel. The download gives you one row per component requirement of the work orders you select, with the operation, department, supply subinventory and locator already filled in and the required, issued and still open quantities shown. Enter a transaction type and a quantity on the rows you want to transact, leave the rest blank, and upload.

When to use it

  • Issue components to many work orders at once instead of transacting them one at a time in the WIP Material Transactions form.
  • Issue push components, or pull components that were not backflushed automatically.
  • Return components from a work order to stores – for example after an over-issue, or when a job is cancelled.
  • Clear open requirements across a range of work orders after a picking or kitting run.
  • Issue a component that is not on the work order bill, exactly as the form allows.

Before you start

  • Blitz Report is installed and you are signed in to a responsibility with access to the inventory organization and to WIP Material Transactions.
  • The work orders are discrete jobs, lot based jobs or maintenance work orders. Repetitive schedules are not supported and must be transacted in the form.
  • Each work order is at status Released or Complete. Material transactions are not allowed at any other status.
  • The transaction date falls in an open inventory period.
  • Normal item controls apply – a revision, lot number, serial number range or locator is required wherever the component item is under that control.

Step 1 – Set the parameters and download

In Blitz Report, open WIP Material Transaction Upload and set the download filters. The parameters narrow which component requirements come back – they do not restrict what you may transact.

ParameterPurpose
Upload ModeCreate, Update (default) downloads the component requirements so you can transact against them. Create gives you an empty sheet to type rows into yourself.
Organization CodeThe inventory organization. Defaults to your current one.
JobOptionally restrict to one or more work orders.
Job StatusOptionally restrict by work order status. Defaults to Released.
AssemblyOptionally restrict to work orders building a particular assembly.
ComponentOptionally restrict to requirements for a particular component item.
DepartmentOptionally restrict to requirements at operations in one department.
Date Required From / ToOptionally restrict by the requirement date. Date Required To defaults to Date Required From.
Open Requirements OnlyYes (default) returns only requirements that are not yet fully issued. Set it to No to see fully issued requirements as well, which is what you need when returning components.

Run the upload to download and open the Excel file.

Step 2 – Choose the rows you want to transact

Each row is one component requirement. The context columns are read-only and are there to help you decide: Job, Job Type, Job Status, Assembly, Component Description, Supply Type, Date Required, and the Required, Issued and Open Quantity.

Only rows where you enter a Transaction Type and a Quantity are transacted. Leave every other row untouched – there is no need to delete them.

Step 3 – Enter the transaction

  • Transaction TypeWIP Issue to issue components to the work order, WIP Return to return them to stores.
  • Quantity – always a positive number. The transaction type decides the direction, so a return is not entered as a negative quantity.
  • UOM, Subinventory and Locator – the stores side of the transaction. The supply subinventory and locator from the work order are already filled in; change them if you are issuing from somewhere else.
  • Operation Seq Num – the operation the component is issued to. Required for work orders that have a routing.
  • Revision, Lot Number, Lot Quantity, From / To Serial Number – required wherever the component item is revision, lot or serial controlled. The lot quantity must equal the transaction quantity.
  • Transaction Date – must fall in an open inventory period.
  • Reason and Transaction Reference – optional, and carried onto the transaction.
  • Source Project, Source Task, Expenditure Type and Expenditure Org – for project manufacturing.

Step 4 – Validate and Save

Click Validate and Save. This checks for missing required values and runs the upload’s own checks – work order type and status, the transaction type, the quantity, item control requirements, the operation, the department and subinventory, and whether the transaction date is in an open period. Correct anything it flags before continuing.

Step 5 – Upload and view the result

Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which processes each row independently. When it finishes, a result report opens showing each row as success or error with a message.

What’s produced

  • Real inventory material transactions against the work orders. Rows are staged in the inventory transaction interface and processed by the inventory transaction manager, so the transactions are identical to those the WIP Material Transactions form creates and relieve the work order requirement in the same way.
  • A result report listing every row with a status and a message – the transaction that was created, or the reason the row was rejected.

Common questions

Do I enter a negative quantity to return a component?
No. Always enter a positive quantity and set the Transaction Type to WIP Return. Entering a negative quantity is rejected.

Can I issue a component that is not on the work order bill?
Yes. Any transactable component item may be entered, exactly as the WIP Material Transactions form allows. The row is flagged in the result with “Component is not on the work order bill.” so that unintended entries are easy to spot.

Why is my work order not in the download?
Check the filters first – Job Status defaults to Released, and Open Requirements Only defaults to Yes, which hides requirements that are already fully issued. Also confirm the work order is a discrete job, lot based job or maintenance work order; repetitive schedules are not supported.

I want to return components but the rows are not there.
Set Open Requirements Only to No. A fully issued requirement has no open quantity left, so it is filtered out by default.

Can I return more than was issued?
No. The return quantity is checked against the quantity already issued to that component and the row is rejected if it exceeds it, which prevents driving the issued quantity negative.

What about non-WIP inventory transactions?
Use the INV Transaction Upload for miscellaneous issues and receipts, subinventory transfers and similar transactions.

Troubleshooting

MessageCauseWhat to do
Only discrete jobs, lot based jobs and maintenance work orders are supported. Repetitive schedules must be transacted in the form.The work order is a repetitive schedule.Transact repetitive schedules in the WIP Material Transactions form.
Material transactions are only allowed for work orders with status Released or Complete.The work order is at another status, such as Unreleased, On Hold, Complete – No Charges or Closed.Release the work order, or pick one that is already Released or Complete.
Transaction quantity must be greater than zero.The quantity is blank, zero or negative.Enter a positive quantity and let the Transaction Type set the direction.
Return quantity exceeds the quantity issued to this component.The return is larger than what has been issued to that component.Reduce the quantity to at most the issued quantity shown on the row.
Operation Sequence is required for work orders with a routing.The work order has a routing but no operation was entered.Enter the operation the component is issued to.
Operation does not exist on work order.The operation entered is not one of the work order’s operations.Use an operation from the work order – the downloaded rows already carry the right one.
Revision / Lot Number / From and To Serial Number / Locator is requiredThe component item is under that control and the value is missing.Enter the required value for that item.
The Lot Quantity does not match the Transaction Quantity.The lot quantity entered differs from the transaction quantity.Make the lot quantity equal the transaction quantity.
The Transaction Date does not fall in an open inventory period.The transaction date is in a closed or future period.Use a date within an open inventory period.
Component does not exist in organization.The component item is not defined in that inventory organization.Correct the component, or define it in the organization first.
select
null action_,
null status_,
null message_,
null modified_columns_,
to_number(null) source_line_id,
to_number(null) source_header_id,
ood.organization_code organization,
we.wip_entity_name job,
xxen_util.meaning(we.entity_type,'WIP_ENTITY',700) job_type,
xxen_util.meaning(wdj.status_type,'WIP_JOB_STATUS',700) job_status,
msiv_a.concatenated_segments assembly,
msiv_a.description assembly_description,
wro.operation_seq_num,
bd.department_code department,
msiv.concatenated_segments component,
msiv.description component_description,
xxen_util.meaning(wro.wip_supply_type,'WIP_SUPPLY',700) supply_type,
wro.date_required,
wro.required_quantity,
wro.quantity_issued,
wro.required_quantity-wro.quantity_issued open_quantity,
to_char(null) transaction_type,
to_number(null) quantity,
(select muomv.unit_of_measure from mtl_units_of_measure_vl muomv where msiv.primary_uom_code=muomv.uom_code) uom,
wro.supply_subinventory subinventory,
milk.concatenated_segments locator,
to_char(null) revision,
sysdate transaction_date,
to_char(null) reason,
cast(null as varchar2(240)) transaction_reference,
to_char(null) lot_number,
to_date(null) lot_expiration_date,
to_number(null) lot_quantity,
to_char(null) from_serial_number,
to_char(null) to_serial_number,
to_char(null) source_project,
to_char(null) source_task,
to_char(null) expenditure_type,
to_char(null) expenditure_org,
row_number() over (order by we.wip_entity_name, wro.operation_seq_num, msiv.concatenated_segments) upload_row
from
org_organization_definitions ood,
wip_entities we,
wip_discrete_jobs wdj,
wip_requirement_operations wro,
mtl_system_items_vl msiv,
mtl_system_items_vl msiv_a,
bom_departments bd,
mtl_item_locations_kfv milk
where
1=1 and
we.organization_id=ood.organization_id and
we.entity_type in (1,5,6) and
wdj.wip_entity_id=we.wip_entity_id and
wdj.organization_id=we.organization_id and
wro.wip_entity_id=we.wip_entity_id and
wro.organization_id=we.organization_id and
wro.repetitive_schedule_id is null and
msiv.inventory_item_id=wro.inventory_item_id and
msiv.organization_id=wro.organization_id and
msiv_a.inventory_item_id(+)=wdj.primary_item_id and
msiv_a.organization_id(+)=wdj.organization_id and
bd.department_id(+)=wro.department_id and
milk.inventory_location_id(+)=wro.supply_locator_id and
milk.organization_id(+)=wro.organization_id
Parameter NameSQL textValidation
Upload Mode
:p_upload_mode like '%' || xxen_upload.action_update
LOV
Organization Code
ood.organization_code=:organization_code
LOV
Job
we.wip_entity_name=:job
LOV
Job Status
wdj.status_type=:job_status
LOV
Assembly
msiv_a.concatenated_segments=:assembly
LOV
Component
msiv.concatenated_segments=:component
LOV
Department
bd.department_code=:department
LOV
Date Required From
wro.date_required>=:date_required_from
Date
Date Required To
wro.date_required<:date_required_to+1
Date
Open Requirements Only
wro.required_quantity>wro.quantity_issued
LOV