Alternative BOM No Deletion

Hi,
I have one scenario in which previously there were 2 BOM's available for single material, i.e.
1) 01
2) 02
After some days, first BOM was deleted by the user and when we try to see BOM detail using CS03
by entering
Material = XXX
Plant = XXX
BOM Usage = 1
Alternative BOM = 02
Then it gives BOM details but when we enter
Material = XXX
Plant = XXX
BOM Usage = 1
Alternative BOM = 01
It gives Error Message "Inconsistent data (inform your system manager)" even though BOM does not exist
So what is the solution for removing this above Error message

Hi,
    As suresh said you need to delete the alternate 1 in the header level. After that if you want change that alternate 2 as1, Then again go to create mode and you can create the alternate 1 with the same components of alternate2. After that you can delete the header level of alternate 2 also. So that there will be only one alternate BOM for your material.
Hope it will be helpful.
Regards,
Vijay.

Similar Messages

  • T COde CS15 : Report is not showing the "Alternative BOM No" for some BOMs

    Hello Guru,
    I am facing a problem for the transaction CS15, when I use this transaction, in the output for some materials, system is not showing "Alternative number" of BOM.
    I cheked Deletion indicator, status of the BOM, validity period etc.
    But unable to get the reason why system is not showing alternative BOM number for the some materials / BOMs.
    Thanks to give your expert comments or solution.
    Thanks in advance
    Hemant

    Hi Hemant,
    please check in CS02 if those top level BOm's which dont show alternative BOm number in CS15, do they really have alternatives?
    the most probale reaosn why alternative is not shown is they dont have any alternate BOM or they are variant BOMs.
    please check.

  • BOM lines deleted

    While processing an ECO, all lines of a material BOM in a particular plant were deleted. Now there doesn't seem to be anyway to get them back!
    If I try to modify it in CS02, it tells me "No items are valid on xx/xx/xxxx." It doesn't matter if I use today's day or an earlier date, it won't allow getting into the BOM. The header apparently still exists or the error would be different.
    I found old postings on another board that said a deleted BOM couldn't be reinstated. Is that true? I would think that deleting the BOM lines wouldn't be a terminal situation. My best thought at this point is to try creating it as an alternative BOM, but that hardly seems like the best solution...
    Any help is appreciated!
    SAP ERP 6.0

    Thanks, Rupesh.
    I'll be honest, I don't fully understand the first part of your response, but it did end up helping me. I searched the board for the 29064 message and found the answer. http://scn.sap.com/thread/3451508
    And now I feel silly. All I had to do was hit Enter after seeing the message.
    I should have known. That's not the first time I've been tripped up by thinking that an error message means I can't go any further.
    But I appreciate the help!
    Jim

  • Exploding Latest Alternative BOM

    Dear Gurus,
    I have two alternative BOMs of same material. They have same validity period and lot size. I dont want to use Production Version. Now, when I create a production order no BOM is exploded, the system throws an information message saying: "No suitable BOM alternative could be determined"
    I am missing on some configuration. What I want is that the latest BOM should be picked up, i.e. alternative 2 should be exploded by the system in production order.
    Thanks
    Geravine

    Dear,
    BOM is not exploded in the following situations:
    - No BOM is effective:
    -- On the explosion date and in the given area of validity
       For the given effectivity parameters
    - The BOM has a deletion indicator.
    - The BOM is a multiple BOM, and has no alternative that matches the lot size for your required quantity.
    - No BOM matches the selection criteria of the BOM application you selected.
    - This is possible in the following situations, for example:
    -- The application selects a specific alternative on the explosion date you require. The material master record supports alternative determination by Explosion date.
    If the specified alternative is not valid on the explosion date, the BOM is not exploded.
    You can  Define Alternative Determination for Multiple BOMs in OS32
    Please try and come back.
    Regards,
    R.Brahmankar

  • Critical Issue: Availabilty check & alternative BOM selction issue

    During the upgradation project I'm working facing the following critical issues:
    1)While creating the sales order, system carries out the availability check in APO.In material master checking group Z5 is defined.
        Actually I want to know hw the system carries out the search in APO & what are the settings in R/3 or APO we have to make?
    2)Suppose there are 3 alternative BOM's of a finished product.A requirement is while creating the sales order availabilty check should be carried out & system should check the availability of components on the required date.If the component is not avalable system should go & check the second alternative...third alternative until it gets the confirmation of component availability.
         How we can set this functionality & what are the prerequisites or customisation settings we needs to make?
        Would appreciate providing your inputs on this critical issue.
    Thanks,
    Nilesh<b></b>

    Before you understand how the APO Availability Checking concept works, I would suggest you understand about the regular R3 availability checking. As this is the core for the SD and APO GATP. Refer help.sap.com
    Question 1:
    <b>Settings in R3:</b> You have the ATP integration model in CFM1 transaction. You need to activate this just one time and never again. what this does is basically transfer all your availability checking customizing to APO.
    All the settings for the Availability Checking group ( Z5, etc) are already maintained in R3 and they get transferred to APO by the integration model. You donot need to anything else.
    <b>Settings in APO:</b>
    If you are using <b>Product Allocation Concept</b>, You have to maintain the Check Instructions.... Otherwise there are no other settings in APO
    <b>Availability Check in APO :</b>
    ( see the following blog for the requirements class( Name in R3) or check mode( Name in APO) determination http://solution-timezone-issue.blogspot.com/ )
    The check mode and the business event( These are hardcode internally in R3 - For SD- A) are determined from the order and based on this in APO it follows the following order
    (1) Reads the check instructions settings in APO
    For example say the following have been determined from the SD Order : Check Mode 041 and  Business Event A
    Say we have maintained in APO that the first step is Availability Check and all the other two steps we havent maintained or left blank ( Product Allocation and Forecast)
    Look for the customizing in APO
    SPRO>APO>GATP>General Settings>Maintain Check Instructions ****
    (2) Carries out availability Checking same as in R3 and no different
    From the masterial master considers the availability checking group ( Ex: Z1) and the business event( SD transactions- A)
    Very Important and the core of availability checking which is similar in R3 and APO***
    Against these 2 combinations, the settings are checked which define what stock and in/outward movements are to be considered during the availability check
    For customzing settings in APO
    SPRO>APO>GATP>Maintain Check Control>
       For Customizing in R3
    SPRO>Sales and Distribution>Basic Functions>Availability Check and transfer of requirements>Availability check with ATP logic or planning>Carry out control for availability check
    This is the answer to your first question.
    Your second question would need some time  and I will try to answer it as well.
    Hope this helps you..

  • Reg: Creation of BOM along with Alternative BOM

    Hi Experts,
    I have written the below code for creating BOM along with Alternative BOM, I'm getting the following error.
    W BAPI1080             028
    Error/warning when checking the structure of the BOM group with ID=
    A BAPI1080             002
    Basic data for (BOM) group available twice
    A BAPI                 001
    No instance of object type BOMGroup has been created. External reference:
    W BAPI1080             028
    Error/warning when checking the structure of the BOM group with ID=
    A BAPI1080             002
    Basic data for (BOM) group available twice
    A BAPI                 001
    No instance of object type BOMGroup has been created. External reference:
    Please find the piece of code below.
      SORT it_bom01 BY matnr idnrk posnr ASCENDING.
      LOOP AT it_bom01 INTO wa_bom01.
        AT NEW matnr.
          CLEAR:
            it_bomgroup[],
            wa_bomgroup,
            it_variants[],
            wa_variants,
            it_items[],
            wa_items,
            it_matrel[],
            wa_matrel,
            it_itemas[],
            wa_itemas,
            it_return.
        ENDAT.
    * Material BoM Group Header Data
        wa_bomgroup-bom_group_identification = 'IDENTIFICATION'.
        wa_bomgroup-object_type = 'BGR'.
        wa_bomgroup-object_id = 'ID'.
        wa_bomgroup-bom_usage = wa_bom01-stlan.
        wa_bomgroup-ltxt_lang = sy-langu.
        wa_bomgroup-technical_type = ' '.
    *   wa_bomgroup-bom_text = .
        wa_bomgroup-created_in_plant = wa_bom01-werks.
        APPEND wa_bomgroup TO it_bomgroup.
    * Header Details of the different variants
        wa_variants-bom_group_identification = 'IDENTIFICATION'.
        wa_variants-object_type = 'BOM'.
        wa_variants-object_id = 'ID'.
        wa_variants-alternative_bom = wa_bom01-stlal.
        wa_variants-bom_status = wa_bom01-stlst.
        wa_variants-base_qty = wa_bom01-bmeng.
        wa_variants-valid_from_date = wa_bom01-datuv.
        wa_variants-alt_text = wa_bom01-alt_text.
        wa_variants-function = 'NEW'.
        APPEND wa_variants TO it_variants.
    * Details of the items of the variants
        wa_items-bom_group_identification = 'IDENTIFICATION'.
        wa_items-object_type = 'ITM'.
        wa_items-object_id = 'ID'.
        wa_items-item_no = wa_bom01-posnr.
        wa_items-item_cat = wa_bom01-postp.
        wa_items-component = wa_bom01-idnrk.
        wa_items-comp_qty = wa_bom01-menge.
        wa_items-valid_from_date = wa_bom01-datuv.
        APPEND wa_items TO it_items.
    * Details of the materials of the different variants
        CLEAR it_matrel.
        wa_matrel-bom_group_identification = 'IDENTIFICATION'.
        wa_matrel-material = wa_bom01-matnr.
        wa_matrel-plant    = wa_bom01-werks.
        wa_matrel-bom_usage = wa_bom01-stlan.
        wa_matrel-alternative_bom = wa_bom01-stlal.
        APPEND wa_matrel TO it_matrel.
    * Linking items to the corresponding variants
        CLEAR it_itemas.
        wa_itemas-bom_group_identification = 'IDENTIFICATION'.
        wa_itemas-sub_object_type = 'ITM'.
        wa_itemas-sub_object_id = 'ID'.
        wa_itemas-super_object_type = 'BOM'.
        wa_itemas-super_object_id = wa_bom01-matnr.
        wa_itemas-valid_from_date = wa_bom01-datuv.
        wa_itemas-function = 'NEW'.
        APPEND wa_itemas TO it_itemas.
        AT END OF matnr.
          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
              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.
        ENDAT.
      ENDLOOP.
    Thanks and Regards,
    Abdur Rafique

    Hi Sree,
    I used your code, I removed the levels because, i have only one level 'the lineitems'. Please find the modified code below. I'm not able to create the BOM, it throws an error as "BOM is recursive". I checked the header and item contents before passing to FM, it is correct.
    Please help me with the solution.
    REPORT  zbom_sdn.
    TYPE-POOLS: truxs.
    DATA: bom_header     LIKE cad_bicsk,
          bom_item       TYPE TABLE OF  cad_bom_item WITH HEADER LINE,
          bom_sub_item   TYPE TABLE OF cssubitem WITH HEADER LINE,
          dms_class_data TYPE TABLE OF cls_charac  WITH HEADER LINE,
          sap_field_data TYPE TABLE OF rfcdmsdata  WITH HEADER LINE,
          e_return       LIKE cad_return-value,
          e_message      LIKE message-msgtx,
          e_message_len  LIKE cad_return-message_len.
    DATA v_item  TYPE i.
    TYPES : BEGIN OF ty_data,
             matnr TYPE cad_bicsk-matnr," Material
             werks TYPE csap_mbom-werks," Plant
             stlan TYPE csap_mbom-stlan," BOM Usage
             datuv TYPE csap_mbom-datuv," Valid From
    *         posnr TYPE stpo_api03-item_no," Item Number
             idnrk TYPE stpo_api03-component," BOM Component
             postp TYPE stpo_api03-item_categ," Item category
             menge TYPE cad_bom_item-menge," Quantity
             bmeng TYPE stko_api01-base_quan," Base Qty
             stlst TYPE stko_api01-bom_status," BOM Status
             stlal TYPE csap_mbom-stlal," Alternative BOM
             alt_text TYPE stko_api01-alt_text," Alternative BOM text
            END OF ty_data.
    DATA : it_data TYPE TABLE OF ty_data ,
           wa_data TYPE ty_data.
    DATA:   wa_raw TYPE truxs_t_text_data.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    PARAMETER : p_file TYPE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          program_name  = syst-repid
          dynpro_number = syst-dynnr
        CHANGING
          file_name     = p_file.
    START-OF-SELECTION.
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
           EXPORTING
    *       I_FIELD_SEPERATOR          =
             i_line_header              = 'X'
             i_tab_raw_data             = wa_raw     " Work Table
             i_filename                 = p_file
           TABLES
             i_tab_converted_data       = it_data[]  " Actual Table
           EXCEPTIONS
            conversion_failed          = 1
            OTHERS                     = 2 .
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CLEAR: bom_header, bom_item, bom_sub_item.
      REFRESH: bom_item, bom_sub_item.
      DATA : v_lineitem TYPE sposn VALUE '0000',
             v_slineitem TYPE sposn VALUE '0'.
      LOOP AT it_data INTO wa_data.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = wa_data-matnr
          IMPORTING
            output = wa_data-matnr.
    * fill BOM header
        CLEAR  bom_header.
        bom_header-matnr = wa_data-matnr. "'000000000200000016'.
        bom_header-stlal = wa_data-stlal. " Alternative Bom
        bom_header-werks = wa_data-werks.                       "'1000'.
        bom_header-stlan = wa_data-stlan.                       "'3'.
        bom_header-bmeng = wa_data-bmeng.
        bom_header-cadkz = 'X'.
        bom_header-stktx = wa_data-alt_text.
    *      bom_header-ztext = wa_data-text.
        bom_header-datuv = wa_data-datuv."'01.10.2010'.
    * fill item
        v_lineitem = v_lineitem + 10.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = v_lineitem
          IMPORTING
            output = v_lineitem.
    *    bom_item-upskz     = 'X'.     " If We hav the Sub items Enable it.
        bom_item-idnrk     = wa_data-matnr. "'000000000200000017'.
        bom_item-posnr     = v_lineitem.
        bom_item-postp     = wa_data-postp."'L'.
        bom_item-menge     = wa_data-menge.                     "'1'.
    *    bom_item-fmeng     = wa_data-fqty.
        APPEND bom_item.
        CLEAR: bom_item.
        AT END OF matnr.
          CALL FUNCTION 'CAD_CREATE_BOM_WITH_SUB_ITEMS'
               EXPORTING
                    i_bom_header   = bom_header
                    i_auto_posnr   = ''
               IMPORTING
                    e_return       = e_return
                    e_message      = e_message
                    e_message_len  = e_message_len
                    e_bom_header   = bom_header
               TABLES
                    bom_item       = bom_item
                    bom_sub_item   = bom_sub_item
                    dms_class_data = dms_class_data
                    sap_field_data = sap_field_data
               EXCEPTIONS
                     OTHERS         = 1.
          REFRESH bom_item.
          WRITE : e_message.
        ENDAT.
        CLEAR wa_data.
      ENDLOOP.
    Thanks and Regards,
    Abdur Rafique

  • Alternative to File.delete() and deleteOnExit()

    Is there any GOOD way to delete physical files from a Java app running under Windows besides the File object's incredibly lame and emasculated delete() and deleteOnExit() methods?
    Despite my best efforts, I have yet to find ANY circumstances under which calling File.delete() will actually delete a file under Windows XP... It's as though the mere act of a running Java application becoming AWARE that a file exists is enough to make the JVM lock the file so nothing else can touch it (including the running app itself).
    Is there perhaps some alternate JNI-based alternative that treats deletions as more than polite suggestions that a file be considered for future removal, and PERSONALLY sees to it that the underlying OS makes an immediate and determined effort to physically delete the file IMMEDIATELY?

    The File object referenced above is used to open a FileInputStream, which is subsequently closed prior to calling the File object's delete() method.
    From what I've read about this problem over the past few days, it arises because Sun didn't follow their own best practices and left releasing the file lock to the Stream's finalize() method (or otherwise left some critical prerequisite to the lock's release to a garbage collection run)... which, as we all know, is something you should never do when you're DEPENDING upon having something executed because there's NO guarantee it will run in a timely manner, or even run at all (if, say, the application throws an Exception).
    Apparently, the problem arises something like this:
    A running Java app creates a File object and does something that requires doing actual I/O upon it, like opening an input/output stream.
    The JVM asks its abstraction layer to ask Windows to open the file. A delegate is dispatched to contact win32 and request a file lock. Windows creates a file lock in the thread's name, and gives the delegate the good news.
    The running app does its stream I/O.
    The running app closes the stream, and nullifies the object's reference just to be safe.
    Unfortunately, the JVM has other plans in mind. It throws the old Stream object into the garbage collector's work heap, then forgets it ever existed without bothering to stick around and personally make sure the file lock is released RIGHT AWAY.
    The running app continues... it's done with the file and has no further use for it, so it calls the File object's delete() method as its final act before nullifying the File object itself.
    The JVM dispatches another delegate to ask Windows to delete the file. Unfortunately, windows notices that the JVM still holds a lock on the file and tartly sends it home empty-handed, with instructions to tell its parent to make up its mind what it wants to do with the file. The delegate meekly reports failure, and the message is passed back to the running app without further action.
    What SHOULD happen:
    Calling Stream.close() should cause a delegate to be IMMEDIATELY dispatched to notify Windows that the lock should be released.
    OR, if Sun doesn't want to do that for performance reasons, then the JVM should double-check to make sure that the failure wasn't its own fault -- forcing an IMMEDIATE sweep through the garbage collector to return any queued-for-release file locks (possibly after taking a side trip to verify that the file still physically exists), followed by a second deletion attempt once it's certain that windows has responded to its request to release the lock.
    Calling System.gc() before calling File.delete() seems to work for now... but it's a really bad kludge that Sun needs to address since there's technically no guarantee that the garbage collector will actually run and release the lock.
    IMHO, this is an outright shameful bug. Sun can make all the lame excuses it wants to make about enforcing platform abstraction, but the fact is... anyone who calls File.delete() after personally making sure they've cleaned up after themselves by closing their streams has every reasonable expectation that the file will, in fact, be physically deleted unless some OTHER app or thread has acquired a secondary lock in the meantime. The buck has to stop somewhere. File deletion is one of those unglamorous tasks that nobody really thinks about until it doesn't work... and when it fails, it comes as a really rude surprise. If Sun can't alter the behavior of File.delete() for legacy reasons, then they should add an alternate method, like "File.deleteNow() throws RuntimeException" that guarantees the following behavior:
    "The JVM asks the host operating system to delete the file. If the OS refuses, the JVM tries to figure out why, and whether the failure might be its own fault. If it has reason to believe it's its own fault, it will force an immediate garbage collection run to clean up any outstanding mess, then ask the host OS to delete the file again. If it succeeds, the method returns true. If it fails, a RuntimeException (or subclass that actually lets the caller figure out why it failed) gets thrown."
    The key point is that File.delete() must NEVER fail unless some OTHER app, process, or thread that's completely unrelated to the one that locked the file and now wants it deleted has acquired a lock on the file in the meantime. I think just about everyone will agree that the current behavior of File.delete() under win32 absolutely violates the implicit contract that developers reasonably expect of a function to delete a file.
    Just to give one concrete example of a scenario where File.deleteOnExit() isn't feasible... suppose you have some emergency maintenance task that needs to be launched (with manually-supplied arguments) every few months when Something Bad happens... usually at night or over a weekend. To make life easy, the emergency app is implemented as a Servlet (so the notified individual can quickly and easily fix it in 3 minutes with his PalmOS phone and browser). The problem is, deleteOnExit() won't do much good when called from a Servlet, because the JVM running Tomcat hosting the Servlet is almost guaranteed to run for months without actually exiting... and when it finally DOES exit, it probably WON'T be graceful or intentional...

  • Alternative BOM creation problem in CS01

    Hi.
    I have created a BOM with CS01 with list of components. Now i want to create an alternative BOM for the same FG.
    When I am trying to create alternative BOM using CS01, I added the components, system is showing me in the header as Alternative BOM 2. But when i try to save this BOM system is giving me the error as "Alternative BOM cannot be created for this material".
    Can you please help me how to create alternative BOM for this FG.
    Regards,
    Padmavathi

    Dear Padma,
    If my understanding is correct,if the check box for multiple BOM inactive is set in OS27 means,you will not be allowed to even
    enter into the BOM item maintenance screen.
    It seems the system is allowing you to enter the second alternative BOM,but at the time of save the system is blocking from
    doing so.check what's the message and check whether by means of exit this check has been incorporated in the system.
    Check and revert back.
    Regards
    Mangalraj.S

  • To display flatfile rec's under 1 Alternative BOM using BDc recording.

    Hi,
    I m trying to display flat file entire(i.e.. 4 rec's i m using) records vertically under one (Alternative BOM) for CS01-BOM using BDC recording method.
    Now i m tried with the following code,i m getting as one (Alternative BOM) for one ff record,by replacing one by one.
    But i want as vertically under one (Alternative BOM).
    Can anyone help me to overcome this.
    report ZBOM
    no standard page heading line-size 255.
    *include bdcrecx1.
    DATA: BEGIN OF bdc OCCURS 0,
    matnr(18),
    werks(4),
    stlan(1),
    END OF BDC.
    DATA: BEGIN OF BDC1 OCCURS 0,
    idnrk(18),
    MENGE(18),
    MEINS(3),
    postp(1),
    posnr(4),
    END OF bdc1.
    DATA: BEGIN OF BDCDATA OCCURS 0,
    matnr(18),
    werks(4),
    stlan(1),
    idnrk(18),
    MENGE(18),
    MEINS(3),
    postp(1),
    posnr(4),
    END OF BDCDATA.
    data ibdcdata type standard table of bdcdata WITH header line.
    *start-of-selection.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    FILENAME = 'C:\Documents and Settings\dilipkumar.b\Desktop\soft.txt'
    FILETYPE = 'ASC'
    HAS_FIELD_SEPARATOR = ','
    HEADER_LENGTH = 0
    READ_BY_LINE = 'X'
    DAT_MODE = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    CHECK_BOM = ' '
    VIRUS_SCAN_PROFILE =
    NO_AUTH_CHECK = ' '
    IMPORTING
    FILELENGTH =
    HEADER =
    TABLES
    DATA_TAB = BDCDATA
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    NO_AUTHORITY = 6
    UNKNOWN_ERROR = 7
    BAD_DATA_FORMAT = 8
    HEADER_NOT_ALLOWED = 9
    SEPARATOR_NOT_ALLOWED = 10
    HEADER_TOO_LONG = 11
    UNKNOWN_DP_ERROR = 12
    ACCESS_DENIED = 13
    DP_OUT_OF_MEMORY = 14
    DISK_FULL = 15
    DP_TIMEOUT = 16
    OTHERS = 17
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *perform open_group.
    loop at bdcdata.
    perform bdc_dynpro using 'SAPLCSDI' '0100'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29N-STLAN'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RC29N-MATNR'
    'SOFTDRINKS'.
    perform bdc_field using 'RC29N-WERKS'
    'WIND'.
    perform bdc_field using 'RC29N-STLAN'
    '1'.
    perform bdc_field using 'RC29N-DATUV'
    '16.09.2008'.
    perform bdc_dynpro using 'SAPLCSDI' '0110'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RC29K-BMENG'
    '1'.
    perform bdc_field using 'RC29K-STLST'
    '1'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29K-EXSTL'.
    perform bdc_dynpro using 'SAPLCSDI' '0111'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29K-LABOR'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_dynpro using 'SAPLCSDI' '0140'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29P-POSTP(01)'.
    perform bdc_field using 'BDC_OKCODE'
    '=FCBU'.
    perform bdc_field using 'RC29P-IDNRK(001)'
    BDCDATA-IDNRK.
    perform bdc_field using 'RC29P-MENGE(001)'
    BDCDATA-MENGE.
    perform bdc_field using 'RC29P-MEINS(001)'
    BDCDATA-MEINS.
    perform bdc_field using 'RC29P-POSTP(001)'
    BDCDATA-POSTP.
    perform bdc_dynpro using 'SAPLCSDI' '0130'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29P-POSNR'.
    perform bdc_field using 'RC29P-POSNR'
    BDCDATA-POSNR. "'0010'.
    perform bdc_field using 'RC29P-IDNRK'
    BDCDATA-IDNRK. "'15'.
    perform bdc_field using 'RC29P-MENGE'
    BDCDATA-MENGE. "'1'.
    perform bdc_field using 'RC29P-MEINS'
    BDCDATA-MEINS. "'ml'.
    perform bdc_dynpro using 'SAPLCSDI' '0131'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29P-POTX1'.
    perform bdc_field using 'RC29P-SANKA'
    'X'.
    *perform bdc_transaction using 'CS01'.
    *perform close_group.
    CALL TRANSACTION 'CS01' USING IBDCDATA MODE 'A' UPDATE 'S'.
    REFRESH IBDCDATA.
    clear ibdcdata.
    endloop.
    Start new screen *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
    CLEAR iBDCDATA.
    iBDCDATA-PROGRAM = PROGRAM.
    iBDCDATA-DYNPRO = DYNPRO.
    iBDCDATA-DYNBEGIN = 'X'.
    APPEND ibDCDATA .
    ENDFORM.
    Insert field *
    FORM BDC_FIELD USING FNAM FVAL.
    IF FVAL NODATA.
    CLEAR iBDCDATA.
    iBDCDATA-FNAM = FNAM.
    iBDCDATA-FVAL = FVAL.
    APPEND iBDCDATA .
    ENDIF.
    ENDFORM.

    Hi Dilip,
    Please change your code.
    I request you to please go through BDC tutorials before even starting to write the program.
    There are many online tutorials which can help you with.
    Also, search in SDN.. there you will get more than thousand results.. with the search term BDC.
    Take this suggestion seriously before nayone reports the moderators that u have been posting this thread daily without taking into consideration the previous replies.
    Regards,
    Vishwa.

  • Standard BOM with Alternative BOM

    Dear Experts,
    We are having a requirement of comparing Standard BOM with actual material consumption. We got Actual consumption. When we were trying to get the standard BOM component, standard Data source is not available. Then we searched in SDN and they are recommending to go with view option. We have created view with MAST,STKO and STPO tables. This view is not working when a plant is having alternative BOM. Further research on SDN reveals that we can use CSAP_MAT_BOM_READ functional module. When we executed this functional module, it is giving the standard BOM components and its Base Quantity. But we were not able to create Generic data source with this functional module.
    The requirement is urgent. Please help me with your experience.
    With Regards,
    Balachander.S

    when we were joining MAST, STKO and STPO, the alternative BOM was not taking care. Then we have linked STAS. It was sloved.
    With Regards,
    Balachander.S

  • How to create Alternative Bom by given inputs

    Hi to all,
    I need to create BOM with alternative number.
    my inputs are
    BOM Header
    Material, plant, BOM usage, Alternate BOM, BOM status, Base Qty, Valid From, valid to
    BOM Item
    Item number, item category, component, component description, UOM, valid from, valid to, item ID, QTY
    if i use CSAP_MAT_BOM_CREATE to create BOM , it will not create alternative number
    if i use BAPI_MATERIAL_BOM_GROUP_CREATE , does my input value are enough to create alternative bom.
    please can any one, put some light on it, i search SDN ,but i dont know how to create alternative bom with input provided.
    i shall be thankful to you for this.
    Regards
    Pavneet Rana

    Try the program-RCSBI010

  • Alternative BOM selection in Subcontracting purchase requisition

    Hi,
    We have three alternative BOM for one semi-finished material.
    We created production three production versions for respective BOM, and maintained the prod version in to subcontracting info record.
    But without creating any production versions,
    Can we select the BOM alternative at the time of creating subcontracting purchase requisition in ME51N,

    Why do you want to select BOM at the time of PO creation ? 
    If BOM components differ based on quantity of finished product, then these FG quantity range can be specified in from-lot-size and to-lot-size fields of production version - and SAP will pick the appropriate PV based on PO quantity.
    If BOM components to be provided to sub-contract vendor differ based on vendor, then specify that in the info record.

  • Subcontract PO item withdrawal issue when alternative BOM item used

    Hi,
    As title mentioned, when we issue alternative material for a subcontract PO in BOM, but it still shows the quantity from primary item.
    (For example, we have a product, let's say it as Product-A, it's combined by material-B1 and Material-C1
    And the BOM for Product-A for item material-B1 has an alternative item, material-B2
    Now the issue is when we issue material-B2 instead B1, but the PO usage/withdrawal listed in B1)
    Because we are making a list for China custom for material usage, the issue listed above makes our list not available for custom department.
    Please let us know how we could make the withdrawal in PO shows B2.
    thanks,
    Steven

    Dear Steven,
    As explained by our forum friend maintain this data.
    1.Create 2 different BOM for the same header material with the respective BOM components.
    2.Create production version for the header material using T COde MM02--->MRP4 view and click on prod.version,enter the same
    as 0001,text as prod version 1,default valid from date will be the current date and the valid to date will be 31.12.9999.
    3.Enter the lot size for which this prod version is valid and then in the alternative BOM select the BOM and save the data.
    4.Prdo.version can also be maintained through C223.
    5.Assign this prod version in the sub-contracting purchase info record in ME11,under prod version under purch org data(not sure
    check this alone).
    6.Likewise assign the prod version that is linked to the BOM to be picked for each sub-contracting vendor.
    Check the results after MRP and revert.
    Regards
    S Mangalraj

  • MRP run including Alternative BOM & Routing in sequence.

    Dear Experts,
    My client has maintained alternative BOM & Routing for there In house production materials.He wants to execute MRP run which can include all BOM's & Routing in sequence. Like, first MRP run should check material requirements as per first alternative followed with second & third alternatives.
    Regards,
    Rajesh.

    Dear Rajesh,
    ur req is not possible in that way. coz MRP run select only one PV or BOM and routing at a time and if stock is not available then it will genrate the req.
    You can try with this rather craeating an alteranative BOM create alternative group of material so when u run the MRP system will check the stock of first matrial and if short fall is there it will go for next.
    Regards
    Sachin

  • No alternative BOM field in STPO

    Friends,
    I am creating functional specs for BOM explosion. I am following steps,
    1. Get BOM number from MAST
    2. Get alternative BOMs for above BOM nos from STKO
    3. For all above alternatives fetch item details from STPO.
    The issue is when I try fetching BOM details, though i fetch details for alternative 1, I can not fetch details for altenatives 2 , 3 and so on.  I could not find link in STPO to fetch details for other alternative as alternate BOM field not available in STPO.
    Can anyone help on this issue. Thanks in advance.
    Umesh

    Dear Umesh,
    Instead of picking the values from the tables,check whether this Functional Module can help you.
    CS_BOM_EXPL_MAT_V2 (or) CSAP_MAT_BOM_READ
    or) CS_BOM_EXPLOSION    
    Regards
    Mangalraj.S

Maybe you are looking for

  • Flash player installed but programs won't play (windows 8)

    The latest version of flash player is installed but programs won't work on Windows 8?

  • Importing photos from iphoto into aperture

    Hi I am currently importing my photos one album at a time from iphoto into aperture as this is what I was told is the best way to do it. My organization up to now ***** so I am trying to organize everything now. But I have pictures in my iphoto libra

  • Mailboxes and address book missing from restored program files

    I re-installed TB 3.1.20, after having to re-install Windows Vista, with all other software and data. I then restored my TB files from a NTI Backup NOW file (when I back up files I include the program files for TB so I don't lose mailboxes and the ad

  • SAP HR Authorization issue

    Currently we are using P_ORIGIN Authorisation. In this we are using personnel area and Org. Key as restrictions. Org. Key is currently set to be Personnel Subarea. Example- Authorization level:   M, R, W Infotype:                * Personnel Area:    

  • Price determination date category problem

    Hi. while Scheduling Agreement without any reference the price determination date category set as "5" "GR Date"  by default. But we want to use the price date category 2 "Delivery date" but it is not updated in SA. Even if in vendor master and purcha