BOM Problem
Hi,
I am running into a strange problem in the BOM form. I put an effective end date of today for a component but when I post production, it still relieves the item from inventory.
Also, out of four component items for this particular FG, all but one are relieved and this is the one without an effective end date.
Please HELP!!!!
A/A
Hi,
What do you mean by when I post production, is it job completion or job creation?
If it is job completion then it depends on when the job is created the BOM must have been different (no end date for the component)
If it is job creation after the bill is changed to have a component effective till today, then it is technically not in-effective right?
Thanks
Karthik.
Similar Messages
-
Variant Configuration - Order BOM problems
Good morning,
I am having problems regarding the Order BOM in variant configuration. I have maintained the configuration profile as follows:
CONFIG PARAMETERS
Ordem BOM
Result oriented
Multilevel
BOM application - SD01
ORDER BOM
Maint. in order allowed - checked
Automatic fixing - checked
I have also maintained a BOM, for usage '5 - sales and distriburion', with the selection conditions at the object dependencies.
When I test the results in CU50, assign all characteristics and push the button "Engineering" the icons for manual maintenance appear correctly in the screen...BUT when I raise the actual order, the icons are gone, therefore I cant add or delete items of the selected BOM.
Any ideias of how to fix that?
Thanks in advance.
Adriano CardosoNote 303446
Note 901452
composite Note 774346
Please refer to above notes. Hope it helps
Regards
Sai -
Alternative BOM problem in MRP run
Hello Experts,
We have two BOM for one material.Now I want to use BOM-1 for MRP run & BOM-2 for subcontracting.I have maintined following settings.
1) Production version.
2) BOM explosion selection method in MRP4 -2
3) Assign PV in inforecord for subcontracting.
4) Assign PV in MD61 in schedule line .
But when I run MRP it still consider subcontracting BOM.Have I missed any setting?
Kindly guide.Thanks you.Hi, Follow the below process,
1.Enter the BOM selection method as 2 in the MRP4 view of the material master.
2.In case if you have not assigned the production version in MD61 against the PIR's under schedule line
tab key (in the top menu click on settings and prod version ,then you can assign the prod version which
you need to pick during the MRP run),the system always picksup the first production version during
MRP run even if all the prod versions contains the same validity dates and lot sizes.
3.If you are not willing to assign the prod version in MD61 ,but the system should consider the second
prod version for MRP run means,then set the locked status for the first prod.version.
4.When run MRP via MD02 or MD50 in the simulation mode.(i.e w/o giving tick in simulation mode).
Click on Save,You will get a pop screen,
Now click on the continue icon, Then go to Plaining Results: Individual lines screen.where you will get Plan order on which when double click you will get pop screen below,where you have Planned order no,quantity,plant,storage location,and version.
Now here you can select the required version,and it will become firmed. This BOM will be used in the order now. Try it. -
LSMW for datatransfer of BOM; problem with effectivitydate on itemlevel
Dear Guru's,
We try to create BOM's with the LSMW tool standard batch/ direct input, object 0030, method 0001.
It works fine, except for the effectivitydate on itemlevel. I just can't find the necessary fields (DATUB and DATUV) to populate for this!
Any ideas how to solve this?
Thanks!!
Best regards, AJHi,
You can find effectivity date fields in header structure BICSK - Batch Input Structure for BOM Header Data
BICSK-DATUB Valid to date (BTCI)
BICSK-DATUV Valid-From Date (BTCI)
For Items, date values flows from header. -
Customized function Module BOM Problems
Hi,
i have created New function Module as copy of of
IDOC_INPUT_BOMMAT .
now i need to do some customizations in the new function module
like
1.calculating validity dates by using function module
CC_CHANGE_NUMBER_READ
This is required for:
Valid from date Change Ref - ZE1CHNGNR-ZCHFROM
Valid to date Change Ref - ZE1CHNGNR-ZCHTO
Current Year Change Ref - ZE1CHNGNR-ZCHCURR a new customized extended segment
How to do this
Please help meIn function module "IDOC_INPUT_BOMMAT" there is a subroutine
move and convert data from idoc to application internal tables
perform idoc_to_bom_itabs tables idoc_data
idoc_contrl.
that transfers all the data in IDOC to internal tables.I think after this you have to write your code and modify BOM internal tables in the program. you can find all the BOM internal tables in the include "LCSDSTOP". I have never done this. Please try and see whether this will work for you.
Thanks. -
BOM: Problem using CS_BOM_EXPL_MAT_V2 - URGENT!!!
hai friends,
i am using CS_BOM_EXPL_MAT_V2 fn module in my code. when i pass mtnrv = 'GK02PB.05SBIS' , i did' get any output from the above fn module. but other than the above value like mtnrv = 'OSA875CCWOF' ,i am getting output.
thanks in advance,
With regards,
senthil kumar.rHi senthil,
1. I suppose u want to explode the BOM.
2. CS_BOM_EXPLOSION
use the above FM
in the below mentioned fashion.
3.
CALL FUNCTION 'CS_BOM_EXPLOSION'
EXPORTING
capid = 'PP01'
emeng = bmeng
datuv = sy-datum
mtnrv = matnr
stlan = '1'
werks = werks
mehrs = 'X'
IMPORTING
TOPEQUI =
TOPMAT =
TOPTPL =
DSTST =
TABLES
stbd = stbd
stbe = stbe
stbk = stbk
stbm = stbm
stbp = stbp
stbt = stbt
EXCEPTIONS
alt_not_found = 1
call_invalid = 2
missing_authorization = 3
no_bom_found = 4
no_plant_data = 5
no_suitable_bom_found = 6
object_not_found = 7
conversion_error = 8
OTHERS = 9
regards,
amit m. -
Related to BOM (Problem with dates)
When I am comparing the demands on the Header material they are not in synch with the dates for the component material
for Information : Header material ABC is having demands for 100 materials
as 1:1 ratio component material should also have demands for 100 materials
my question is "Dates for the component material is not synchronized with Header material"?
Please send reply if any body knows.I manually rebalanced the orders by changing the leadtime and then updating the PO. Bottom line is that we keep seeing PO's that are not in balance with the due date on the service side and the due date on the mfg side.
why some orders become inbalanced.
Please help in this. -
Can I use sessions to solve a problem?
I have a set of three pages called say "pick", "edit" and "confirm". The edit page is on one of a set of 5 spry tabbed panels.The server is unix and the machine uses windows 64 bit and CS5.5.
Pick uses a drop down list to select an item to edit. It then sends the record index to the edit page where it is edited.
Edit then updates the page and sends the user to the confirm page where he told that the edit was OK and is given a link that takes him back to the edit page.
So far everything works fine - the record is edited and the user knows it. But he needs to be able to check it, and that's the problem..
While this link does send the user back to the previous page, it does not send any info as to which record it should pull out.
I have tried to store the value of the record index in a session, but just cannot get it to be available ion the confirm page.
As soon as I enter <?php session_start() ?> on line 1 of any page, I get the message :
Warning: Cannot modify header information - headers already sent on line 1 on the pick page and line 62 on the edit page as soon as a button is pressed, or, in the case of the edit page, as soon as live View is active.
This line is where the page is directed to the next page using a stock Dreamweaver udate record behaviour.:
$updateGoTo = "editok.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}header(sprintf("Location: %s", $updateGoTo)); // This is line 62.
I have checked all the lines for white space, made sure that the instruction is on line 1 and have no include files other than connection files, all with no white space. Matters not whether I put them before or after the session start instruction.
I even created a new page with just a form and a field to send and this gives the same message - this was not on a spry panel..
PHP ini has the path to sessions set up, and sessions are visible there.
I get the feeling that the tabbed panels could be part of the problem, as when the user lands on the edit page, he has to select the second panel, so some output must have been sent to the browser.and that would kill the session I think?
Is there a way of passing the info from page to page without using sessions?Thanks Burak - I was aware of the bom problem.
Bregent - I think that I found the problem. I was using a set of 5 spry tabs with a form on each and trying to update them one at a time. To get to any of the forms, I had to open a tab, so I assume that the browser generated some output and that was why I had problems with the sessions.
So I found out how to set up the tabs within the same form, which meant that I could edit all 5 pages at one go, and only post them on the last one. I got the idea from a post on the spry forum which links to a page containing code which does this at
http://www.soleproductions.com/oakley/tabform.php
With some slight modification, this gave me a better solution with no need for sessions.
This still left the problem of passing the edit page location to the confirm page. Its such a long time since I have used parameters that I had forgotten them.
However, a little modification to the update record server behaviour enabled me to pass the correct value from the $_POST array to the confirm page.
Like so:
From this:
$updateGoTo = "editok.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}header(sprintf("Location: %s", $updateGoTo));
To this:
$updateGoTo = "editok.php?pick=" . $_POST['club_index'] . "";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $updateGoTo));
Using this code there was no problem with "headers already sent."
None of the info is particularly sensitive.
Thanks for the interest.
Howard Walker -
BOM validity dates........
Hi there,
When a new alternative BOM is created ......the vaild to date of the item level is comming same as the vaild from date.........
As my understanding the valid from date is same as the change number date but from where SAP picks the valid to date..........
Please succor me .........
Thanks
KaushikHi
Actually BOM item from date comes as todays date
and Valid from date come default as 31/12/9999
And ECN to change BOM.
If u change BOM and change change number and try to delete item in BOM
problem occurs to date of validity.
Hope ths helps
Please reward points
Sunil -
BOM (Byte Order Mark) on Notepad?
I have a BOM problem in trying to finish 8.1. I did an "@a" and this is what occurs "after C:\test>".
Renee
"MODERN PROGRAMMING is deficient in elementary ways BECAUSE of problems INTRODUCED by MODERN PROGRAMMING." MeHi Renee,
Thanks for your sharing on this issue.
Kate Li
TechNet Community Support -
Hello, I have a challenge figuring out a BOM problem. I have two tables, one that holds the parent - child relation, and one that holds information about the products. What I need is a substract of the complete BOM. I'm only interested in the parts that exists in the tmp_parts table. The result of the query should "jump over" the parts that are not in the tmp_parts table. So based on the initial tables:
create table tmp_bom (parent varchar2(256), child varchar2(256));
create table tmp_parts (part varchar2(256))
insert into tmp_bom(parent, child) values('A','B');
insert into tmp_bom(parent, child) values('A','C');
insert into tmp_bom(parent, child) values('C','D');
insert into tmp_parts(part) values('A');
insert into tmp_parts(part) values('B');
insert into tmp_parts(part) values('D');
The result of the query should be:
A,B
A,D
...because C is not in the tmp_parts table, D should be a child of A instead of C.
Anyone having an idea of achieving this?
- PaulHi, Paul,
user1754603 wrote:
Thank you for your reply.
Sorry, I forgot to inform about the Oracle version, which is 10g (10.2.0.4.0).
I wanted to have the output as a table, just like the format in the tmp_bom table, except that the parts not in tmp_parts should be left out. I see!
The query I posted on Wednesday gave this output:
PATH
A,B
A,Dbut you want this instead:
PARENT CHILD
A B
A DThat illustrates why posting formatted results, between \ tags, is such a good idea.
So based on your query, I wrote this:
SELECT CASE WHEN parent NOT IN (SELECT * FROM tmp_parts) THEN real_parent ELSE parent END parent, child
FROM (SELECT REGEXP_REPLACE (SYS_CONNECT_BY_PATH (p.part, ','), '.*(\w),?$', '\1') real_parent, b.parent, b.child
FROM tmp_bom b, tmp_parts p
WHERE b.parent = p.part(+) AND child IN (SELECT part FROM tmp_parts)
START WITH b.parent NOT IN (SELECT child FROM tmp_bom)
CONNECT BY b.parent = PRIOR b.child)This might not be the smoothest way to query, so any suggestions on making it better is of course appreciated :)
- PaulAnother approach is to do a bottom-up query, where you start with the all the children that you want in the result set, and use CONNECT BY to find their ancestors. You can stop as soon as you find one that is in the tmp_parts table; that's what the condition "CONNECT BY ... p.part IS NULL" does.SELECT DISTINCT b.parent
, CONNECT_BY_ROOT b.child AS child
FROM tmp_bom b
LEFT OUTER JOIN tmp_parts p ON b.child = p.part
WHERE CONNECT_BY_ISLEAF = 1
START WITH p.part IS NOT NULL
CONNECT BY b.child = PRIOR b.parent
AND p.part IS NULL
I suspect this will be faster, since it avoids the sub-query in the START WITH clause (in fact, it avoids sub-queries altogether, where the query you posted uses 4 of them), stops the CONNECT BY as soon as possible, and doesn't need regular expressions. -
Update GrossPrice in Sales Document using XML
Hi, experts:
I want to update SaleOrder via DI Server. The document is based on GrossPrice. So fileds like Price, UnitPrice, DiscountPercent, LineTotal are not post to DI Server. Here is my Xml:
<?xml version="1.0"?>
<BOM xmlns="http://www.sap.com/SBO/DIS">
<BO>
<AdmInfo>
<Object>oOrders</Object>
</AdmInfo>
<QueryParams>
<DocEntry>3524</DocEntry>
</QueryParams>
<Documents>
<row>
<DocTotal>1100</DocTotal>
</row>
</Documents>
<Document_Lines>
<row>
<LineNum />
<ItemCode />
<ItemDescription />
<Quantity>2</Quantity>
<ShipDate />
<Price />
<PriceAfterVAT>200</PriceAfterVAT>
<Currency />
</row>
</Document_Lines>
<Document_LinesAdditionalExpenses>...</Document_LinesAdditionalExpenses>
<WithholdingTaxLines>...</WithholdingTaxLines>
<SerialNumbers>...</SerialNumbers>
<BatchNumbers>...</BatchNumbers>
<DocumentsAdditionalExpenses>...</DocumentsAdditionalExpenses>
<WithholdingTaxData>...</WithholdingTaxData>
<Document_SpecialLines>...</Document_SpecialLines>
<TaxExtension>...</TaxExtension>
</BO>
</BOM>
Problem happens when I post this Xml to DI server. With the updating of GrossPrice, I got a discount too. The NetPrice failed to Change with the GrossPrice. I am working under 2007B PL10, which is said to have fixed this bug. Something wrong with my Xml? or how can I prepare my Xml?Verner, thank you. I modified my Xml and only PriceAfVat in document_line was posted to DI server. But the discount in document_line still comes out. As you can see in the Xml, all other fields not shown here are left blank in the xml :
<BOM xmlns="http://www.sap.com/SBO/DIS">
<BO>
<AdmInfo>
<Object>oOrders</Object>
</AdmInfo>
<QueryParams>
<DocEntry>3516</DocEntry>
</QueryParams>
<Document_Lines>
<row>
<PriceAfterVAT>650</PriceAfterVAT>
Still waiting for the answer... -
Update records from a table in correct sequence that look from 2 tables and loop
Hi!
My question title is kinda unclear but here how it goes.
I created 2 tables for my BOM (Bill of Materials). I have BOM_Header and BOM_Detail.
Below are my sample data.
BOM_Header
Product_ID Int
Product_Name Varchar(50)
Cost Numeric(18,2)
Yield Varchar(50)
Select * from BOM_Header
1 Choco Cake 850.00 10
2 Mixed Flour 700.00 30
3 Choco Syrup 160.00 10
4 Egg Formula 2150.00 20
BOM_Detail
Product_ID int
ItemNo Int
ItemName varchar(50)
Quantity int
Unit varchar(50)
ProdCost numeric(18,2)
Select * from BOM_Detail
1 2 Mixed Four 10 Grams 15.00
1 3 Choco Syrup 20 ML 25.00
1 4 Egg Formula 20 Grams 10.00
2 101 Flour 5 packs 80.00
2 4 Egg Formula 5 Grams 60.00
3 201 Cocoa Power 2 kg 20.00
3 202 Sugar 2 kg 60.00
4 301 Whole Egg 10 pcs 85.00
4 302 EP12 Formula 25 ml 52.00
My computation is below.
BOM_Header = a
BOM_Detail = b
a.Cost = b.Quantity x b.Product Cost where a.Product_ID = b.Product_ID
My problem is how can I automatically compute their Food Cost in sequence from raw materials to finished products.
Based on the data, I need to compute first the Egg Formula because it is used as component of Mixed Flour then compute the Mixed Flour and other component to get the cost of Choco Cake.
How can I do this automatically in query to look first in detail if there are ingredients within a sub - ingredients then compute before computing the final cost of the Product.
This is because cost of ingredients are changing most of the time and need to recalculate to get the most updated cost.
Any suggestion is very much appreciated.
Thank you very much,
Regem>> My question title is kinda unclear but here how it goes. <<
Then your answers will be unclear, too :(
You do not know data modeling, so your data types are wrong. What math are you doing with the product_id? None. This is why identifiers are char(n) and not numeric. They should be industry standards if possible. I like the GTIN.
You do not even know that rows are not records.
Why is the product name fifty characters? Certainly not research! But if you are an ACCESS programmer using a default vale, then you might do this.
Besides violating ISO-11179 rules, “<vague>_field” makes no sense! It is a quantity that you put in a string.
CREATE TABLE BOM_Header
(gtin CHAR(15) NOT NULL PRIMARY KEY,
product_name VARCHAR(25) NOT NULL
unit_cost DECIMAL(18,2) NOT NULL
CHECK ( unit_cost >= 0.0.),
yield_qty INTEGER NOT NULL
CHECK (yield_qty >= 0));
>> Any suggestion is very much appreciated. <<
Get a copy of my book on TREES in SQL and read the chapter on BOM problems. I am not goingto try to post a whole chaper and diagrams to answer this. You are doing the wrong things and have done them poorly.
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
Problem in cs61 sales order bom
Dear sir
i created sale order for item 100 x matrial and item 200 y material ,sales order no 1234.for this sales
order i want to create sales order bom by cs61 . when i create this the system should allows item 100 for x matrial and item 200 for y material for same sales order . but if i give material y for item 100 and material x for .200also the system allowing to create the sales order bom.this will effict the bom .
so system should not allow to create the sales order bom when i give wrong material to item .
pl give me correct solution for above problem
regrds
BaswaBaswa,
when you create sales order BOM through CS61 its all together new BOM specialy meant for that sales order - material combination.
To create it you can take referance of Material BOM , but there is no such functionality to restrict the componet changes or quantity changes.
The CS61 its self is meant for creating customer specific BOM , which can be all together different from Material BOM. as in many business its required that , we need to modify our existing BOM on customer request to incorporate that customer specific changes. For all other things standard BOM is there in system and its not affected by this new customer specific BOM.
If you need further help , discribe your need of creation of sales order BOM.
Hope it helps you.
Regards
Ritesh -
Dear Experts,
I have problem with delivery with BOM
The steps are:
1. I create Sale Order with BOM A (which consist of material AA 1 PC, AB 1 PC and AC 1 PC) 75 ST
So Sale order shows:
Item Material Qty Unit
10 A 75 ST
20 AA 75 PC
30 AB 75 PC
40 AC 75 PC
2. I create Delivery reference sale order from 1 so Delivery will be:
Item Material Qty Unit
10 A 75 ST
20 AA 75 PC
30 AB 75 PC
40 AC 75 PC
But I want to delivery only 25 ST so I change quantity in Item 10 from 75 to 25 but the system show:
Item Material Qty Unit
10 A 25 ST
20 AA 25 PC
30 AB 25.004 PC
40 AC 25 PC
What happen with Item 30 why system determine to 25.004. Please help meHi,
if you want change the item quanty like TAP or TAN plz goto VOV7 select TAP Item category under bill of material/configuration Maintainstructure scope A and application SD01 put the check mark for *manual alternativs and same to TAN also
Your Itemcategory determination should be IN VOV4
QT-LUMF--TAP
QT-NORM-TAP-AGN
If your using BOM item categories is showing gray mode only.
regards,
sreenivas
Maybe you are looking for
-
Call an RFC from a PC (C++ program)
Hello, I would like to call an RFC Function from a PC program. (The PC program is writen in C++.) I am experienced in ABAP coding and in SE37, but for PC programming, I would confess to be a "rookie". I know that I will have to learn a lot, but I do
-
Hello All, I am trying to make my 3G USB dongle work with my macbook pro early 2011 . When starting the application D-link Mobile Connmgr it seems that the window for entering the pin code doesn't show up. I found with google a pdf http://www.dlinktw
-
If you are preparing for PMP certification exam
for anyone who prepare for PMP exam you should visit this site www.pmvirt.com it contains a great free exams and other resources.
-
Excluding task(s) from SPI or CPI Calculations
Is there a mechanism to exclude task(s) from being included in the SPI/CPI calculations? The reason why I am asking this is we want to exclude a couple level of effort tasks from counting for or against the SPI/CPI. Thanks, Cheryl
-
Generate Posting Date for Payroll Periods"
Hi all, What is the relevance of "Generate Posting Date for Payroll Periods" ? table T549S Rx