You are on page 1of 27

ItemImportOverview

~~~~~~~~~~~~~~~~~~~~~~~~~
Usetheitemimportprocesstoimportitemsfromyourlegacy
systemorPDM
system.YoucanimportitemsfromanysourceintoOracle
InventoryandOracle
Engineering.WhenyouimportitemsthroughtheItemInterface,
youcreatenew
itemsinyourItemMasterorganizationorassignexistingitems
toadditional
organizations.Youcanspecifyvaluesforalltheitem
attributes,oryoucan
specifyjustafewattributesandlettheremainderdefaultor
remainNull.
Youcanalsospecifyanitemtemplateforeachitemandinherit
attribute
valuesfromthetemplate.TheItemInterfacealsoletsyouimport
revision
details,includingpastandfuturerevisionsandeffectivity
dates.
Validationofimporteditemsisdoneusingthesamerulesasthe
itemdefinition
forms,soyouareinsuredofvaliditems.
TheItemInterfacereadsdatafromtwotablesforimportingitems
anditem
details.YouusetheMTL_SYSTEMS_ITEM_INTERFACEtablefornew
itemnumbers
andallitemattributes.Thisisthemainiteminterfacetable,
andcanbe
theonlytableyouchoosetouse.Ifyouareimportingrevision
detailsfor
newitems,youcanusetheMTL_ITEM_REVISIONS_INTERFACEtable.A
thirdtable,
MTL_INTERFACE_ERRORS,isusedforerrortrackingofallitems
thattheItem
Interfacefails.Youcanimportitemcategoriesusinginterface
tablecalled
asMTL_ITEM_CATEGORIES_INTERFACE.
BeforeyouusetheItemInterface,youmustwriteandruna

customprogramthat
extractsiteminformationfromyoursourcesystemandinsertsit
intothe
MTL_SYSTEM_ITEM_INTERFACEtable,and(ifrevisiondetailis
included)the
MTL_ITEMS_REVISIONS_INTERFACEtable.Afteryouloadtheitems
intothese
interfacetables,youruntheItemInterfacetoimportthedata.
TheItem
Interfaceassignsdefaults,validatesdatayouinclude,andthen
importsthe
newitems.Youmayalsospecifyanitemtemplateforeachitem
beingimported.
YoumustimportitemsintotheItemMasterorganizationbefore
youimportitems
intoadditionalorganizations.Youcanaccomplishthisby
specifyingonlyyour
ItemMasterorganizationonfirstrunoftheItemInterface.Once
thishas
completed,youcanruntheItemInterfaceagain,thistime
specifyingan
additionalorallorganizations.YoucanalsousetheItem
Interfacetoimport
asingleitemmaterialcostandmaterialoverhead,andrevision
details.
Belowwewillwalkthroughfewscenariosofitemimport.

Scenario:1
~~~~~~~~~~~~~
Testingthebasicitemimportwithminimumcolumnspopulated.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Firstalwaystrytopopulatethemasterorganizationwitha
samplerecordand
test.
1.HowdoIknowmyorganizationcodeandorganizationid?
Selectorganization_code,organization_idfrom
org_organization_definitions
orderbyorganization_code;

Sampleoutputisbelow.
ORGORGANIZATION_ID

V1204
M1207
M2209
M3606
M41641
M51642
M61643
M71644
....
2.HowdoIknowwhichorganizationismastertoachild
organization?
selecta.organization_id
,a.organization_code,a.master_organization_id,
b.organization_code
frommtl_parametersa,org_organization_definitionsb
wherea.master_organization_id=b.organization_id
orderbya.organization_code;
Sampleoutputisbelow
ORGANIZATION_IDORGMASTER_ORGANIZATION_IDORG

204V1204V1
207M1204V1
209M2204V1
606M3204V1
1641M4204V1
1642M5204V1
1643M6204V1
1644M7204V1
.....
IntheaboveexamplefororganizationsM1toM7,V1organization
isthemasterorganization.
PopulatingV1organizationwithonenewitemusingjustthebasic
columns.

PleasetruncateallIOIinterfacetablesbeforeloading
mtl_system_items_interface:

ex.TRUNCATETABLE<tablename>
TRUNCATETABLEINV.MTL_SYSTEM_ITEMS_INTERFACE;
TRUNCATETABLEINV.MTL_INTERFACE_ERRORS;
TRUNCATETABLEINV.MTL_ITEM_REVISIONS_INTERFACE;
TRUNCATETABLEINV.MTL_ITEM_CATEGORIES_INTERFACE;
Note:Truncatefreesspace,deletedoesnotfreespace.
insertintomtl_system_items_interface
(process_flag,set_process_id,transaction_type,organization_id,
segment1,description)
values
(1,1,'CREATE',204,'TESTITEMIMPORT','TestingItemImport');
commit;
IntheaboveinsertProcess_Flag=1.Onlywhenprocess_flag=1
willtheitem
importprogramprocesstherecord.
Set_Process_Id=1.Youcansetwhichevernumberyouwantfor
thiscolumn.
Thisisbasicallyusedlikeabatchnumber.Youcantellitem
importwhichset
ofrecordstoprocessbyenteringaset_process_id.
Transaction_Typeis'CREATE'whenyouareinsertingnewrecords
and'UDATE'
whenyouareupdatingexistingrecords.
Weareusingorganization_id204whichisformasterorganization
V1.
Note:Ifyouhavemorethanonesegmentdefinedforitemsplease
populateall
thosesegments.
Tocheckwhichsegmentstobepopulatedpleasegotto
Setup>Flexfields>Key>Segments.Nowqueryup'SystemItems'
byputting
itinflexfieldtitle.
Selectsegmentsbutton,andnowyoushouldbeabletoseethe
different
segmentsbeingdefined.
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Now
enter1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas

completed
successfully.
Nowgotomasteritemsscreenandqueryon'TESTITEMIMPORT'the
itemthat
wehadpopulatedandyoushouldbeabletoseetheitem.
Similarlyyoucanimportthesameitemforthechild
organization.Eg.wewant
item'TESTITEMIMPORT'inorganizationM1saySeattle
manufacturingthenallI
havetodoisreplacetheorganization_idbyM1organization_id.
Nowtheinsert
statementwilllooklikethis.
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,description)
values
(1,1,'CREATE',207,'TESTITEMIMPORT','TestingItemImport');
commit;
Runtheitemimportwiththesameparametersandthencheckif
theconcurrent
requesthascompletedsuccessfully.
NowdoChangeOrganizationandgotoOrganizationItemscreenand
queryup
TESTITEMIMPORTandyoushouldbeabletoseetheiteminM1
organization.

Scenario:2
~~~~~~~~~~~~~
Toimportitemsanduseitemtemplates.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Toseealltemplatenamesrunthefollowingsql.
selecttemplate_id,template_name,descriptionfrom
MTL_ITEM_TEMPLATES;
Toseealltheattributesrelatedtotemplaterunthefollowing
sql.
selecttemplate_id,attribute_name,enabled_flag,report_user_value
fromMTL_ITEM_TEMPL_ATTRIBUTESwheretemplate_id=&template_id;
Pleasesubsitutethetemplateidfromthe1stqueryinthesecond
query
toseetheattributevalues.
InourexampleIamgoingtousePurchasingTemplate.

selecttemplate_id,template_name,description
fromMTL_ITEM_TEMPLATES
wheretemplate_id=259;

template_idtemplate_namedescription

259PurchasedItemPurchasedItem
Wearegoingtoinsertanewiteminthemasterorganizationand
usethe
purchasingtemplate.
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,
description,TEMPLATE_ID)
values
(1,1,'CREATE',204,'TESTTEMPLATE','TestingItemImportWith
Template',259);
commit;
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Nowenter
1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotomasteritemsscreenandqueryon'TESTTEMPLATE'the
itemthatwe
hadpopulatedandyoushouldbeabletoseetheitem.Nowyou
willseethat
thepurchasingattributesaresetbecauseweusedthepurchasing
template.
Note:Insteadofusingtemplate_idwecanusetemplate_nameand
youshould
seethesameeffect.
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,
description,TEMPLATE_NAME)
values
(1,1,'CREATE',204,'TESTTEMPLATE','TestingItemImportWith
Template',

'PurchasedItem');
commit;

Scenario:3
~~~~~~~~~~~~
Toimportitemsandmaterialcostassociatedtoit.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Firstcheckwhichcostelementsaredefinedfortheorganizaion.
selectcost_type_id,cost_type,descriptionfromCST_COST_TYPES;
Outputlookslikethis.
cost_type_idcost_typedescription

1FrozenFrozenStandardCostType
2AverageAverageCostType
3PendingPendingStandardCostType
.....
Tofindthesubelementnamedefinedforyourorganizationfora
particular
costtypepleasecheckbomresourcestable.
Inourexamplewearecheckingformaterialsubelementin
organizationM1
withorganization_id=207forcost_codetype1.
selectresource_code,description,cost_element_id,cost_code_type
frombom_resourceswhereorganization_id=207
andcost_code_type=1;
resource_codedescriptioncost_element_idcost_code_type

MaterialMaterialSubelement11
LaborLaborSubelement11
ExpenseExpenseSubelement11
InourscenariowewanttocreateanewiteminorganizationM1
alongwith
itsmaterialcost(say$11)assumingthesameitemisalready
createdin
masterorganizationV1.
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,

description,template_id,MATERIAL_COST,MATERIAL_SUB_ELEM)
values
(1,1,'CREATE',207,'TESTCOSTMATERIAL','TestingItemMaterialCost
Import',
259,11,'Material');
commit;
Intheabovesqlyoumighthaveobservedwearepopulating
MATERIAL_COSTand
MATERIAL_SUB_ELEM.
SimilarywecanuseMATERIAL_SUB_ELEM_ID,MATERIAL_OH_RATE,
MATERIAL_OH_SUB_ELEMandMATERIAL_OH_SUB_ELEM_IDcolums.
TocheckthesubelementsyoucangotoCostmanagement
responsibilityfor
yourorganizationandunderSetup>SubElementsyouwillseethe
respective
subelementsbeingdefined.
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.
Nowenter1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'TESTCOSTMATERIAL'the
itemthat
wehadpopulatedandyoushouldbeabletoseetheitem.
GotoTools>ItemCostsandthenhitOpenbuttonfromItemCost
Summaryscreen
andyoushouldseethedetails.Inoutexampleweseeamaterial
costof$11
fortheitemincosttype'Frozen'(StandardCosting).
NOTE:Itemimportcannotbeusedtoupdateitemcosts.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Youhavetopopulate
CST_ITEM_CST_DTLS_INTERFACE,CST_RESOURCE_COSTS_INTERFACE,
CST_RES_OVERHEADS_INTERFACEandCST_DEPT_OVERHEADS_INTERFACE
accordingly.
Theconcurrentrequestcanbelaunchedbynavigatingtocost
>costmass
edits>ImportCostInformation.
TheparametersfortheCostImportconcurrentprogramandtheir
descriptionis

asfollows:
ImportCostOption:ALOVisprovidedfromwhichtheusercan
selectoneof
theimportoptionswhichmaybeeithertoimportOnlyitem
costs,Only
resourcecosts,Onlyoverheadratesorallthecost
information.
OptionTablefromwhichdataisprocessed

Onlyitemcostcst_item_cst_dtls_interface
Onlyresourcecostscst_resource_costs_interface
Onlyoverheadratescst_res_overheads_interface,
cst_dept_overheads_interface
AllCostInformationFromallthefourinterfacetables
Modetorunthisrequest:ALOVisprovidedwithpossibletwo
values,'Insertnewcost'or'Removeandreplacecost'.
The'Insertnewcost'mode,isusefulifyouare
importinglarge#ofitemsandarenotsureifthat
Item/Organization/Cost
Typecombinationalreadyexistsintheproductiontables,ifit
doesthenthe
rowintheinterfacetablewouldbeflagedaserroredandnot
imported.This
wouldpreventanyaccidentaloverwriteofalreadyexistingdata.
With'Removeandreplacecost'modeallthe
previouscostinformationforthisitem,cost_typeand
organizationcombination
willbedeletedfromtheproductiontablesandthenew
informationwill
overwrite(replace)thealreadyexistingone.
GroupIdOption:ALOVisprovidedfromwhichtheusercan
either
select'ALL'or'SpecificGroupId'.Iftheuserwishesto
submitmultiple
CostImportprocessrequestshecandosobysubmittingone
requestpergroup
id.Fordoingsothedataintheinterfacetablesshouldbe
stampedwith
distinctgroupidvaluebyusingtheNEXTVALfromthesequence
generator
CST_LISTS_S.TheuseofthissequencegeneartorisaMUSTfor
generating

multiplegroupsormayleadtodatacorruptionastheseinterface
tablesare
usedbyotherprocessestoo.
Iftheuserselects"ALL"fromthelistthenagroupID
generatedbyasequencewillreplacethegroupIDinthe
interfacetables(if
any)andalltheunprocessedrowsfromthefourinterfacetable
(viz.
cst_item_cst_dtls_interface,cst_resource_costs_interface,
cst_res_overheads_interface,cst_dept_overheads_interface)will
beprocessed
inonerun.
Costtypetoimportto:TheuserisprovidedwithaLOVfrom
whichhe
needstoselectthecosttypeinwhichhewishestoimportthe
cost
information.Eveniftheuserhaspopulatedacosttypeorcost
typeIDinthe
interfacetables,itwouldbeoverwrittenwiththeonethatis
selectedhere.
Thecosttypesthattheusercanpickfromisrestrictedtothe
multiorg,
updateablecosttypes.
Deletesuccesfullrows:Thisparameterdecideswhetherthe
successfullyprocessedrowsshouldbedeletedfromtheinterface
tablesatthe
endoftherun.Iftheuserselects'Yes'thenallthesuccessful
rowsbe
deleted,basicallyrowsthatdonothavetheirerrorflagsetto
"E".
ImportingdirectlyintoFrozen/Averagecosttype(i.enon
updateablecosttypes)
andmergingofnewcostwithexistingcostsisnotsupportedat
thistimeand
wouldstillhavetobeprocessedbycostupdateroutines.Also
whenimporting
thecostsfromtheinterfacetable,materialoverheaddefaults
(ifany)
specifiedforanOrganization/Categorywouldnotberespected.

Minimumcolumnsineachtablethattheuserneedstoprovide

1.CST_ITEM_CST_DTLS_INTERFACE
Thecolumnsthattheuserhastoprovideare
a.Inventory_item_id
b.organization_IDororganization_code.
c.resource_IDorresource_codeforcostelementsotherthan
1(material).
Ifweareimportingcostintomaterialcostelementanddefault
material
subelementhasbeenspecifiedon'DefineOrganizationparameters'
form
thenthatwouldberespectedunlesstheuseroveridesitwitha
value
inthiscolumn.
d.usage_rate_or_amount
e.cost_element_IDorcost_element
f.ProcessFlag(mustbesetto1)
Wedefaultvaluesforbased_on_rollup,shrinkage_rate,
inventory_asset_flag,
lot_sizefromtherowfromCST_ITEM_COSTSforthisitemandthe
defaultcost
type(defaultcosttypeofthecosttypespecifiedtoimportthe
costsinto).If
thereisnosuchrowalreadydefinedinCST_ITEM_COSTS,then,the
valuesfor
these4columnsalsoneedtobespecifiedandtheyhavetobethe
sameforall
rowsofthisitem,costtypeandorganizationcombination.
CST_RESOURCE_COSTS_INTERFACE
a.Resource_IDorresource_code
b.organization_IDororganization_code
c.resource_rate
d.Process_flag(mustbesetto1)
CST_RES_OVERHEADS_INTERFACE
a.Resource_IDorresource_code
b.Overhead_IDoroverhead
c.Organization_IDororganization_code
d.Process_flag(mustbesetto1)
CST_DEPT_OVERHEADS_INTERFACE
a.Department_IDordepartment
b.Overhead_IDoroverhead
c.Organization_ID

d.Rate_or_amount
e.Process_flag(mustbesetto1)
Theothercolumnswillbedefaulted.
Thisisavailableforonly11.5.9andabovecustomers.
Customerson11.5.8canapplyPatch2193391togetthis
functionality.
PleaserefertocostingManualsforfurtherdetails.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Incaseyouhaveanyquestionspleaselogatarwithcosting
group.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^
Samplecostupdatestatementisbelow
INSERTINTOCST_ITEM_CST_DTLS_INTERFACE
(INVENTORY_ITEM_ID,ORGANIZATION_ID,COST_TYPE,RESOURCE_CODE,USAGE_
RATE_OR_AMOUNT,
COST_ELEMENT_ID,PROCESS_FLAG)
VALUES
(9935,207,'Pending','Material',17,1,1);
commit;
UsingthisIupdatethependingcostfortheitemfrom$11to
$17.
Nowoncethependingcostisupdatedyouwillhavetouse'Update
StandardCost'
ConcurrentprogramtoupdateFrozencostfortheitemfromthe
pendingcost.

Scenario:4
~~~~~~~~~~~~~~
Toimportitemandrevisionsassociatedtoit.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
WheneveryouimportanewitembasedontheStartingrevision
specifiedunder
'Revison/Lot/Serial'tabinorganizationparametersscreenthe
defaultrevison
getsassignedtotheitem.Foreg.thedefaultrevisioninV1
organizationis
'A'whenwedoitemimportthisrevisiongetsassociatedtothe

item.
Nowletsimportanewitemwithrevision'B'whichisnotthe
defaultrevision.
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,
description,REVISION)
values
(1,1,'CREATE',204,'TESTREVB1','TestingItemRevision','B');
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.
Nowenter1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'TESTREVB1'theitem
thatwe
hadpopulatedandyoushouldbeabletoseetheitem.
GotoTools>Revisionsandthenyoushouldbeabletoseetwo
recordsone
withrevision'A'whichisthedefaultrevisionandanotherwith
revision'B'
thatwehadpopulated.
Incaseyouwanttoimportanewrevisionsayrevision'C'.You
directly
populatetheMTL_ITEM_REVISIONS_INTERFACEtableandthenrunitem
import.
insertintoMTL_ITEM_REVISIONS_INTERFACE
(item_number,revision,revision_label,implementation_date,
effectivity_date,
process_flag,organization_id,set_process_id,transaction_type)
values
('TESTREVB1','C','C',sysdate,sysdate,1,204,1,'CREATE');
Commit;
Nowruntheitemimport.
InProcessSetenter1aswehadused1intheset_process_id
column.
Nowenter1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas

completed
successfully.
Whenyouqueryuptheitem'TESTREVB1'Youwillseethenew
revision'C'.

Scenario:5
~~~~~~~~~~~~~~
Letstakeintoconsiderationwehavetoimportmorethantwo
revisionsalong
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^
withitemcreation.Wewillbepopulating
MTL_ITEM_REVISIONS_INTERFACE.
ThekeypointhereistheIMPLEMENTATION_DATEshouldincrement
cronologically.

insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,
description)
values
(1,1,'CREATE',204,'TESTREVB2','TestingItemRevision');
insertintoMTL_ITEM_REVISIONS_INTERFACE
(item_number,revision,revision_label,implementation_date,
effectivity_date,
process_flag,organization_id,set_process_id,transaction_type)
values
('TESTREVB2','A','A',sysdate,sysdate,1,204,1,'CREATE');
insertintoMTL_ITEM_REVISIONS_INTERFACE
(item_number,revision,revision_label,implementation_date,
effectivity_date,
process_flag,organization_id,set_process_id,transaction_type)
values
('TESTREVB2','B','B',sysdate+.0003472,sysdate+.0003472,1,204,1,
'CREATE');

insertintoMTL_ITEM_REVISIONS_INTERFACE
(item_number,revision,revision_label,implementation_date,
effectivity_date,
process_flag,organization_id,set_process_id,transaction_type)

values
('TESTREVB2','C','C',sysdate+.0023472,sysdate+.0023472,1,204,1,
'CREATE');
COMMIT;
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Nowenter
1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'TESTREVB2'theitem
thatwehad
populatedandyoushouldbeabletoseetheitem.GotoTools>
Revisionsand
thenyoushouldbeabletoseethreerecordsonewithrevision
'A',
anotherwithrevision'B'andthethridoneis'C'thatwehad
populated.
Note:Wehavebeeninctementingtheminutessectionby
sysdate+.0003472
andsysdate+.0023472sothattheimplementationdateisin
cronologicalorder.
Scenario:6
~~~~~~~~~~~~~~~~
Letstakeintoconsiderationwehavetoimportitemcategories
alongwithitems.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
select
category_id,structure_id,segment1,description,category_concat_seg
s,
structure_name
frommtl_categories_v
wheresegment1='DAIRY'
orderbycategory_id,structure_id;
category_idstructure_idsegment1
descriptioncategory_concat_segsstructure_name

144051466DAIRY

DairyProductsDAIRYInventoryClass
186151467DAIRY
DairyProductsDAIRYPlanningClass
186951470DAIRY
DairyProductsDAIRYSalesClass
188651766DAIRY
DAIRYDAIRYGLProductLine
select
category_set_id,category_set_name,description,structure_name,
structure_id
frommtl_category_sets_vwherecategory_set_name='Inventory
Class';
category_set_idcategory_set_namedescriptionstructure_name
structure_id

90InventoryClassInventoryClassInventoryClass
51466
Inoutexamplewewanttousecategory'DAIRY'whichhasa
category_idof
1440andcategoryset'InventoryClass'whichhascategory_set_id
of90.
YoucangototheapplicationSetup>Items>Categories>
CategoryCodes
andusingexaminegetthecategoryid.
YoucangototheapplicationSetup>Items>Categories>
CategorySets
andusingexaminegetthecategorysetid.
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,
description)
values
(1,1,'CREATE',204,'TESTCATG1','TestingItemCategories');
insertintoMTL_ITEM_CATEGORIES_INTERFACE
(item_number,category_set_id,category_id,process_flag,
organization_id,
set_process_id,transaction_type)

values
('TESTCATG1',90,1440,1,204,1,'CREATE');
IntheaboveinsertstatementyoucoulduseCATEGORY_SET_NAMEand
CATEGORY_NAME
insteadofCATEGORY_SET_IDandCATEGORY_ID.
commit;
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.
Nowenter1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'TESTCATG1'theitem
thatwehad
populatedandyoushouldbeabletoseetheitem.GotoTools>
Categoriess
andthenyoushouldbeabletoseecategoryDairyassociatedto
theitem.
Toverifyyoucanrunthefollowingquery
Select*fromMTL_ITEM_CATEGORIESwhereinventory_item_idin
(selectdistinctinventory_item_idfrommtl_system_items_bwhere
segment1='TESTCATG1');
Itshowsonerecord.
NOTE:Populatingset_process_idismandatoryforcategories
import.Pleaseput
thesamesetprocessidwhenyouruntheimportprogram.
Updatingexsistingitemcategories:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Updatedtransactioncanonlybeperformedasacombinationof
DELETE
assignment,thenCREATE.
Letstakeouraboveexampleofitem'TESTCATG1'whichhasnow
category'DAIRY'
associatedwithit.Iwanttoupdatecategory'DAIRY'withanew
category
'BAKERY'whosecategory_idis1436foritem'TESTCATG1'.
insertintoMTL_ITEM_CATEGORIES_INTERFACE
(item_number,category_set_id,category_id,process_flag,
organization_id,

set_process_id,transaction_type)
values
('TESTCATG1',90,1440,1,204,1,'DELETE');
insertintoMTL_ITEM_CATEGORIES_INTERFACE
(item_number,category_set_id,category_id,process_flag,
organization_id,
set_process_id,transaction_type)
values
('TESTCATG1',90,1436,1,204,1,'CREATE');
commit;
Runitemimport.InProcessSetenter1aswehadused1inthe
set_process_id
column.Nowenter2increateorupdateitemsfieldasweare
updatingthe
exsistingitemandchangingitscategory.HitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Whenyouqueryupitem'TESTCATG1'andselectthecategoriesfrom
toolsyou
willfindthatthecategory'BAKERY'isnowasscoiatedwiththe
item.
Scenario:7
~~~~~~~~~~~~
Letstakeintoconsiderationwehavetoimportitemcatalogs
alongwithitems.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^
Inourexamplewewanttoasscoiate'ADSLModem'catalogtoour
item.
selectITEM_CATALOG_GROUP_ID,SEGMENT1from
MTL_ITEM_CATALOG_GROUPS_B
whereITEM_CATALOG_GROUP_ID=161;
ITEM_CATALOG_GROUP_IDSEGMENT1

161ADSLModem
select
ITEM_CATALOG_GROUP_ID,ELEMENT_NAME,ELEMENT_SEQUENCE,DESCRIPTION
frommtl_descriptive_elements

whereITEM_CATALOG_GROUP_ID=161;
ITEM_CATALOG_GROUP_IDELEMENT_NAMEELEMENT_SEQUENCEDESCRIPTION

1612wire102wire
161linksys20linksysdesc
insertintomtl_system_items_interface
(process_flag,set_process_id,
transaction_type,organization_id,segment1,
description,ITEM_CATALOG_GROUP_ID)
values
(1,1,'CREATE',204,'TESTCATA1','TestingItemCatalog',161);
commit;
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Nowenter
1increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'TESTCATA1'theitem
thatwehad
populatedandyoushouldbeabletoseetheitem.GotoTools>
Catalogs
andthenyoushouldbeabletosee'ADSLModem'alongwith
descriptive
elements'2wire'and'linksys'.In11.5.9youhavetomanually
enterthe
valuesfordescriptiveelements.In11.5.10APItoimport
descriptiveelement
valueswillbepresent.
Scenario:8
~~~~~~~~~~~~
Letsunderstandhowtoupdateexsistingitems.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LetssayIhaveanitem'ODC'whichhasnobuyercodeinSeattle
organization
(M1organizationcode).Iwanttoupdateandasscoiate'West,
Rod'asbuyer
totheitem'ODC'.
FirstIcheckunderSetup>Items>AttributeContoltocheckif

itcontrolled
attheorganizationlevelormasterlevel.Inourcasethe
attributeis
controlledattheOrgLevel.
NowwecheckifRodexistsinthelistofvalidbuyers.

selectagent_id,agent_name,start_date_active,end_date_active
fromPO_AGENTS_Vwhereagent_namelike'%Rod%';
agent_idagent_namestart_date_activeend_date_active

10183West,Rod17FEB04
selectinventory_item_idfrommtl_system_items_b
wheresegment1='ODC'
andorganization_id=207;
207organizationidisforM1(Seattleorganization)
INVENTORY_ITEM_ID

9372
Nowusetheabovevaluesintheinsertscript.
insertintomtl_system_items_interface
(process_flag,set_process_id,transaction_type,organization_id,
inventory_item_id,BUYER_ID)
values
(1,1,'UPDATE',207,9372,10183);
commit;
Nowyouwillobservethatthetransactiontypeis'UPDATE'
becauseweare
updatinganexistingrecord.Iamalsousinginventory_item_id
becausewhen
youuseid'stheperformanceisbetter.Andalsowhenrunningthe
itemimport
Iusevalue2increateorupdateitemsfield.
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Nowenter
2increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'ODC'iteminM1

organization.Under
purchasingtabyouwillseethatthebuyer'West,Rod'populated.
Scenario:9
~~~~~~~~~~~~~
Inthisscenarioyouwilllearnhowtopopulatecharacterand
numbercolumns
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^
andmakeitnull.
^^^^^^^^^^^^^^^^^
Justfromoutaboveexamplewehavebuyer'West,Rod'populated
foritem'ODC'.
NowforsomereasonwewanttomakenullforbuyerforitemODC.
Buyeridcolumnisanumbercolumn.Tomakeitnullwehaveto
populate999999.
insertintomtl_system_items_interface
(process_flag,set_process_id,transaction_type,organization_id,
inventory_item_id,BUYER_ID)
values
(1,1,'UPDATE',207,9372,999999);
commit;
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Nowenter
2increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'ODC'iteminM1
organization.
Underpurchasingtabyouwillseethatthebuyerfieldisupdated
tonull.
Supposeplanner'S.Peters'isasscoiatedtoitemODC.Youwantto
makeitnull.
PLANNER_CODEinmtl_system_items_interfaceisacharractertype.
Tomakeit
nullwehavetouse'!'.
insertintomtl_system_items_interface
(process_flag,set_process_id,transaction_type,organization_id,

inventory_item_id,PLANNER_CODE)
values
(1,1,'UPDATE',207,9372,'!');
commit;
Nowruntheitemimportprogramie.Item>Import>ImportItems.
InProcessSetenter1aswehadused1intheset_process_id
column.Nowenter
2increateorupdateitemsfieldandhitOKbutton.
Youcancheckviewrequeststocheckwhetheryourrequesthas
completed
successfully.
Nowgotoorganizationitemsandqueryon'ODC'iteminM1
organization.
Undergeneralplanningtabyouwillseethattheplanneris
updatedtonull.
Note:Tomakenumbercolumnsnulluse999999andtomake
charactercolumns

nulluse'!'exclamation.

FrequentlyAskedQuestions(FAQ):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.HowdoIknowwhaterrorhasoccurred?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ans.Theprocess_flaginmtl_system_items_interfacewillbe3.
Nowtheerror
messagewillbeinmtl_interface_errorstable.
Therecordinmtl_system_items_interfacewillhavea
transaction_id.
Therewillbecorrespondingrecordwitherrorcodeand
explanationin
mtl_interface_errors.
selecttransaction_idfrommtl_system_items_interfacewhere
process_flag=3;
Nowsubstituethe&transaction_idvalueinthefollowingsqlby
thevaluethat
yougetintheablovesql.Youshouldbeabletoseetheerror.
selectmessage_name,column_name,error_messagefrom
mtl_interface_errors
wheretransaction_id=&transaction_id;

b.WhatthingsshouldIcheckifIgettingerrors?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ans.Firstcheckifyouarepopulatingthecorrectvaluesinall
thefields.
Thencheckifthereareanymandatorydescriptiveflexfield
columns.Youcan
gotoapplicationsetup>flexfields>descriptive>segmentsand
onquery
type?Items?intitlefieldandthencheckeachsegmentwhether
itismandatory
andwhetheritisdoinganyvalidationagainstsomepreexisting
valuesin
somevalueset.Ifsocheckifthecorrespondingattributesare
populated
properly.Manytimesuserforgetstopopulatemandatoryvalues
anditemimport
fails.
Alsocheckforinvalidobjects
Selectobject_name,object_typefromall_objectswherestatus=
'INVALID';
Ifanyinvalidobjectspleaserecompilethoseandretestitem
import.
c.Irunitemimportbutrecordsarenotgettingprocessed.The
process_flag
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^
isstill1.
^^^^^^^^^^^
Ans.Checkundersysadmin>concurrentmanagerswhetherinventory
namager
isrunning.Thencheckifthereissuffcientmemoryandextent
spaces.
Usenotes1019721.6and1020085.6todetermineifthereisa
memoryor
extentsissue.Pleasecheckifthereissufficientrollback
segments,
systemglobalareaandtablespace.
Pleaseusethefollowingtruncate.Thisfreesupspace.
TRUNCATETABLEINV.MTL_SYSTEM_ITEMS_INTERFACE;
TRUNCATETABLEINV.MTL_INTERFACE_ERRORS;
TRUNCATETABLEINV.MTL_ITEM_REVISIONS_INTERFACE;
TRUNCATETABLEINV.MTL_ITEM_CATEGORIES_INTERFACE;

Nowtryimportingonerecordandseeifyouareabletoimportit
successfully.
IfyouseeORA1654happenswhileinsertingrecordsinto
mtl_pending_item_status
tableinthelogfile(01654,00000,"unabletoextendindex%s.
%sby%s
intablespace%s")pleaseuseALTERTABLESPACEADDDATAFILE
statementto
addoneormorefilestothetablespaceindicated.
d.WhatdoIdotocheckmoreintoerrorsandseewherethe
importisfailing?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
Ans.Fromsysdaminpleasesetthefollowingprofileoptions.
INV:DebugTrace:setYestoturnonthedebugfunctionality.
INV:DebugLevel:set10,toprintthedetaildebugmessages.
INV:Debugfile(Includingthecompletepath):
Thepathisoneofthedirectoriesfromthevalid
directoriesdefinedintheobtainedv$parameter
throughthefollowingsql:
selectvalue
fromv$parameter
wherename='utl_file_dir';
Makesuretoincludethefilenameattheendofthe
path,
e.g.'/<<directory>>/trx_mgr.log'
MRP:DebugMode'Yes'
2.AftersettingtheabovesystemprofilevaluesgotoSysadmin>
Concurrent>
Program>Define.Queryonshortname'INCOIN'.Nowcheckenable
traceandsave.
Nowruntheitemimportthelogfileofitemimportwillgive
moredetails.
Note:Alogfilemaynotbegeneratedinthedirectory,what
development
wantsistheconcurrentrequestlogfileaftertheabovesettings
aredone.
Toidentifythecorrecttracefilepleaserunthefollowingquery
selectrequest_id,oracle_process_id

fromfnd_concurrent_requests
whererequest_id=&request_id;
Pleasesubstitute&request_idbythecorrectrequestidfromthe
concurrentprogram.
Thetracefileinthetracedirectorywouldhavethenumberthat
yougetfororacle_process_idfromtheabovequeryasapartof
thefilename.
eg:iforacle_process_id=22771
Thefilecouldbeora22771.trc
e.11.5.9Itemimportissuesandpatchestobeapplied.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.CannotcreateitemsPatch3215473
2.INV_IOI_REV_BAD_ORDERerrormessageforrevisionsPatch
3226359
3.ItemimportfailswithnoerrormessagePatch3226359
4.Itemimportcompletesbutprocess_flag=4andset_process_id
=999
Patch3226359
5.IfduplicaterecordsforonemasterIOIdoesnotimportchild
recsfor
othermasterrecords.Theerrormessagethatyouwillgetis
"ThisChild
ItemhasnoMasterItemrecordinMTL_SYSTEM_ITEMS"Patch
3474468

f.Listofdocumentsrequiredwhileloggingataronitemimport.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.Dumpofrecordsinall4interfacetables(inexcelspread
sheetincluding
columnheaders)MTL_SYSTEM_ITEMS_INTERFACE,MTL_INTERFACE_ERRORS,
MTL_ITEM_REVISIONS_INTERFACEandMTL_ITEM_CATEGORIES_INTERFACE
beforerunning
importandafterrunningimport.
2.OutputofBOMCHECK.sql(SeeNote244145.1)
3.RawTrace,Tkprofoftraceandlogfilesafterdoingsettings
recommendedin
sectiond(WhatdoIdotocheckmoreintoerrorsandseewhere
theimportisfailing?)above.
4.VersionofINCOINfromtheserver.
G.Someexamplesoferrorsandwhatitmightmean
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

a.
Sometimesusersareunabletoimportitemstochild
organization.Theymight
geterror
DEFAULT_INCLUDE_IN_ROLLUP_FLAG,INVENTORY_ITEM_STATUS_CODE,
INVENTORY_PLANNING_CODE,PLANNER_CODE,PLANNING_MAKE_BUY_CODE,
FIXED_LOT_MULTIPLIER,ROUNDING_CONTROL_TYPE,CARRYING_COST
Checkthecorrespondingattributevalues.
IfplannercodeissetatMasterlevelpleasemakeit
organizationlevel.
(Ref.OracleInventoryUserGuidepg552GeneralPlanning
AttributeGroup)
"PlannerCodeThisattributeiscontrolledattheOrganization
levelonly."
b.
SometimesusersmightgetMESSAGENAME:BOM_PARSE_ITEM_ERROR
or
MESSAGENAME:INV_IOI_ERR
ERRORMESSAGE:***BADRETURNCODEb***
Pleasedothefollowing
1)Pleaseseethatsetup>Receiving>(PurchasingandReceiving)
setupsarecomplete.
2)PleaseautoextendallMTLTablesandMTLIndexes.
3)PleaseautoextendTableSpace.
4)ReLinkallInventorylibraries.RelinkINCOIN.o.
5)CompileallInventoryKeyFlexFields.
6)Compileallinvalidobjects.
7)PleasecheckallINVprofileoptionsareset.
8)Nowtruncatetheinterfacetablesandpopulateitwithfew
records
andrunimport.Theerrorshouldgo.
H.IsthereanAPIforItemcreationandupdation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INV_ITEM_GRP.Create_itemForcreatingtheitems
INV_ITEM_GRP.Update_itemForupdatingtheitems
(FordetailsoncallingonthisAPIcheckfileINVGITMB.pls)
filein/invdev/inv/11.5/patch/115/sql
Oruse
EGO_ITEM_PUB.Process_itemForcreating/updatingitems
(FordetailsoncallingonthisAPIcheckfileEGOPITMB.pls)
filein/egodev/ego/11.5/patch/115/sql

Usefulreferences:
^^^^^^^^^^^^^^^^^^^^^^^
RefertonoteNote170590.1
HowtoUseItemOpenInterface(IOI)toImportItemCategory
Assignments
RefertonoteNote109628.1
FAQforItemImport
RefertonoteNote221911.1
HowToImportCatalogDescriptiveValuesDuringItemCatalog
Import
UpdatingItemsusingOpenInterface
OracleManufacturingAPIsandOpenInterfaceManual

You might also like