Variants with DP-BOM

Hi,
       Can I use DP-BOM for planning with variants? I mean I have a product that can have about 5 variants. Can I use DP-BOM for planning? DP-BOM is only dealing with PPM, which cannot handle variants. So, the next option is CBF.  But the amount of work required from R/3 side increases a lot in CBF when compared with the DP-BOM.
Any suggestions on this please?

I dont think it would be a Subcontracting scenario in the Demand Planning level.
In the PPDS level it might be- Depending on whether the client supplies components for manufacturing, how the invoicing is done and the raw materials are procured and how the delivery of the goods happen.
there are various kinds of technical settings for subcontracting too
http://help.sap.com/saphelp_scm50/helpdata/en/f7/626f39ff1ee32ce10000000a114084/content.htm
The definition of subcontracting is "Subcontracting involves the procurement of a product from a supplier (the subcontractor) to whom the procuring entity provides components for the purpose. "

Similar Messages

  • 3rd Part Dropship Scenario with Sales BOM

    Hi
    We have a 3rd Party Dropshipment scenario with Sales BOM with susequent Debit
    Characteristics of Sales BOM
    Sales BOM is created
    Header Material is Valuated but non-inventorised (Accounting and costing view should exist)
    Component Material is Valuated and inventorised
    In Sales order, Pricing is done at the header material not at the components level
    During Billing we get the COGS for the header material (cost coming from VPRS)
    No VPRS exist at component level instead we have copy of VPRS just to capture the value in COPA for our reporting
    Process
    1. Sales Order created with Sales BOM exploded in sales order.
    2. At the Item level Purchase requisition is created.
    3. PR for the components is converted to PO
    4. Vendor Delivers the components to Customer.
    5. Statistical GR done in our system.
    6. Invoicing is done in MIRO
    7. We directly do the Billing. Billing is created at header level. Revenue and COGS is reported at Header level only.
    We are stuck when we are doing the Subsequent Debit (can be for any unplanned cost). For Susequent Debit we are not able to report differential COPA at header level.
    Normally whenever you do subsequent debit in case of 3rd party dropship for normal material, COPA document automatically attached to Billing. This is happening because of the behaviour of VPRS condition type. In our case VPRS only exists at header level and not at component level but replenishment is for components. Subsequent debit is also happening at component level. We need it to be reported at header level.
    We need some solution to this.
    Please advise
    Regards
    Neeraj
    Edited by: NEERAJ BHARDWAJ on Dec 2, 2011 5:12 AM

    Hi Raj,
    Please clarified your requirement here, you mention that you wanted to valuated COGS at actual cost of PO? That sound more like actual costing here and what is the reason for this requirement?
    Is this MTO with variant configuration?
    If this is MTO with VC, Yes - we do cost Sales Order and here is the brief steps:-
    Price Control S
    a) Sales Order Creation - Normally when you save this will be costed and marked automatically. Note that condition type EK02 will represent the cost here
    b) Run MRP based on Sales Order requirement which resulting planned orders, PR, etc
    c) Convert PR-PO, Planned Order -> Production Order
    d) Confirmations, GR on PO which valuated according to the SCE Costing in step a)
    e) PGI will be based on the GR value on step d) which is also your SCE Costing
    f) Any variance between PO and SCE need to be settle.
    Thanks,
    Ong Yang Lim

  • 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

  • Process order creation with out BOM

    Hi
    I have an requirement...
    material A is finished good
    i create process order for material A
    but i dont use BOM... with out BOM can i create process order .
    after creating process order cani isuue components against  order ? is it possible please can any one help me in this issue
    but one condition : i craet process order material A 10 KG
    for this FG i used components  materia A used 8 kg  and material B used 2 kg
    is it possibel pls..could any one gude me in this issue
    Regards
    Sesi

    material A is finished good
    i create process order for material A
    but i dont use BOM... with out BOM can i create process order .
    yes, You can create a orderwith out BOM
    after creating process order cani isuue components against  order ? is it possible please can any one help me in this issue
    Yes, You can assign component  manually in component overview screen  or you can issue material directly for order with 261 movement, It will go to unplanned consumption
    but one condition : i craet process order material A 10 KG*
    for this FG i used components  materia A used 8 kg  and material B used 2 kg
    In The component overview screen of process order  assign the Material A with 8 kg ,
    & material B as 2 KG
    Regards,
    Sundaresan
    Edited by: Sundaresan . E. V on Oct 4, 2010 2:41 PM

  • Variant with today's date

    Hi,
       Can anyone let me know how to create a variant with a date field and it should have the value as the run date?
    Thanks!
    Uma.

    In SE38 choose the variant and for the fields you want to set the date fields as dynamic value you must choose the D - Dynamic Date Calculation options and make it as Current date.
    This will solve your problem. When the variant is used for background/scheduled jobs it will use the execution date.
    Regards
    Kathirvel

  • Check material availability and goods issue with different BOM no

    dear expert:
    please find the below scenerio
    1. finished goods contain finished garments which contain washed garments accordingly>sewing garments>print panel>cut panel>fabric
    2. before going production we need to check all the component materials as well as their components are available or not.
    3. so our idea is we will create one BOM no 7 which will contain all components under finished goods. and we need to check material availablity with this BOM no
    4. successively we will split the BOM into different group and assign them under different components as applicable in BOM no 1 which we wants to use while issue.
    please suggest whether it is possible and if yes then how can i do this.
    best regards
    javed iqbal

    Dear,
    Requirement: System issue Warning / Error message in case of movement quantity is more than available quantity - safety stock quantity while making goods movements.
    This is actual requirement - Ex. Material un-res stock = 10 pcs and material master safety stock set as 5 pcs. So, if any reservation, goods issue, transfer postings done with quantity 7 pcs - system issue message as ' on date xxxxx only 5 pcs available' (i.e 10 available - 5 safety = remaining 5 relevant for movement).
    For this Dynamic availability check created with checking rule and assing rule with trasaction OVZ9 and OMB1 similar for Reservations.
    Make the message to be shown either Warning or Error and transaction types also assign the rule.
    BUT do suggest to do regression test cross functionality wise whether any where this message breaking background operations like - auto reservation from production , sales order etc.
    Regards,
    Syed Hussain.

  • Production Order With out BOM

    Hi Gurus,
    I have a scenario where I want to produce a Material With out BOM but with a Routing. Here I when I am creating a production order it ask for  Valid BOM, please let me know the setting os that it will not ask for BOM and no error message is given for not having BOM.
    Regards
    Shree

    Dear Rajesha,
    I tried Doing want u said. But still I am Getting the same Message of BOM Selection
    <b><b>No valid BOM exists
    Material                  
    Plant                     
    Explosion date       
    Do you want to explode a BOM for
    a different material?</b></b>
    Please can u elobrate me on the same, so that this message should not come.
    Thanks & Regards,
    Shree

  • Associating Image variants with image lookup fields

    In the console reference guide you can find the following explanation on the use of Image variants:
    "A variant defines the structure of the image but does not specify if the variant is actually required for a particular image.
    Instead, each image lookup field in the repository has a Variants property that allows you to associate one or more variants with the image lookup field, and in so doing, identify which variants should be generated when an image is associated with that particular field.
    For each variant, all the images associated with that variant will be generated according to the specifications of the variant and the crop/rotate settings stored for that image. MDM tracks the changes to the variant definitions, the variant associations, each image, and the crop/rotate settings for each image, and thus know when the variants need to be regenerated."
    My question is the following:
    Assuming that the definitions of the Image variants are made via the console and thus present in the Image variants table,...
    Is it possible to change the Variant property of the image lookup field(s) in the main table through the Java API?
    So that you could write a function that automatically associates specified Image variants with all the image lookup fields in the main table of a certain repository.
    I hope somebody can help,
    Joeri

    Did you ever figure out your problem?
    I'm trying to retrieve an image variant thru the API and always get the same error:
    <i>Error retrieving image: hr=0x80004005, ImageID=58, VariantID=1</i>

  • Costing variant with a valuation strategy

    Hello all,
    I have the following issue:
    In PM I have defined a costing variant with a valuation strategy first u201Cstandard priceu201D and second u201CMoving Average priceu201D, and assigned this costing variant to the plant and order type.
    When I create a PM order (PM01) with a planning plant and enter the components in the order with a different plant and determine the cost, the system determines the correct plan costs based on the Costing variant for planned costs. The planning plant and the plant where the components are reserved are belonging to the same company code.
    When I create the same order with a planning plant and a different plant for component reservation and both plants belong to different company codes and determine the costs, the system doesnu2019t take the Costing variant into account. The costs are determined based on the price control assigned to the material type and not based the valuation strategy. In this case always the moving average price is taken.
    Can anyone help me with this issue?
    Thanks in advance

    Hi
    In OIOF you can specify the valuation variant for plant and order type, system determines the same . for your second case kindly check in the order which valuation variant system has determined.
    regards
    thyagarajan

  • Use 'se38' to set variants with long time no-response in production system?

    hi,Guys,  When I use 'se38' to set variants with long time no-response in production system?
    I think it's none of business with program performance.  Maybe system response delay, But no other program like the same response happened?
    best regards

    Hi,
    what's your problem? Didn't get the point.
    You have a report, where the maintenance of the selection variant has a long runtime (in production?)
    Maybe AT SELECTION screen some checks / helps are executed, which are quite fast in DEV, but access much bigger tables in PROD and need to much time. Such checks should be improved / moved after START-OF-SELECTION.
    Regards,
    Christian

  • Variants with subscreens in selection screen

    I have a screen that contains a subscreens....this subscreen is a selection-screen....i need to save and load variants for this selection-screen.
    My code:
    REPORT  zprueba_02.
    ----u2013
      TABLES                                                        *
    ----u2013
    TABLES: spfli.
    ----u2013
      TYPE-POOLS                                                    *
    ----u2013
    TYPE-POOLS: slis.
    ----u2013
      INTERNAL TABLES                                               *
    ----u2013
    DATA: t_rkey TYPE STANDARD TABLE OF rsvarkey WITH HEADER LINE,
          t_selctab TYPE STANDARD TABLE OF rsscr WITH HEADER LINE,
          t_vari TYPE STANDARD TABLE OF rvari WITH HEADER LINE,
          it_extab TYPE slis_t_extab,
          wa_extab LIKE LINE OF it_extab.
    ----u2013
      VARIABLES                                                     *
    ----u2013
    DATA: ok_code TYPE sy-ucomm,
          w_variant TYPE rsvar-variant,
          w_user_vari TYPE rsvar-variant,
          w_vari_report TYPE rsvar-report,
          sel_variant TYPE rsvar-variant,
          sel_variant_text TYPE rsvar-vtext,
          w_report TYPE rsvar-report,
          variant_exists TYPE c.
    ----u2013
      SELECTION-SCREEN                                              *
    ----u2013
    SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
    SELECT-OPTIONS: s_carrid FOR spfli-carrid,
                    s_connid FOR spfli-connid.
    SELECTION-SCREEN END OF SCREEN 101.
    ----u2013
      INITIALIZATION                                                *
    ----u2013
    INITIALIZATION.
      w_report = sy-repid.
      PERFORM variant_exists.
    ----u2013
      START-OF-SELECTION                                            *
    ----u2013
    START-OF-SELECTION.
      CALL SCREEN 0100.
    *&      Module  STATUS_0100  OUTPUT                               *
    MODULE status_0100 OUTPUT.
      SET PF-STATUS '100' EXCLUDING it_extab.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT                          *
    MODULE user_command_0100 INPUT.
      ok_code = sy-ucomm.
      CASE ok_code.
        WHEN 'SAVE'.
          PERFORM save_variant.
          PERFORM variant_exists.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'GET_VAR'.
          PERFORM load_variant.
        WHEN 'DEL_VAR'.
          PERFORM delete_variant.
          PERFORM variant_exists.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  SAVE_VARIANT                                        *
    FORM save_variant.
      t_rkey-report = sy-repid.
      APPEND t_rkey.
      CALL FUNCTION 'RS_VARIANT_SAVE_FROM_SELSCREEN'
        EXPORTING
          curr_report          = w_report
         USER_VARI            = SY-SLSET
          vari_report          = w_report
        IMPORTING
          variant              = w_variant
        TABLES
          p_sscr               = t_selctab
          p_vari               = t_vari
        EXCEPTIONS
          illegal_variant_name = 1
          not_authorized       = 2
          no_report            = 3
          report_not_existent  = 4
          report_not_supplied  = 5
          OTHERS               = 6.
      t_rkey-variant = w_variant.
      MODIFY t_rkey INDEX 1.
      CALL FUNCTION 'RS_RWSET_SAVE_VARIANT'
        EXPORTING
          rkey    = t_rkey
        TABLES
          selctab = t_selctab.
    ENDFORM.                    " SAVE_VARIANT
    *&      Form  LOAD_VARIANT                                        *
    FORM load_variant.
      PERFORM choose_variant CHANGING sel_variant.
      IF sel_variant NE space.
        CALL FUNCTION 'RS_SUPPORT_SELECTIONS'
          EXPORTING
            report               = w_report
            variant              = sel_variant
          EXCEPTIONS
            variant_not_existent = 1
            variant_obsolete     = 2
            OTHERS               = 3.
      ENDIF.
    ENDFORM.                    " LOAD_VARIANT
    *&      Form  DELETE_VARIANT                                      *
    FORM delete_variant.
      PERFORM choose_variant CHANGING sel_variant.
      IF sel_variant NE space.
        CALL FUNCTION 'RS_VARIANT_DELETE'
          EXPORTING
            report               = w_report
            variant              = sel_variant
            flag_confirmscreen   = 'X'
            flag_delallclient    = 'X'
          EXCEPTIONS
            not_authorized       = 1
            not_executed         = 2
            no_report            = 3
            report_not_existent  = 4
            report_not_supplied  = 5
            variant_locked       = 6
            variant_not_existent = 7
            no_corr_insert       = 8
            variant_protected    = 9
            OTHERS               = 10.
      ENDIF.
    ENDFORM.                    " DELETE_VARIANT
    ----u2013
          FORM CHOOSE_VARIANT                                       *
    ----u2013
    FORM choose_variant CHANGING l_sel_variant.
      CALL FUNCTION 'RS_VARIANT_CATALOG'
        EXPORTING
          report               = w_report
          masked               = 'X'
        IMPORTING
          sel_variant          = sel_variant
          sel_variant_text     = sel_variant_text
        EXCEPTIONS
          no_report            = 1
          report_not_existent  = 2
          report_not_supplied  = 3
          no_variants          = 4
          no_variant_selected  = 5
          variant_not_existent = 6
          OTHERS               = 7.
    ENDFORM.                    "CHOOSE_VARIANT
    *&      Form  VARIANT_EXISTS                                      *
    FORM variant_exists.
      CALL FUNCTION 'RS_VARIANT_FOR_ONE_SCREEN'
        EXPORTING
          program        = w_report
          dynnr          = '0101'
        IMPORTING
          variant_exists = variant_exists.
      IF variant_exists EQ 'X'.
        CLEAR: wa_extab, it_extab.
        REFRESH it_extab.
      ELSE.
        CLEAR: wa_extab, it_extab.
        REFRESH it_extab.
        wa_extab-fcode = 'GET_VAR'.
        APPEND wa_extab TO it_extab.
      ENDIF.
    ENDFORM.                    " VARIANT_EXISTS
    At include modul i have:
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      CALL SUBSCREEN sb_0001 INCLUDING w_report '0101'.
    PROCESS AFTER INPUT.
      MODULE user_command_0100.
      CALL SUBSCREEN sb_0001.
    and i have declared in the screen a subscreen area called sb_001.
    When i try to save the variant, the next error:
    Selection screen 0100 contains no object.

    I think error is coming from function module RS_VARIANT_SAVE_FROM_SELSCREEN
    try to use function RS_REFRESH_FROM_SELECTOPTIONS toget contents of fields, then save a variant with this contents
    -> check if variant already exists with RS_VARIANT_EXISTS
    -> if exists : RS_VARIANT_CHANGE
    -> if not exists : RS_CREATE_VARIANT

  • Check syntax of process chain get three variants with yellow color

    When I click the "Checking View" picture icon to check the syntax of process chain, find there are three variants with yellow color.  All the displaying msgs of the three yellow color variants says:
    There must be a type "Read PSA and Update Data Target" process behind process "Execute InfoPackage" var.ZPAK_3WN4PJ43QNW7DC2Z3ZV532ZFF in the chain
    What does this mean?  Do we have to take care of the three yellow color errors?
    Thanks

    Hi Kevin,
    Sometimes you need to instruct process chains explicitly. Even though you have it mentione din your InfoPackage, still it needs another process (and variant) to load from the PSA to the data target. In the RSPC screen where all the processes are listed on the left hand side, under Load Processes and Post Processing, you will find Read PSA and Update Data Target as the second process.
    Hope this helps...

  • Inbound BOMMAT idocs failing with MSG BOM 023

    We're taking in BOMMAT idocs into an ECC6.0 system from an external system and I have some failed idocs with message BOM 023 - local BOM <material> <plant> <alternative> cannot be changed via ALE.
    We're doing create and change functions  - this one is a change with MSGFN = 005
    There are no multiple BOMS, alternative 1 the only 1.
    I haven't been able to find any sensible explanation for this message and I haven't seen it before . Can anyone throw any light on it?
    Thanks,
    Jonathan

    Hi Jonathan,
    You are trying to change a BOM on SAP that was not initially transfered-created via the interface. Instead it was firstly created manually on SAP. For this reason you get the message for local BOM that cannot be changed via ALE. You can also confirm this also by the ALE indicator on BOM header (field STKO-ALEKZ for the given BOM).
    Br,
    Petros

  • Settlement variant with monthly settlement periods

    Hello Experts
    I have created a settlemnet variant with a monthly settlement period for the current year as follows:
    UM         UD       AD         Settlement Period
    1             31       -1               1
    2              28     -1                2
    3             31      -1                3
    up to December of 2011.
    Since this is a new implementation i have indicated the settlement variant as year dependent.
    Upon generating the cost collector in settlement unit , the settlement periods are coming out as follows:
    01.02.2012--29.02.2012
    01.03..2012---31.03.2012
    it is actually taking intervals of the following year instead of the current year.
    When i try to create another settlement variant with AD 0 , it prompts an error messge  " Enter a valid value ".
    How can i set up such a settlement variant with a monthly settlement period for the current yeasr.
    Regards
    David

    Hi David,
    Please check if settlement variant with the following attributes would meet your requirement.
    year-dependant : no
    settlement year: empty
    UM UD AD Settlement period
      1  31              1
      2  28              2
    12 31             12
    Please do not fill field AD at all.
    Hope this information is helpful for you.
    Regards, Franz

  • Short dump creating variant with RS_CREATE_VARIANT

    I'm getting the attached short dump while creating a variant with ABAP. The problem only occurs when the variants for both RPTIME00 and HDKCALC0 are created in the same program. I've tried adding a COMMIT between them to avoid any buffering problems, but to no avail. I've also tried searching SAP Notes for any hints.
    So any input would be appreciated..
    Regards,
    Jan
    Short text                                                                        
        The length of COMMON PART "INFTY_TIME_EVAL" in program "RPTIME00" is incorrect.
    Error analysis                                                                 
        The structure of the COMMON PART "INFTY_TIME_EVAL" in program "RPTIME00" is
        different from the corresponding area in the calling program               
        "HDKCALC0".                                                                               
    Length of the COMMON PART in program RPTIME00: 11784 bytes.                
        Length of the COMMON PART in program HDKCALC0: 10752 bytes.                                                                               
    There is probably an error in the program                                  
        "SAPLSLDB".                                                                
    Edited by: Jan Petersen on Sep 18, 2009 1:17 PM
    Edited by: Rob Burbank on Sep 18, 2009 9:16 AM

    Hi,
    Try to use the below way.
        REPORT  ZTEST_PROGRAM.
      DATA:
           G_REPORT      LIKE  RSVAR-REPORT VALUE SY-REPID,
           G_VARIANT     LIKE  RSVAR-VARIANT VALUE 'TEST_VAR1',
           G_VARI_DESC   LIKE  VARID.
      DATA:
           IT_RSPARAMS   TYPE STANDARD TABLE OF  RSPARAMS,
           WA_RSPARAMS   LIKE LINE OF IT_RSPARAMS,
           IT_VARI_TEXT  TYPE STANDARD TABLE OF VARIT,
           WA_VARI_TEXT  LIKE LINE OF IT_VARI_TEXT.
      PARAMETERS :P_NAME   TYPE CHAR15.
      AT SELECTION-SCREEN.
        IF SY-UCOMM = 'ONLI'."Variant is created when you press EXECUTE button on selection-screen.
          WA_VARI_TEXT-LANGU     =  'EN'.
          WA_VARI_TEXT-REPORT    =  G_REPORT.
          WA_VARI_TEXT-VARIANT   =  G_VARIANT.
          WA_VARI_TEXT-VTEXT     =  'Test variant'.
          APPEND WA_VARI_TEXT TO IT_VARI_TEXT.
          CLEAR WA_VARI_TEXT.
          G_VARI_DESC-REPORT     = G_REPORT.
          G_VARI_DESC-VARIANT    =  G_VARIANT.
          G_VARI_DESC-ENVIRONMNT = 'A'.
          G_VARI_DESC-AEDAT      = SY-DATUM.
          G_VARI_DESC-AETIME     = SY-UZEIT.
          WA_RSPARAMS-SELNAME    = 'P_NAME'.
          WA_RSPARAMS-KIND       = 'P'.
          WA_RSPARAMS-LOW        = P_NAME.
          APPEND WA_RSPARAMS TO IT_RSPARAMS.
          CLEAR WA_RSPARAMS.
          CALL FUNCTION 'RS_CREATE_VARIANT'
            EXPORTING
              CURR_REPORT   = G_REPORT
              CURR_VARIANT  = G_VARIANT
              VARI_DESC     = G_VARI_DESC
            TABLES
              VARI_CONTENTS = IT_RSPARAMS
              VARI_TEXT     = IT_VARI_TEXT.
        ENDIF.
      START-OF-SELECTION.
        WRITE 'Variant created'.
    Thanks
    Venkat.O

Maybe you are looking for

  • EXIT for T-Code F-28

    Hi GURU , I want to show one pop up message in Transaction F-28 in the time of save. Please tell me the EXIT/BADI name which will trigger in the time of save.

  • Quarry when update software

    The update "GarageBand Instruments and Apple Loops" can't be saved. The update could not be verified. It may have been corrupted during downloading. The update will be downloaded and checked again the next time that Software Update runs.

  • Xalan applet getProperty securityException

    If I use xalan2.2D6 for xsl transformation in an applet I get the following securityException: Is ther a proper way to solve this problem ? I hacked TreeWalker.java and removed the getProperty calls. It works for me but I'm shure its not the best way

  • Basic Introscope functions in SolMan vs full blown Introscope  functions

    Does anyone have - or can lead me to -  a table or matrix that shows the Wiley Introscope functionality that is provided in Solution Manager (7.x) vs the full blown functionality of Wiley Introscope that can be purchased from CA? I want to map what g

  • Northbridge problems on MSI 865PE FISS2R

    I think they are problems anyway  I used to have a northbridge temperature on this board in corecenter and now I don't. I don't have one in the BIOS either, it was quite hot usually (about 50C i think) and the fan was going full speed or close to it