Product Allocation: Removing a Material from Product Allocation
Hey folks!
I am new to the forums, so hopefully some of you sharks will bite on this one. I work for a consumer products company and we're having issues with product allocations.
We have had a material on product allocation for the past 3 months. We used a allocation rule that is modeled off of the S140 rule on the basic data of the material view. However, our production has now ramped up sufficiently to produce this product and provide normally.
1) How do we remove the material from product allocation?
We deleted the rule from the basic data view, but is there anything else we need to do? There are many remaining open sales orders that get the error "No Feature Combination exists for this selection error". I have ran rescheduling (V_V2) and have also ran the SDRQCR21 to rebuild requirements, but it still remains with this error.
2) Is there something we have to do with the infostructures? Something we have to do in MC64 or MC94?
3) Do we need to go through each sales order and delete the line item and replace the line item to get the normal ATP to function (we would rather not do this as we have EDI information connected to each line item)
4) Is there another report out there I need to run that I just do not know about?
Any help would be great. We are on ECC5.0 Hotpack 15. I will reward points if I can figure out how to.
Use MC94 to remove the quantities allocated.
Use MC62 to remove the planning hierarchy.
I believe that in your situation MC94 will work.
Similar Messages
-
Are there any products to remove minor scratches from my iPod touch screen?
Just wondering if there are any products to remove minor scratches on my iPod touch screen? I used a screen protector, but I've still gotten several small scratches. Is there anything I can do?
Thanks!No! Not toothpaste! That can damage the screen. As far as the scratches, why does it matter? Everyone has at least some. I got some on the back of my iPod from sand. If you don't mind spending some money, buy an Otterbox. It keep debris out of your iPod and protects from drops. The defender series is the best one.
-
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,
DanielThe 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 -
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 TiwariTry 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 -
Removing scroll bar from product pages
I need to remove the scroll bar that appears on the product pages. It doesn't matter if I have only one product or 100 on the page with the small images, I still get a scroll bar on the right side. I've tried adding and removing margins and padding, set the container height to auto, and removed the previous and next buttons from the shop templates, all to no avail. It appears to be caused by the table that holds the products, but no change to the code fixes it.
I have included a screen print of the top of the page showing the scroll bar. There are only 3 images on this page and plenty of room below them. Overflow has been set to auto (and/or visible) on the container, the table, and the page.
So, can anyone tell me how to shut off that scroll bar? I can't find that code that includes it so I can't see what's going on.
Thank you for you help.
Sincerely,
AhuraniLiam,
Thank you for answering.
I didn't want to turn the scroll bar on the page off, but the scroll bar that appears in a div container. I finally solved the problem by turning overflow: auto to overflow: hidden. And smacked myself in the forehead and said, "Duh. I knew that." Too tired and too close to the problem I guess.
The only other thing I can't seem to find is the large space that appears above a product table. I've tried everything from margins to padding and beyond.
Sorry about not including the url. I have used the forum so rarely that I didn't think of that. It is www.whimsicalley02.businesscatalyst.com, just in cases you want to look at the big space on Harry Potter > Accessories and on the large product page. I'd love to tuck the product closer to the breadcrumb, but if that is not possible, then c'est la vie.
Thank you. -
Error when no production BOM exists for material in production order.
Experts,
I have materials with production BOM's and other materials without production BOM's.
When I create a production order, I get an error message (not blocking) that I don't have production BOM.
Can I configure my production order type in a way that a production BOM is optional?
Many thanks!
JanHi,
Please cheeck with OPJB.
SPRO-> Shop floor control->Sytem modfications-> Define sytem message attributes.
As you can convert the meassages only defined here
SPRO ( Production > Basic Data> BOM > General Data > Change Message Type .
Or
Goto SE91; press F4; select SAP Applications as PP and find all messages under it
Regards,
R.Brahmankar -
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 SinghHi,
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 -
Movement code for return from Production without WBS?
Hi All
How can I return material from production without entering a WBS. Currently we use MB1A movement type 222 but we have difficulty in identifying material coming back from production. But we have to enter a WBS element. As you know, this takes the cost of the material from the WBS. If we have no WBS we cannot return it into stock.
How can I return material into a warehouse from production without entering (no reference) to a WBS? Material is issued to production using movement types 221 and 281.
Thanks
DarrenHi,
Please try to use the movement types: 521 (or) 531 , to receive goods without referring Production Orders/ WBS elements.
Regards,
Narayana. -
Transfer materials from production to warehouse
Hi experts,
Production department have received material from warehouse by transfer order and produced the material ,After that finished material need to transfer to warehouse for that what is the order we use?
thanks.you need to make the receving storage location for PRD as WM managed.
it will automaticlly create a transfer order after your confirmation.
after confimration , it will got to cogi and from there you can do your transfer order work.
i hope these are standar thigns.
you dont have to worry much.
setting for that, spro>Enterprise Structure>Logistics Execution-->Assign warehouse number to plant/storage location
once the storage location is WM manged, all movement need to go through WM process, ie transfer order and all.
Regards,
Pravin Mukkawar -
Not able to select Base unit in Receipt from production and Sales order
Can anybody help me out for the below scenario
I have defined Sales UOM , Sales Packaging UOM, Items per Sales unit and Quantity per Packing UOM for all finished product in the item master.
I have created Production BOM and Production Order (with Issue method is Manual because they maintained items batchwise ) for all Finished products.
Based on Production orders, I received finished products(Batch wise) through receipt from production. But the base unit shows Yes and it is not allow me to change.
In Sales order, the quantity column shows the value of quantity per packing UOM instead of Items per sales unit.
For Ex. ItemA - 01 No (Item per Sales Unit)
3600 Pcs ( Quantity per Packing UOM)
Receipt from Production - 10 Nos
In Sales order - it shows 36000 (10*3600 ) instead of 10 nos
Expecting favourable solution for that.The selectable units on the sales order are the inventory unit or the sales unit. So if you want to see in units of 3600 Pc-s you should define this as Sales Unit (not as packaging unit). Then you can show the item in this unit in the sales documents.
(In the receipt from production document you should always use the inventory Uom.)
Edited by: István K#rös on Dec 22, 2009 10:07 AM -
Want to update field from product to asset using JoinFieldValue function
I am trying to write a workflow with JoinField Value Function so that I will get the Field Value=Product Quantity from Product(Content Management) in Asset which is the related information under Account.
In Asset on the basis of Product Name & ProductID, i want to update that field=Product Quantity in Asset.
JoinFieldValue('<product>','<productid>','<product quantity>')
i have tried this workflow under Asset record type with Trigger Event as When Modified record Saved.
I need this to see the product quantity frm product for Available to Promise purpose.
Pls help me out.
Regards
MangeshTnaks Venky for your Reply.
I have written the exact workflow.
I have created the Custom Field as Product Quantity in Product.In Account record type related info I have renamed Asset as Product Purchased & added field Product name & Product Quantity(Custom Field-Number) as read only.I have aslo added the productID Field(renamed from row ID in both product & assest record type).
Product Name=A ProductID=123 Product Quantity=READ ONLY ---PQ & PID are coming from Product record type.Same way i want the Product Quantity field should come from Product Record type.
If i require Product A from Product record Type(Inventory) with 10 Quantity in Required Product Quantity as Custom Field then when i save the Information or as a Modified Information,the Product Quantity field shoul be automatically upadted with the Value provided in Product Quantity field in Product Record Type.
Regards
Mangesh -
Remove material from search results
Is anyone aware of a way to remove a material from search results? I have a large contingent of materials that are no longer valid for sale and the search results create a lot of clutter. I need to retain the records for historical sales transactions but since there is no stock and the materials are discontinued, they don't need to be displayed on search.
Hi Craig,
You can do this through customising: SPRO > Logistics - General > Material Master > Tools > Maintain Search Helps
There, give double clicl to the "Search Help" = MAT1_A.
Then, select the tab "Include search helps" and select the search where you want to add a field. i.e. MAT1V - Material by Supply Area.
Once you are there, check if you can add the field LVORM - DF at client level.
Then, save the data and in this search you can have the option to see all the materials deleted or not deleted.
By the way, Narla Rama Krishna Mohan has a document about "Material Master Search Help" and it can help you too.
This is the link:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8047f84e-7973-2c10-548a-ab4cb1c3c498?quicklink=index&overridelayout=true
Hope this help.
Kind regards,
SP -
Removal of waste material from factory premises
Dear All,
I have the following scenario, I use a ( material x) for my manufactring process, From this material a waste is generated during the manufacturing process ( material Y).
Now I want to remove this material from my factory premises, that is I will be paying a vendor per ton basis to remove this material from the factory premises, and also I have to pay excise duty to government against the dispatch of this material.
How to map this scenario in the system.
Valuable answers will be rewarded maximum points.
Deepak.Is it possible to copy 161 and create a PO somewhat like return PO and you can maitain in the condition the money pay to vendor and the money pay to goverment? and it also related to material evaluation and you can pay the money throught IR.
I'm not sure whether it make any sense. -
Function to remove a material in classification system
Hi Folks!
I'm seeking a function that removes a material from a class belonging to a vendor from the classification system.
Thanks in advance for your help.
Regards,
Gilberto LiHi Folks!
Thanks for your replies, I really appreciate your help.
I was looking for the BAPI: BAPI_OBJCL_DELETE
However im having some trouble to make it work. I read the documentation, and I think this should work.
The problem I'm having is filling the BAPI:
I don't know if you have worked with this BAPI but I don't get what to pass to the parameters:
I'm doing as following, for the field:
OBJECTKEY: I'm passing the material number.
OBJECTTABLE: I'm passing 'LFA1'.
CLASNUM: I'm passing the name of the class, for example 'MATSERVPROVEEDOR'.
CLASSTYPE: I'm passing '010' that means vendor class.
What I don't understand neither is where to pass the vendor number so it only removes the material from the vendor. Another thing also is they KeyDate, don't really know what date I should pass?
After testing with no success on objectkey passing the material number I passed to the ObjectKey the vendor number, but the result was the deletion of the entire class and its values, and that wasn't what I expected, I only want to remove some values of the class, not the entire class.
Any help would be really appreciated.
Thanks Again.
Regards,
Gilberto Li.
Message was edited by: Gilberto Li -
Purchase order from production order !! (Missing material no)
Hi,
This purchase order is created directly from production order.( My problem is the material number is no where shown on PO. but when I print it (print preview) i can see the material number along with the Production order number. I am writing a new report and need material no.
Interesting thing is, even when the Material no is missing. I can see the short txt for material as 'Galvanise'.
Pls help me in finding the material number.(item wise)
Thanks & Regards
HrishiHi
1. Check table EKPO, if material number is stored against said PO,
2. Check ME23N, ME23N, ME22, ME23 screens are u able to see material no. in any of T-code.
If one of T-code not showing material number, it is sort of bug in system
Regards,
NNK
PS:Award points for useful ans
Maybe you are looking for
-
No Video on Touchsmart 310-1205la
I have no video on this Touchsmart 310-1205la. It turns on and blue light on switch remains constant with no flashes. I changed the Procesor and Memory and still no video. I flashed the Bios on the board by placing the Jumper on 7 and 8 then back
-
Objects not appearing in build list
Thanks for reading... I recently downloaded Keynote 3.0 and successfully converted a MS Powerpoint file to Keynote. However, some of the objects are not appearing on my build list. Furthermore, when I try to edit the slide with "new" text, etc they s
-
I wanted to print out a label for the USPS mailing service and apparently Adobe Reader is required. I've printed out the label many times before without going this route, but USPS says it is now required. In trying to download Adobe Reader when I cli
-
Message replies don't include original text-threaded messaging??
I used to have the BB 8520 with T-mobile. I now have a Verizon 8530. I am very frustrated with messaging. I work for a interpreting company that sends out hundreds of texts a day. Basically, the first interpreter to respond my text reply gets the
-
Very basic question from beginner
Hello, In Photoshop Elements I can only save a slide show as wmv or pdf file. Is it possible to export/convert the photoshop slide show directly to flash (swf) format? If not, how should I proceed in order to get the slide show as a flash file (swf)?