Note - this documentation has had portions deleted to allow it to fit within the text attachment
1.Functional Description
This function will find all bill of material records which are used as Subassemblies, Phantoms or 
Components for an given parent item. The function will be used in different modes. Usually this BSFN is 
called two times by an application. 
The first time it must be called in the 'First Item Mode'. Here all matching records are written to 
the User Index Table(F30UI008), the information is filled in the 'first-item-fields'.   
The second time it must be called in the 'Second Item Mode'. Now the information for all matching 
records is written in the 'second item fields' (F30UI008). Not existing records must be created, hereby 
the 'First Item Information Fields' are getting initialized.   
A second mode controls if 'all components' or only the 'first level components' should be written in 
the work files. 
1.1Purpose
This function will find all defined records for an given parent item-1 and will them write into in a 
work file. Then it will be called again and will write all found rows for item-2 in the same 
work-file. The calling application compares its content and shows either all records or only the records with 
different quantities (item-1/item-2) in the grid. Before the work file can be used all records for the 
current PC Identification and Job Number must be deleted. After all matching Bill of Material records 
are processed the pointer can be freed. In order to find the next matching Bill of Material record in 
the Multiple Level the BSFN B3000840 should be used. This BSFN provides N3001850 with both, the next 
vertical and the next horizontal component.
1.2Setup Notes and Prerequisites
The setup notes and prerequisites contains information that needs to be provided to the application 
developer to successfully use attach the business function.  Important prerequisite Business Functions 
that need to be run and any additional relevant information (what event points, limitations, data 
structure peculiarities) should be detailed.
 Use bullet points
1.3Special Logic
This function is called twice from the calling application (P30204). The first time it will be called 
with the information for 'item one'. For this item the work file must be cleared. After that all 
depending items of the Bill of Material File must be read (B3000840) and filled in the work file.
The second time it will be called with the information for 'item two'. All depending items of the 
Bill of Material must be filled in the work file. If one record already exists, the quantity gets added, 
otherwise a new record must be created.         
The work file is used by the calling information. 
2.Technical Specifications
2.4Processing 
 
1.0.If (BF LVSM = '1')
 Single Level
1.1Initialize Variables.
If  requested quantity is greater than 1
 VA Batch Quantity Extended=BF Qnty Required Standard
 VA Batch Quantity Extended=BF Batch 
 Quantity
 Endif
 
While RecordFlag = 1 and End of Vertical Branch not equal to 1
Data Structure of BSFN B3000840
Calculate extended quantity
F3002 Calculate Extended Quantity
 Endwhile
 
Do While End of BOM Structure is equal to '0'  and VA RecordFlag is equal to 1
VA Horizontal Record Found = 0
BF GetBOMStructureHorizontal
F3002 Calculate Extended Quantity
enddo
Endwhile
2.0else 
 VA End of Vertical Structure = '0'
 VA Horizontal Record Found = '0'
 Retieve all the records till the end of vertical branch is reached
Data Structure of BSFN B3000840
F3002 Calculate Extended Quantity
record 
vertical to explode it down.
Do While End of BOM Structure is equal to '0' and HorizontalRecord Found ='0'
3.2Exclude or include Subassemblies:
 endif
3.3Exclude or include phantoms:
 If BF Phantoms = 0
 and Child Stocking Type = 0
 exclude Phantoms 
 Skip Record
Work Center =  blank
If Parent Stocking Type  == 0
Use the Last Saved Parent Item (which is not a Phantom)Information and retrieve its 
5.0Fill Data in User Index Work File 
 Key:BF Job Number'e0 UI Job Number 
 BF PC-Identification'e0 UI PC-ID
 VA Work Center'e0 UI Business Unit
 (blank if summary by item)  
 VA Child Item 'e0 UI Item Number 
 Short 
 VA Child UM'e0 UI Unit of Measure
 
D3001850 - BOMGetComparisonRows
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | 
|---|---|---|---|---|
| cItemNumberFlag | FITM | char | NONE | NONE | 
| This flag is used in the Supplemental Database setup to determine whether the Item Number (Short) is used as a key field to supplemental 
 | ||||
| szParentBranch | MMCU | char | NONE | NONE | 
| A code that represents a high-level business unit. Use this code to refer to a branch or plant that might have departments or jobs, which 
 | ||||
| mnParentItemNumber | KIT | MATH_NUMERIC | NONE | NONE | 
| The system provides for three separate item numbers.
   1.   Item Number (short) - An eight-digit, computer assigned, completely 
 | ||||
| szUnitOfMeasure | UOM | char | NONE | NONE | 
| A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box). | ||||
| mnBatchQuantity | BQTY | MATH_NUMERIC | NONE | NONE | 
| The quantity of finished units that you expect this bill of material or routing to produce. You can specify varying quantities of components 
 | ||||
| jdAsOfDate | ASDE1 | JDEDATE | NONE | NONE | 
| The date used for effectivity checking. Enter a specific date to display documents (orders, bills of material, routings, as applicable) that are 
 | ||||
| cBillofMaterialLevelsDisplayed | LVSM | char | NONE | NONE | 
| Select the Levels of the Bill of Material that will be displayed. | ||||
| cTypeofComparison | TCOM | char | NONE | NONE | 
| Type type of comparison that will be performed in the Bill of Material or Parts List Comparison. | ||||
| cSubassembliesIncluded | SAYN | char | NONE | NONE | 
| This field controls whether or not subassemblies will be displayed in the Bill of Material Explosion. Valid values are:
   1   Yes, 
 | ||||
| cPhantomsIncluded | PHAN | char | NONE | NONE | 
| This field controls whether phantom items are displayed in a Bill of Material explosion. Valid values are:
   1   Yes, Phantom items are 
 | ||||
| szTypeBill | TBM | char | NONE | NONE | 
| A user defined code (40/TB) that designates the type of bill of material. You can define different types of bills of material for different uses. 
 | ||||
| mnJobnumberA | JOBS | MATH_NUMERIC | NONE | NONE | 
| The job number (work station ID) which executed the particular job. | ||||
| szComputerID | CTID | char | NONE | NONE | 
| szErrorMessageId | DTAI | char | NONE | NONE | 
| A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or 
 | ||||
| mnQtyRequiredStandard | QNTY | MATH_NUMERIC | NONE | NONE | 
| The number of units that the system applies to the transaction. | ||||
| None | 
| None |