Can we delete the reversed material documents?

Dear Experts,
A PO has been Goods recieved several times and the corresponding material documents have also been reversed.
Because of this, we have an issue in final Goods reciept.
Can we advise our cleint to delete the revrsed material docs (Tbis is in production)?
Is this advisabe?  We are only deleting those material documents which have been revresed.
please suggest.
Regards,
Shashidhar

Hi All,
Thanks for the reply.
I have explained my actual problem in another thread:  PU Val. GR Blckd St. exceeded by 1.000 EA : POXXXXXXX  Plant  Sloc
When 107 posting done more than once, SAP considers the quantity of the
first GR only during PGR in VL32N to post 109.
Steps to replicate:
PO qty = 500
Inbound Delivery Qty = 500
1st GR in MB01 with 107 for qty = 250
2nd GR in MB01 with 107 for qty = 250
Now Post GR in VL32N (remember delivery with stock type Q/X)
Error message M7022 displayed (PU Val. GR.Blocked Qty Exceeded by 250)
I tried to reverse both document and post a new 107 with qty = 500.  Now also I get the same error message in VL32N.
But If I remove the old documents from EKBE table (which are actually reversed ) and retain only the latest 107 , then I am able to post GR without any error in VL32N
Please help me.
regards,
Shashidhar

Similar Messages

  • 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

  • Can I delete the folder (Mobile Documents) on my Mac?

    I just wanna the Pages document in the Cloud, not on my Mac… I wanna do the download on the iPad. Just like iTunes Match. I have the reference (doc icon to download) but the the file. For files dmg.txt and the how others? Maybe in the System Preferences uncheck Documents & Data? That's it? I just wanna use the iPad to sync Pages docs, the dmg.txt files only in the cloud to download? Is this possible?
    thanks

    Sorry. When you said you "unchecked iCloud Mail," I thought you were not wanting to use it on your Mac.
    To answer your original question, I don't know whether you can delete the Mobile Documents folder from your Mac. Or rather, I don't know what might happen if you do. Better have a couple of good backup copies of your boot volume before you try it. (A good idea for anything that requires "sudo" even if you have researched it thoroughly.)

  • How can I delete the documents in my icloud. Thanks !

    How can I delete the documents in my icloud. Thanks !

    Welcome to the Apple Community.
    iCloud.com > iWork, click to select and delete.

  • I have just bought a new mac book, and I want to start from scratch by syncing the content of my iPhone, but each time I try it wants to delete everything on the iPhone and replace by what on the new iTunes library, i.e. nothing! can I do the reverse?

    I have just bought a new mac book, and I want to start from scratch by syncing the content of my iPhone, but each time I try it wants to delete everything on the iPhone and replace by what's on the new iTunes library, i.e. nothing! can I do the reverse, i.e. importing all my iphone's stuff on the new computer?

    You need to copy some files and your iTunes folder to the new computer. Do you have a backup of your old computer (or still have the old computer?) Was the old computer a Mac or PC?
    MacWorld - Move an iTunes library from a Windows PC to a Mac
    Back up your iTunes library by copying to an external hard drive
    iTunes- How to move your music to a new computer

  • Can we delete the material from SRM ?

    Hello,
    In ECC, With MM06 & with MM17 we have marked the materials for deletion but can not completely delete it. still client users shop for those materials and
    We have the requirement to permanently delete the materials from respective SLOCs so that those deleted materials will not be available at all  to requester for shopping.
    Archiving is out of scope. Can we delete the materials from SRM also in commpr01 ? or Suggest any other pointers
    Thanks & Regards / Pankaj K

    Hi Pankaj
    Issue during S.cart creation for mtl which are flagged for del at sto locn
    as really said, if you delete a material at SL level , srm not validating but SRM validates at Plant level deletion.
    Are you in classic oe ECS, However it would have thrown error while creating PO.
    How did you delete the material inSRM ?
    After you delete a material in SR, what is the status of material ? Is it blocked, Archieved.
    BR
    Muthu

  • About reverse material document

    Dear all,
    After cancel material document, i found the posting date is inaccurate, but the new material document which movement type can not been reverse by tcode VL09, and the posting date can not been changed.
    What can i do to cancel the new material document?
    Best Regards,
    Kevin

    Hi
    While reversing the SD document from VL09, you can change the Reversal Posting Date. For this when you execute the VL09 then click on Define Date and change the date of Local Date. then reverse the documnet. So you can do the reversal as per the date given by you.
    Regards
    Amitesh Anand

  • How can I delete the TemporaryTopic using JMS C API or VC++

    Hello everybody,
    how can I delete the TemporaryTopic after created TemporaryTopic using JMS C API "JmsSessionCreateTemporaryTopic"?
    I checked the document about JMS C API, but I couldn't find any API for delete TemporaryTopic, it's really not existing?
    Or if there's any other way that I can delete TemporaryTopic using VC++? Any comments will be appreciated.
    Thanks for your help!
    Youbing he

    As far as I can tell, there's no C-API option for deleting a temporary topic other than to close the connection used to create the temporary topic. Note that it is inefficient to frequently create and destroy temporary topics.
    You can get pretty much equivalent performance and functionality with a shared regular topic, non-durable subscriptions, and selectors that take advantage of the "indexed subscriber" optimization. (Consumers specify a selector that is unique to them in the exact form of "MyUniqueID NOT NULL", while publishers send to a specific consumer by adding "MyUniqueID" as a message property. The "X NOT NULL" selector format activates the indexed subscriber optimization.)
    Tom
    Edited by: TomB on Apr 27, 2010 10:44 AM

  • How can I delete the files .DS_store in Mac OS Yosemite?

    How can I delete the files .DS_store in Mac OS Yosemite?

    The .DS_Store file is normal. It holds certain settings related to the folder it is found in. Removing these files is futile, as they will come back, as you have observed.
    If you are seeing them on your Mac, that means you have changed settings so that your Mac is showing invisible files in the Finder. To reverse that, run the following command in the Terminal:
    defaults write com.apple.finder AppleShowAllFiles NO
    This will hide them, and any other invisible files, from view.
    If you are seeing them on a Windows machine, just ignore them. They're not doing any harm.
    If you found a Terminal command that is supposed to stop them from being created, I would be extremely skeptical as to the wisdom of running it.

  • How can we delete the data in e-fact table.

    how can we delete the data in e-fact table.

    hii,
    You cannot delete the request individually but you can one of the following:
    1. Do a selective deletion from the cube. RSA1 -> Cube -> Contents -> selective deletion.
    2. Delete all the data in the cube and then reconstruct only the required request ids. This would work only if you have the PSA available for all the requests.
    3. Reverse posting is another possibility.
    hope it helps,
    partha

  • Can't delete the cost estimate via CKR1

    Hi,
    We have one material. We can't delete the cost estimate via CKR1. It is only warning. It is no error log. The other material cost estimate can delete normally. I check the material master I can't find the issue. The following is the warning message. Could you pls help check it? Whate factor will effect the cost estimate deletion? Thanks.
    ==========================
    Deleting current standard cost estimates can cause inconsistencies
    Message no. CK 669
    Diagnosis
    u2022 If you delete a current standard cost estimate, the fields for
    the cost estimate are set to zero in the material master record. If you
    use the material ledger, the standard prices in the material ledger
    master data are also deleted when you delete the current standard cost
    estimate. The material master record for the material thus does no
    longer contains a current standard price from a standard cost estimate.
    u2022 If you delete an active standard cost estimate, you can no
    longer determine scrap, work in process and variations for previous
    periods.
    u2022 In certain countires, it is a legal requirement to maintain
    records of standard pricing. Therefore, you should check whether you
    are obliged by law to keep records of your standard cost estimates.
    Please also contact the relevant accounting and inventory management
    departments.
    ==========================
    Best Regards
    Park Han

    Hi,
    The deletion of Current standard cost estimate should be followed with some rules of the IFRS.
    If you want to change the standard cost you can do the change,If you want to delete the standard cost of material then it will set the price of material to zero.If the material ledger also activate then it will make the Moving average price & standard cost of the material to zero.
    So follow the Law of the country & Discus with Audit team &then delete the curent standard cost estimate of the material.
    Regards,
    Raj

  • Can not delete the incoming invoice- is "held"

    Hi, can anybody help me?
    What can be done if to PO an incoming invoice was created, but beacuse of some error messages only held, not posted. Now, if they try to delete the invocie (though transaction MIR4) , the message comes :
    Invoice document xxxxxx cannot be processed further
    Message no. M8422
    Diagnosis
    The invoice document xxxxxxxx contains the purchasing document xxxxxxxx, and the item 00290. You cannot enter the invoice for this item, or you cannot cancel the invoice document. This can have various causes, for example:
    - The PO item is locked
    - THE PO item is flagged for deletion
    - Another employee is currently processing the purchase order
    - The purchase order has not yet been released
    - The corresponding service entry sheet has been deleted
    - For a held invoice for planned delivery costs: the vendor in the held invoice does not match the vendor in the purchase order condition or with the vendor from the purchase order history. This is because the vendor in the purchase order condition has been changed in the meantime. -> In this case, you can no longer process the held document. You can use report Z_MRM_DELETE_PP from note 501905 to delete the document
    The position 290 in Po seems to be ok, no deletion flag or something else, no change of vendor.
    Could be the problem caused by the fact, that in the meantime the reall invoice to the same PO was created and also posted?
    So how can we delete the held invoice without implementing the note?

    Hi,
    Please check the frieght condition in the PO item detail screen by taking the icon magnifying glass and check wheather the vendor is changed.
    Regards,

  • How can I delete the video tracks from an iDVD project?

    I try to use "canc" botton: the video track is deleted on menu, but when I try to insert a new video, iDVD (7.1.2) alert me:  "The maximum number of tracks (presentations and movies) is 99. You can not create other tracks."
    Then, how can I delete the video tracks (or presentations) really?
    Help me, please!

    Hi
    What is Your original material ?
    Did You create Your movie in iMovie/FinalCut ?
    iDVD is limited to 99 Chapters (in a movie) or 99 Photos in a SlideShow.
    What are You trying to create ?
    Yours Bengt W

  • Imported iPhoto library, can I delete the iPhoto events?

    Hi,
    I'm very new to Aperture, so far I'm impressed.
    I have imported my iPhoto library and now I see a folder called 'iPhoto Lirary' that contains 'Events' and then events (that look like Aperture projects).
    The question is, can I delete the 'iPhoto Library' folder?
    and also, can I, delete the Aperture projects without impacting the actual pictures?
    Thanks!!

    Gecko,
    The library is the humongous collection of files and relationships between the files -- it is the Aperture database, stored in a Mac OS "Package".  It's the thing you "open", like you open a document or spreadsheet to see what you've previously stored in it.
    A Project is a logical group of photos within a library.  Aperture allows you to create as many projects as you like within your library, and you can store as many photos as you like within each project (although some users here have found poor performance with 2000+ photos in a single project).
    What I wasn't clear with was, are the photos stored in the library and files I see in a Project are 'sortcuts' to the photos in the library?
    I suppose that depends on your point of view concerning referenced versus managed.  I prefer to think that all my photos are part of the Aperture library, but only the managed masters are actually stored within the library.  With that line of thinking, all of my photos in a project are the actual photos - some of them are stored within the library (managed) and some are stored outside (referenced).  When I think of "shortcuts", I think of albums.  Albums in Aperture are like playlists in iTunes.  A photo lives in one project in your library, but you can point to that photo in a many different albums.  Aperture doesn't take up extra space in each of the albums; rather it just points back to (is a short cut to) the photo in a project.
    If I Import into a Project, are the photos stored in the Library?
    You should make sure you read about masters versus versions.  It's hard to talk about how Aperture works (with even an innocuous sounding question like yours) without understanding masters versus versions.  Master photos are stored in the library package if they are managed; they are stored where you tell Aperture to store them if they are referenced.  Versions aren't really stored anywhere -- they are virtual, merely a set of instructions on how to manipulate (adjust) a master.  However, thumbnails and previews for all photos are stored within the library. 
    Aperture tries to minimize the necessity to know if your photos are references or managed -- it really should not matter since Aperture is keeping track of them all.  With Aperture, that distinction between managed and referenced is relevant in only 2 conditions: only managed masters are backed up when you create a vault; and only masters which are immediately accessible can be edited with adjustments.  For the latter, that means that 1) all managed photos, and 2) only referenced photos which are on a drive which is currently connected to your system, are available for adjustments.
    nathan

  • Can we delete the sales order?

    hi,
    can we delete the sales order?

    Use transaction code SARA for deletion of sales order but as every body said it is not recommended as it might affect the documents made against it and also the master data.
    So its better to reject the sales order.
    Regards
    Prashant

Maybe you are looking for

  • How to edit excise invoice ?

    In stock Transfer process. We create  pro-forma invoice ...Based on pro-forma invoice , we create Excise Invoice. We are using a discount condition type ZABT. By mistake someone has deleted the Condition record for  ZABT. There are 1000 Pro-Forma inv

  • Release Strategy is not picking up in the PO.

    Hi All I have defined a Release Strategy for the Purchase Order. The Characteristics are PO category Pur Org Total Net Order Value All the lights are green which i check the release strategy. But the Release Strategy is not picking when PO is created

  • Accessing Panel Collection property( View & Detach) in programmatically

    Hi All, I am using JDeveloper 11.1.2.0.My scenario is two pages have same table surrounded by Panel Collection layout. Now User hiding some columns in first page table using panel colletion View property then he navigate to the second page the hidden

  • Error while loadjava xmlparserv2.jar: ORA-04043: object oracle/xml/.. does not exist

    In Oracle8i.15, I tried to install xmlparserv2.jar after I downloaded xdk_plsql_9_2_0_2_0.zip and upzip to local machine. However, when I issued the follwoing command: loadjava -v -r -user SYSTEM/manager -force xmlparserv2.jar For each class, it has

  • Isssue during export/import

    Hi, I am getting the following error during import IMP-00058: ORACLE error 1502 encountered ORA-01502: index 'YYY.XXX_PK'or partition of such index is in unusable state Please suggest me the solution. Thnanks,