UTF-8 "no BOM" with URLLoader

How can I pull this off? The XML file is structured perfectly
but it's encoded with no Byte Order Marker. I really just wish I
could load the file in as binary and re-encode it so that it could
be properly parsed and used with EX4.
Any help would be awesome.

"visualstylee" <[email protected]> wrote in
message
news:gchf81$nea$[email protected]..
> yes, that is true. If I saved it. I'm trying to read a
file that is
> generated by safari.
>
> History.plist
>
> it's just XML but without BOM
Read it in as a string and add the BOM, then convert it to
XML...?

Similar Messages

  • Required output File In UTF -8 NO BOM format

    Hi,
    I am Working with Idoc to File scenario.
    Where the some of the data for the file will be in Chiniese.
    So i used the file encoding parameters as GB18030 in file reciever.
    But the legacy system to get process the format of the file should be UTF -8 NO BOM format.
    So what encoding parameter should be used to get the output file in UTF -8 NO BOM and chiniese format.
    Regards,
    Manoj

    this might be helfulll check........
    Under File Encoding, specify a code page.
    The default setting is to use the system code page that is specific to the configuration of the installed operating system. The file content is converted to the UTF-8 code page before it is sent.
    Permitted values for the code page are the existing Charsets of the Java runtime. According to the SUN specification for the Java runtime, at least the following standard character sets must be supported:
    &#9632; US-ASCII
    Seven-bit ASCII, also known as ISO646-US, or Basic Latin block of the Unicode character set
    &#9632; ISO-8859-1
    ISO character set for Western European languages (Latin Alphabet No. 1), also known as ISO-LATIN-1
    &#9632; UTF-8
    8-bit Unicode character format
    &#9632; UTF-16BE
    16-bit Unicode character format, big-endian byte order
    &#9632; UTF-16LE
    16-bit Unicode character format, little-endian byte order
    &#9632; UTF-16
    16-bit Unicode character format, byte order
    More at - http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm

  • Need to produce all webhelp files as UTF-8 No BOM - RH-7 does not do that.

    RoboHelp 7 seems to produce some HTML files  and javascript files (*.js) in ANSI European encoding. My company needs all the webhelp code to be UTF-8 no BOM. The webhelp is managed through Perforce.
    I tried on my own to use FAR 4.3 to change the encoding from ANSI to UTF-8 no BOM for all of my htm and js webhelp files for a particular webhelp – I used Auto-detect using BOM signature. FAR changed the files to UTF-8 with BOM. I tried to turn off the BOM by converting with Assume UTF-8 if no BOM signature – that did not work at all (FAR assumed all files were already UTF-8 and did not convert them).
    Is there some way to change this in RoboHelp 7? Can RoboHelp 9 solve this problem?
    If not, is there a post webhelp production solution that can convert all the webhelp in one “batch?”

    UTF-8 was introduced in RoboHelp 8 but I don't think the BOM can be avoided.
    RoboHelp 9 allows you to choose your encoding but the UTF-8 option is Unicode (UTF-8). There is also a Unicode option but it's outside my area to know if that is what you want.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Comparing  prices for a BOM with selling and distribution price

    Good day
    I have been working on a query to bring information for  a crystal report required by a client they want to compare the finished BOM with the selling price or distribution price of that BOM. I am not understanding a scenario where this BOM is sold to a particular BP price will definitely vary with BP depending on the terms and special prices. Can anyone help me enhance my query  to have valuable results.
    SELECT
    Distinct T0.Father AS [BOM Product N0.],
    T0.Code AS [BOM Item Component],
    T2.ItemName AS [BOM  Description],
    T0.Quantity AS [Component Qty],
    T0.Price AS [Comp Cost],
    (Select (t3.Factor * t0.Price * t0.Quantity)
    from OPLN t3
    where t3.ListName =  '1.selling price' ) [Selling Price],
    (Select (t3.Factor * t0.Price * t0.Quantity)
    from OPLN t3
    where t3.ListName =  '3.distPriceList' ) [Distribution Price],
    T0.PriceList AS [Comp Price List],
    T1.ListName AS [Price List Name],
    T2.AvgPrice
    FROM ITT1 T0
    INNER JOIN OPLN T1
    ON T0.PriceList = T1.ListNum
    INNER JOIN OITM T2
    ON T0.Code = T2.ItemCode
    Where T2.ItmsGrpCod NOT IN (101,110,105)

    Hi,
    Special price is in OSPP / SPP1 /SPP2 tables. Check the table to find the link.
    Thanks,
    Gordon

  • While trying to change a BOM with transaction CS02, a runtime error appears

    While trying to change a BOM with transaction CS02, a runtime error appears.
    In intial screen he entered material ,plant BOM usage and date valid from  after executed then id displayed item list in that he wantu2019s delete one item, he has been deleted selected item after that when he was saving he is getting runtime error
    Developer trace
    ABAP Program SAPLKED1_WRITE_CE4_BPS1                 .
    Source LKED1_WRITE_CE4_BPS1U01                  Line 30.
    Error Code SAPSQL_ARRAY_INSERT_DUPREC.
    Module  $Id: //bas/640_REL/src/krn/runt/absapsql.c#17 $ SAP.
    Function HandleRsqlErrors Line 775.
    RABAX: level LEV_RX_STDERR completed.
    RABAX: level LEV_RX_RFC_ERROR entered.
    RABAX: level LEV_RX_RFC_ERROR completed.
    RABAX: level LEV_RX_RFC_CLOSE entered.
    RABAX: level LEV_RX_RFC_CLOSE completed.
    RABAX: level LEV_RX_IMC_ERROR entered.
    RABAX: level LEV_RX_IMC_ERROR completed.
    RABAX: level LEV_RX_DATASET_CLOSE entered.
    RABAX: level LEV_RX_DATASET_CLOSE completed.
    RABAX: level LEV_RX_RESET_SHMLOCKS entered.
    RABAX: level LEV_RX_RESET_SHMLOCKS completed.
    RABAX: level LEV_RX_ERROR_SAVE entered.
    RABAX: level LEV_RX_ERROR_SAVE completed.
    RABAX: level LEV_RX_ERROR_TPDA entered.
    RABAX: level LEV_RX_ERROR_TPDA completed.
    RABAX: level LEV_RX_PXA_RELEASE_RUDI entered.
    RABAX: level LEV_RX_PXA_RELEASE_RUDI completed.
    RABAX: level LEV_RX_LIVE_CACHE_CLEANUP entered.
    RABAX: level LEV_RX_LIVE_CACHE_CLEANUP completed.
    RABAX: level LEV_RX_END entered.
    RABAX: level LEV_RX_END completed.
    RABAX: end RX_RFC
    In sm21
    Perform rollback
    Run-time error "SAPSQL_ARRAY_INSERT_DUPREC" occurred
         Short dump "090618 110101 donalda 11557 " generated
    Runtime Error          SAPSQL_ARRAY_INSERT_DUPREC
    Exception              CX_SY_OPEN_SQL_DB
           Occurred on     18.06.2009 at   11:01:01
    The ABAP/4 Open SQL array insert results in duplicate database records.
    What happened?
    Error in ABAP application program.
    The current ABAP program "SAPLKED1_WRITE_CE4_BPS1" had to be terminated because
    one of the
    statements could not be executed.
    This is probably due to an error in the ABAP program.
    What can you do?
    Print out the error message (using the "Print" function)
    and make a note of the actions and input that caused the
    error.
    To resolve the problem, contact your SAP system administrator.
    You can use transaction ST22 (ABAP Dump Analysis) to view and administer
    termination messages, especially those beyond their normal deletion
    date.
    Error analysis
    An exception occurred. This exception is dealt with in more detail below
    . The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was
    neither
    caught nor passed along using a RAISING clause, in the procedure
    "RKE_WRITE_CE4__BPS1" "(FUNCTION)"
    Since the caller of the procedure could not have expected this exception
    to occur, the running program was terminated.
    The reason for the exception is:
    If you use an ABAP/4 Open SQL array insert to insert a record in
    the database and that record already exists with the same key,
    this results in a termination.
    (With an ABAP/4 Open SQL single record insert in the same error
    situation, processing does not terminate, but SY-SUBRC is set to 4.)
    How to correct the error
    The exception must either be prevented, caught within the procedure
    "RKE_WRITE_CE4__BPS1"
    "(FUNCTION)", or declared in the procedure's RAISING clause.
    To prevent the exception, note the following:
    Use an ABAP/4 Open SQL array insert only if you are sure that none of
    the records passed already exists in the database.
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    "SAPSQL_ARRAY_INSERT_DUPREC" CX_SY_OPEN_SQL_DBC
    "SAPLKED1_WRITE_CE4_BPS1" or "LKED1_WRITE_CE4_BPS1U01"
    "RKE_WRITE_CE4__BPS1"
    If you cannot solve the problem yourself, please send the
    following documents to SAP:
    1. A hard copy print describing the problem.
       To obtain this, select the "Print" function on the current screen.
    2. A suitable hardcopy prinout of the system log.
       To obtain this, call the system log with Transaction SM21
       and select the "Print" function to print out the relevant
       part.
    3. If the programs are your own programs or modified SAP programs,
       supply the source code.
       To do this, you can either use the "PRINT" command in the editor or
       print the programs using the report RSINCL00.
    4. Details regarding the conditions under which the error occurred
       or which actions and input led to the error.

    Hi ,
    you are getting beacuse u are trying to do mass update to database.
    Please check that below note are applicable to your system.
    Note 453313 - DBIF_RSQL_ERROR_INTERNAL for mass insert
    Note 869534 - AFS MRP doesn't work properly with all BOM item categories
    Thanks Rishi Abrol

  • Error while creating BOM with FM CSAP_MAT_BOM_MAINTAIN

    Hi All,
    While creating the bom with the FM "CSAP_MAT_BOM_MAINTAIN" using change number i am getting the below error message.
    " Processing of this object is not supported with change number."
    Please help me out.
    Regards
    Suresh

    call function 'CSAP_MAT_BOM_MAINTAIN'
      exporting
        material                 = material
        plant                    = plant
        bom_usage                = usage
        alternative              = alternat
        valid_from               = y_date
    *   CHANGE_NO                =                   "<----Have u used this field for creating ?
    *   REVISION_LEVEL           =
        i_stko                   = l_stko
    *   FL_NO_CHANGE_DOC         = ' '
        fl_commit_and_wait       = 'X'
        fl_bom_create            = 'X'
        fl_new_item              = ' '
        fl_complete              = ' '
    * IMPORTING
    *   FL_WARNING               =
    *   O_STKO                   =
    CSAP_MAT_BOM_CREATE would be an ideal one for creation and CSAP_MAT_BOM_MAINTAIN for change
    Regards,
    Mithun Shetty.

  • Error while changing BOM with change number

    Hi ALL, Please help me with followed error message, I am using ECM. I created ECR and converted to ECO and then released.
    Object management record cannot be generated
    Message no. 29046
    Diagnosis
    You want to change the BOM with the entered change number.
    One of the following situations triggered this error message:
    1. The indicator that allows automatic generation is not set for object type BOM in the change master.
    2. The indicator generation only on initial creation is set for object type BOM
    3. You are processing a change request.
    System response
    The system checks whether the indicator object management record will be generated is set in the change master.
    If the indicator generation only on initial creation is set, the system checks whether the BOM exists in the system.
    Procedure
    If you are authorized to change the change master, execute the following steps:
    For 1.)
    Set this indicator for object type BOM or create the control record in the change master.
    For 2.)
    If the BOM already exists in the system and the generation only on initial creation indicator is set, the system can no longer generate the control record automatically.
    In this case you have to add the object control record to the change master first, then you can change the BOM in relation to the change number.
    For 3.)
    You cannot generate any object control records for a change request.

    Hi
    With your question regarding changing BOM with change number  it looks lke there may be problem in defining the Object types,objects.Moreover whenever converted to ECO you need to enter into cs02 tcode for changing the bom with relevant change number and valid from date.
    Hope this gives you a clear idea.let me know if you need anyfurther inputs.
    Regards
    Praveen

  • BOM with Item Category T

    Hi friends,
    The issue my user is having is that he has created a subcontracting PO ...and later while issuing thro MB1b 541... the system throws an error... PO HAS NO ITEMS..
    But PO has a BOM exploded ...when i check it has item category T instead of an L... By the time i could check CS03, the user has deleted the BOM .,so i suggested to create a new one with item category L...The issue got resolved.
    But my doubt is how this item category T has appeared in the BOM, since when i try creating a BOM with T i cannot enter matl code but my BOM which had popped in the PO had all details with matl code, desc , qty  and item category as T..
    Pls kindly advise and help me understand..
    Thanks
    nandu

    When creating your material BOM with Item category T, do not enter the material number.
    Only enter decripiton qty. and uom. This should allow you to create the BOM. You would then see this BOM in your Sub-Contract PO. I don't think it was possible you saw the material item in the BOM from your original T category items, as this would not be allowed per standard functionality, as you noted when trying to recreate the incorrect BOM.

  • Bom with free goods

    hi
    am not tht experience in sap as well not tht expert as u guys but i was just wondering while practicing sap tht can v do bom with free goods as even my faculty who is a reall timmer couldnt solve this probs
    i did tried every possible way tried item category determinatino n all but couldnt
    it would b great if u solve this n email me back witht the solution
    can mail me the solution on
    [email protected]
    thnks a lott

    well exactly true i just wanted to see tht this forum really works n it does with some great experts neways mr ram very much thankful to u n basically i been trying this for 4 months but couldnt ya can do it 1 way u can do it manually in the sales order by changing the item category to tann at item level
    try this 1 n ya mr ram do u work in us
    if so thn b in touch
    bye irfan
    [email protected]

  • BOM with Same Parent Number But Different WH

    Hello fellow SAP B1ers!
    I have a question and hope someone can help.  This point has us scratching our heads on how to do this.
    A customer has two warehouses (WH 1 and a newly-built WH5) producing the same product (Product A) but at different costs per warehouses.  They want to create two Bill of Materials (BOM) u2013 one for each warehouse.  For Example: BOM of Product A in WH1 and BOM of Product A in WH5.  The item cost is maintained at the warehouse level and, with it being a new warehouse, of course the item costs are different on the Item Master Data (Inventory Tab).  I cannot believe SAP B1 2007 cannot handle this, as this is Production 101 for any company.   Creating fake new and/or phantom products is certainly not the answer, because that could lead to an unbelievable amount of double work.  Besides, they want to be able to see the Product A information together.
    We have researched both SAP Help and Documentation and in both areas, it says (a direct quote) u2013
    If the parent item already has a Bill of Materials, the components are displayed. However, you can still create a new Bill of Materials for that parent item.
    So, how do we create a NEW Bill of Material for that parent item?
    We have tried to enter a new BOM with the parent item and WH5 and same components, but we receive an error that the item is already on the table.  When we use the duplication drop-down function, change the WH number on the header, and change the WH on the lines for components, the original BOM Product A WH1 is gone.  For some reason it also duplicates the components (but that is easily fixed).  I would imagine that a BOM table would need to have part of the key as ItemCode and WhsCode u2013 maybe a mistake in thinking?
    Can someone help us and tell us what we are missing???
    Many thanks for responses - Zal

    Hi Zal,
    Product Code is same as item code as it is unique so it is not possible to have two BOM  for same one item .
    I think help file to pointing towards special production order where you define new BOM for same product
    But I think it is too much work  if you have a lot.....
    So I think you have to look for add on to solve your issue ...
    A thought for  your problem 
    Thank you
    Bishal

  • Material BOMs with document items using RCSBI010

    Has anyone uploaded material BOMs with document items using RCSBI010?  I set the item category to D, but receive an error in LSMW when I attempt to convert the data.  The error specifies that the document items are not valid material numbers.  They are not material numbers.  They are document info records.

    Found the problem. The document number was being mapped to BOM Component IDNRK instead of document number DOKNR.

  • Character conversion error: "Unconvertible UTF-8 character beginning with 0

    Hi All,
    I developed an Adapter Module and added to Adapter Framework.
    package sample;
    import java.io.InputStream;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import javax.ejb.CreateException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import com.sap.aii.af.mp.module.Module;
    import com.sap.aii.af.mp.module.ModuleContext;
    import com.sap.aii.af.mp.module.ModuleData;
    import com.sap.aii.af.mp.module.ModuleException;
    import com.sap.aii.af.ra.ms.api.Message;
    import com.sap.aii.af.ra.ms.api.XMLPayload;
    @ejbHome <{com.sap.aii.af.mp.module.ModuleHome}>
    @ejbLocal <{com.sap.aii.af.mp.module.ModuleLocal}>
    @ejbLocalHome <{com.sap.aii.af.mp.module.ModuleLocalHome}>
    @ejbRemote <{com.sap.aii.af.mp.module.ModuleRemote}>
    @stateless
    public class SetAttachmentName implements SessionBean, Module {
         private SessionContext myContext;
         private String mailFileName = "UStN";
         public void ejbRemove() {
         public void ejbActivate() {
         public void ejbPassivate() {
         public void setSessionContext(SessionContext context) {
              myContext = context;
         public void ejbCreate() throws CreateException {
         public ModuleData process(
              ModuleContext moduleContext,
              ModuleData inputModuleData)
              throws ModuleException {
              // create a second attachment for the receiver mail adapter
              try {
                   //                  get the XI message from the environment
                   Message msg = (Message) inputModuleData.getPrincipalData();
                   //               creating parsable XML document
                   InputStream XIStreamData = null;
                   XMLPayload xmlpayload = msg.getDocument();
                   XIStreamData = xmlpayload.getInputStream();
                   DocumentBuilderFactory docBuilderFactory =
                        DocumentBuilderFactory.newInstance();
                   DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
                   Document doc = docBuilder.parse(XIStreamData);
                   //            finding the tag's name from the Modules tab in the Directory that will hold the attachment's name
                   String absenderIDTag = null;
                   absenderIDTag = moduleContext.getContextData("<RCVPRN>");
                   //            finding the content of the tag that will be used as the attachment's name (assuming it's the only tag with this name)
                   Element element = doc.getDocumentElement();
                   NodeList list = doc.getElementsByTagName(absenderIDTag);
                   mailFileName += "_" + list.item(0).getFirstChild().toString();
                   String anIDTag = null;
                   anIDTag = moduleContext.getContextData("<CREDAT>");
                   element = doc.getDocumentElement();
                   list = doc.getElementsByTagName(anIDTag);
                   mailFileName += "_" + list.item(0).getFirstChild().toString();
                   Date date = new Date(System.currentTimeMillis());
                   //            Add date to the Message
                   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
                   mailFileName += "_" + dateFormat.format(date);
                   String belegNummerTag = null;
                   belegNummerTag = moduleContext.getContextData("<BULK_REF>");
                   element = doc.getDocumentElement();
                   list = doc.getElementsByTagName(belegNummerTag);
                   mailFileName += "_" + list.item(0).getFirstChild().toString();
                   //               creating the attachment
                   byte by[] = xmlpayload.getText().getBytes();
                   XMLPayload attachmentPDF = msg.createXMLPayload();
                   attachmentPDF.setName(mailFileName);
                   attachmentPDF.setContentType("application/pdf");
                   attachmentPDF.setContent(by);
                   //adding the message to the attachment
                   msg.addAttachment(attachmentPDF);
                   //                  provide the XI message for returning
                   inputModuleData.setPrincipalData(msg);
              } catch (Exception e) {
                   //                  raise exception, when an error occurred
                   ModuleException me = new ModuleException(e);
                   throw me;
              //                  return XI message
              return inputModuleData;
    I get the following error
    Character conversion error: "Unconvertible UTF-8 character beginning with 0xaa" (line number may be too low).
    Any tips, pointers ?
    Thanks in Advance
    Mukhtar

    Hi Henrique,
    I am using .getNodeValue()
    import java.io.InputStream;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import javax.ejb.CreateException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import com.sap.aii.af.mp.module.*;
    import com.sap.aii.af.ra.ms.api.*;
    @ejbHome <{com.sap.aii.af.mp.module.ModuleHome}>
    @ejbLocal <{com.sap.aii.af.mp.module.ModuleLocal}>
    @ejbLocalHome <{com.sap.aii.af.mp.module.ModuleLocalHome}>
    @ejbRemote <{com.sap.aii.af.mp.module.ModuleRemote}>
    @stateless
    public class UStNAttachmentName3 implements SessionBean, Module {
         private SessionContext myContext;
         private String mailFileName = "UStN";
         public void ejbRemove() {
         public void ejbActivate() {
         public void ejbPassivate() {
         public void setSessionContext(SessionContext context) {
              myContext = context;
         public void ejbCreate() throws CreateException {
         public ModuleData process(
              ModuleContext moduleContext,
              ModuleData inputModuleData)
              throws ModuleException {
              // create a second attachment for the receiver mail adapter
              try {
                   // get the XI message from the environment
                   Message msg = (Message) inputModuleData.getPrincipalData();
                   // creating parsable XML document
                   InputStream XIStreamData = null;
                   XMLPayload xmlpayload = msg.getDocument();
                   XIStreamData = xmlpayload.getInputStream();
                   DocumentBuilderFactory docBuilderFactory =
                        DocumentBuilderFactory.newInstance();
                   DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
                   Document doc = docBuilder.parse(XIStreamData);
                   // finding the tag's name from the Modules tab in the Directory that will hold the attachment's name
                   String absenderIDTag = null;
                   absenderIDTag = moduleContext.getContextData("<RCVPRN>");
                   // finding the content of the tag that will be used as the attachment's name (assuming it's the only tag with this name)
                   Element element = doc.getDocumentElement();
                   NodeList list = doc.getElementsByTagName(absenderIDTag);
                   mailFileName += "_" + list.item(0).getFirstChild().getNodeValue();
                   String anIDTag = null;
                   anIDTag = moduleContext.getContextData("<CREDAT>");
                   element = doc.getDocumentElement();
                   list = doc.getElementsByTagName(anIDTag);
                   mailFileName += "_" + list.item(0).getFirstChild().getNodeValue();
                   Date date = new Date(System.currentTimeMillis());
                   // Add date to the Message
                   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
                   mailFileName += "_" + dateFormat.format(date);
                   String belegNummerTag = null;
                   belegNummerTag = moduleContext.getContextData("<BULK_REF>");
                   element = doc.getDocumentElement();
                   list = doc.getElementsByTagName(belegNummerTag);
                   mailFileName += "_" + list.item(0).getFirstChild().getNodeValue();
                   // creating the attachment
                   byte by[] = xmlpayload.getText().getBytes();
                   XMLPayload attachmentPDF = msg.createXMLPayload();
                   attachmentPDF.setName(mailFileName);
                   attachmentPDF.setContentType("application/pdf");
                   attachmentPDF.setContent(by);
                   //adding the message to the attachment
                   msg.addAttachment(attachmentPDF);
                   // provide the XI message for returning
                   inputModuleData.setPrincipalData(msg);
              } catch (Exception e) {
                   // raise exception, when an error occurred
                   ModuleException me = new ModuleException(e);
                   throw me;
              // return XI message
              return inputModuleData;
    Still I get the same error.
    org.xml.sax.SAXParseException: Character conversion error: "Unconvertible UTF-8 character beginning with 0xaa" (line number may be too low).
    Adapter-Framework: Character conversion error: "Unconvertible UTF-8 character beginning with 0xaa" (line number may be too low).
    Regards,
    Mukhtar

  • Authorization to change BOM with history requirements

    Hi Techies,
    I m facing an issue now with respect to authorisation of changing BOM with history requirements. Our quality system was a copy from a production server which was used for CRM before. Usually in SAP when we change a BOM with a change number we cant again change it back without a change number.
    In our case it is not providing an error but it is providing a warning. Now my requirement is to change this warning message to error message. So that people wont change BOM without a change number.
    I tried to enter the transaction SU24 and found the authorizaton C_STUE_NOH with proposal YS. Then i tried to change the filed value to ' ' (NO) and saved it.
    But still i m not able to change the warning message to error message.
    Is there any other setting i need to carry out for this.
    Please help me with this issue.
    Thanking you in advance.
    Regards,
    Kris.S

    Dear Krishu,
    Below has been mentioned in OSS note: 420878. Check once again you have save as NO. Then go to tcode SU03 Object Class PP/ C_STUE_ROH
    Summary
    Symptom
    In Customizing of the BOM, the history requirement is set or a BOM requires a history. Despite this, it is possible to process BOMS without engineering change management. The system only processes a warning message (29 045) which can be skipped.
    Additional key words
    CS02, change number, OS27, W045(29)
    Cause and prerequisites
    Authorization profile
    Solution
    Check the authorization profile of the respective user.
    Example:
             C_STUE_NOH <OBJ>
                &_SAP_ALL    <AUT>
                    NOHIS      <FLD>
    would have the authorization to process BOMs requiring history without a change number. In this case, if you change '*' to ' ' in NOHIS, you will no longer receive a warning, but rather an error message.
    Regards / US

  • How to update BOM with diff. ECN

    Hi Team
    During change in BOM using ECM, I am allowed to change it with same ECN.  If we change it with diff. ECN, it keeps the history of previous ECN.
    Foe example a BOM has 3 diff. items, which is created with ECN:   001.
    Now if we delete 2 items & add 1 item, then system displays all the items with respective change no.
    i.e. Total 6 line items are displayed.
    Pls suggest solution.
    Thanks

    Hi Bhushan,
    For your case you need to :
    Create a different Change Number through T Code: CC01 and create a new BOM (for the same material as it exists without ECN agaist any components) with this new change number. If you now delete / add some components (after you enter the BOM with this new ECN) ;it will be exclusively be recorded with this ECN.
    If you use the same ECN; and do further changes at the components; all chages till date will be recorded as you have mentioned.
    Thanks,
    Ravi.

  • Simple BOM with sub-items (very very urgent)--1 item & 2 subitem

    Hi all,
    i am creating a BOM with sub-items using  'BAPI_MATERIAL_BOM_GROUP_CREATE'. while  creating sub-item, it is taking only one subitem. but i am giving multiple sub-items per item.
    i am giving a program where i am assigning 2 subitems to one item.
    after tha bapi call, 1 subitem is creating.
    i have tried so many times by clearing the work area & calling the bapi for each sub-item.but it is creating only one sub-item only.
    i am giving an example of my report.plz correct it if i am wrong.it is veryt very urgent.
    any idea will be highly appreaciated.
    Regards
    pabitra
    REPORT ZTEST_CHIN message-id 01.
    This code will create a material BoM for the material
    MAINMATERIAL with the components COMPON1 and COMPON2.
    Data Declaration
    DATA:
        it_bomgroup LIKE bapi1080_bgr_c OCCURS 0 WITH HEADER LINE,
        it_variants LIKE bapi1080_bom_c OCCURS 0 WITH HEADER LINE,
        it_items LIKE bapi1080_itm_c OCCURS 0 WITH HEADER LINE,
        it_matrel LIKE bapi1080_mbm_c OCCURS 0 WITH HEADER LINE,
        it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,
        it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
        it_subitems LIKE bapi1080_sui_c OCCURS 0 WITH HEADER LINE,
        it_subitemas LIKE BAPI1080_REL_SUI_ITM_C OCCURS 0 WITH HEADER LINE.
    Fill the data
    Material BoM Group Header Data
    CLEAR it_bomgroup.
    it_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.
    it_bomgroup-object_type = 'BGR'.
    it_bomgroup-object_id = 'SIMPLE1'.
    it_bomgroup-bom_usage = '1'.  " YOU COULD CHANGE THE BOM USAGE TO YOUR
    it_bomgroup-ltxt_lang = sy-langu.
    it_bomgroup-technical_type = ' '.
    it_bomgroup-bom_text = 'Simple BoM - FM'.
    APPEND it_bomgroup.
    Header Details of the different variants
    CLEAR it_variants.
    it_variants-bom_group_identification = 'BAPI_SMP_COL1'.
    it_variants-object_type = 'BOM'.
    it_variants-object_id = 'SIMPLE1'.
    it_variants-alternative_bom = '01'.
    it_variants-bom_status = '01'.
    it_variants-base_qty = '1.000'.
    it_variants-valid_from_date = sy-datum.
    it_variants-function = 'NEW'.
    APPEND it_variants.
    Details of the materials of the different variants
    CLEAR it_matrel.
    it_matrel-bom_group_identification = 'BAPI_SMP_COL1'.
    it_matrel-material = 'BAPIBOMFG1'.
    it_matrel-bom_usage = '1'.
    it_matrel-alternative_bom = '01'.
    APPEND it_matrel.
    Linking subitems to the corresponding variants
    CLEAR it_subitemas.
    it_subitemas-bom_group_identification = 'BAPI_SMP_COL1'.
    it_subitemas-sub_object_type = 'SUI'.
    it_subitemas-sub_object_id = 'SIM1'.
    it_subitemas-super_object_type = 'ITM'.
    it_subitemas-super_object_id = 'SIMPLE1'.
    APPEND it_subitemas.
    Linking items to the corresponding variants
    CLEAR it_itemas.
    it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.
    it_itemas-sub_object_type = 'ITM'.
    it_itemas-sub_object_id = 'SIMPLE1'.
    it_itemas-super_object_type = 'BOM'.
    it_itemas-super_object_id = 'SIMPLE1'.
    it_itemas-valid_from_date = sy-datum.
    it_itemas-function = 'NEW'.
    APPEND it_itemas.
    Details of the items of the variants
    CLEAR it_items.
    it_items-bom_group_identification = 'BAPI_SMP_COL1'.
    it_items-object_type = 'ITM'.
    it_items-object_id = 'SIMPLE1'.
    it_items-item_no = '0010'.
    it_items-item_cat = 'L'.
    it_items-component = 'BAPIBOMRW1'.
    it_items-comp_qty = '2'.
    it_items-valid_from_date = sy-datum.
    APPEND it_items.
    CLEAR it_subitems.
    it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
    it_subitems-object_type = 'SUI'.
    it_subitems-object_id = 'SIM1'.
    it_subitems-subitem_no = '0001'.
    it_subitems-INSTALLATION_POINT = 'ab1'.
    it_subitems-subitem_qty = '1'.
    APPEND it_subitems.
    CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
      EXPORTING
        all_error         = 'X'
      TABLES
        bomgroup          = it_bomgroup
        variants          = it_variants
        items             = it_items
        materialrelations = it_matrel
        itemassignments   = it_itemas
        subitems          = it_subitems
        subitemassignments = it_subitemas
        return            = it_return.
    CLEAR it_subitems.
    it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
    it_subitems-object_type = 'SUI'.
    it_subitems-object_id = 'SIM1'.
    it_subitems-subitem_no = '0002'.
    it_subitems-INSTALLATION_POINT = 'ab2'.
    it_subitems-subitem_qty = '1'.
    APPEND it_subitems.
    CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
      EXPORTING
        all_error         = 'X'
      TABLES
        bomgroup          = it_bomgroup
        variants          = it_variants
        items             = it_items
        materialrelations = it_matrel
        itemassignments   = it_itemas
        subitems          = it_subitems
        subitemassignments = it_subitemas
        return            = it_return.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    LOOP AT it_return.
      WRITE:/ it_return-type, it_return-id, it_return-number,
              it_return-message.
    ENDLOOP.

    Hi rich,
    Thanks. i will do the same.can u plz suggest me , where i am doing mistake in my coding to create sub-items in a BOM?
    Thanks & Regards
    pabi

Maybe you are looking for