CRM order EXPLOSION like BOM explosion in R/3
Hello friends,
I want to list our CRM service orders with their hierarchy.
The program or function "CRM order Read " is not enough . In doc flow we get only the first level. In our system we have 3- 6 levels .
Have you got any idea?
*
Similar Messages
-
Error in Rush Order type with BOM item!!
Hello,
I am facing a very strange error while creating a rush Order with BOM item.
System Error:
1. No item category available (Table T184 SO ERLA TAQ).
I except the error. I get next error as
2. Structure explosion for item 000010 is not possible.
After this BOM explodes with only first 2 Sub Items ( Item cat for main item is determind as TAQ and Sub Items as TAE) , where as the complete BOM has 7 Sub items.
I have made the required configs in item cat determination in T184 table for order type SO, as follows.
SO ERLA - TAQ for Main Item of the BOM
SO NORM TAQ TAE for the Sub Item of the BOM
The same item (BOM ) works very well in OR/BV kind of sales order types, by exploding the BOM to full level(i.e all the 7 sub items are determined).
Has any one come across such an issue. Please let me know what could be the solution?
Thanks in adv,
ShripadHi,
Thanks,
In vov7 for TAQ Item Cat. the structure scope is maintained as 'A'. And that's the reason for Standard order 'OR' , the BOM is exploding properly.
It is only with Rush Order , the BOM is not exploding correctly.
BR
Shripad -
Hi all!
My task is to read categories of crm order (i.e. fields category_1 ... category_4 at the order header level).
May be someone could tell me some functionality to get this data?
I'll be appreciated.
Best regards,
Alexander KirillovHi, Oliver!
Below you'll see how-to-guide which will provide a step-by-step solution.
It's 100% works like 'CRM_ORDER_READ' (both for buffered values & DB ones).
How-to guide - reading order categorization
1. Create package ZCATEGORY (Categorization)
2. Create new dictionary objects:
2.1. Structure ZMDS_CATEGORIZATION_CAT ( u201CCategory from categorizationu201D) with fields:
CAT_GUID type CRM_ERMS_CAT_GUID
CAT_HI type CRMT_ERMS_CAT_HI
IT_CAT_CA type CRMT_ERMS_CAT_CA_BUF_TAB
IT_CAT_CA_LANG type CRMT_ERMS_CAT_CA_LANG_TAB
2.2. Structure ZMDS ZMDS_CATEGORIZATION_CATS ( u201CCategories from categorizationu201D) with fields:
CATEGORY1 type ZMDS_CATEGORIZATION_CAT
CATEGORY2 type ZMDS_CATEGORIZATION_CAT
CATEGORY3 type ZMDS_CATEGORIZATION_CAT
CATEGORY4 type ZMDS_CATEGORIZATION_CAT
3. Copy CL_CRM_CATEGORY_RUN_BTIL class to new ZMD_CL_CRM_CATEGORY_RUN_BTIL class. In newly created class do following:
3.1. u201CPropertiesu201D tab: <Create instance> = 2 u201CGeneralu201D
3.2. Change method u201CMAP_SUBJECT_TO_CATEGORYu201D to u201CPublicu201D
4. Create new class ZMD_CL_CATEGORIZATION (Categorization processing).
4.1. u201CPropertiesu201D tab: <Create instance> = 2 u201CGeneralu201D
4.2. Define constants:
4.2.1. C_LNK_TYPE_IS_CODE Constant Public Type CRM_ERMS_CAT_LN_TYPE Default link type 'IS_CODE'
4.2.2. C_OBJ_DDIC_CRM Constant Public Type CRM_ERMS_CAT_OB_DDIC External object name 'SUBJECTCODECRM'
4.2.3. C_TREE_TYPE_CAT Constant Public Type CRM_ERMS_CAT_HI_TYPE Kind of link 'CAT'
4.3. Create static public method u201CGET_ORDER_H_CATu201D with importing parameter IV_GUID (type CRMT_OBJECT_GUID = order GUID) & exporting parameter ES_CATEGORIES (type ZMDS_CATEGORIZATION_CATS).
5. Create report ZMDR_ORDER_CAT for displaying order categorization. -
Adding a new field extension on CRM Order Item tab in the web shop order
Hi CRM E-Commerce Gurus,
I want to add a extension field on any web site product such as "zz...." in order to use this data in order's item tab. What shoul I do on J2EE Stack-.jsp method and ABAP Stack at the BADI implementations.
Could you please help me in order to add a new field extension on CRM Order Item tab in the web shop order ?
Thanks,
Kind Regards,
FahrettinHi Arshi,
We have could not find any java action class such as Maintainb2csaveorderaction in config.xml folder and also there is no available threads and clue on SDN, google etc. Therefore we are got stucked on this issue. In SAP_ISA_60 Development and Extension Guide of SAP E-Commerce there is no sample java action class code such as Maintainb2csaveorderaction but some ABAP codes are available for the extension structure.
Do you suggest any java action class such as Maintainb2csaveorderaction codes like in your B2B scenarios etc.?
ls_header is a local structure with header data
ls_extension-ref_guid = ls_header-guid.
ls_extension-alt_handle = ls_header-handle.
extension are name value pairs
ls_extension-name = u2018Z_CUSTOMER1u2019 u2018 name
ls_extension-value = ls_header-zcustomer1. u2018 value
APPEND ls_extension to extension_header_out
now adding extensions to the items
LOOP AT lt_items INTO ls_item.
ls_extension-ref_guid = ls_item-guid.
ls_extension-alt_handle = ls_item-handle.
ls_extension-name = u2018Z_CUSTOMER2u2019 u2018name
ls_extension-value = ls_item-zcustomer2. u2018value
APPEND ls_extension to extension_item_out
ENDLOOP.
ls_header is a local structure with header data
LOOP AT extension_header_in INTO ls_extension.
check the name to find the according field
IF ls_extension-name = u2018Z_CUSTOMER1u2019.
ls_header-zcustomer1 = ls_extension-value.
ENDIF.
ENDLOOP.
sort the extension table by ref_guid and handle to obtain a better access
with binary search.
SORT extension_item_in BY ref_guid, alt_handle.
LOOP AT lt_items INTO ls_item.
find the starting point for a loop over extensions
use guid and handle as one logical key to access the extension
READ TABLE extension_item_in
WITH KEY ref_guid = ls_item-guid
alt_handle = ls_item-handle
BINARY SEARCH.
IF SY-SUBRC = 0.
LOOP AT extension_item_in INTO ls_extension
FROM SY-TABIX.
check, if the entry is relevant
IF NOT ls_extension-ref_guid = ls_item-guid
OR NOT ls_extension-alt_handle = ls_item-handle.
BREAK.
ENDIF.
IF ls_extension-key = u2018Z_CUSTOMER2u2019.
ls_item-zcustomer2 = ls_extension-value.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
Thanks
Kind Regards,
Fahrettin -
How to lock CRM orders considering the lock scope
Hello All,
I am currently using Function Modules CRM_ORDER_ENQUEUE and CRM_ORDER_DEQUEUE to lock and unlock these orders respectively. However, these two function modules do not take the lock scope into picture.
I need to use function modules which consider the lock scopes. I could use ENQUEUE_E_CRM_ORDER and DEQUEUE_E_CRM_ORDER directly but I do not wish to. (because of other objects such as CSL, pricing document et cetera).
Is there any other function module that I can use to lock / unlock the CRM order keeping into consideration the lock scope as well?
Thanks,
Mithunif you want yo lock the object(order) in bol programming do like this
data : lr_entity type ref to cl_crm_bol_entity.
if lr_entiy->lock( ) = if_genil_Boolean=>true.
Regards
siva -
How to update user status in CRM Order depending the delivery status in R/3
Hi All,
In my scenario the partial delivery allowed to the customer while creating the CRM Order. But as per my requirement the status should be updated when the complete order and delivery takes place.
Let me describe you clearly:
Suppose I want to deliver 5 quantities products to the customer but initially I want to deliver only 3 quantities and rest 2 quantities later. When I do the post goods issue of 3 quantities in R/3 system the status should not change in CRM system. When I will do the rest 2 quantities in post goods issue in R/3 then the user status should change in CRM Order. But in current when I do the delivery of 3 quantities the user status is changing in CRM Order.
I need the user status should change in CRM only when the entire deliverytakes place in R/3.
Thanx
ChinmayaWhenever an item is fully delivered, by standard, a "Completely Delivered" status will be updated into the item. If the I suppose by referring to that you will know an item is partial or completely delivered. When all items in the order is fully delivered, the standard header status will set to "Completed". So, you will also know if the whole order is partial or completely delivered.
If you want to add a user status, the simplest, you can make use of the ORDER_SAVE Badi. Just call the function CRM_STATUS_MAINTAIN_OW. You can update both header and item status. -
Hi forum!!
In the ERP order we assign a item of a order to a WBS element and we need to see that WBS element in CRM but that field does not appear in the CRM order!!
Because of that I think about creating an ERP Order in CRM Order because the WBS element does exist!!but the problem comes here, when I insert the value in the WBS element that value disappears when I press enter or I save the Order.
Does anyone of yours know something about that??
Any ideas??HI Cecilia,
I am also need to assign WBS element in service order item,but I can't find that filed.
Can you share with me?
Thanks
Tiffany -
Run time error while closing the CRM Order using BAPI
Hi Experts,
Need your invaluable suggestions here.Apologies for the lengthy mail, intention is to give clear idea of the issue.
I am facing an issue while closing the CRM orders. According to our business process, when an issue is solved we will keep the order in resolved status only. We will not directly close the order from the CRM tool, instead we have created a custom program for the same purpose.
For the custom program we will give input as the order number and execute it, this will close the order.
Here close the order means assigning it to Close status as well assign the reason code.
We have created some reason codes for closed status.
So when the program is run the Order moves from resolved status to closed status along with reason code.
But of late we are facing some problems with this program, it is giving run time error for some CRM orders.
Run time error message : The ABAP/4 Open SQL array insert results in duplicate database records.
The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught in procedure "CRM_SERVICE_OS_UPD_OST_DU" "(FUNCTION)", nor was it propagated by a RAISING clause.
Please find my code which have used in the custom program
Closing the resolved SOs in the system
CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN_OW'
EXPORTING
objnr = iv_guid
user_status = lc_status_closed
EXCEPTIONS
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
OTHERS = 4.
IF sy-subrc <> 0.
WRITE : 'Error at maintaining status'.
ENDIF.
Set reason code
build lt_subject
ls_subject-ref_guid = iv_guid.
ls_subject-katalogart = 'A2'.
ls_subject-codegruppe = 'ZR000003'.
ls_subject-code = 'ZR33'. " Reason code
ls_subject-mode = 'A'.
APPEND ls_subject TO lt_subject.
build lt_ossset
ls_osset-ref_guid = iv_guid.
ls_osset-subject_profile = 'ZREASON03'.
ls_osset-profile_type = 'G'.
ls_osset-subject = lt_subject.
APPEND ls_osset TO lt_osset.
build lt_service_os
ls_service_os-ref_guid = iv_guid.
ls_service_os-ref_kind = 'A'.
ls_service_os-osset = lt_osset.
APPEND ls_service_os TO lt_service_os.
build lt_input_fields
REFRESH: lt_input_fields, lt_field_names.
CLEAR : ls_input_fields, ls_field_names.
ls_field_names-fieldname = 'CODE'.
APPEND ls_field_names TO lt_field_names.
ls_field_names-fieldname = 'CODEGRUPPE'.
APPEND ls_field_names TO lt_field_names.
ls_field_names-fieldname = 'KATALOGART'.
APPEND ls_field_names TO lt_field_names.
ls_field_names-fieldname = 'SERVICE_PROFILE'.
APPEND ls_field_names TO lt_field_names.
ls_input_fields-ref_guid = iv_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-objectname = 'SERVICE_OS'.
ls_input_fields-field_names = lt_field_names.
APPEND ls_input_fields TO lt_input_fields.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_service_os = lt_service_os
CHANGING
ct_input_fields = lt_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.
IF sy-subrc <> 0.
WRITE : 'Error at maintaining reason'.
ENDIF.
CALL FUNCTION 'CRM_ORDER_SAVE'
EXPORTING
it_objects_to_save = lt_header_guid
iv_update_task_local = lv_update_task_local
IMPORTING
et_saved_objects = lt_saved_objects
EXCEPTIONS
document_not_saved = 1
OTHERS = 2.
IF sy-subrc <> 0.
WRITE : 'Error at saving'.
ELSE.
WRITE : 'Successfully Closed'.
COMMIT WORK AND WAIT.
ENDIF.
Run time error is coming at COMMIT WORK AND WAIT statement.
Please let me know any corrections are required in the above program.
When I analyzed the run time error I have found that it trying to insert the record in CRMD_SRV_OSSET for that CRM order, but already one record is present in the table for the same CRM order number.
For most of the CRM orders there is no entry in this table so they are closing successfully but for a few orders for which there is an entry we are getting the above run time error.
There is nothing wrong with the orders which have an entry already in the table CRMD_SRV_OSSET, I need to close these kind of orders with out run time error.
Kindly provide your feedback.Hi Dinakar,
You posted this in APO PPDS forum. This question should go to PP forum where someone could answer it.
Please close this thread and open a new thread in PP forum so that you could get help quickly from the relevant experts.
Regards - Pawan -
CRM orders with error "Do not enter a business agreement for sold-to party"
Dear SDN'ler,
after creating orders in SAP CRM via ISA (CRM 4.0) and uploading them to R/3 all orders are created successfully in R/3 but an error message is sent back to SAP CRM in case of ALL orders.
Error message is the following:
"Do not enter a business agreement for sold-to party xyz"
Message no. CRM_BILLING011
Diagnosis
The field "FI-CA active" is not selected for the sold-to party 6000201 in the business master record. Since the business agreement is used in the component FI-CA, excluding the control of processes, it makes sense to enter a business agreement.
Procedure
Delete the entered business agreement.
==> Could someone please give me some more information about the mentioned "business agreement"? Where do I find field "FI-CA active" (in R/3 or CRM customer master data?)?
==> And how can I eliminate this error message for CRM orders in SAP CRM?
Thanks a lot.
Best Regards,
Rainer GryschkaPlease check the customising setting under following path:
SPRO --> Customer Relationship Management --> Master Data --> Business Partner -- > Business Agreement --> Define Basic Settings
Alternatively you may also check following customisation table using SM30 --> CRMC_BUAG_ACTV -
Error in Action when CRM Order is updated as Error from R/3 update
Hi,
Currently we are in CRM 6.0 SP04 and R/3 4.7 SP14
Process:
1) B2B user places order through ISA
2) Order gets replicated R/3 from CRM through middleware (Scenario A setting)
3) If there are any changes in order on either side, changes gets replicated.
Requirement:
We have a requirement from business to trigger workflow in CRM if order is in error. Following are the possible scenarios
1) Error while saving order in CRM
2) No errors in CRM. However, Order will get error in R/3 because of inconsistent configuration or master data between CRM and R/3. The BDOC will be green while replicating to R/3 and acknowledgement to CRM.
3) BDOC status is in error
Solution approach:
We created an action to trigger event when order status set to "Contains error". The condition for Action trigger are Order have error free flag NE X(BUS 2000115 ) OR Status = I1030 OR status = I1056.
Issues:
1) Scenario : Order is successfully create in CRM without any error. Order gets replicated to R/3 u2013 BDOC is green. However, the order gets error status in R/3 because of inconsistent configuration or master data. The acknowledgement BDOC updates the error status in CRM. However, Action does not get trigger when the order is updated as Error from R/3.
Pls advise possible solution and also suggest any other way to achieve the required functionality to generate workflow for CRM order updated as Error from R/3.
Regards,
Anil RitheHi Anil,
Try this, implement ORDER_SAVE BAdI. This BAdI is triggered every time an order is saved, you could put in your logic to see if the order has errors, if yes trigger your workflow.
I haven't tested but this should work for your case when the crm order is set to error status after the replication to R/3(the BDOC scenario).
This may not be the most efficient method of doing, but this would definitely work.
Make sure you use proper checks at the beginning of your order_save BAdI implementation as this badi would get executed on save of every 1-order object.
~Kiran -
Terms of payment in CRM order is not getting copied to the Accout
Hi Experts
The terms of payment which has been selected inthe CRM order under the billing tab is appearing up to the invoice created in CRM . But the same terms of payment is not appearing inthe accounting documents generated in ECC.
Can any one suggest how the configuration done or how to do the setting for the same in ECC or at CRM
Regards
Rajesh
Edited by: Rajesh s on Feb 10, 2009 12:55 AMHi,
You need to check in ECC if the customer master has the payment terms maitained or not. This could be the reason for the payment terms not being populated into the ECC billing documents.
hope this helps
Shiloo -
Purchase order Field LIke Material , Non editable by using Trax code Me22n
Guru
How to make Purchase order Field LIke Material , Non editable by using Trax code Me22n
ThanksHi
Check this in SPRO- SAP IMG- Material Management - Purchasing- Purchase order- Define screen lay out at document level
In this select the particular field selection key and change the material field to display.
Hope it will do
Regards,
Raman -
How can we process the CRM Order again for second time in debugging mode
Hi,
Can anybody please tell me how can we process the CRM ORDER for second time. that I want to process in debugging mode.
Thanks,
bsvHi bsv,
Are you trying to reprocess a BDOC for debugging purpose?
If the BDOC is not with a final status, you will be able to reprocess it using the reprocess button in the smw01 search result list.
And you may put /h on the popup when you click on the 'reprocess' button.
If it is allowed to make some changes in the CRM ORDER for testin purpose, it would be easier to perform debugging.
A more 'careless' way is to deactivate the outbound or inbound queue in transaction smqs or smqr, then in smq1 or smq2 to locate the interested queue, and click on button 'debug LUW'.
Hongyan -
Status determination in CRM order connected with delivery in R/3
Hi Experts,
I need to determine status "completed" in CRM order always when a delivery took place in R/3.
Of course this is no problem, when all positions were delivered. But in R/3 we do have only one delivery per order and a Badi determines the order "completed". This global status is not transfered to CRM.
So I am thinging of doing the same in CRM, implementing a BADI that determines status "completed" in the moment the order has a delivery.
Can anybody help me to find the correct BADI and Methode to do so?
Thanks,
CristinaHi Cristina,
basically it's the same case as mine with the difference you have to read another status type in STATUS TAB.
In my case requirement was to read invoice status and cover quantity if the invoice status was completed.
In your case you have to read delivery status and change the overall status of CRM order according to your delivery status.
I suggest using two BADIs:
<b>CRM_ORDER_FIELDCHECK</b>
<b>METHOD if_ex_crm_order_fieldcheck~fieldcheck</b>
or <b>ORDER_SAVE
method IF_EX_ORDER_SAVE~PREPARE</b>.
Basically in both cases you have to call FM <b>CRM_ORDER_CHANGE_STATUS_GET</b>
to read your delivery status. (I suggest testing in SE37 to check the reading of your status).
Once there write your code concerning the overall status.
In my case the final code in badi CRM_ORDER_FIELDCHECK was:
CALL FUNCTION 'CRM_ORDER_CHANGE_STATUS_GET'
EXPORTING
iv_ref_guid = wa_fieldcheck-ref_guid
iv_ref_kind = 'B'
IMPORTING
et_change_status_ord_i = t_status_i_tab
es_change_status_ord_i = i_status_i
et_return = i_return
EXCEPTIONS
parameter_error = 1
inconsistent_data = 2
no_return_values = 3
OTHERS = 4.
IF sy-subrc <> 0.
ELSE.
CHECK i_status_i-invoice_status = 'C'.
LOOP AT ct_input_field_names INTO i_fields_names_tab.
check i_fieldS_names_tab-fieldname = 'QUANTITY'.
i_fields_names_tab-changeable = 'A'.
MODIFY ct_input_field_names FROM i_fields_names_tab.
ENDLOOP.
ENDIF.
<b>Please let me know if it helps and do not forget to reward with points</b>,
AndreA -
Reading data in the attachment of a CRM Order
Hi,
I have a requirement to read the data in a PDF that is attached to a CRM Order. The Order in my case is a Task Order. Please let me know if there are any function modules or methods that can be used to retrive the data in the attachment.
Thanks
Sheena.You can achieve it by using XSLT mapping.
You can fetch values from either header part or body part.
Some XSLT resources:
xpath functions in xslt mapping
Design time Value-mappings in XSLT
File to Multiple IDocs (XSLT Mapping)
Grouping XML with XSLT - From Muenchian Method To XSLT 2.0
Using ABAP XSLT Extensions for XI Mapping
Dynamic file name(XSLT Mapping with Java Enhancement) using XI 3.0 SP12 Part -II
Regards
Liang
Maybe you are looking for
-
I have a macbook air and and hdmi that i have used many times, but not all of a sudden the tv won't recognize the hdmi. The computer flashes when it is plugged into the hdmi but the tv says "no signal" and the airplay displays option says "no device
-
How do I get iTunes to recognize my iPod while plugged into the TC?
Ok So I have an Apple Time Capsule which I use as my router and NAS drive. Though I also plug my iPod into the usb port on it. The iPod is recognized on my computer and over the network easily although how can I get iTunes to recognize it and be able
-
I need some help on code to just have numbers count up from 100,000 to ?????? 1 count every 15 sec. THANK YOU -
-
Can anyone tell me how to get FF 14.1 on Windows 7 machine to play a video and scroll or type in another tab at the same time
-
[SOLVED] install arch VM with pacstrap
Dear all, I am installing a Arch VM on my Arch host. The host is up-to-date, well configured (at least I think) in a vanilla manner (no suspicious hacks). # pacstrap -i -c -d /dahlia base base-devel is installing all packages but gives me this error