SAP Community Network Forums » SAP Solutions » Customer Relationship Management (CRM) - General & Framework

Thread: uploading account name using CRM_ORDER_MAINTAIN

This question is not answered.


Permlink Replies: 10 - Pages: 1 - Last Post: Nov 3, 2009 7:09 AM Last Post By: Chi Kan Kari
Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 7:16 AM
Click to report abuse...   Click to reply to this thread Reply
Hi,

I cant seem to upload the data that i populate in IT_PARTNER using the FM CRM_ORDER_MAINTAIN. So when checking the Opportunity number in the Web UI, Account name is not uploaded. These are the parameters that i pass in said FM maybe i just missed a few field/s. Help pls. Thanks.

wa_partner-ref_kind = 'A'.
wa_partner-kind_of_entry = 'C'.
wa_partner-partner_fct = '00000021'.
wa_partner-partner_no = '1000000518'.
wa_partner-display_type = 'BP'.
wa_partner-no_type = 'BP'.
APPEND wa_partner TO it_partner.

CLEAR: wa_field_names.
REFRESH: it_field_names.
wa_field_names-fieldname = 'DISPLAY_TYPE'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'KIND_OF_ENTRY'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'NO_TYPE'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'PARTNER_FCT'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'PARTNER_NO'.
APPEND wa_field_names TO it_field_names.

*----input objectname and append fieldname table to lt_ct_input_fields
wa_ct_input_fields-ref_kind = 'A'.
wa_ct_input_fields-objectname = 'PARTNER'.
wa_ct_input_fields-logical_key = '0000'.
wa_ct_input_fields-field_names = it_field_names.
APPEND wa_ct_input_fields TO it_ct_input_fields.
Yours_Sincerely

Posts: 141
Registered: 4/28/06
Forum Points: 194
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 9:24 AM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
where is ref_guid sir?? if not ref_guid atleast ref_handle...pls chk some other threads where they've passed parameters
Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 9:39 AM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
Hi, thanks for the reply,

My scenario is this, im creating a new opportunity to upload in the web ui, so i dont have a guid yet. The guid is generated after i run the FM which i pass all the values from IT_PARTNER (excluding ref_guid since i dont have one yet) it_ct_orderadm_h (to upload opportunity type) and it_ct_orderadm_h (which will generate the guid after i execute it).
If i havent generated a guid what do i need to put in my ref_guid (or ref_handle) i have already copied the data coming from the web ui since i put an external breakpoint on it, i still cant create an account name / prospect.

wa_ct_orderadm_h-process_type = wa_i_lead_final-opportunity_type.
wa_ct_orderadm_h-description = wa_i_lead_final-description.
wa_ct_orderadm_h-mode = 'A'.
APPEND wa_ct_orderadm_h TO it_ct_orderadm_h.

wa_partner-ref_kind = 'A'.
wa_partner-kind_of_entry = 'C'.
wa_partner-partner_fct = '00000021'.
wa_partner-partner_no = '1000000038'.
wa_partner-display_type = 'BP'.
wa_partner-no_type = 'BP'.
APPEND wa_partner TO it_partner.

CLEAR: wa_field_names.
REFRESH: it_field_names.
wa_field_names-fieldname = 'DISPLAY_TYPE'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'KIND_OF_ENTRY'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'NO_TYPE'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'PARTNER_FCT'.
APPEND wa_field_names TO it_field_names.
wa_field_names-fieldname = 'PARTNER_NO'.
APPEND wa_field_names TO it_field_names.
*----input objectname and append fieldname table to lt_ct_input_fields
wa_ct_input_fields-ref_kind = 'A'.
wa_ct_input_fields-objectname = 'PARTNER'.
wa_ct_input_fields-field_names = it_field_names.
APPEND wa_ct_input_fields TO it_ct_input_fields.

CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_partner = it_partner
CHANGING
ct_orderadm_h = it_ct_orderadm_h
ct_input_fields = it_ct_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.

Yours_Sincerely

Posts: 141
Registered: 4/28/06
Forum Points: 194
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 10:10 AM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
so in this case use ref_handle = '1' and leave the ref_guid blank. so it everywhere ref_handle is mentioned. not to mention DO CALL CRM_ORDER_SAVE (and BAPI_TRANSACTION_COMMIT depending on case) after your call of CRM_ORDER_MAINTAIN.
Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 1:18 PM   in response to: Yours_Sincerely in response to: Yours_Sincerely
Click to report abuse...   Click to reply to this thread Reply
Hi, yes i do use the Fm for SAVE and COMMIT, actually i successfully uploaded the opportunity number with texts,status, oppt type, start date, end date, etc.... but the only missing item is the account name which comes from the IT_PARTNER table, do i still need the logical key field populated in CT_INPUT_FIELDS table? base from what you saw from my code, what else is lacking to upload an account name?
Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 2:32 PM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
Hi, I checked the GUID i uploaded in CRM_ORDER_READ, ET_PARTNER is populated but the error_flag field is marked 'X', obviously an error occured, still dont know why. A few things i noticed:

1. NO_TYPE = 'US' - i hard coded this as 'BP' in my IT_PARTNER table
2. DISPLAY_TYPE = 'US' - same as above
3. PARTNER_FCT = 'Z0000001' - i hard coded this as '00000021'
4. PARTNER_NO = my user in SAP - hard coded value '1000000038'.
5. KIND_OF_ENTRY = 'A' - hard coded value was 'C'

Any idea what triggered the change? Your reply is very much appreciated.
Yours_Sincerely

Posts: 141
Registered: 4/28/06
Forum Points: 194
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 4:50 PM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
can you paste other pieces of your code as well for somebody to review and see. using crm_order_maintain is not all that complicated for the scenario u'r workin on.
Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Oct 29, 2009 6:20 PM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
Can you give me a sample code that successfully uploads a Partner? So i can compare what fields i need to populate in IT_PARTNER and in CT_INPUT_FIELDS. Thanks

Edited by: Chi Kan Kari on Oct 29, 2009 6:24 PM
Siva Velama

Posts: 5
Registered: 12/18/08
Forum Points: 6
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Nov 3, 2009 1:53 AM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
Please check following code if it make sense

DATA: ls_partner TYPE crmt_partner_com,
ls_input_fields TYPE crmt_input_field,
lt_fieldname TYPE crmt_input_field_names_tab,
ls_fieldname LIKE LINE OF lt_fieldname.

ls_partner-ref_handle = p_iv_handle. " this is ref_handle of header(generally 1but not necessary)
ls_partner-ref_partner_handle = 1.
ls_partner-ref_kind = 'A'.
ls_partner-display_type = 'BP'.
ls_partner-no_type = 'BP'.
ls_partner-kind_of_entry = 'C'.
* sold to party
ls_partner-partner_fct = '00000069'. " this partner function in my system but it may be different in ur case

ls_partner-partner_no = w_but000-partner. " Actual business partner number
INSERT ls_partner INTO TABLE gt_partner.

* Bill to party
IF NOT w_con_header-billtoparty IS INITIAL.
ls_partner-partner_fct = '00000003'.
ls_partner-partner_no = w_but001-partner.
INSERT ls_partner INTO TABLE gt_partner.

ENDIF.

* Employee
ls_partner-partner_fct = '00000014'. " Employee responsible
ls_partner-partner_no = w_con_header-empresp.
INSERT ls_partner INTO TABLE gt_partner.

ls_input_fields-ref_handle = p_iv_handle.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = ls_partner-ref_partner_handle.
ls_input_fields-objectname = 'PARTNER'.

ls_fieldname-fieldname = 'DISPLAY_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'KIND_OF_ENTRY'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'NO_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'PARTNER_FCT'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'PARTNER_NO'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_input_fields-field_names = lt_fieldname.
INSERT ls_input_fields INTO TABLE gt_input_fields.

Good luck with your try

Siva

Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Nov 3, 2009 6:57 AM   in response to: Siva Velama in response to: Siva Velama
Click to report abuse...   Click to reply to this thread Reply
Hi Siva, Thanks for the reply. I tried using your code but Partner in Web UI and in trans code CRMD_ORDER is still not uploaded. I only added it_ct_orderadm_h and its corresponding data in gt_input_fields to generate the GUID. Opportunity number was created but still no data in Partner. Replies are very much appreciated. Thanks. DATA: *-----Internal Tables gt_partner TYPE crmt_partner_comt, gt_input_fields TYPE crmt_input_field_tab, lt_fieldname TYPE crmt_input_field_names_tab, it_objects_to_save TYPE crmt_object_guid_tab, it_ct_orderadm_h TYPE crmt_orderadm_h_comt, it_saved_objects TYPE crmt_return_objects, *-----Work Area / Local Structure wa_objects_to_save TYPE crmt_object_guid, ls_partner TYPE crmt_partner_com, ls_input_fields TYPE crmt_input_field, ls_fieldname LIKE LINE OF lt_fieldname, wa_ct_orderadm_h TYPE crmt_orderadm_h_com. wa_ct_orderadm_h-process_type = 'Z014'. wa_ct_orderadm_h-description = 'test description'. wa_ct_orderadm_h-mode = 'A'. APPEND wa_ct_orderadm_h TO it_ct_orderadm_h. ls_fieldname-fieldname = 'DESCRIPTION'. APPEND ls_fieldname TO lt_fieldname. ls_input_fields-objectname = 'ORDERADM_H'. "Obj name For Opportunity Type ls_input_fields-field_names = lt_fieldname. APPEND ls_input_fields TO gt_input_fields. REFRESH lt_fieldname. *ls_partner-ref_handle = p_iv_handle. " this is ref_handle of header(generally 1but not necessary) ls_partner-ref_partner_handle = '1'. ls_partner-ref_kind = 'A'. ls_partner-display_type = 'BP'. ls_partner-no_type = 'BP'. ls_partner-kind_of_entry = 'C'. * sold to party ls_partner-partner_fct = '00000021'. " this partner function in my system but it may be different in ur case ls_partner-partner_no = '1000000038'. " Actual business partner number INSERT ls_partner INTO TABLE gt_partner. ls_input_fields-ref_kind = 'A'. ls_input_fields-logical_key = ls_partner-ref_partner_handle. ls_input_fields-objectname = 'PARTNER'. ls_fieldname-fieldname = 'DISPLAY_TYPE'. INSERT ls_fieldname INTO TABLE lt_fieldname. CLEAR ls_fieldname. ls_fieldname-fieldname = 'KIND_OF_ENTRY'. INSERT ls_fieldname INTO TABLE lt_fieldname. CLEAR ls_fieldname. ls_fieldname-fieldname = 'NO_TYPE'. INSERT ls_fieldname INTO TABLE lt_fieldname. CLEAR ls_fieldname. ls_fieldname-fieldname = 'PARTNER_FCT'. INSERT ls_fieldname INTO TABLE lt_fieldname. CLEAR ls_fieldname. ls_fieldname-fieldname = 'PARTNER_NO'. INSERT ls_fieldname INTO TABLE lt_fieldname. CLEAR ls_fieldname. ls_input_fields-field_names = lt_fieldname. INSERT ls_input_fields INTO TABLE gt_input_fields.
Chi Kan Kari

Posts: 8
Registered: 10/28/09
Forum Points: 0
 
Re: uploading account name using CRM_ORDER_MAINTAIN  
Posted: Nov 3, 2009 6:59 AM   in response to: Chi Kan Kari in response to: Chi Kan Kari
Click to report abuse...   Click to reply to this thread Reply
DATA:
*-----Internal Tables
gt_partner TYPE crmt_partner_comt,
gt_input_fields TYPE crmt_input_field_tab,
lt_fieldname TYPE crmt_input_field_names_tab,
it_objects_to_save TYPE crmt_object_guid_tab,
it_ct_orderadm_h TYPE crmt_orderadm_h_comt,
it_saved_objects TYPE crmt_return_objects,
*-----Work Area / Local Structure
wa_objects_to_save TYPE crmt_object_guid,
ls_partner TYPE crmt_partner_com,
ls_input_fields TYPE crmt_input_field,
ls_fieldname LIKE LINE OF lt_fieldname,
wa_ct_orderadm_h TYPE crmt_orderadm_h_com.

wa_ct_orderadm_h-process_type = 'Z014'.
wa_ct_orderadm_h-description = 'test description'.
wa_ct_orderadm_h-mode = 'A'.
APPEND wa_ct_orderadm_h TO it_ct_orderadm_h.

ls_fieldname-fieldname = 'DESCRIPTION'.
APPEND ls_fieldname TO lt_fieldname.

ls_input_fields-objectname = 'ORDERADM_H'.
ls_input_fields-field_names = lt_fieldname.
APPEND ls_input_fields TO gt_input_fields.
REFRESH lt_fieldname.

*ls_partner-ref_handle = p_iv_handle.
ls_partner-ref_partner_handle = '1'.
ls_partner-ref_kind = 'A'.
ls_partner-display_type = 'BP'.
ls_partner-no_type = 'BP'.
ls_partner-kind_of_entry = 'C'.
* sold to party
ls_partner-partner_fct = '00000021'.
ls_partner-partner_no = '1000000038'.
INSERT ls_partner INTO TABLE gt_partner.

ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = ls_partner-ref_partner_handle.
ls_input_fields-objectname = 'PARTNER'.

ls_fieldname-fieldname = 'DISPLAY_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'KIND_OF_ENTRY'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'NO_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'PARTNER_FCT'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.

ls_fieldname-fieldname = 'PARTNER_NO'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_input_fields-field_names = lt_fieldname.
INSERT ls_input_fields INTO TABLE gt_input_fields.

Edited by: Chi Kan Kari on Nov 3, 2009 7:04 AM

Edited by: Chi Kan Kari on Nov 3, 2009 7:07 AM

Edited by: Chi Kan Kari on Nov 3, 2009 7:07 AM

Edited by: Chi Kan Kari on Nov 3, 2009 7:09 AM

Point your RSS reader here for a feed of the latest messages in all forums