HANDLING SCRAP FROM PRODUCTION

Dear All,
How we handle the scrap in inventory from production , my scnario is.
finish good + scrap = raw material1 + raw material2
how we handle this equation in production,and how we construct the bom.
plz give me solution.

Scrap Items Management
During the process of production, some of the items are generated, which are termed as Scrap
Solution :
Scrap will be defined with negative quantity in bill of material.
It is the system logic that Scrap cannot be managed by serial numbers or batch numbers.. To convert the Scrap  stock into batches, use Goods Issue and Goods Receipt function
Issue method for Scrap  should be backflush
Note:
SAP Business One does not consider the child items 'calcprice' in the calculation of the Parent item 'calcprice' when creating a Production Order for a BOM which contains one or more components (Child Items) with negative base quantity. Note! This calculation also affects the Actual Product Value and Actual Components Value fields in Production Order.
So, Scrap  do not affect the cost of the product, and they are received to stock with their current cost. The production/finished product cost will show the cost of total component issued to production.
Production/Finished product cost = sum of component item costs
Note:
Scrap item cost is not reduced from the total production cost/ finished product cost.

Similar Messages

  • How to take back or sale the scrap From Production

    Hello
    Suppose we have Issue some materials to Production say 1000 qty, for production, then here some scrap remains,we want to sell this scrap how to do?
    we have created the one material code for this scrap , How to take this material back and sale to out side how to to do this ? which is the best option, what is the use of movement type 531 here?
    Regards
    sapman

    Dear,
    At the time of production confirmation, the by-product that is produced gets transferred to the respective location. In this case the SCRAP, the goods movement takes place with the movement type ‘531 – Receipt of by-product into unrestricted use’ which is assigned already in co11n, goods movements.
    Once the Scrap is the respective storage location, it is ready for sale.
    Create a pricing procedure for selling scrap.
    It consists of Excise, education cess & higher secondary cess. And also you have conditions for CST & VAT, & TCS, Surcharge on TCS, education cess & higher secondary cess.
    Once you are done with pricing procedure, create condition records, create sales order, deliver and invoice, which is your normal sales process.
    Cheers!!

  • Accounting for scrap in production

    Hi all,
    My client produces plastic bags. In the BoM's they have factored in the average quantity of scrap to include in the BoM but have only put in the actual costs (not including the scrap costs). When receipting against a production order at the end of each day, they want to capture good finished goods and also the scrap quantity for the day. The scrap needs to go to the scrap warehouse a zero value so as to leave the production costs in the finished goods warehouse. How would I handle capturing the scrap at zero value into the different warehouse?
    Thanks in advance,
    Gareth

    Hi Gareth,
    Please check these threads to see if they are helpful:
    Scrap In SAP B1
    Rejection and scrap during production
    HANDLING SCRAP FROM PRODUCTION
    Thanks,
    Gordon

  • Create Handling unit after receiving finished goods  from production

    Hello,
    My client's requirement is that they do not want a TR or TO to get created at the time of Production order confirmation and neither they want to create the Handling unit at the time of confirmation.
    They want to move the material from production to warehouse as one Handling unit after multiple confirmations. They want to create Handling unit manually after the receipt of materials.
    What is the process of creating Handling unit after we have FG (multiple batches).
    After creation of Handling units, my client wants to ship the same Handling unit out to customer.
    How to create Handling unit
    Regards
    Prabhjot Singh

    Hi,
    If I understand right - customer wants a simple transfer of finished goods from production to warehouse, and latter pack into handling units.
    Possible scenario:
    1) Assign production order to non-WM and non-HU storage location. Post GR for production order using transaction MIGO (mvmt. type 101) for a whole quantity produced for production order.
    2) Setup packing table in IMG (Logistic General > Handling Units > General > Setup packing table> ...) --> packing table is a functionality for packing goods into HU - it takes goods from predefined source non-WM/non-HU location, packs them into HU and places them in target WM-HUM location.
    2) Maintain packaging instruction (trans. POP1 and POF1) to automate the packaging quantities.
    3) Run packaging table by HUPAST, select your table and pack.
    4) Packed HU ends up on WM-HUM location.
    This process can be done either in SAP GUI (HUPAST) or you can build it in RF transaction and run it with mobile RF scanner (ABAP development required).
    Hopefully this will be of any help.
    Regards, Primoz

  • Material Return/Scrap Material from production generate inspection lot

    Hi experts,
    I would like to confirg the following:
    When material return or scrapped material return from production(mvnt type 262), system is required to generate inspection lot.
    How can I config this scenario?
    Thanks!
    Regards,
    Daniel

    The inspection lot origin '05' is assigned to movement type '262'.
    (You can check this in update control at transaction OMJJ.)
    So you have to activate the inspection type '05' or new one.
    But you should be 'careful' because an inspection lot will be create even if other movement like '501'.
    Regards
    Luke

  • Return vendor rejection from production line

    Hi,
    Guru,
    How to return vendor rejection from production line and it should be vendor wise.
    regards,
    rakesh patel

    Hi..
    To achieve this requirement there are some developments are required.
    e.g.:- One different movement type should be there for handling vendor rejection from production line to transit store.
    One different transit store should be there  for handling the rejections.
    And you must know that particular material has come from which vendor e.g. 10nos are from xyz vendor and 7 nos from abc vendor.
    Now you can do the transfer posting thru MIGO from production line to transit store. and can select supplier from partner tab.
    Different movement type and storage location would be very helpful for reporting part. And maintain discipline.
    Regards
    Vivek.

  • Issuing a handling unit to production order

    Hi
    Is it possible to issue a handling unit to production order. Kindly through some tips in this regard.
    Thanks and Regards
    Saravana Kumar

    hi Sarvana,
    a handling unit consists of altogether several contents items that are listed as
    >full delivery items,
    >partial delivery items,
    >or even further handling units
    So from the above the handling unit consist of the items for delivery and are packed in one packaging
    material (box). The packaging material and the materials it contains form a handling unit that is
    assigned to a delivery and can be moved within the warehouse. The content of the handling unit is not significant for Warehouse Management. In fact, the contents can only be determined by referring to the delivery.
    So a HU can't be assigned to the production order within the same plant.
    for further assistance you can check the following link.
    http://help.sap.com/saphelp_47x200/helpdata/en/16/4bad1ba63611d2b44e006094b9b9dd/frameset.htm.
    hope this helps to answer your question,
    with regards,

  • 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

  • Open Multiple PDF files from Production order/Routing

    Hi Everyone
    We are in ECC 6.0 environment. We have a scenario where multiple documents were attached to single operation and also at multiple operations. But when I was trying to open these PDF documents, only the last file was getting opened and closing the previous file. How can I open multiple PDF files at one time from Production order or Routing?
    Any help is appreciated.
    Regards
    Prasad

    Hi Prasad,
    from DMS standard I regret but such a functionality is not available. In the standard originals can be opened only one after another.
    I think for realising this functionality an individual modificatoin is necessary.
    Best regards,
    Christoph

  • How to Create a OLAP Cube in DEV using SSAS from Raw file system backup from Production?

    How to Create a OLAP Cube in DEV using SSAS from Raw file system backup from Production? I dont have a .abf file available. Two paritions in production are missing data. We were able to get back file system backup which contains the files for these two paritions.
    How do I create a cube in Dev using this file system backup.
    we are on SQL Server 2008R2.
    Thanks,

    How to Create a OLAP Cube in DEV using SSAS from Raw file system backup from Production? I dont have a .abf file available. Two paritions in production are missing data. We were able to get back file system backup which contains the files for these two paritions.
    How do I create a cube in Dev using this file system backup.
    we are on SQL Server 2008R2.
    Thanks,

  • Exporting data from Production to Development in a R/3 System

    Good Morning,
    I have a landscape where i have a Productive and a Development system (SAP R/3 Enterprise Release 4.70 SR1 1.10 with MaxDB 7.5 running on a HP-UX 11.23) and i was asked to copy the data and customizing (not user master data) from Production to Development. Both systems have 7 clients (6 for each country and one for Human Resources) and i need to copy the productive data to the development data (the Productive data can overwrite the Development data).
    This is my first time doing this, and since i have a short deadline to do it, i need all the help i can get...
    I'm not sure if i should use SCC8 or SCC9 in order to create a transport request for each client copy.
    I've checked the OS space in sapdata and transport directories, i've also checked the database space and i need to change MAXDATAVOLUMES size and also create more volumes.
    Now that i've done that, i need to know what to do next... Does anyone knows where i can find a procedure or documentation on this? Some kind of step by step guide?
    About the Export Profiles, which default profile should i choose in order to copy
    All client specific data, customizing AND NOT user master data?
    Can i do any kind of test run before the export in order to understand the space i'm going to need in transport directory for example?
    Thanks in advance.
    Best Regards,
    Pedro Gaspar

    Hello Pedro,
    1. In SCC8 the SAP_APPL profile isn't available, so i guess i need to use SAP_ALL and change the user master data accordingly afterwards right?
    In that case, you should/can 'Export' the user master of the target system before the Client copy, so that you can re-import the same user master in the target system after sap_all copy from source.
    2. I also have several project teams developing in ABAP in my development system. If i export the productive client, will the ABAP code be overwritten (scripts, smartforms, etc...)? I ask this, because right now there are several programs with different versions in both systems (the landscape consists of only a DEV and PRD system NO quality). If the ABAP code in development will be overwritten, i need to tell the development teams to comment all the changes, then create transports to production to make the program versions the same, and then save the data an cofiles to import them again in development after the import. Will also RFC definitions change? Jobs will also be copied? What's the difference between this and a Homogeneous System Copy using backup/restore?
    This is the reason that normally the 'Production to Development' copy is not recommended. I would wait if our other techies here can help/advise us for this.
    A simple difference between a client copy and system copy is that the client copy is just 'client dependent' change and system copy is 'system wide' change - erasing everything on the target and just overwriting/duplicating the 'complete source' onto the target.
    Thanks

  • Error,while importing METADATA  from production to development

    Folks,
    I am getting the following error while importing the metadata. I have exported from production server and want to do some modification to the existing mappings. Can some body help me to resolve this?
    Here is the error.
    Import started at 10/07/2004 11:12:19 AM
    * Import for OWB Release: 9.0.2.56.0 Version: 9.0.2.0.0
    * User: owb_rep Connect String: (DESCRIPTION=(ADDRESS=(HOST=vectrenabp)(PROTOCOL=tcp)(PORT=1521))(CONNECT_DATA=(SID=SDWSTEST)))
    * Data File: C:\oracle\OWBHome\owb\bin\win32\SDWSDEV-MAPPINGS-20041007_0916.mdl
    * Log File: c:\oracle\OWBHome\owb\bin\win32\Log.log Log Message Level: ALL
    * Physical Names: Y Mode: CREATE Character Set: WE8MSWIN1252
    * Ignore Universal Identifier: N Commit At End: Y
    Informational at line 15: MDL1205: PROJECT with Unique Object ID (UOID) <85247BBFEA1B44C6B10CDB3B70155A63> already exists, so PROJECT with physical name <SDWSDEV> and logical name <SDWSDEV> not imported.
    Informational at line 24: MDL1205: DATAWAREHOUSE with Unique Object ID (UOID) <268F5A9F43364309A8C0D01374C4A867> already exists, so DATAWAREHOUSE with physical name <DWH_TARGET> and logical name <DWH_TARGET> not imported.
    Error at line 141: MDL1247: Error occurred importing mapping <DWH_ZIP_CODE_DMGRPHCS_DIM_MAP/DWH_ZIP_CODE_DMGRPHCS_DIM_MAP> (at line 141).
    Detailed Error Message:
    API2014: Internal Error: Error in createStage:

    I have selected the option
    Add new metadata and replace existing objetcs. But it is not importing. Also I tried other options like
    1. deleting the existing mapping and tried.
    2. Putting the mapping in recycle bin and try.
    3. Take it from recycle bin.Even during taking it from recycle it is giving me the following error .
    Error occurred importing mapping
    <DWH_CMMDTY_INVC_FACT_MAP/DWH_CMMDTY_INVC_FACT_MAP>
    (at line 141).
    Detailed Error Message:
    API2014: Internal Error: Error in createStage:
    In above all cases it is giving me the error.
    Could you please help?

  • Error  while import XML file from Production to Dev., But has GREEN status

    Hi,
    I tried to export/import bex queries through XML transportation. Transportation is being done from Production system to Development. In transport connection I selected required query and then I exported to Development. export of file is done successfully.
    Now in development system I imported that XML file. It is imported. Giving GREEN symbol and also with GREEN check. But in Log view I found ERRORS. in errors it is mentioned "SAP object 46N3K1OCT22PSBN46O95MQLTJ () cannot be imported". along with long message text "Install the specified objects from Business Content. Only import the metadata afterwards.".
    What should I do now as of next step... import of file is stuck..
    How can I search object 46N3K1OCT22PSBN46O95MQLTJ (), if I have to install from BC.
    I am also unable to find the query in Development Bex analyser.
    Thanks for help....
    [email protected]

    Hi Babloo,
    According to the error message, the package may have failed are as follows:
    The user account that is used to run the package under SQL Server Agent in PRODUCTION server differs from the original package author.
    The user account does not have the required permissions to make connections or to access resources outside the SSIS package.
    The package may not run in the following scenarios:
    The current user cannot decrypt secrets from the package. This scenario can occur if the current account or the execution account differs from the original package author, and the package's ProtectionLevel property setting does not let the current user
    decrypt secrets in the package. In this scenario, we can change the SSIS Package ProtectionLevel property to EncryptSensitiveWithPassword, then modify the SQL Server Agent job step command line to include this password.
    File access fails because the current user does not have the required permissions to write to the file share that the connection manager accesses. In this scenario, we can create a SQL Server Agent proxy account. This proxy account must use a credential
    that lets SQL Server Agent run the job as the account that created the package or as an account that has the required permissions.
    References:
    SSIS package does not run when called from a SQL Server Agent job step
    Run an SSIS Package Under a Different Account
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • While installing a program (MediaCenter.exe) to handle audiobooks from the library, I erroneously associated the download site with Windows Media Player instead of the actual application (NetLibrary Media Center). How can I reverse/change this?

    While installing a program (MediaCenter.exe) to handle audiobooks from the library, I erroneously associated the download site with Windows Media Player instead of the actual application (NetLibrary Media Center). How can I reverse/change this? Reinstalling the application does not clear the error, so I'm assuming the association is somewhere in Firefox.

    Never mind -- I just found it under Tools/Options.../Applications, where I changed the incorrect association of "nlmcp" from Windows Media Player to the correct one, NetLibrary Media Center. Done!

  • Receipt from Production

    Hi Expert !!!
    Here is my Client Requirement..
    System will provide the List of Specific warehouses into which use can enter the quantity u201Creceived from Productionu201D. By default it will show Zero for each warehouse. User can enter the received quantity into respective warehouse. And By click save system will save a New u201CReceive from Productionu201D?? document. This process will update the Balance Quantity field. The process can be repeated numerous times on a single day until the balance qty is equal to zero. There needs to be a check that does not allow the user to receive more than the planned qty.
    This is in the Matrix form.
    Goods Received  of Production Order XXX
    Warehouse1 |  WareHouse2 |   WareHouse3 |    WareHouse4    |  Quarantine
    10                 |       2                |     1.0               |        5                  |            200
    2                   |
    for this i have to make the Query in which i got All the wareHouses and in those warehouses i have to enter the Quantity which is completed in the Receipt from Production..
    Can anybody write the Query for this scenario...
    Thanks

    Hi Expert !!!!
    I want to add Receipt from Production Document Using "oInventorygenentry" , but there is problem i m not be able to add a single Document..
    My Code is here !!
    _Receipt = _Company1.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenEntry)
    If _WH5 <> 0 Then
                    _Receipt.Lines.BaseType = 202
                    _Receipt.Lines.BaseEntry = Buff  (Integer value)        ' The DocNumber Of a Production Order
                    _Receipt.Lines.Quantity = _WH5  (Quantity )
                    _Receipt.Lines.TransactionType = SAPbobsCOM.BoTransactionTypeEnum.botrntComplete
                    _Receipt.Lines.WarehouseCode = "01" (Wahre House Code )
                    ' Try to add the Draft object to the database
                    Ret = _Receipt.Add()
                    If Ret <> 0 Then ' If the addition failed
                        Company1.GetLastError(ErrCode, MsgErr)
                        MsgBox(_ErrCode & " " & MsgErr)
                        SBO_Application1.StatusBar.SetText("Item Could not be issued !!!!!") ' Display error message
                    Else
                        _Receipt.Add()
                    End If
    here i got error -5002 IGN1 trnas type ..something like that...
    if anybody tell me how to resolve this error..
    thanx

Maybe you are looking for

  • To integrate a web report in a web application

    hi, i have created a web report using ReportBuilder (wizard). i have saved that file as a jsp, my question is can i integrate that web report in any web application ,if yes how? plz let me know. thx abdul.

  • Answer for the Interview Questions

    Hello Experts,         Below is the list of questions from DP and SNP which I took it from APO Interview Questions thread. Please provide us the answers for the questions. It will be really helpful for the beginners like me. If every one in the forum

  • Can you use a network hard drive to store your music

    This might be more of an Itunes question, but I would like to know if there is a problem using a network Hard drive to store all my music on? I'll be using 2 computers to access it, 1 computer handles my kids for there Ipods each having there own log

  • How to View/manage Files on Internal Storage?

    Does anyone know how to view/manage files on the Droid Mini? I did find a list of 'Misc. Files' in 'Settings' under 'Storage'. But it only gives the option to delete. My old phone had a 'Files' app (that came on the phone) where I could view/manage a

  • Iomega EZ Media & Backup center upgrade problems

    Hello there. When prompted by email to upgrade my Iomega NAS from 4.0.8.23976 to 4.1.104.31360, I followed the usual procedure of downloading the file to a PC, uploading it through the web interface to the disk, and clicking the button launching the