Skip to Content
0
Former Member
Mar 01, 2009 at 11:39 AM

create compliant with BAPI_BUSPROCESSND_CREATEMULTI, but always error

25 Views

Hi,

I need to create compliant with data transported via ABAP Proxy.

Communication works ok, but when I call saving FM BAPI_BUSPROCESSND_SAVE, I always get error

CRM_ORDER 037 The document could not be saved

My code:

CALL FUNCTION 'GUID_CREATE'
   IMPORTING
*   EV_GUID_16       =
*   EV_GUID_22       =
     ev_guid_32       = lv_header_guid
            .

  ls_orderadm_h-guid = lv_header_guid.
  ls_orderadm_h-process_type = 'ZMCP'.
  CONCATENATE text-d01 is_import-complt_id
    INTO ls_orderadm_h-description SEPARATED BY space.
  ls_orderadm_h-created_by = 'P11373'.
  APPEND ls_orderadm_h TO lt_orderadm_h.

CLEAR ls_input_fields.
  ls_input_fields-ref_guid = lv_header_guid.
  ls_input_fields-ref_kind = 'A'.
  ls_input_fields-logical_key = '1'.
  ls_input_fields-objectname = 'ORDERADM_H'.
  ls_input_fields-fieldname = 'GUID'.
  ls_input_fields-CHANGEABLE = ' '.
  APPEND ls_input_fields TO lt_input_fields.
    ls_input_fields-fieldname = 'HANDLE'.
  APPEND ls_input_fields TO lt_input_fields.

  ls_input_fields-fieldname = 'PROCESS_TYPE'.
  APPEND ls_input_fields TO lt_input_fields.

  ls_input_fields-fieldname = 'DESCRIPTION'.
  APPEND ls_input_fields TO lt_input_fields.

  ls_input_fields-fieldname = 'CREATED_BY'.
  APPEND ls_input_fields TO lt_input_fields.

  clear: lt_created_process, lt_return.
  CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
    TABLES
      header                  = lt_orderadm_h
*     ITEM                    =
*     ACTIVITY                =
*     SALES                   =
*     partner                 = lt_partner
*     ORGANISATION            =
*     SHIPPING                =
*     appointment             = lt_appointment
*     text                    = lt_text
*     service_os              = lt_service_os
*     status                  = lt_status
     input_fields            = lt_input_fields
     created_process         = lt_created_process
     return                  = lt_return
*     LEAD                    =
*     OPPORTUNITY             =
*     PRODUCT                 =
*     SCHEDULELINE            =
*     CUSTOMER_HEAD           =
*     CUSTOMER_ITEM           =
*     PRICING                 =
*     PRICING_ITEM            =
*     CONDITION_CREATE        =
*     BILLING                 =
*     CONFIG_CFG              =
*     CONFIG_BLB              =
*     CONFIG_INS              =
*     CONFIG_PRT              =
*     CONFIG_VAL              =

           .
  CLEAR ls_objects_to_save.
  ls_objects_to_save-guid = lv_header_guid.
*  ls_objects_to_save-object_type = 'BUS2000120'.
  APPEND ls_objects_to_save TO lt_objects_to_save.
  CLEAR lt_return.

  CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
* EXPORTING
*   UPDATE_TASK_LOCAL       = FALSE
*   SAVE_FRAME_LOG          = FALSE
 IMPORTING
   LOG_HANDLE              = lt_log
    TABLES
      objects_to_save         = lt_objects_to_save
   SAVED_OBJECTS           = lt_saved_objects
   RETURN                  = lt_return
            .

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait   = 'X'
    IMPORTING
      return = ls_return.

Could you pls help me.

thanks

Juraj