btw; the default search is based on the pt_part. If you have a different bom you would define a pt_bom_code. In your situation the system would go and find the ps_mstr associated with the bom_code specified. If there is no valid product structure then the system need to report that there is no valid product structure.
Let's say there is an item where pt_part = "X", where pt_bom_code = blanc/empty.
And that there is a bom_mstr-record : "X".
So far I have the impression that MFG in that case finds, the ps_mstr-records under the "X" bom_mstr (so ps_par = "X"). Or am I wrong or is this maybe a customization?
If in the above mentioned MFG finds the ps_mstr-records..... let's say there is an item where pt_part = "X" and pt_bom_code = "Xy".
And that there are two bom_mstr-records : "X" and "Xy".
As far as I know now, the ps_mstr-records under the "Xy" bom_mstr (so ps_par = "Xy") are used.
However, if there are no longer valid ps_mstr-records for "Xy" (for example due to the end date), does MFG then find the bom_mstr-record and ps_mstr-records for "X" based on the pt_part? Or does MFG in that case find no longer a valid ps_mstr-record?
When you create a product structure the records are stored in the ps_mstr. If the parent part number is an actual part number then the system creates the bom_mstr. If the parent does not exist then you will get an error and you would need to go to 13.1 to create the bom_mstr.
Now on the part master planning screen (1.4.7) or if you use multiple sites 1.4.17, if the bom code field is blank then it searches for a bom_parent = pt_part (ptp_part). If the bom code is not blank then it searches for bom_parent = pt_bom_code (ptp_bom_code)
The bom itself is not date controlled. but the components on the bom are (ps_end). So when you run a program unless you specify a date it uses todays date and displays the bom based on that date.try running 13.8.1 and leave the date BLANK. you will see every version of the bom with start and stop dates
Like you mention : "Now on the part master planning screen (1.4.7) or if you use multiple sites 1.4.17, if the bom code field is blank then it searches for a bom_parent = pt_part (ptp_part). If the bom code is not blank then it searches for bom_parent = pt_bom_code (ptp_bom_code)"
If I put a value in pt_bom_code, but the ps_mstr-records are all overdue, does MFG than search the ps_mstr-table once more for records where ps_par = pt_part or does it then give no results because the pt_bom_code is not empty and there are no valid ps_mstr-records?
If there are no ps_mstr records within the start and end range for ps_par = pt_bom_code, I would not expect something like the work order process to then search for ps_mstr records for ps_par = pt_part. I think that is your question. To test, create a one component test structure (ps_end < today) and create a work order for a pt_part that has its own structure with and without the test strucutre listed as the BOM code.
Clear now : on creating a workorder for an item where pt_bom_code <> "" MFG searches for ps_mstr-records where ps_comp = pt_bom_code. If no valid ps_mstr-record is found, no lines are produced. MFG indeed does not subsequently search for valid ps_mstr-records where ps_comp = pt_part