Attributes of the product

what does it mean product attributes, field attributes? generally what are the  product attributes and field attributes.

Product attributes
By defining product attributes, you take customer preferences for product substitution into account. For example, you may have customers who refuse products produced abroad, or products that contain a coupon. When you define product attributes, the system checks them in product selection, ignoring any material with a product attribute that the customer has explicitly rejected.
You could define product attributes in material master or customer master.
Field attributes
When you press F4 button on a field you get a dialog box. The dialog box has fields and each field has a yellow arrow Icon.
By using the Yellow arrow  icon button, you can specify field attributes for source and target fields.
For each source field, you can make a setting allowing it to contain initial values. This allows the system to perform derivation even if the source field does not contain a characteristic value.
For each target field, you can specify whether the step should overwrite the existing characteristic value. This guarantees that the value determined in this step will always be copied to the target field, even if that field already contains another value.

Similar Messages

  • Change the description of the product attributes

    Hi,
    I want to change the description of the product attributes from 1 - 6(Check Box)  in MM02 in the SALES : Sales Org 2 Tab.
    How to do this.
    Kindly let me know.
    Regards
    Manoj

    Hi dude,
           You can try Text Enhancements for ur Data Element  in CMOD.
           Tcode  CMOD, Goto>text enhancements>Data Elements-->NewDEcust Doc.
    Regards
    Srikanth M

  • Reading the value of the "WaitForTarget" attribute of the Wait step

    I am trying to access the  "Step.WaitForTarget" attribute for the Wait step but can't find the correct syntax to use in an expression or the correct API calls to use in an action step.  I intend to use this in an expression as I am looking for a specific value.
    I have a object reference to the step that I am testing  (Locals.StepRef) and from that I have no issues reading the standard attributes like name, step type, preconditions, etc...
    How do we access the special additional properties of the wait step ?
    Solved!
    Go to Solution.

    Hey 4watt,
    One easy way to do this is to access the step reference as a PropertyObject and use GetValNumber to obtain the value. For example:
    Locals.StepRef.AsPropertyObject.GetValNumber("WaitForTarget",0)
    I tested this out and it does correctly return the value of WaitForTarget. Let us know if you need any more assistance!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Sales Area is not visible in CRM for the products downloaded from R/3

    Hi Experts,
    Our client is using CRM 2007 and R/3 4.7.
    connectivity was established via Middleware.
    Before downloading the materials from R/3 we have done the following things
    1. Following customizing objects were downloaded
    DNL_CUST_PROD0
    DNL_CUST_PROD1
    DNL_CUST_PROD3
    DNL_CUST_SALES
    DNL_CUST_S_AREA
    2. Org structure was copied from R/3 using the Tcode - CRMC_R3_ORG_GENERATE.
    3. All the required sales are were correctly maintained( Downloaded ) in the org structure and under attributes tab " Object permitted for determination was selected".
    4. Executed the report HRBCI_ATTRIBUTES_BUFFER_UPDATE.
    After down loading the materials also we have executed the above report.
    But the sales area details are not coming with the product.
    Not: If I try to create a product in CRM I was not able to assign Sales area, ASSIGN button was in disabled mode.
    Could you please guide me to solve this issue.
    Thanks in advance.
    Nadh.

    Hi Nadh,
    Can you please check if all the condition tables are replicated correctly from R/3 to CRM. Eg ZDNL_COND_A805 and DNL_COND_A191.
    I hope the initial download for the same would be completed.
    Because there might be some fields relating to Material and Sales Area in these condition tables, which might not have moved to CRM.
    Thats the reason I am asking to check.
    Thanks.
    Best Regards,
    Arun Sankar.

  • How to put the product hierarchy in the bw?

    I want to have the product hierarchy in the reporting, in a way, that the users can open and shut the elements of the tree.
    So i added the foreign hierarchy criteria 0PRODH1, 2, 3 to the InfoObject 0MATERIAL.
    Then I used InfoSource 0MATERIAL_LPRH_HIER to put data in 0MATERIAL.
    In the result 0MATERIAL HAS the hierarchy, but without any materials added to the leafs.
    What did i do wrong?
    Tobias

    Hi ,
    Have a look on note: 407033
    It says 2 main points with regarding to your problem.
    1)  Material master records with shared master data in the sales area cannot be assigned to a product hierarchy in BW.
      This solution generates the thinnest possible hierarchy, but leads to some restrictions in the navigation options in the BW queries because you can no longer expand the hierarchy to the material numbers.
    2) The 0PROD_HIER attribute of 0-MATERIAL must be active as a navigation attribute in the cube.When you expand the hierarchies by product hierarchy in the query, you can display this hierarchy.
    With rgds,
    Anil Kuma Sharma .P
    Kindly assign points , if it really helps you.

  • The attributes of the user are inconsistent or not defined. See PPOMA_BBP

    Hi all,
    I created a free text SC and after approval by the manager, the SC was routed to the Sourcing cockpit as I had activated sourcing for the product category that was ordered.
    Now in the SOCO, when I select my SC and click on the 'Next' button, I get an error : "The attributes of the user are inconsistent or not defined. See transaction PPOMA_BBP."
    I have defined the following attributes for my purchaser
    Acct assgnmnt Categry --- (Cost centre)
    Acct system for vendor --- (ECC logical system)
    Company code --- (XXX)
    Cost centre --- (XXXXX)
    Del address --- (XXXXX)
    Doc type in R/3 --- (ECPO)
    Local currency  --- (EUR)
    Mov type --- (201)
    System Alias --- (ECC logical system)
    System alias for accounting system --- (ECC logical system)
    System alias for vendor --- (ECC logical system)
    User role --- (employee/op purchaser/st purchaser)
    Which other attribute do I need to define? Is there something that I have missed?
    Strangely it works fine if I give my user SAP_ALL profile!!
    Regards

    Hitesh & Velu,
    I did regenerate the role and it is in green now. Still it does not work.
    However I noticed that when I ran the attribute check for Purchaser's position, I got the following errors.
    Application 'RFx': Assign purchaser PURCHASER1 to a purchasing organization
    Message no. BBP_ATTR_CHECK151
    Diagnosis
    User PURCHASER1 has a purchaser's authorizations but is not assigned to any purchasing organization.
    System Response
    Purchaser PURCHASER1 (position S 50000015) cannot run the EBP applications RFx without encountering errors.
    Procedure
    Assign a purchasing organization to purchaser PURCHASER1 (position S 50000015). Select an organization unit above the purchaser and select the property 'purchasing organization' on the 'Function' tab.
    I have already done the above, all org units have a function that links them to backend ECC. Why is it still prompting me with the same error?
    Regards

  • MDX : How to use filter on a dimension without showing it OR merge 2 attributes of the same dimension?

    Hello everyone,
    I'm kind of newbie with MDX language, I'm trying to get filtered measures from a cube with a specific layout.
    Here is my exemple :
    I want to get all the "order numbers" where the "invoice" cost is more than 300.  Each invoice is linked with an ID, one order number can have several invoices.
    So what I do is a select request with 2 dimensions : "order num" and "id_invoice"
    Here is the result : I get all the cost sorted by "order num" and I can easealy identify those who are above 300
    order num
    Id_invoice
    cost
    Total
    Total2
    15450307
    10032013094498
    1671
    1737
    ok
    15450307
    10032013099835
    66
    1737
    KO
    15450596
    10032013094078
    8524
    8524
    ok
    15451214
    10032013094119
    228
    4348
    KO
    15451214
    10032013097069
    978
    4348
    ok
    15451214
    10032013097071
    3142
    4348
    ok
    15542434
    10032013101736
    142
    142
    KO
    15550064
    10032013097016
    1261
    1261
    ok
    15550346
    10032013097586
    2252
    2252
    ok
    15550353
    10032013098446
    2617
    2617
    ok
    What i need : In "cost", I need to have the sum of each cost which are above 300 in one line (without showing the invoice id)
    order num
    cost
    Total
    Total2
    15450307
    1671
    1737
    ok
    15450596
    8524
    8524
    ok
    15451214
    4120
    4348
    ok
    15550064
    1261
    1261
    ok
    15550346
    2252
    2252
    ok
    15550353
    2617
    2617
    ok
    How is it possible to use a filter on a dimension without showing it or merge 2 attributes of the same dimension ?
    The problem is that if I show "id" column, the filter doesn't work properly : it compares 300 with the total cost of the whole order and does not compare with each invoice (which could be under 300 ! - see "KO" in Total2 column)
    Here is the request I use to generate this result :
    with
    member [Measures].[Total]
    as (
    [TP].[ID INVOICE].[All],
    [TP].[ORDER NUM].currentmember,
    [Measures].[COST]
    member [Measures].[Total2]
    as (
    IIF([Measures].[COST] >
    300, "ok",
    "KO")
    select
    {[Measures].[COST],[Measures].[Total],[Measures].[Total2]}
    on
    columns,           
    Filter
                 [TP].[ORDER NUM].[ORDER
    NUM].members *
                 [TP].[ID INVOICE].[ID
    INVOICE].members
                 ,[Measures].[COST]
    > 0
    on
    rows
    FROM [MYCUBE]
    Thank you  for your help !
    Kind regards,
    Olivier.

    Hi Olivier,
    hereunder a similar query against the AW. For all order numbers, we sum all lines above 30 without diplaying the line numbers:
    WITH
    MEMBER [Measures].[lines above 30] AS
    IIF(
    [Measures].[Internet Sales Amount] > 30,
    [Measures].[Internet Sales Amount],
    null
    MEMBER [Measures].[aggr lines above 30] AS
    SUM(
    exists(
    [Internet Sales Order Details].[Sales Order Line].[Sales Order Line],
    [Internet Sales Order Details].[Sales Order Number].currentmember
    [Measures].[lines above 30]
    SELECT
    [Measures].[Internet Sales Amount],
    [Measures].[aggr lines above 30]
    } ON 0,
    [Internet Sales Order Details].[Sales Order Number].[Sales Order Number] ON 1
    FROM ( SELECT
    [Product].[Category].[All Products] ON 0,
    [Internet Sales Order Details].[Sales Order Number].&[SO51177]:
    [Internet Sales Order Details].[Sales Order Number].&[SO51178]
    } ON 1
    FROM [Adventure Works] )
    I reduced the cube with a subselect.
    Philip,

  • How to create own attributes in the graph.xml of 10g Reports

    Hi,
    Iam using 10g reports. Iam recreating the graphs in 10g which were created in Graphics builder earlier. While doing that I found lot of features are missing in 10g reports charts wizard. It has only limited number of Graph types when compared to the Graphics builder. Like there is no Curve graph in 10g. The available are Line, Bar and Area. So how can I draw a curve instead of line? 10g Legend looks very ugly. There is lot of space between the values. Is there anyway that I can add my own attributes in the graph.xml and register in the reports?
    Please advise.
    Thanks.
    Ram Dontineni.

    Hi Ram,
    how can I draw a curve instead of line?I have posted a Q in BI Beans Forum for you, we should get an answer there:
    Curved Line Graph?
    10g reports charts wizard. It has only limited number of Graph types when compared to the Graphics builderThat may not be exactly true.
    10g Graph Wizard supports 11 major graph types, and 47 sub-types
    While 6i Graphics Builder supported 5 major graph types and 35 graph sub-types
    There are differences between 6i Graphics and 10g Graph Wizard, so certain things you might have been able to do in 6i may not be entirely possible in 10g. However, the main advantages of the 10g Graph option are - it internally uses BI Beans, which is used in ALL Oracle poducts like JDeveloper, Discoverer, Oracle Apps etc. So the customer gets a consistent look-and-feel. And that it is possible to define your Graph in XML format (and through Java API in JDeveloper).
    We have published a list of FAQ's on OTN where you should get answers to at least some of your Q's:
    http://otn.oracle.com/products/reports/index.html (click on Graphing FAQ)
    Is there anyway that I can add my own attributes in the graph.xml and register in the reports?This will not be possible, however, you should take a look at the complete list of elements and their attributes that is exposed in Graph.dtd - you can then choose the attributes you want, and add them to your Report's Graph.xml:
    http://otn.oracle.com/products/reports/htdocs/getstart/whitepapers/graphdtd/graph_dtd_technote_2.html
    Navneet.

  • Can the old product be catched if I change the product in an ite?

    Hi experts,
    Is there anybody knows how can I catch the old product if I change the product in an item when placing orders?
    I mean just change the product number,not deleting the whole line.
    Do you know the badi/function name??
    Jerry.
    Thanks in advance

    Hi,
    Below are the steps in detial,
    1. Declare an attribute as public static in controller class. Redefine method set_ordered_prod and before the statement set_property, assign <oval> to your attribute.
    2. Go to SE11 and create a dataelement with domain as CRM_ORDERED_PROD.
    3. Go to SPRO->CRM->BAsic Functions->Pricing->Define Settings for Pricing->Maintain Field Catalog.
    4. Create the attribute in field catalog with below parameters,
         Field Type = 'I'   ( item field )
         Implementation type = ' '
         Enter field name
         Virtual = 'D'
         Visibility = ' '
         Selection type = 'D'
         Enter the data element
    Now save the field catalog and click generate. Now go to SE11 and check for your attribute in structure CRMT_ACS_I_COM.
    5. Create implementation for badi CRM_COND_COM_BADI and implement method ITEM_COMMUNICATION_STRUCTURE.
        Inside the method, create an object ref. to controller class. ( step 1) and assign the public static attribute to the attribute
        created in field catalog. example CRMT_ACS_I_COM-<zfield...> = ....
    6. Download the pricing userexit manual from OSS Note 809820. Chapter 3 explains about how to create user exit implementations and assign attributes to it. Follow the steps and assign the attribute created in field catalog to your user exit formula.
    7. In IPC you can access the attribute using the below statement,
    String itemCategory = item.getItemAttributeValue("Z......").getValue();
    Hope this helps.
    Regards,
    Arun
        Assign the attribute in contro to the

  • Guide for Customizing the Production Dimension

    We are in the process of implementing Procure and spend for E-Business and We have already implemented SC and OM for JDE & Universal adapters. As part of our current project, We may have to customize the Product Dimension to use/add more flex fields. We have already used several flex field attributes for the SC & OM implementation JDE . This is a common dimension used by multiple Subject Areas. Many of these product flex fields for different business units are different in context.
    As we implement more and more OBIEE Modules, we see product attribute field list is going to grow more and more. I am looking for some guidance on how to customize the Common Dimensions especially the product dimension efficiently in a simplified mannter. Does oracle has any documentation on how to customize these kind of Common Dimensions? Any suggestions would be appreciated.
    Thanks

    Hi
    See this Thread
    /message/1755908#1755908 [original link is broken]
    /message/2496839#2496839 [original link is broken]
    Kind Regards
    Mukesh

  • LEVEL attribute for the NavigationPane in ADF11g

    Hi All,
    I am working in ADF11g. I have a requirement to develop page hierarchy using NavigationPanes and NavigationCommanditems. I have to show/nottoshow few navigationpanes.
    Can anyone give me an example for LEVEL attribute for the NavigationPane and how it can be used.
    Thanks in Advance,
    Melissa
    Edited by: user10942366 on Mar 31, 2009 1:56 PM

    Please follow cuecards at:
    http://www.oracle.com/technology/products/jdev/11/cuecards/adf_set_43/ccset43_ALL.html

  • The product archive is invalid. The installer package may not include paths

    I try again here, since we got no further and this message is becoming a show-stopper for us.
    We have a simple app-file and build a package from this with Productbuilder only using
    productbuild --component 'INtex Fahrtenbuch AS.app' --sign '3rd Party Mac Developer Installer: INtex Publishing GmbH & Co. KG' 'InstallationINtexFahrtenbuchAS.pkg'
    Furthermore we checked for extended attributes everywhere with
    ls -lad@ *
    and removed any with
    xattr -d -r com.apple.FinderInfo *
    xattr -d -r com.apple.ResourceFork *
    Packaging with Product Builder went fine and installation test with sudo was no problem.
    Still we can´t upload our installer to iTunes connect. Message is once again but this time only:
    The product archive is invalid. The installer package may not include paths outside of a bundle.
    What can we do about that ? There is no path outside the bundle ...

    lemkesoft wrote:
    I have here the same problem with one of my apps.
    Do you have any solution now?
    Welcome to Apple Discussions, Mr. GraphicConverter
    The standard suggestion is to clean and rebuild. There were a number of such posts on the paid Developer Forums a few weeks ago, but nothing since.

  • Can we Delete the Product/Material  from Product Master in CRM

    Hi Gurus,
    I want to delete some test products from Product master, I don't see any link for delete there in product master transaction.
    Can we Delete the Product from Product Master in CRM??
    Thanks in Advance.
    Regards,
    Manoj Tiwari

    Try this:
    *& Report  ZVB_PRODUCT_DELETE          (release CRM 4.0 SP03)          *
    *&         Instructions are in OSS Note #427332                        *
    report  zvb_product_delete line-size 300.
    const, include
    include com_product_const001.
    include com_product_const003.
    include com_product_const009.
    include com_product_const011.
    include com_settype_attribute_const03.
    tables:  comm_iproduct,                                     "#EC NEEDED
             comm_product.
    constants:
           gc_program type programm value 'COM_PRODUCT_DELETE_SINGLE'.
    data:  gv_product_guid type comt_product_guid,
           gv_prty  type comt_product_type,
           gv_syslog(70)  type c,
           lv_mobile_active  type comt_boolean,
           lv_delete  type comt_boolean value 'X'.
    data:  lt_settypes      type  comt_frgtype_tab_ext,
           lt_status_guid   type comt_prd_status_guid_tab.
    data: begin of lt_products occurs 0,
             product_id   like comm_product-product_id,
             product_guid like comm_product-product_guid,
          end of lt_products.
    Screen User query
    selection-screen comment /1(60) text-006.
    selection-screen skip 2.
    select-options: s_prid for comm_product-product_id.
    *parameters: p_prid type comt_product_id   obligatory,
    parameters: p_prty type comt_product_type obligatory default '01',
                p_logs type comt_logsys       obligatory,
                p_objf type comt_product_object_family,
                p_send  as checkbox modif id 001 default on,
                p_usage as checkbox modif id 001 default off,
                p_test  as checkbox default 'X'.
    at selection-screen output.
      perform check_mobile_download
          changing lv_mobile_active.
      if lv_mobile_active is initial.
        loop at screen.
          check screen-group1 = '001'.  "disable field p_send, p_usage
          screen-active = '0'.
          modify screen.
        endloop.
      endif.
    start-of-selection.
    perform check_authority.
    Write syslog entry
    concatenate 'Rep. ' sy-repid ': ' p_prid(30) '/' p_prty '/' p_logs
            into gv_syslog.                                    "#EC NOTEXT
    call 'C_WRITE_SYSLOG_ENTRY'
       id 'TYP' field ' '
       id 'KEY' field 'C00'
       id 'DATA' field gv_syslog  .
    inactive product are not supported here
    select * from comm_iproduct
            where product_id    = p_prid
            and   product_type  = p_prty
            and   object_family = p_objf
            and   logsys        = p_logs.
    endselect.
    if sy-subrc = 0.
       write: / text-001, text-005.
       exit.
    endif.
    read products according to the selection criteria
      select * from comm_product
             into corresponding fields of table lt_products
             where product_id    in s_prid
             and   product_type  = p_prty
             and   object_family = p_objf
             and   logsys        = p_logs.
      if sy-subrc ne 0.
        write: / text-010.
        exit.
      endif.
      loop at lt_products.
      read product and enqueue
        perform product_enqueue
             using lt_products-product_id
                   p_prty
                   p_logs
                   p_objf
             changing gv_product_guid
                      gv_prty.
        check not gv_product_guid is initial.
        if p_usage = on.
          perform check_usage
                  using gv_product_guid
               changing lv_delete.
        endif.
        check lv_delete = on.
        check p_test = space.
      first delete the component of the IBase
        perform delete_ibasecomponent
             using gv_product_guid.
        perform delete_extensions
             using gv_product_guid
                   lt_settypes.
        perform delete_settypes
             using gv_product_guid
                   lt_settypes
          changing lt_status_guid.
        perform delete_interlinkages
             using gv_product_guid.
        perform delete_pme_data                      "multivalue attributes
             using gv_product_guid.
        perform delete_decoupled_data                "long text, longmatnr,
             using gv_product_guid.                  "ibase prodvar,...
        perform delete_status
             using lt_status_guid.
        perform delete_favorites
             using gv_product_guid.
        perform delete_clear_case
             using gv_product_guid.
        if p_send = 'X'.
          perform send_deletion_to_mw
               using gv_product_guid.
        endif.
        delete from comm_product     where product_guid = gv_product_guid.
        delete from comm_producth    where product_guid = gv_product_guid.
        delete from comm_product_idx where product_guid = gv_product_guid.
        delete from comm_prwb_user_2 client specified
               where client = sy-mandt and last_object = gv_product_guid.
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait = 'X'.
        write: / text-001, lt_products-product_id, text-004.
      endloop.
    *&      Form  product
    form product_enqueue
       using   iv_prid  type comt_product_id
               iv_prty  type comt_product_type
               iv_logs  type comt_logsys
               iv_objf  type comt_product_object_family
      changing ev_pguid type comt_product_guid
                          ev_prty type comt_product_type.
      data ls_product type  comt_product.
      call function 'COM_PRODUCT_GUID_GET'
        exporting
          iv_product_id    = iv_prid
          iv_product_type  = iv_prty
          iv_logsys        = iv_logs
          iv_object_family = iv_objf
          iv_show_popup    = 'X'
        importing
          ev_product_guid  = ev_pguid
        exceptions
          not_found        = 1
          wrong_call       = 2
          internal_error   = 3
          others           = 4.
      if sy-subrc <> 0.
        write: / text-001, space, iv_prid.
        write:   text-003.        "Product not found
        exit.
      else.
        write: / text-001, space, iv_prid.
        write:   text-002.        "Product found
      endif.
      call function 'COM_PRODUCT_READ_SINGLE'
        exporting
          iv_product_guid = ev_pguid
          iv_enqueue_mode = ' '
        importing
          es_product      = ls_product
        exceptions
          not_found       = 1
          wrong_call      = 2
          foreign_lock    = 3
          enqueue_failed  = 4
          others          = 5.
      if sy-subrc <> 0.
        if sy-subrc > 2.
          write: / text-001, space, iv_prid.
          write:   text-007. "Product enqueued
          exit.
        else.
          message id sy-msgid type sy-msgty number sy-msgno
             with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          exit.
        endif.
        exit.
      endif.
      ev_prty = ls_product-product_type.
    special authotirty check (with considering the assigned
    categories)
    call function 'COM_PRODUCT_CT_AUTHORITY_CHECK'
       exporting
         iv_auth_act     = '06'
         iv_product_guid = ev_pguid
       exceptions
         no_authority    = 1
         wrong_call      = 2
         internal_error  = 3
         others          = 4.
    if sy-subrc <> 0.
       message id sy-msgid type sy-msgty number sy-msgno
               with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    endform.                               " product
    *&      Form  delete_extensions
    form delete_extensions
         using iv_product_guid type comt_product_guid
               et_settype      type comt_frgtype_tab_ext.
      data:  lv_db_tab        type ddobjname,
             lv_subrc_pr_guid like sy-subrc,
             table_name_ref   type ref to data,
             lt_extension     type comt_frgtype_tab_ext,
             ls_extension     type comm_frgtype_ext.
      field-symbols: <table_name> type any,
                     <field_name> type any.
      check not iv_product_guid is initial.
    delete extensions e.g. COMM_PRFREEATTR, CRMM_PR_TAX, COMM_PR_UNIT,
                           COMM_PR_SHTEXT,COMM_PR_GTIN, comm_prprdcatr,..
      perform load_extensions
              using  iv_product_guid
           changing  lt_extension
                     et_settype.
      loop at lt_extension into ls_extension.
        lv_db_tab = ls_extension-frgtype_tab.
        check not lv_db_tab is initial. "CRM_CAT_SAT & CRM_CAT_PUR
      does table exist ?
        call function 'DDIF_NAMETAB_GET'
          exporting
            tabname   = lv_db_tab
          exceptions
            not_found = 1
            others    = 2.
        check sy-subrc = 0.
      Due to any reason (I don't know why) sometimes we have product_guid
      and sometimes we have frg_guid as name of the key field.
        create data table_name_ref type (lv_db_tab).
        assign table_name_ref->* to <table_name>.
        assign component 'PRODUCT_GUID' of structure <table_name>
               to <field_name>.
        lv_subrc_pr_guid = sy-subrc.
        if lv_subrc_pr_guid = 0.
          delete from (lv_db_tab)
                 where product_guid = iv_product_guid.
        else.
          delete from (lv_db_tab)
                 where frg_guid     = iv_product_guid.
        endif.
      delete history of extension table
        concatenate ls_extension-frgtype_tab 'H' into lv_db_tab.
        create data table_name_ref type (lv_db_tab).
        assign table_name_ref->* to <table_name>.
        assign component 'LOGSYS' of structure <table_name>
                                  to <field_name>.
        check sy-subrc = 0.
        call function 'DDIF_NAMETAB_GET'
          exporting
            tabname   = lv_db_tab
          exceptions
            not_found = 1
            others    = 2.
        check sy-subrc = 0.
        if lv_subrc_pr_guid = 0.
          delete from (lv_db_tab)
                 where product_guid = iv_product_guid.
        else.
          delete from (lv_db_tab)
                 where frg_guid     = iv_product_guid.
        endif.
      endloop. "  end of loop for all extensions
    endform.                    " delete_extensions
    *&      Form  delete_settypes
    form delete_settypes
         using iv_product_guid   type comt_product_guid
               it_settypes       type comt_frgtype_tab_ext
        changing et_status_guid  type comt_prd_status_guid_tab.
      data: ls_reldesc type  coms_pr_org_rel,
            lt_reldesc type  comt_pr_org_rel_tab,
            lt_reltab  type  ref to data,
            ls_settype type  comt_settype_ext,
            ls_table   type  tabname,
            ls_status_guid   type crmt_object_guid.
      field-symbols:
           <fs_reltab>   type any table,
           <fs_relrow>   type any,
           <fs_settype>  type comt_frgtype_guid,
           <fs_setguid>  type comt_frg_guid,
           <fs_statguid> type crmt_object_guid.
    memorise product status guide
      ls_status_guid = iv_product_guid.
      append ls_status_guid to et_status_guid.
    load description of relation tables
      call method cl_com_product_org_type=>comc_pr_org_link_read_all
        importing
          et_pr_org_rel = lt_reldesc
        exceptions
          no_desc       = 0.
    for all relation types (e.g. comm_pr_frg_rel, comm_pr_frg_rod)
      loop at lt_reldesc into ls_reldesc.
      read product/settype relations
        create data lt_reltab type (ls_reldesc-link_table_ttyp).
        assign lt_reltab->* to <fs_reltab>.
        call function ls_reldesc-func_rel_read_pr
          exporting
            iv_product_guid = iv_product_guid
          importing
            et_rel          = <fs_reltab>
          exceptions
            wrong_call      = 1
            not_found       = 2
            others          = 3.
        check sy-subrc = 0.
      for all links...
        loop at <fs_reltab> assigning <fs_relrow>.
          assign component 'FRAGMENT_TYPE' of structure <fs_relrow>
                                                     to <fs_settype>.
          assign component 'FRAGMENT_GUID' of structure <fs_relrow>
                                                     to <fs_setguid>.
          assign component 'STATUS_OBJECT' of structure <fs_relrow>
                                                     to <fs_statguid>.
          read table it_settypes with key frgtype_guid = <fs_settype>
                                 into ls_settype.
          check sy-subrc = 0.
        settype table
          delete from (ls_settype-frgtype_tab)
                 where frg_guid = <fs_setguid>.
        history table
          concatenate ls_settype-frgtype_tab 'H' into ls_table.
          delete from (ls_table)
                 where frg_guid = <fs_setguid>.
        memorise settype status guide
          if not <fs_statguid> is initial.
            ls_status_guid = <fs_statguid>.
            append ls_status_guid to et_status_guid.
          endif.
        endloop. "of links
      relation table (e.g. comm_pr_frg_rel)
        delete from (ls_reldesc-link_table)
               where product_guid = iv_product_guid.
      history table
        concatenate ls_reldesc-link_table 'H' into ls_table.
        delete from (ls_table) where product_guid = iv_product_guid.
      endloop. " of relation types
    endform.                    " delete_settypes
    *&      Form  delete_interlinkages
    form delete_interlinkages
         using iv_product_guid type comt_product_guid.
      constants: cv_db_name(8)  type c value 'COMM_IL_',
                 cv_suffix_h(2) type c value '_H'.
      data: lt_ilinks   type  comt_il_data_tab,
            lt_reltype  type  comc_il_reltype_tab with header line,
            lv_ddictype type  dd02v-tabclass,
            lv_dbname        type  comt_structure.
    CHECK p_objf IS INITIAL.
    first we have to read all ILs where the productguid is sourceguid
      refresh lt_ilinks.
      call function 'COM_IL_API_WHERE_USED'
        exporting
          iv_objectguid   = iv_product_guid
          iv_objtype      = gc_bus_objtype_bus1178
          iv_direction    = 'S'
        importing
          et_interlinkage = lt_ilinks.
      check not lt_ilinks[] is initial.
      delete adjacent duplicates from lt_ilinks comparing reltype.
    read ilinkage customizing
      select * from comc_il_reltype into table lt_reltype
         for all entries in lt_ilinks where reltyp = lt_ilinks-reltype.
    delete interlinkages
      loop at lt_reltype.
        if lt_reltype-streltyp ne space.
          concatenate cv_db_name lt_reltype-streltyp into lv_dbname.
        else.
          concatenate cv_db_name lt_reltype-reltyp   into lv_dbname.
        endif.
      delete data
        call function 'DDIF_NAMETAB_GET'
          exporting
            tabname   = lv_dbname
          importing
            ddobjtype = lv_ddictype
          exceptions
            not_found = 1
            others    = 2.
        check sy-subrc = 0 and lv_ddictype = 'TRANSP'.          "#EC NOTEXT
        delete from (lv_dbname) where sourceguid = iv_product_guid.
      delete history
        check lt_reltype-change_doc = 'X'.
        concatenate lv_dbname cv_suffix_h into lv_dbname.
        call function 'DDIF_NAMETAB_GET'
          exporting
            tabname   = lv_dbname
          importing
            ddobjtype = lv_ddictype
          exceptions
            not_found = 1
            others    = 2.
        check sy-subrc = 0 and lv_ddictype = 'TRANSP'.          "#EC NOTEXT
        delete from (lv_dbname) where sourceguid = iv_product_guid.
      endloop.
    endform.                    "delete_interlinkages
    *&      Form  delete_pme_data
    form delete_pme_data
         using iv_product_guid type comt_product_guid.
    delete multivalue attributes from PME
      data: lt_pmemap  like standard table of comm_pme_prd_map,
            ls_pmemap  like comm_pme_prd_map.
      select *  into table lt_pmemap
                from comm_pme_prd_map
                where crm_object_guid = iv_product_guid.
      check sy-subrc = 0.
      loop at lt_pmemap into ls_pmemap.
        call function 'CRM_SCE_DB_KB_DELETE'
          exporting
            iv_kbid = ls_pmemap-kbid.
      endloop.
      delete comm_pme_prd_map from table lt_pmemap.
    endform.                    "delete_pme_data
    *&      Form  send_deletion_to_mw
    form send_deletion_to_mw
         using iv_product_guid type comt_product_guid.
      data:  cv_function_module like  rs38l-name
                  value 'CRM_PROD_SEND_DELETION_MESSAGE'.       "#EC NOTEXT
      data:  lt_product_guid  type comt_product_s_tab with header line.
      lt_product_guid-product_guid = iv_product_guid.
      append lt_product_guid.
      call function 'FUNCTION_EXISTS'
        exporting
          funcname           = cv_function_module
        exceptions
          function_not_exist = 1
          others             = 2.
      check sy-subrc = 0.
      call function cv_function_module
        exporting
          it_product_guid = lt_product_guid[]
          iv_test_only    = space
        exceptions
          internal_error  = 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.
    endform.                    " send_deletion_to_mw
    *&      Form check_mobile_download
    form check_mobile_download
      changing ev_mobile_active type comt_boolean.
      data:
            cv_db_tab   type ddobjname value 'SMOMARA'.
      data: lv_lines    type i value 0.
      clear ev_mobile_active.
      call function 'DDIF_NAMETAB_GET'
        exporting
          tabname   = cv_db_tab
        exceptions
          not_found = 1
          others    = 2.
      check sy-subrc = 0.
      select count( * ) into lv_lines
        from (cv_db_tab) up to 10 rows.                     "#EC CI_NOWHERE
      if lv_lines > 0.
        ev_mobile_active = on.
      endif.
    endform.                    " check_mobile_download
    *&      Form check_authority
    form check_authority.
      tables:  t000, comc_pr_tool_reg.                          "#EC NEEDED
    check productiv system - report must not be executed
      select single * from t000 client specified             "#EC CI_CLIENT
                      where mandt = sy-mandt.
      if t000-cccategory = 'P'.
        message e807(com_product) .
        leave.
        leave to transaction '    '.
      endif.
    Check authority for product delete
      call function 'COM_PRODUCT_AUTHORITY_CHECK'
        exporting
          iv_auth_act    = '06'
        exceptions
          no_authority   = 1
          wrong_call     = 2
          internal_error = 3
          others         = 4.
      if sy-subrc ne 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      MESSAGE e808(com_product).
        leave.
        leave to transaction '    '.
      endif.
    Additional step: registration
      select single * from comc_pr_tool_reg
             where program_name = gc_program
             and   user_name    = sy-uname
             and   exec_date    = sy-datum.
      if sy-subrc ne 0.
        message e809(com_product).
      endif.
    endform.                    " check_authority
    *&      Form  delete_decoupled_data
    form delete_decoupled_data
         using iv_product_guid type comt_product_guid.
      include com_product_const018.
    Deleting decoupled and customer requested data (long_text, longmatnr,
      upload registry, ibase product variants coming from R/3,
      archive verify registry). Documents like PDF,XLS,DOC,JPG stored in
      Content Management will not be deleted
    load BADI implementations
      class: cl_exithandler definition load.
      data:  exit_obj type ref to if_ex_com_product_delete.
      call method cl_exithandler=>get_instance
        exporting
          exit_name              = gc_badi-com_product_delete
          null_instance_accepted = on
        changing
          instance               = exit_obj.
    call BADI implementations (User Exit)
      call method exit_obj->delete_extra_data
        exporting
          iv_product_guid = iv_product_guid.
    endform.                    " delete_decoupled_data
    *&      Form  load_extensions
    form load_extensions
         using iv_product_guid type  comt_product_guid
      changing et_extension    type  comt_frgtype_tab_ext
               et_settype      type  comt_frgtype_tab_ext.
      data: lt_prd_cat      type  comt_prod_cat_rel_tab,
            ls_prd_cat      type  comt_prod_cat_rel,
            lt_cat_frg      type  comt_prcat_frag_rel_tab,
            ls_cat_frg      type  comt_prcat_frag_rel,
            lt_settype_guid type  comt_frgtypeguid_tab,
            ls_settype_guid type  comt_frgtype_guid,
            lt_settype      type  comt_frgtype_tab_ext.
      refresh et_extension.
    read categories assigned to product
      call function 'COM_PROD_CAT_REL_READ_WITH_PR'
        exporting
          iv_product_guid = iv_product_guid
        importing
          et_set          = lt_prd_cat.
      loop at lt_prd_cat into ls_prd_cat.
      read allowed settypes for categories
        call function 'COM_PRCAT_FRAG_REL_READ'
          exporting
            iv_category_guid  = ls_prd_cat-category_guid
          importing
            et_prcat_frag_rel = lt_cat_frg
          exceptions
            wrong_call        = 1
            others            = 2.
        check sy-subrc = 0.
        refresh lt_settype_guid.
        loop at lt_cat_frg into ls_cat_frg.
          ls_settype_guid = ls_cat_frg-frgtype_guid.
          append ls_settype_guid to lt_settype_guid.
        endloop.
      read settype defintions
        call function 'COM_SETTYPE_READ_MULTIPLE'
          exporting
            it_settype_guid = lt_settype_guid
          importing
            et_settype      = lt_settype
          exceptions
            nothing_found   = 1
            others          = 2.
        if sy-subrc =  0.
        only settypes
          et_settype[] = lt_settype[].
          delete et_settype[] where
            ( prod_comp_type = gc_prod_comp_type-extension or
              prod_comp_type = gc_prod_comp_type-simple_extension ).
        only extensions
          delete lt_settype[] where
            ( prod_comp_type ne gc_prod_comp_type-extension and
              prod_comp_type ne gc_prod_comp_type-simple_extension ).
          et_extension[] = lt_settype[].
        endif.
      endloop. " end of product categories
    endform.                    " load_extensions
    *&      Form  delete_status
    form delete_status
      using it_status_guid type comt_prd_status_guid_tab.
      data:
        lt_status like crm_jsto_pre occurs 0,
        ls_status type crm_jsto_pre,
        ls_status_guid type crmt_object_guid.
      loop at it_status_guid into ls_status_guid.
        ls_status-objnr = ls_status_guid.
        append ls_status to lt_status.
      endloop.
      call function 'CRM_STATUS_DELETE_MULTI'
        tables
          objnr_table = lt_status.
    endform.                    " delete_status
    *&      Form delete_favorites
    form delete_favorites
         using iv_product_guid type  comt_product_guid.
      call function 'COM_PRODUCT_DELETE_FAVORITES'
        exporting
          iv_object_guid = iv_product_guid.
    endform.                    " delete_favorites
    *&      Form delete_clear_case
    form delete_clear_case
         using iv_product_guid type  comt_product_guid.
      data:   ls_customizing type comc_product,
              lv_clear_case_guid type comt_clear_case_guid.
    Is cusotmizing-flag INACTIV_PROD activated ?
      call method cl_com_product_general=>comc_product_read_all
        importing
          es_prod_general = ls_customizing
        exceptions
          not_found       = 1
          others          = 2.
      check ls_customizing-inactive_prod = on.
      select single clear_case_guid from comm_clear_targ        "#EC *
               into lv_clear_case_guid
               where object_guid = iv_product_guid  "active
                 and object_class = 'PROD'.
    normaly two entries for active and inaktive product version
      delete from comm_clear_targ
               where clear_case_guid = lv_clear_case_guid
                 and object_class = 'PROD'.
      delete from comm_clear_stack
             where guid = lv_clear_case_guid
               and application = 'PROD'.
    endform.                    "delete_clear_case
    *&      Form check_usages
    form check_usage
         using iv_product_guid type  comt_product_guid
      changing ev_delete type comt_boolean.
      include sbal_constants.
      data:  cv_function_module like  rs38l-name
                  value 'COM_PRODUCT_USAGE_CHECK'.              "#EC NOTEXT
      data:  ls_product  type comt_product,
             lt_product  type comt_product_tab.
      data:  ls_logheader     type bal_s_log,   "Kopfdaten des Protokolls
             lv_loghandle     type  balloghndl.
      data:  ls_msg_filter type bal_s_mfil,
             ls_log_filter type bal_s_lfil,
             lt_msg_handle type bal_t_msgh,
             ls_log_handle type bal_s_logh,
             ls_msg_handle type balmsghndl,
             ls_msg        type bal_s_msg,
             ls_string     type string.
    does CRM function exist
      call function 'FUNCTION_EXISTS'
        exporting
          funcname           = cv_function_module
        exceptions
          function_not_exist = 1
          others             = 2.
      check sy-subrc = 0.
    create log handle
      ls_logheader-aldate    = sy-datum.
      ls_logheader-altime    = sy-uzeit - 10.
      ls_logheader-aluser    = sy-uname.
      ls_logheader-alprog    = sy-repid.
      call function 'BAL_LOG_CREATE'
        exporting
          i_s_log                 = ls_logheader
        importing
          e_log_handle            = lv_loghandle
        exceptions
          log_header_inconsistent = 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.
      ls_product-product_guid = iv_product_guid.
      append ls_product to lt_product.
    call usage checks
      call function cv_function_module
        exporting
          it_product   = lt_product
          iv_loghandle = lv_loghandle.
    filter settings
      ls_log_handle-sign   = 'I'.
      ls_log_handle-option = 'EQ'.
      ls_log_handle-low    = lv_loghandle.
      append ls_log_handle to ls_log_filter-log_handle.
    get messages
      call function 'BAL_GLB_SEARCH_MSG'
        exporting
          i_s_log_filter = ls_log_filter
          i_s_msg_filter = ls_msg_filter
        importing
          e_t_msg_handle = lt_msg_handle
        exceptions
          msg_not_found  = 1
          others         = 2.
      check sy-subrc = 0.
      ev_delete = space.
      write: / text-001, text-008.
    read messages
      loop at lt_msg_handle into ls_msg_handle.
        call function 'BAL_LOG_MSG_READ'
          exporting
            i_s_msg_handle = ls_msg_handle
          importing
            e_s_msg        = ls_msg
          exceptions
            log_not_found  = 1
            msg_not_found  = 2
            others         = 3.
        check sy-subrc = 0.
        message id ls_msg-msgid type ls_msg-msgty number ls_msg-msgno
            with ls_msg-msgv1 ls_msg-msgv2 ls_msg-msgv3 ls_msg-msgv4
            into ls_string.
        write: /, ls_string.
        clear ls_msg.
      endloop.
    endform.                    " check_usages
    *&      Form  delete_ibasecomponent
          text
         -->P_GV_PRODUCT_GUID  text
    form delete_ibasecomponent using p_product_guid.
      data: lv_guid22 like sysuuid-c22,
            ls_comp   type  ibas_dat1.
      tables: ibin.
      break pvho.
      call function 'GUID_CONVERT'
        exporting
          iv_guid_x16            = p_product_guid
        importing
          ev_guid_c22            = lv_guid22
        exceptions
          no_unicode_support_yet = 1
          parameters_error       = 2
          others                 = 3.
    find the component
      select * from ibin
             where objnr = lv_guid22.
        clear ls_comp.
        ls_comp-instance = ibin-instance.
        ls_comp-ibase = ibin-ibase.
        call function 'IBASE_COMP_DELETE'
          exporting
            i_comp              = ls_comp
          exceptions
            data_not_consistent = 1
            ibase_locked        = 2
            not_succesful       = 3
            others              = 4.
        if sy-subrc eq 0.
          call function 'IBASE_SAVE'.
        endif.
      endselect.
    endform.                    " delete_ibasecomponent

  • Unable to remove additional attribute/ category from product

    I am using SAP CRM 4.0 and in order to add additional attributes on a product created a attribute 'test_attribute' created a set type ' test_attribute_set' and attached the attribute to it. Then I created a hierirch and and inside it created a category 'test_category' which was assigned 'test_attribute_set'. This test category was then attached to my two products. All is fine till here, but now when I try to detach this catagory from product it does not give an option to select the category and remove from the general tab of product. Can some one please help me on this?

    I am using SAP CRM 4.0 and in order to add additional attributes on a product created a attribute 'test_attribute' created a set type ' test_attribute_set' and attached the attribute to it. Then I created a hierirch and and inside it created a category 'test_category' which was assigned 'test_attribute_set'. This test category was then attached to my two products. All is fine till here, but now when I try to detach this catagory from product it does not give an option to select the category and remove from the general tab of product. Can some one please help me on this?

  • Please clarify: can you add attributes to the Out of Box classes?

    In this thread,
    http://technet.oracle.com:89/ubb/Forum36/HTML/000116.html
    It said, (March 21, 2001)
    "You are not allowed to add attributes to the Out of Box classes that ship with IFS. You have to subclass the out-of-box attributes and define your custom attributes as extended attributes of your subclass. The add button is only active when the class you are viewing is not one of the out of box classes"
    In the 1.9 documentation on page 179 I see
    "Oracle 9iFS also allows you to add or modify attributes on content types after they
    have been created.
    Or, you may need to add custom attributes to the Document and Folder content types that come with Oracle 9iFS. You can add
    attributes to a content type at any time"
    Is this a new feature of 1.9?
    Would a good workaround be to create a PropertyBundle for each Document and Folder? Would there be a big performance hit?
    I dont want to create a new folder type and a new document type since I'm not sure how the rest of the system will use them.
    Someone please respond, I've been trying to figure this out all day.
    Thanks in advance
    Mitch
    null

    In the isshell in ifs 1.1.9, I do a
    ls -attrall
    and I see "null" next to the property bundle. I assume this to mean that no property bundle has been created for this folder instance.
    As for categories, 1.2 doc states.. "A folder, ... can be associated with zero,one or more categorys" I will have to create a new category for each file and or folder.
    I really want to have additional attributes for each file.
    I dont want to subclass folder because, if a user does a drag and drop in NTFS a folder will be created and not a MyFolder.
    I have a kludge for now; I put a comma delimited list of items in description field.
    Apparently this limitiation, is changed in 1.2. See above.
    Thanks for your help. IFS is a really great product. Cant wait for 1.2 on NT.
    Mitch
    null

Maybe you are looking for

  • Logical Database - PNPCE - Hide 'Org Structure' 'Search Help' etc buttons

    Hi, We have created a report by making a z copy of RCATS_APPROVE_ACTIVITIES. In the Z version we need to hide the buttons on the titlebar of the selection screen. Buttons are - Org Structure - Search Help - Dynamic Selection - Selection Fields. Can y

  • How do I get Adobe Air Desktop App to notify user that a URL text file has been updated?

    How do I get an Adobe Air Desktop App to notify user that a URLRequest ".txt" file has been updated? via blinking system tray icon or something. New to Air and need someone to point me in the right direction. I have been searching web for hours and p

  • Satellite L500-1R1 dead after copying files

    Hi there, got sisters laptop which was continuously crashing in windows7(still getting BSOD with various reasons, tried antivirus scan, unchecking msconfig startup items etc. with no effect), so deciced to reinstall OS. Gets into safe mode through F8

  • The Retail Equation Question

    I just want to a little bit about this process.  Today I had to return and rebuy my Macbook Pro to take advantage of the current sale price due to the use of coupons.  This had to be done on seperate transactions.  My question is will TRE view me as

  • I NEED HELP TO GET "TEXT TWIST" TO WORK with your Firefox thing.

    How do I get the game "Text Twist" to work with Mozilla Firefox? When I go to play "Text Twist" I get a message that says : 'This game uses Active X controls or Java and can't be viewed in Firefox. Many games on the MSN Games site can be played using