cancel
Showing results for 
Search instead for 
Did you mean: 

Update Crmd_orderadm_h

Former Member
0 Kudos

Hello all

I have to update 3 Fields of Table based on Ztable While Order will be saved. These 3 Fields is Created using UI Custmisation.

i want it will update when it will be saved.

Pls . Guide me for it.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

shelf resolved

Former Member
0 Kudos

Hii...

What exactly do u mean by UI customisation? You can save the 3 fields in order_save badi by using FM crm_order_maintain

Best Regards,

Ratish

Former Member
0 Kudos

Hi Ratish

I want to update 3 Zfield of crmd_orderadm_h table.

Can You just Give me Some Sample Code

Former Member
0 Kudos

Hi Plese help me if i am wrnong here

hello 

*&---------------------------------------------------------------------*
*& Report  ZTEST4
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

* all the parameters are defined without error
TABLES: crmd_orderadm_h.
 INCLUDE COM_PARTNER_PFT3.
DATA:
    t_objects_to_save    TYPE crmt_object_guid_tab,
      l_object_to_save   TYPE crmt_object_guid,
    t_saved_objects     TYPE crmt_return_objects,
    t_objects_not_saved TYPE crmt_object_guid_tab,
    t_new_orders        TYPE crmt_orderadm_h_comt,
    s_new_order         TYPE LINE OF  crmt_orderadm_h_comt,
    t_input_field       TYPE  crmt_input_field_tab ,"WITH HEADER LINE,
    s_input_field       TYPE crmt_input_field,
    s_fieldname         TYPE crmt_input_field_names,
    t_exceptions         TYPE crmt_exception_t.
*    s_order             type line of  crm_orderadm_h.
SELECT SINGLE * FROM crmd_orderadm_h
**               INTO s_order
*              WHERE guid = '4A8253AB8B9A0067E10080000A600525'.

s_new_order-handle = 1.
s_new_order-mode = 'B'.
*s_new_order-process_type = 'QUOT'.

s_input_field-ref_handle  = 1.
s_input_field-ref_kind    = 'A'.
*s_input_field-ref_guid    = '4A8253AB8B9A0067E10080000A600525'.
s_input_field-objectname  = 'ORDERADM_H'.
s_input_field-logical_key = space.
*ZZORDERADM_H1301
*ZZORDERADM_H1501
*ZZORDERADM_H1601

CLEAR s_fieldname.
s_fieldname-fieldname = 'MODE'.
APPEND s_fieldname TO s_input_field-field_names.

s_fieldname-fieldname = 'ZZORDERADM_H1301'.
APPEND s_fieldname TO s_input_field-field_names.
s_fieldname-fieldname = 'ZZORDERADM_H1501'.
APPEND s_fieldname TO s_input_field-field_names.
s_fieldname-fieldname = 'ZZORDERADM_H1601'.
APPEND s_fieldname TO s_input_field-field_names.

INSERT s_input_field INTO TABLE t_input_field.

INSERT s_new_order INTO TABLE t_new_orders.

CALL FUNCTION 'CRM_ORDER_MAINTAIN'
  CHANGING
    ct_orderadm_h     = t_new_orders
    ct_input_fields   = t_input_field
  EXCEPTIONS
    error_occurred    = 1
    document_locked   = 2
    no_change_allowed = 3
    no_authority      = 4
    OTHERS            = 5.

IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



IF sy-subrc NE 0.

  CLEAR s_new_order.
  READ TABLE t_new_orders
  INTO s_new_order
  INDEX 1.

  IF sy-subrc ne 0.
    l_object_to_save = s_new_order-guid.
    INSERT l_object_to_save INTO TABLE t_objects_to_save.

    CALL FUNCTION 'CRM_ORDER_SAVE'
      EXPORTING
        it_objects_to_save   = t_objects_to_save
      IMPORTING
        et_saved_objects     = t_saved_objects
        et_exception         = t_exceptions
        et_objects_not_saved = t_objects_not_saved
      EXCEPTIONS
        document_not_saved   = 1
        OTHERS               = 2.

    IF sy-subrc EQ 0.

      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

    ENDIF.
  ENDIF.
ENDIF.


Edited by: HardikParikh on Oct 30, 2009 2:10 PM

Edited by: HardikParikh on Oct 30, 2009 2:15 PM

Former Member
0 Kudos

Hi Hardhik,

  Can you explain why have u commented this part

*              data  s_order             type line of  crm_orderadm_h.

   

               SELECT SINGLE * FROM crmd_orderadm_h

**             INTO s_order

*              WHERE guid = '4A8253AB8B9A0067E10080000A600525'.

and where is s_order used?

And also let me know does the particular row with that guid gets updated by itself....!!!!

Thank you.

Regards,
Pavan P N

Former Member
0 Kudos

This message was moderated.