Professional Documents
Culture Documents
and
Engineering
Training Labs
February 27, 2007 11:04 AM
Authors:
Anthony Shahen
Richard Coleman
Oracle Corporation2007
The following labs are designed to illustrate basic functionality within the Oracle Bills of
Material and Oracle Engineering applications as well as some of the more advanced
topics that may not be well documented or require a fair amount of setup. The labs build
upon each other so they usually must be completed in order.
Some labs utilize provided SQL scripts. The scripts can be used as a starting point for
developing more advanced versions. These are provided in a single ZIP file that is
included as an attachment of MetaLink Note 416802.1. Unzip the file to a location that
can be accessed via SQL*Plus or SQL Developer.
Note: It is recommended that you install Workflow Builder in a new oracle home. Not doing this
may cause your existing oracle home to stop functioning properly. Change the Destination Name to
a new oracle home name. Change the Destination Path as needed. Click the Next button when
complete.
1. Use the following table to create engineering items. When prompted for an Organization, use the M1-
Seattle Manufacturing organization. After you create the items, be sure to assign the items to the Seattle
organization.
Note: Substitute your unique initials anywhere you see ## or XX in the labs that follow.
2. Using the Item Search form, search for all of your items.
(N) Engineering > Prototypes > Items > Item Search
Go to the Item Mask field and type ##% (where ## are your unique initials)
Click on Find
Close the window, click on the Clear button, and acknowledge the warning.
Bills created in this lab are used throughout the remaining labs.
2. Create a new BOM for ##2011 by copying from ##2010. Then, add component ##3031 for 20 pieces and
disable ##3030 for 20 pieces.
6. Create an alternate BOM for item ##2010 using the alternate name ##Sub. Disable your ##3010 and add
another persons ##3010 in your alternate BOM.
(N) Engineering > Prototypes > Bills > Bills
Enter in your item ##2010, then from a LOV in the alternate field, choose your ##Sub.
Copy from your BOM ##2010. (Refer to the previous steps for copying BOMs.)
Disable the part ##3010, and add another individuals part ##3010. (Refer to the previous steps for adding and
disabling BOM components.)
7. Enable items ##2010, ##3010, ##3020, and ##3030 in the M2 Boston Manufacturing organization.
Copy ##2010s BOM from the M1 Seattle Manufacturing organization.
(See if you can remember the steps for completing these objectives; if you need help, ask your instructor or refer
to previous lab exercises.)
Remember that you will have to change your current organization from Seattle to Boston before you will be able
to create the BOM for that item.
Why is this so?____________________
What was the result of the BOM copy to M2?________________________________
8. Perform a loop check (change back to the M1 Org) on the BOM for item ##1000.
(N) Engineering > Prototypes > Bills > Bills
(M:) >Tools, Check for loops
Do not close the record when you have finished checking for loops.
Use the inventory_item_id from the above query to find the bill of material data:
SELECT *
FROM bom_bill_of_materials
WHERE assembly_item_id = &inventory_item_id
AND organization_id = &organization_id;
Use the bill_sequence_id from the above query to find the bill component data:
SELECT *
FROM bom_inventory_components
WHERE bill_sequence_id = &bill_sequence_id;
1. Create a department class code ##PCMFG with description PC Manufacturing Department Class.
(N) BOM > Setup > Department Classes
2. Create resources using the following table (## represents your unique initials):
(N) Engineering > Prototypes > Routings > Resources
UOM: HR
Charge Type: WIP Move
Default Basis: Item
Costed: Yes
Standard Rate: Yes
Absorption Account: Use any account number
Variance Account: Use any account number
Overheads: Do not enter anything
Resource Costs: Use a price of $45.00 @ Frozen cost.
Class: ##PCMFG
Shared: No
Available 24 hrs.: No
Assigned Shifts: 1
UOM: Hr.
Schedule: Yes
UOM: Hr.
Schedule: Yes
UOM: Hr.
Schedule: Yes
select
ITEM_NUMBER,
LEAD_TIME_LOT_SIZE,
CUM_MANUFACTURING_LEAD_TIME,
CUMULATIVE_TOTAL_LEAD_TIME,
FIXED_LEAD_TIME,
VARIABLE_LEAD_TIME,
POSTPROCESSING_LEAD_TIME,
PREPROCESSING_LEAD_TIME,
FULL_LEAD_TIME
from
mtl_item_flexfields
where item_number in ('##1000', '##1040', '##2010', '##1010',
'##1020', '##1030', '##2020', '##2030',
'##2050', '##3010', '##3020', '##3030',
'##3040')
and organization_id = 207
order by item_number;
a. Enter lead times for your buy items using the following table:
b. Enter lot sizes of 10 pieces for items ##1000, ##1040, and ##2010.
3. View fixed, variable and processing lead times for items ##2010, ##1040, and ##1000.
(N) Engineering > Prototypes > Items > Organization Items (Lead Times tab)
This lab illustrates how to transfer prototype bills, items and routings from Engineering to Manufacturing.
! ##-1000 - Check the Item on the first transfer, the Bill on the second and finally the Routing on the third transfer.
(to enhance your understanding of the processes involved, do the various inquiries after each transfer to see what
has happened in the system).
! ##-1040 - Check Item, Bill and Routing, then transfer.
! ##-2010 - Check Item, Bill and Routing, then transfer.
! Verify your transfers by using the following inquiries and indicate whether you can see the changes by circling
Yes or No.
Bills
1. BOM: Bills#Bills Yes No
2. ENG: Prototype#Bills#Bills Yes No
3. ENG: Prototype#Bills#Indented Bills Yes No
4. BOM: Bills#Indented Bills Yes No
Routings
1. BOM: Routings#Routings Yes No
2. ENG: Prototypes# Routings#Routings Yes No
Items
1. INV: Items#Item Information Yes No
2. ENG: Prototypes#Items#View Item Details Yes No
3. INV: Items#Organization Items Yes No
4. ENG: Prototypes#Items#Organization Items Yes No
5. INV: Items#Master Items Yes No
6. ENG: Prototypes#Items#Master Items Yes No
(M) > Tools > Build (This enables the calendar to be functional)
Note: If you used your initials to name your calendar, use the enter query / run query option to find your
calendar
1. Locate the folder you where you unzipped the lab SQL scripts and access the BMCOIN subfolder (see
Introduction).
2. Edit BMCOIN_Create_Bill.sql and update the section as shown to reflect the items you created in Lab 1:
------------------------------------------------------------------
-- Change these as needed
define PARENT_ITEM = '##6200'
define COMPONENT_ITEM1 = '##6210'
define COMPONENT_ITEM2 = '##6220'
define COMPONENT_ITEM3 = '##6230'
define ORG_CODE = 'M1'
define USER_NAME = 'YOUR_USER_NAME'
------------------------------------------------------------------
3. Start SQL*Plus
4. Run BMCOIN_Create_Bill.sql
This inserts 1 record into the BOM_BILL_OF_MTLS_INTERFACE table (the parent) and 3 component records
into the BOM_INVENTORY_COMPS_INTERFACE table.
7. Edit BMCOIN_Update_Bill.sql and update the section as shown to reflect the items you created in Lab 1:
------------------------------------------------------------------
-- Change these as needed
define PARENT_ITEM = '##6200'
define COMPONENT_ITEM = '##6230'
define ORG_CODE = 'M1'
define USER_NAME = 'YOUR_USER_NAME'
define COMPONENT_EFFECTIVITY_DATE = 'XX-MAY-2006 00:00:00' -- must match exactly
------------------------------------------------------------------
8. Start SQL*Plus
9. Run BMCOIN_Update_Bill.sql
This inserts 1 component record into the BOM_INVENTORY_COMPS_INTERFACE table to change the
1. Locate the folder you where you unzipped the lab SQL scripts and access the BOMBO subfolder (see
Introduction).
2. Edit BOMBO_Create.sql and update the section as shown to reflect the items you created in Lab 1:
------------------------------------------------------------------
-- Change these as needed
define ORG_CODE = 'M1'
define PARENT_ITEM = '##6101'
define COMPONENT_ITEM_1 = '##6110'
define COMPONENT_ITEM_2 = '##6120'
define ALTERNATE_BOM_CODE = ''
------------------------------------------------------------------
3. Start SQL*Plus
4. Run BOMBO_Create.sql
The script calls the BOM Business Object to create a single alternate bill with 2 components.
5. When the script runs successfully, edit the script and uncomment the following line so the bill will be
created permanently.
--commit; -- uncomment this if you want to commit the change...leave commented for testing
7. Edit BOMBO_Update.sql and update the section as shown to reflect the bill you created above:
------------------------------------------------------------------
define ORG_CODE = 'M1'
define PARENT_ITEM = '##6101'
define COMPONENT_ITEM = '##6110'
define OPERATION_SEQ_NUM = 60;
-- When updating, Start_Effective_Date needs to be set
-- to the EXACT effectivity date of the component
define START_EFFECTIVE_DATE = 'DD-MON-YYYY HH:MI:SS'
define ALTERNATE_BOM_CODE = ''
define QUANTITY_PER_ASSEMBLY = 99
8. Start SQL*Plus
9. Run BOMBO_Update.sql
The script calls to BOM Business Object to update one component of the alternate bill created above. It changes
the quantity to 99.
10. When the script runs successfully, edit the script and uncomment the following line so the bill will be
created permanently.
1. Locate the folder you where you unzipped the lab SQL scripts and access the ECOBO subfolder (see
Introduction).
Name Description
runall.bat Run to process all (Windows)
runall.sh Run to process all (UNIX)
runall.sql Called by runall.bat or runall.sh to run all SQL scripts
DefineParameters.sql Define the processing variables to pass to the your custom procedure.
LoadProcedure.sql Defines and loads a custom procedure which (when called) will:
read the BOM and ENG interface tables data (loaded next)
load the interface data into ECO API table variables
call the ECO API to process the data
LoadData(Create).sql Loads data into the BOM and ENG interface tables. This example utilizes the
BOM and ENG interface tables to store the data being imported.
CallProcedure.sql Calls your custom procedure loaded by LoadProcedure.sql
DisplayEco.sql Displays the created ECO
-- **************************************************************************
-- *** CHANGE THESE VALUES AS NEEDED **
-- **************************************************************************
-- Identity
define v_user_name = '########' -- your application user name
define v_initials = '###' -- your initials
define v_resp_name = 'Manufacturing and Distribution Manager'
define v_today = trunc(SYSDATE)
define v_prog_appid = NULL
-- ECO header
define v_eco_name = '#########'; -- ECO name
define v_org_code = 'M1' -- 3 letter code of the org to create ECO in
define v_change_type = '###-Type' -- ECO change type
define v_priority = '' -- ECO priority
define v_hierarchy = ''
-- Reference Designator
define v_reference_designator = '' -- reference designator
-- Control
define v_commit = 'FALSE'; -- should successful ECO be commited?
4. Edit runall.bat.
Change the SQLPLUSW.EXE path in the batch file to match the location of the file on your PC.
5. Run runall.bat.
This batch file calls runall.sql that in turn calls all necessary sql scripts necessary to call the API. If it fails,
examine the debug output file and spool output file (runall.txt) to determine the cause. Make corrections as
needed and rerun until successful. The debug file exists on the celalnx23 server in /usr/tmp (see the complete
name of the file in the spool output file and on the screen).
6. When the script runs successfully, edit the DefineParameters.sql and change the v_commit parameter to
TRUE. This will allow the scripts to commit the ECO when successful.
1. Locate the folder you where you unzipped the lab SQL scripts and access the Explode_Bill subfolder (see
Introduction).
2. Start SQL*Plus
3. Run Exploder_Userexit.sql
Enter an organization_code and item name at the prompt.
1. Locate the folder you where you unzipped the lab SQL scripts and access the Implode_Bill subfolder (see
Introduction).
2. Start SQL*Plus
3. Run Exploder_Userexit.sql
Enter an organization_code and item name at the prompt.
1. Locate the folder you where you unzipped the lab SQL scripts and access the Export_Bill and Export_RTG
subfolders (see Introduction).
2. Start SQL*Plus
1. Create item ##2510 by copying from ##2010. You will have to do this in the Inventory Master item form since
you transferred ##2010 to manufacturing.
(N) Inventory > Items > Master Items
Assign the item to Organization M1
2. Create a bill for item ##2510 by copying the components from bill ##2010.
(N) Bills of Material > Bills > Bills
Enter the item name then choose Tools > Copy Bill From to copy bill ##2010
ECO Name: Your choice or tab through and accept the system default
Type: Prod Chg
4. View bill ##2510 note the pending change (hint: use Future and Current and uncheck the Implemented Only
checkbox)
(N) Bills of Material > Bills > Bills
5. Now go back to the ECO form and Implement the ECO (Tools > Implement)
1. Create an HR employee for yourself and associate with your application user name.
Your user account must be associated with a valid HR employee account in order to use alerts and workflow. The
employee record must also have a valid email address. You want to create your own unique employee record since
associating 2 apps user names to the same employee record can cause problems in workflow. Use the following to
do this if you have not already done so. You will need the Human Resources, Vision Enterprises responsibility.
4. Create an ECO for item xx-2010 to increase the quantity for item xx-3040 to a quantity of 25
(N) Engineering > ECOs > ECOs
If no organization has been set, choose the M1 - Seattle Manufacturing organization.
With the cursor in the ECO field, tab to accept the ECO auto number.
Set ECO Type to Prod Chg (Product change).
Tab out of the ECO Type field and the creation date will populate and the Status will default to Open.
Enter your user name as the Requestor
Note: Requestor is a required field when using the ECO Approval alert. If one is not entered, the Alert will not be
sent.
8. Confirm that email is received at the email address specified for your employee.
Observe that the requestor name in the email is the same as that specified on the ECO.
Most organizations have some form of approval process before engineering change orders (ECOs) are implemented.
By using Oracle Workflow, the approval process can be customized to meet each organizations needs.
When Workflow is in control of the approval process, the ECO approval status is set to Approval Requested. Before the
approval status is changed, the workflow approval process can be aborted.
Workflow manages the approval process until the entire approval flow is complete. Only then is the ECO approval
status updated to either Approved or Rejected. If an error occurs during the Workflow approval process, the approval
status is set to Processing Error.
One workflow process, named Standard Approval Process," is predefined when Engineering is installed, regardless of
whether or not the entire Oracle Workflow product is installed. If the entire Workflow product is installed, you can
modify this process or create new processes.
If you use the Standard Workflow Process, you must assign a role to the Standard Approval Notification" activity.
Otherwise, the process will fail. If the Workflow product is not fully installed, you can alter only the Standard Approval
Process.
3. Create an ECO Type that includes the 'Standard Approval Process' as its workflow process.
Attach the Standard Approval Process for each priority you want to use.
(N) Engineering> Setup > Change Types
Enter a unique change type, ###-Type
Uncheck the Engineering Also flag to indicate this change type can be used in both manufacturing and
engineering.
Enter a description for the change order type.
To associate this ECO type with a Workflow process, click the Processes button.
In the Priority column, choose 'Standard' from the list of values.
In the Process column, choose 'Standard Approval Process' from the list of values.
Save.
Start > All Programs > Oracle - Home > Application Development > Oracle Workflow Builder (your path may
vary).
In the workflow navigator, click the open file icon, which launches the Open window.
Click the Database radio button and enter the following:
User = apps
Password = apps
Connect = visinv02
Click OK, which opens the 'Show Item Types' window. This may take a few minutes.
In the 'Show Item Types' window, choose 'ECO Approval' from the Hidden column list of values.
Click the double arrow button to move the 'ECO Approval' to the Visible column.
Click OK, which will load the 'ECO Approval' Item Type. This may also take a few minutes.
Double click the Standard Approval Notification icon to display the activity properties.
In the Navigator Control Properties window, click the Node tab.
Confirm the Performer values Item Attribute for Type, and Approval List Name for Value.
The package ENG_WORKFLOW_API_PKG contains the procedures and functions for the ECO Approval Workflow
and is created by file engwkfwb.pls. The ECO Approval Workflow Notification Process that is seeded in Release 11
and 11.5 Embedded Oracle Applications does the following:
Get ECO Attributes * This activity, which is seeded by the Oracle Engineering product, sets pre-defined ECO
attributes that can be used by this item type.
* Gets the data from Eng_Engineering_Changes for the ECO Number (Change_Notice),
Organization Id (Org_id).
Standard Approval * This is the standard ECO Approval Notification seeded for Oracle Engineering.
* Sends the Notification with the ECO Attributes collected above to the individuals in the
Approval List using Workflow Notification Mailer.
If Approved:
Set MRP to Active * This function sets MRP Active to Yes for all "Open" or "Scheduled" revised items
belonging to the ECO.
* Updates Mrp_Active to 1 (Yes) in Eng_Revised_Items for Change_Notice, Org_Id and
having a Status_Type of 1 (Open) or 4 (Scheduled).
Approve ECO * This function sets the ECO's Approval Status to "Approved", sets the Approval Date to
the current date and sets all "Open" revised items belonging to this ECO to Scheduled".
* Updates Approval_Status_Type to 5 (Approved) and Approve_Date to Sysdate in
Eng_Engineering_Changes table for Change_Notice, Org_Id.
* Updates Status_Type = 4 (Scheduled) in Eng_Revised_Items table for Change_Notice,
Org_Id.
If Rejected:
Set MRP to Inactive * This function sets MRP Active to No for all "Open" or "Scheduled" revised items
belonging to the ECO.
* Updates Mrp_Active to 2 (No) in Eng_Revised_Items for Change_Notice, Org_Id and
having a status_type of 1 (Open) or 4 (Scheduled).
Reject ECO * This function sets the ECO's Approval Status to "Rejected" and clears out the Approval
Date.
* Updates Approval_Status_Type to 4 (Rejected) and Approval_Date to NULL in
Eng_Engineering_Changes for Change_Notice, Org_Id.
Section III Create the ECO and Launch the Workflow Process
NOTE:
Once submitted, you cannot change the ECO.
You can abort the approval by selecting the Special Menu option and Abort Approval.
When you abort, you can then make changes and resubmit.
NOTE:
Notifications are sent when using the Standard Approval Process.
Emails are only sent when using the Voting Approval Process.
SELECT
p.PLANNER_CODE,
p.DESCRIPTION,
p.ELECTRONIC_MAIL_ADDRESS,
p.DISABLE_DATE,
p.ORGANIZATION_ID,
p.EMPLOYEE_ID,
E.FULL_NAME
FROM
MTL_PLANNERS p,
HR_EMPLOYEES e,
MTL_PARAMETERS mp
WHERE
mp.organization_code = 'M1' and
mp.organization_id = p.organization_id and
p.employee_id = e.employee_id
ORDER BY planner_code;
Back in the MRP Names form, with the cursor in your plan name field, click the Launch button to launch the
concurrent process. Accept the default Parameter values for the concurrent request and click the submit button.
SELECT
compile_designator mrp_plan_name,
organization_id orgid,
organization_code org,
inventory_item_id item_id,
planner_code planner,
inventory_use_up_date use_up_date,
description item_description
FROM
mrp_system_items
WHERE
compile_designator = '&MRP_PLAN_NAME';
At this point, you should see 2 lines, one for the top assembly and one for the component.
Make note of the component inventory_use_up_date: ______________________________________
In the Revised Items form, enter your assembly item ##-FG1000 as the revised item.
The Effectivity Date will default to sysdate.
Save.
This should match the use up date seen in the query of the MRP_SYSTEM_ITEMS table.
1. Verify that the ECO Use Up Approval alert is defined and enabled.
(N) Alert Manager, Vision Enterprises > Alert > Define
Query Application = Engineering
Name = ECO Use Up Alert
Confirm that the Enabled box is checked.
Adding the organization codes sets the default used by the Alert Select Statement.
1. Reduce on-hand quantity in order to change the MRP component use up date.
Change Organizations to M1 Seattle Manufacturing organization.
(N) Mfg and Distribution Manager > Inventory > Transactions > Miscellaneous Transactions
Perform Miscellaneous Issue transaction for a quantity of 40 for item ##-Useup Component 1 from Subinvenory
Stores.
Confirm On-hand quantity is decreased by 40.
Current On-hand quantity should now be 20.
View Requests to confirm all processes complete normal. All processes must complete normal prior to the next
step. You cannot confirm MRP demand until all processes have completed.
Select *
From MRP_SYSTEM_ITEMS
Where COMPILE_DESIGNATOR = &MRP_Plan_Name;
At this point, you should see 3 lines, one for the top assembly and one for each component.
Why are there now 3 lines?