cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI for CRM - CRMD_ORDER

Former Member
0 Kudos

Hi,

I am using PI to integrate the third party system to our CRM system.At receive side, i am seeing for a BAPI to call and to create transaction (CRMD_ORDER) in CRM.Can you please help me in identifying the correct BAPI for this requirement,

Thanks

Ashu

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I did this but i had to use a proxy to create the order.

you have to call the program CRM_ORDER_MAINTAIN from within the proxy and populate all the fields required.

then call CRM_ORDER_SAVE passing in the correct parameters.

Former Member
0 Kudos

Hi,

CRM_ORDER_MAINTIAN is a normal function module. can i use that in proxy ?

Can you please send the peice of code of what values you passed in the FM.

Thanks

Ashu

Former Member
0 Kudos

this is worthless as it is....

but gives you some idea of what you need to do....


*--- Initialization before processing Quotes                           *
      call function 'CRM_ORDER_INITIALIZE'
        exporting
          iv_initialize_whole_buffer = gc_true
        exceptions
          error_occurred             = 1
          others                     = 2.

*--- Create service order                                              *
      call function 'CRM_ORDER_MAINTAIN'
        exporting
          it_customer_h     = gt_customer_header
          it_appointment    = gt_appointment
          it_text           = gt_text_data
*          it_status         = gt_status
        importing
          et_exception      = gt_exceptions
        changing
          ct_orderadm_h     = gt_order_header
          ct_orderadm_i     = gt_order_item
          ct_input_fields   = gt_input_fields
          ct_doc_flow       = gt_doc_flow
          cv_log_handle     = gw_log_handle
        exceptions
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          others            = 5.

*---If successful, save 

      if sy-subrc = 0
      or gt_exceptions[] is initial.

*--- Service order created ok.....save the service order               *

        clear gt_object_guids.
        refresh gt_object_guids.

        loop at gt_order_header into gs_order_header
        where object_id = gw_object_id.
        endloop.

        insert gs_order_header-guid into table gt_object_guids.

        clear: gw_log_handle.

        call function 'CRM_ORDER_SAVE'
          exporting
            it_objects_to_save   = gt_object_guids
          importing
            et_saved_objects     = gt_object_guids_saved
            et_exception         = gt_exceptions
            et_objects_not_saved = gt_object_guids_not_saved
          changing
            cv_log_handle        = gw_log_handle
          exceptions
            document_not_saved   = 1
            others               = 2.

endif.

Just to put it into context, my program for this over 1400 lines long.... there was lots of data manipulation do be done and also some additional processing.

Former Member
0 Kudos

Hi,

Thanks for reply.

Do we need to pass GUID or it is generated from FM.

Also please tell me what values you passed for gt_order_header,gt_order_item

gt_input_fields,gt_customer_header..etc

Can you tell me the mandatory fields to be filled.

Thanks

Ashu

Former Member
0 Kudos

the guid was created by the system.

but i had more than one header item so had to ensure i selected the correct one.

i was creating a document with reference to another document.

we had a whole host of custom fields to populate as well as the standard ones.

it is very much an iterative process and i cannot give you the answers you require as your system is no doubt configured very differently to the system i worked on for an old client.

you should have more than enough to get your development underway! you will have to work very closely with your CRM Functional Consultants to ensure that the correct fields are populated with the correct values.

Former Member
0 Kudos

Hi,

I am able to get the GUID and it is creating the agreement number.It is not taking my input (agreement number) which i am passing to parameters.

At the time of save, system is generating number. everytime transaction 1 and 2 created.

Can you help me on this..

Thanks

Ashu

Edited by: Ashu on May 6, 2010 5:42 PM

Former Member
0 Kudos

You will have to debug the CRMD_ORDER_MAINTAIN to work this out.

WIthout having access to your system there is nothing else i can do.

sorry, but i have helped as much as i can now.

This issue, i believe is now resolved and the questions you now have are better placed in either the ABAP or CRM forums.

Answers (1)

Answers (1)

Former Member
0 Kudos

Please post this question in the CRM forums.

We typically have to use txn BAPI in the CRM system to chek the list of available BAPIs.