Slow dataload into Infocube- Conversion of Characteristic values to SIDs

Hi All,
we are facing a slow delta load issue when loading from a DSO into an InfoCube ( approx 150,000 recs).
After checking the monitor found that
- The Conversion of Characteristic values to SIDs is taking time
- The Start Routine time is real quick ( in secs)
The underlying DSO is hugh and there is no SIDs Generation upon Activation flag set for it
Master data is loaded first and than we are loading the transaction data.
i've tried refreshing the stats of the Cube, Reduce the size of the data package,
Deletion of Indexes than Loading and recreation of Indexes, no joy at all.
Any comments and recommendations are much appreciated.
Thanks,
Natalie

Hi Natalie,
The problem for your slow delta load from DSO to cube is because the SIDs Generation upon Activation flag is unchecked at DSO level .
Becasue of which your activation is faster but your loading from DSO to cube will be slower as you only mentioned that SIDs are being generated .
One recommendation will be to switch on the property of the DSO SIDs Generation upon Activation flag .
Are there any secondary indexes also in DSO ?
You can try deleting them also during loading the data from DSO to cube .
I guess your change log table is also huge in this case . If possible we can think of deleting the log table also . Then for the new records let it get filled .
Hope the above reply was helpful.
Regards,
Ashutosh Singh .
Edited by: DEADLOCKS on Apr 21, 2011 5:08 PM

Similar Messages

  • Conversion of Characteristic Values to SIDs. Load Very slow

    Hi Experts,
                     We have a slow load issue when loading from a Write-Optimized DSO into an InfoCube. 8 millon recs in 10 hours.
    We check the start, end, and rules routines and every is ok but for all the package the load was very slow in the Conversion of Characteristic Values to SIDs.
    Can any help me with this?
    Thanks a lot,
    Alejandro

    Hi,
    It is because the SIDs Generation upon Activation flag is unchecked at DSO level .
    One recommendation will be to switch on the property of the DSO SIDs Generation upon Activation flag .
    Are there any secondary indexes also in DSO ?
    You can try deleting them also during loading the data from DSO to cube .
    Also load your master data first and activate it before loading it to cube.
    Thanks,

  • Performance - Conversion of characteristic values to SID

    Greetings:
    Yesterday I load 556.000 record into an infocube.
    No transformations of any kind. Direct assign for every infoobject. Very simple
    It lasted 1 h 30m to complete the loading.
    It started loading  7 datapackage of 50.000 records each.
    I realized that 3 of those datapackage (#2, #4 and #7) lasted from 41:47min to 41:59min in the "Conversion of characteristic values to SID" task. The other 5 lasted ... seconds.
    Any idea of that could be going on during this conversion?
    I don't understant why some datapackages last so long and other don't.
    Does anybody has any idea about this?
    Thanks in regards.
    Guillermo

    Hi Daniel,
    The SID generation is based upon the Dimension Table and Master data.
    If you see the dimension table can be build with different types like:
    one to many
    many to one
    many to many
    one to one
    So, if the dimension's for that datapacket data is many to many then it has to get all the relations and then it has to assign an SID.
    If it is one to one then there will be no more work to be done by the system to assign the SID's
    Hope you understood the back-end process.
    With Regards,
    Ravi Kanth.

  • Conversion of Characteristic Values to SIDs is taking long time

    Hi Experts,
        Cube load is taking more than 7 hrs to complete for 6 million records. Max time is at Conversion of Characteristic Values to SIDs. Cube consists of 500 fields. Load is from DSO to Cube. DSO has 10 fileds with no SID flag check for activation. Remaining fields in the CUBE are pouplated looking in to other DSO's. Start and End routines are executing very fast. How to fasten Conversion of Characteristic Values to SIDs step.  I need to load 15 million records daily as part of delta. any suggestions.
    Thanks
    Sunil

    Hi Sunil,
    Go through the below link, it will be useful
    http://aq33.com/business-warehouse/Articles-05269.html
    Regards,
    Marasa.

  • Conversion of Characteristic Values to SIDs

    Does anyone know why this DTP step would take 15 - 20 min for 10,000 records?

    Hi Hank,
    Just check out if there are any Indexes created on that cube,if yes pls delete the indexes and Load the Data and then Create the Indexes.
    Also check with the Basis team for the Server Load,which shud not be a issue as u said this is the Only job that is Running.Hope u have loaded master data before transaction Data.
    Rgds
    SVU123
    Edited by: svu123 on Jan 4, 2010 11:42 AM

  • Conversion of characteristic values before displaying in Bex Analyzer

    Dear all,
    does anybody know whether it's possible to get influence on the manner in which a characteristic is embedded into an BEx Analyzer sheet (may be via user exit, function module exits or something else) .
    In our project we have characteristics (describing production parameters) with numeric values which can't be used successfully with EXCEL AutoFilter functions because they are strings in EXCEL. Due to our data warehaouse design koncept it is not all right for us to store these values as key figures. So we are searching for methods to convert these string values into numeric values before we give them into the EXCEL sheet.
    Lot of thanks for you in advance!
    Dorothea Gebauer.

    High Leo Gillian,
    at first thank you very much for your answer. Unfortunately your information is not practicable for us. There are hundreds of characteristics, in the future there may be mor than two thousend, which have to be converted before they are embedded into the sheets. Therefore we need an automatically done conversion.
    with best regards Dorothea Gebauer

  • Dataload into Infocube

    I have created a new infocube wherein the data is to be loaded from an ODS and this should hapen at the end of every calender month and fiscal period.But, the infoPackage must be scheduled after 7PM on the last day of every month and fiscal period and must complete before midnight.
    Could anybody guide me?
    Points would definitely be awarded for your kind suggestions.

    Scheduling at end of month is easy. You have to set first execution at last day of current month and set monthly period in infopackage scheduling tab.
    You can create (and modify) this infopackage into DM (datamarts) infosources.

  • When we run query how it gets the characteristic values and attributes.

    Hi,
    When we load transaction data it chacks characteristic values then SIDs then DIM IDs then insert  DIM IDs into fact table but when we run the query how it checks and gets the characteristic values and attributes.
    Bye
    GK

    when we run the query how it checks and gets the characteristic values and attributes.
    Just the opposite way you have described. It gets from the corresponding masterdata tables, with the connected SID.

  • How to fulfill the virtual characteristic value into report

    Hi Experts,
          I am working on one reporting requirement that needs to add reference date (virtual characteristic) field to report.
          I have added reference date field to query and able to display the field in report.But I am not able to display reference date field runtime data in to report output.
        Could someone please help me on this how to display this virtual characteristic values into report.where the runtime variable values are stored.How to fill the data etc.
    Thanks in advance.
    Best Regards,
    Hari.
    Edited by: k hari on Jan 29, 2008 6:22 AM
    Edited by: k hari on Jan 29, 2008 6:24 AM

    You can achieve this using Customer Exit or BADI. Check the folllowing link.
    http://help.sap.com/saphelp_nw70/helpdata/en/ac/ef1f43daac9a448f0150a02e3a7aba/content.htm
    If you are using BADI
    You can create Virtual CHAR in BADI using transaction SE19
    In this transaction you can create a new or display the existing BADI.
    There you can see two tabs
    The Attribute Tab we need to give the name of the Multiprovider on which the query with the virtual char is getting executed.
    The Inerface Tab has three following sections. Need to write the ABAP code for all the three.
    Define : Defind all the characteristics and virtual char that will be used for populating virtual char
    Initialize : Initialize them
    Compute : Here you will have to write the logic for populating the virtual char.
    Once the logic is written then you can use this char in your query .
    Hope this helps.

  • Condition type value updation using characteristic value in sales order

    Hi Experts,
    We are implementing SAP for one of our Spain client. In that one of the Legal requirements is, whenever they are selling the finished products to domestic customers who contain OIL as one of the component then, some additional cost needs to be calculated and collected from customer and which needs to be paid back to Spain Government every month on Region basis.
           If OIL is not a component to produce the finished product then, not required to charge the customer additionally.
    The OIL content used to produce every finished product will vary based on product characteristic value. Meaning, for some finished product the OIL used will be 2.2 KG and for some products it will be 3.5, 4.3 KG and etc.
    Since various combinations of products are available for the client, during sales order creation we are planning to update some special characteristic which the data flow from u201CVariant Tableu201D. In the variant table we are going to maintain the OIL Quantity required making finished product.
    But we are not sure how to activate a new condition type with the value fetched in the special characteristic. This new condition type needs to be activated based on this characteristic value and multiplied with total order quantity and price to charge from customer.
    Example, the special characteristic fetched the value of 2.2 KG based on variant table. Total Order quantity is 10 PC and charge is 0.06 EURO per KG. in this case, (2.2 x 10 ) x 0.06 EURO = 1.32 EURO
    I need the expert opinion how to activate the new condition type based on characteristic value and achieve the above requirement.
    Thanks in advance.
    Warm Regards,
    VEL

    Hello,
    I have replicated the whole requirememt in IDES and getting the price calculation as needed but the only issue with the Conversion factor for the condition type. Either you need to maintian the conv factor in material master or need to enter manually for the condition type in SO. Some how you have to maintain the conversion factor to calculate the price for the condition type in different unit.
    For easy of understanding Lets make the whole requirement in 2 parts
    Part - 1
    Oil qty calculation. For convenience sake I have taken oil qty also in TO
    1) Created a num char OIL_QTY1 with length 9 and decimal places 5 and UOM as TO
    2) Created Variant table to infer the OIL qty in TO per piece of finished prod ( This oil qty data may be depends on various factors). For certain Finished products the oil qty may be 0 or blank
    3) Created a REF char SO_QTY  to pull the SO qty to configuration and add this char in class 300(Table:VBAP,Field :KWMENG)
    4) Created another char SO_OIL_QTY  (Num with length 9 and decimal places 5 and UOM as TO)
    5) Created a PROCEDURE say PROC_SO_OIL_QTY with code
    *$self.SO_OIL_QTY = $self.OIL_QTY1 * $self.SO_QTY*
    6) Create another PROCEDURE as mentioned earlier with modified code
    $SELF.A_VARCOND = 'TEST_001' if OIL_QTY1 specified,
    $SET_PRICING_FACTOR ($SELF,A_VARCOND,'TEST_001', SO_OIL_QTY)
    Note: Maintain proper seq of the procedures in profile. The Qty cal proc should be before the price related procedures.
    PART-2
    1) For the condition type maintained 60 EUR per TO (0.06 EUR per KG)
    Now if you create SO for the Finished product of 10 PC
    the Char values will be
    OIL_QTY1  = 0.00022 TO (inferred from Variant table th proc)
    SO_QTY    = 10
    SO_OIL_QTY = 0.0022 TO
    Get into conditions tab
    Here Condition type ZSIG will be displayed as error with Amount 60 EUR per TO and condition value will be blank. Just enter value 1 in the col NumC and CCon fields.
    Now the Condition value will appear as 1.32 EUR.
    Hope this gives some more clarity
    Regards
    Brahmaji D

  • Concatenate characters to characteristic value enetered

    Hi,
    We need to concatenate some characters with the Cost Center data entered by users and populate the resultant data in another characteristic, for the same transaction record - this needs to be done before data is written to the cube.
    Some topics in the forum suggested using exit functions for similar problems. But how do we pass cost center (or for that matter any characteristic value)from the buffer to the function and pass the concatenated (or massaged) data back to the same record in the buffer.
    If not exit, what are the other options?
    Looking forward to advice and suggestions.
    Thanks in advance
    Krishna
    <b>RESOLVED</b>
    Message was edited by: krishna

    Hi Srini,
    Thanks for the quick response.
    The concatenation I mentioned is required in BPS while writing data into transactional infocube. The user would be entering the cost center data along with other planning information. We need to pick up the costcenter entered by the user and derive another characteristic.
    Since I cant have update rules, I'm left with the option of writing some exists.
    The new data will be in a Z info object - not linked to Cost Center in any way.
    Thanks again
    Krishna

  • How to get Characteristic Values assigned to the line item of Sales Order?

    Hi,
    I want to get the Characteristic Values( Variant Configuration )assigned to First Line Item of Sales Order.
    I was using the Fn. Mod.: VC_I_GET_CONFIGURATION_IBASE,
    this fn. mod. giving all the Characters but not the assigned characteristic values.
    Is there any other way to find characteristic values of sales order.
    Thanks,
    vinayak.
    Message was edited by: vinayaga sundaram

    For example, please see this example program.
    It lists the characteristic names, the values, and the description of the values which are tied to a sales document.
    report zrich_0001.
    * Internal Table for Characteristic Data
    data: begin of i_char occurs 0.
            include structure comw.
    data: end of i_char.
    data: xcabn type cabn.
    data: begin of xcawn,
          atwtb type cawnt-atwtb,
          end of xcawn.
    data: xvbap type vbap.
    parameters: p_vbeln type vbap-vbeln,
                p_posnr type vbap-posnr.
    start-of-selection.
      select single * from vbap into xvbap
                 where vbeln = p_vbeln
                   and posnr = p_posnr.
      clear i_char.  refresh i_char.
    * Retrieve Characteristics.
      call function 'CUD0_GET_VAL_FROM_INSTANCE'
           exporting
                instance           = xvbap-cuobj
           tables
                attributes         = i_char
           exceptions
                instance_not_found = 1.
      loop at i_char.
        clear xcabn.
        select single * from cabn into xcabn
                 where atinn = i_char-atinn.
        clear xcawn.
        select single cawnt~atwtb into xcawn
                   from cawn
                     inner join cawnt
                       on cawn~atinn = cawnt~atinn
                      and cawn~atzhl = cawnt~atzhl
                          where cawn~atinn = i_char-atinn
                            and cawn~atwrt = i_char-atwrt.
        write:/ xcabn-atnam, i_char-atwrt, xcawn-atwtb.
      endloop.
    Regards,
    RIch Heilman

  • Hi. i used Function module to change Characteristic values of a sales order

    hi. i used Function module to change Characteristic values of a sales order..
    but sales order's Characteristic values didn't change.
    And the Function module doesn't occur any log message.
    please tell me wrong code, and how to solve this problem.
    if i have wrong method, what data can i pass to change the characteristic values
    DATA: LT_E1CUVAL    TYPE TABLE OF E1CUVAL.
      DATA: WA_E1CUVAL    TYPE E1CUVAL.
      DATA: LS_CFG_HEAD   LIKE CUXT_CUCFG_S,
            LS_INSTANCES  LIKE CUXT_CUINS_S,
            LS_VALUES     LIKE CUXT_CUVAL_S,
            LS_E1CUCFG    LIKE E1CUCFG,
            LS_E1CUINS    LIKE E1CUINS,
            LS_E1CUVAL    LIKE E1CUVAL,
            LS_PROFILE    LIKE E1CUCOM,
            LS_VBAP       LIKE VBAP,
            L_CUOBJ       LIKE INOB-CUOBJ,
            L_ATINN       LIKE CABN-ATINN.
      DATA: LT_INSTANCES  LIKE CUXT_CUINS_S OCCURS 0,
            LT_PART_OF    LIKE CUXT_CUPRT_S OCCURS 0,
            LT_VALUES     LIKE CUXT_CUVAL_S OCCURS 0,
            LT_VAR_KEYS   LIKE CUXT_CUVK_S  OCCURS 0,
            LT_KSML       LIKE KSML         OCCURS 0 WITH HEADER LINE,
            BEGIN OF LT_CLINT OCCURS 0,
              CLINT  LIKE KSSK-CLINT,
            END OF LT_CLINT.
      DATA: LT_CUIB       LIKE CUIB_CUOBJ_S OCCURS 0 WITH HEADER LINE.
      DATA: E_ROOT_INSTANCE           TYPE     CUXT_INSTANCE_NO.
      DATA: EV_ROOT_PERSIST_ID     TYPE     IBEXTINST_DATA-EXT_INST_ID.
      DATA: EV_CFG_HAS_CHANGED     TYPE     XFELD.
      DATA: EV_HANDLE_APPL_LOG     TYPE     BALLOGHNDL.
      DATA: L_CUOBJ_NEW           TYPE CUOBJ.
      DATA: L_OWNER               TYPE IBXX_BUSINESS_OBJECT.
      REFRESH LT_E1CUVAL.
      CLEAR LS_VBAP.
      SELECT SINGLE CUOBJ INTO CORRESPONDING FIELDS OF LS_VBAP
                                FROM VBAP WHERE VBELN = I_VBELN
                                            AND POSNR = I_POSNR.
      IF SY-SUBRC <> 0.
        RAISE INSTANCE_NOT_FOUND.
      ENDIF.
      REFRESH LT_CUIB. CLEAR LT_CUIB.
      LT_CUIB-INSTANCE = LS_VBAP-CUOBJ.
      APPEND LT_CUIB.
      CALL FUNCTION 'CUCB_INITIALIZER'
        EXPORTING
          IT_INSTANCES = LT_CUIB[].
      CALL FUNCTION 'CUXI_GET_SINGLE_CONFIGURATION'
        EXPORTING
          I_ROOT_INSTANCE              = LS_VBAP-CUOBJ
        IMPORTING
          E_CFG_HEAD                   = LS_CFG_HEAD
          ES_PROFILE                   = LS_PROFILE
          ET_RETURN                    = ET_RETURN
        TABLES
          E_TAB_INSTANCES              = LT_INSTANCES
          E_TAB_PART_OF                = LT_PART_OF
          E_TAB_VALUES                 = LT_VALUES
          E_TAB_VAR_KEYS               = LT_VAR_KEYS
        EXCEPTIONS
          INVALID_INSTANCE             = 1
          NO_ROOT_INSTANCE             = 2
          INSTANCE_IS_A_CLASSIFICATION = 3
          INTERNAL_ERROR               = 4
          NO_PROFILE_FOUND             = 5
          INVALID_DATA                 = 6
          OTHERS                       = 7.
      IF SY-SUBRC <> 0.
        CASE SY-SUBRC.
          WHEN 1.
            RAISE INSTANCE_NOT_FOUND.
          WHEN 3.
            RAISE INSTANCE_IS_A_CLASSIFICATION.
          WHEN OTHERS.
            RAISE INVALID_DATA.
        ENDCASE.
      ELSE.
        LOOP AT LT_VALUES INTO LS_VALUES.
          IF    LS_VALUES-CHARC = 'SAP_MILLCA_PACKAGING'
             OR LS_VALUES-CHARC = 'PD_CA_PACKING_DM'.
            LS_VALUES-VALUE = '7100010'. "This is test data
            MODIFY LT_VALUES FROM LS_VALUES.
          ELSE.
            DELETE LT_VALUES WHERE CHARC = LS_VALUES-CHARC.
          ENDIF.
          CLEAR LS_VALUES.
        ENDLOOP.
      ENDIF.
    &#50689;&#50629;&#51221;&#48372; &#53945;&#49457; &#48320;&#44221;
      CALL FUNCTION 'CUXI_SET_SINGLE_CONFIGURATION'
        EXPORTING
          I_CFG_HEADER                        = LS_CFG_HEAD
          I_ROOT_INSTANCE                     = LS_VBAP-CUOBJ
        I_PLANT                             =
        I_STRUCTURE_EXPLOSION_DATE          =
        I_STRUCTURE_EXPLOSION_APPL_ID       =
        I_LOGSYS                            =
          IS_PROFILE                          = LS_PROFILE
        IV_ONLY_SINGLE_LEVEL                =
        IV_HANDLE_APPL_LOG                  =
        IV_OBJECT_APPL_LOG                  = 'CIF'
        IV_SUBOBJECT_APPL_LOG               = 'T_CNFG'
        IMPORTING
          E_ROOT_INSTANCE                     = E_ROOT_INSTANCE
          EV_ROOT_PERSIST_ID                  = EV_ROOT_PERSIST_ID
          EV_CFG_HAS_CHANGED                  = EV_CFG_HAS_CHANGED
          EV_HANDLE_APPL_LOG                  = EV_HANDLE_APPL_LOG
          ET_RETURN                           = ET_RETURN
        TABLES
          I_TAB_INSTANCES                     = LT_INSTANCES
          I_TAB_PART_OF                       = LT_PART_OF
          I_TAB_VALUES                        = LT_VALUES
          I_TAB_VAR_KEYS                      = LT_VAR_KEYS
        I_TAB_BLOB                          =
        EXCEPTIONS
          NO_CONFIGURATION_DATA               = 1
          NO_ROOT_INSTANCE                    = 2
          INVALID_INSTANCE                    = 3
          INSTANCE_IS_A_CLASSIFICATION        = 4
          INTERNAL_ERROR                      = 5
          NO_PROFILE_FOUND                    = 6
          INVALID_DATA                        = 7
          OTHERS                              = 8
      IF SY-SUBRC <> 0.
        CASE SY-SUBRC.
          WHEN 1.
            RAISE NO_CONFIGURATION_DATA.
          WHEN 3.
            RAISE NO_ROOT_INSTANCE.
          WHEN 3.
            RAISE INVALID_INSTANCE .
          WHEN 3.
            RAISE INSTANCE_IS_A_CLASSIFICATION.
          WHEN 3.
            RAISE INTERNAL_ERROR.
          WHEN OTHERS.
            RAISE INVALID_DATA.
        ENDCASE.
      ENDIF.
      COMMIT WORK.
    save configuration with next commit
      CLEAR: LS_INSTANCES.
      READ TABLE LT_INSTANCES INTO LS_INSTANCES INDEX 1.
    L_OWNER-OBJECT_TYPE = LS_INSTANCES-OBJ_TYPE.
      L_OWNER-OBJECT_TYPE = 'PVS_POSVAR'.
      L_OWNER-OBJECT_KEY  = LS_INSTANCES-OBJ_KEY.
      CALL FUNCTION 'CUCB_CONFIGURATION_TO_DB'
        EXPORTING
          ROOT_INSTANCE         = LS_VBAP-CUOBJ
          ROOT_OBJECT           = L_OWNER
        IMPORTING
          NEW_INSTANCE          = L_CUOBJ_NEW
        EXCEPTIONS
          INVALID_INSTANCE      = 1
          INVALID_ROOT_INSTANCE = 2
          NO_CHANGES            = 3
          OTHERS                = 4.
      IF SY-SUBRC > 1 AND SY-SUBRC <> 3.
        CLEAR LS_VBAP-CUOBJ.
        RAISE INTERNAL_ERROR.
      ELSEIF SY-SUBRC = 1.
        LS_VBAP-CUOBJ = L_CUOBJ_NEW.
      ENDIF.
    What's wrong?
    help me to solve this problem.
    Thanks a lot.

    <b>SD_SALES_DOCUMENT_READ</b> Reads sales document header and business data: tables VBAK, VBKD and VBPA (Sold-to (AG), Payer (RG) and Ship-to (WE) parties)
    <b>SD_SALES_DOCUMENT_READ_POS</b> Reads sales document header and item material: tables VBAK, VBAP-MATNR
    <b>SD_DOCUMENT_PARTNER_READ</b> partner information including address. Calls SD_PARTNER_READ
    <b>SD_PARTNER_READ</b> all the partners information and addresses
    <b>SD_DETERMINE_CONTRACT_TYPE</b>
    In: at least VBAK-VBELN
    Exceptions: NO CONTRACT | SERVICE_CONTRACT | QUANTITY_CONTRACT
    <b>SD_SALES_DOCUMENT_COPY</b>
    <b>RV_ORDER_FLOW_INFORMATION</b> Reads sales document flow of sales document after delivery and billing
    SD_SALES_DOCUMENT_SAVE create Sales Doc from the copied document
    SD_SALES_DOCUMENT_ENQUEUE to dequeue use DEQUEUE_EVVBAKE
    RV_DELIVERY_PRINT_VIEW Data provision for delivery note printing
    SD_PACKING_PRINT_VIEW
    SD_DELIVERY_VIEW Data collection for printing
    called from RV_DELIVERY_PRINT_VIEW, SD_PACKING_PRINT_VIEW
    RV_BILLING_PRINT_VIEW Data Provision for Billing Document Print
    regards
    vinod

  • Characteristic value '5000000000 ' of characteristic 0MATERIAL is not MATN1

    Dear Experts,
                          I am getting one error message while extraction,when executing the DTP .the messge is :
    "Characteristic value '5000000000 ' of characteristic 0MATERIAL is not MATN1 -converted"     BRAIN     68          @3R@
    what is the meaning of this messege ,Request you to plese suggest me reagarding the same .thanks in advance .

    Hi Bhullar,
    Have you maintained material length as 18 at ECC and BW sides.
    at bw side info object 0material conversion routine as MATN1. seems like you may be maintained as ALPHA. if your using as ALPHA conversion routine then at transfer rules for MATERIAL you can pass output data by suing FM - CONVERSION_EXIT_ALPHA_INPUT.
    or if possible then change conversion routine to MATN1 for material(info obj) at data source level or info object maintenance(RSD1) level.
    Thanks

  • Issue in Custome FM of Characteristic Value

    Hi All,
    I have created Custom FM for possible values of  Characteristic.
    Its working fine in all transaction except CU60.
    In Cu60 Transaction if user click on F4 for characteristic value My custom help popup is coming.  when user select any of the value its populating in table maintenance. But Issue the issue is when user is saving those value those value are not saving in table maintenance.
    Please tell me if I need to do any addition stuff.
    I have created FM using below SAP Doc.
    Function Module for Checking Values
    In this field, you can enter the name of a function module for checking characteristic values entered by the user. The function module can be created in any function group.
    The following restrictions apply:
    The function module must use the standardized interface.
    The function module name cannot have more than 27 characters.
    This allows names to be inferred for further function modules: for the possible entries on the value assignment screen, and for copying language-dependent value descriptions:
    Function module for possible entries
    <function module for value check> + suffix "_F4"
    Function module for language-dependent value descriptions
    <function module for value check> + suffix "_DC"
    Interface for Function Module for Checking Values
    Import Parameters:
    CHARACT_NO LIKE CABN-ATINN  Internal characteristic number
    CHARACT LIKE CABN-ATNAM  Characteristic name
    VALUE LIKE CAWN-ATWRT  Value to be checked
    Exceptions:
    NOT_FOUND   Value not found
    Interface for Function Module for Possible Entries
    Import Parameters:
    CHARACT_NO LIKE CABN-ATINN  Internal characteristic number
    CHARACT LIKE CABN-ATNAM  Characteristic name
    DISPLAY   Display values only,
       if DISPLAY = 'X'
    ADDITIONAL_VALUES LIKE CABN-ATSON Additional values allowed
       if ADDITIONAL_VALUES = 'X'
       (if you want the possible
       entries dialog box to contain an
       additional line for entry)
    MULTIPLE_VALUES LIKE RCTMV-ATLIS Multiple values allowed
    LANGUAGE LIKE SY-LANGU  Language indicator
    DISPLAY_WITH_LANGUAGE   Display value with description
    Tables
    VALUES LIKE RCTVALUES  Selected values
       When you call this table, it
       contains existing values.
       Deleted values have status 'D'
       in the table.
       New values have status 'I'
       in the table.
    The function module must also let you display and select values using the possible entries pushbutton. To display possible entries, you can use function modules in function group SHL3, such as HELP_VALUES_GET_WITH_TABLE_EXT. The content is described in the function module documentation.
    Interface for Function Module for Language-Dependent Value Descriptions
    Import parameters
    CHARACT_NO LIKE CABN-ATINN  Internal characteristic number
    CHARACT LIKE CABN-ATNAM  Characteristic name
    VALUE LIKE CAWN-ATWRT  Value to be checked
    LANGUAGE LIKE SY-LANGU  System language
    Exceptions
    NOT_FOUND   Value not found
    If you use this function module after the function module for checking values, the language-dependent description of the value is copied to the value assignment screen.
    Note
    Please note that the program code must be based on the predefined interfaces. If your program is not based on these interfaces, the program may terminate with a short dump.
    Please note also that the function module cannot take into account any restrictions on allowed values that are due to inheritance or object dependencies, because the function can only read data that is already saved to database tables. The function cannot read current user entries.

    I  have Created two FM Function Module for Checking Values  and Function Module for Possible Entries

Maybe you are looking for