Ansicht
Dokumentation

CRM_LEAS_COPY_PROCESS_PREPARE - Generierung notwendiger Tabellen zum vollst. Kopieren eines Beleges

CRM_LEAS_COPY_PROCESS_PREPARE - Generierung notwendiger Tabellen zum vollst. Kopieren eines Beleges

ABAP Short Reference   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein generiert die zum Aufruf des CRM_ORDER_MAINTAIN notwendigen Tabellen zum vollständigen Kopieren eines (oder mehrerer) Belege(s) (Kopf plus alle Positionen) aus der Kopf-GUID des Vorgängerbeleges (den Kopf-GUIDs der Vorgängerbelege). Optional können mit gleichem Handle zur Vorgänger-GUID Kopfdaten (z. B. die Vorgangsart) der Zielbelege mitgegeben werden.

Beispiel

(Importparameter iv_predecessor_guid TYPE crmt_pred_guid)

DATA:   ls_orderadm_h  TYPE crmt_orderadm_h_com,

        lt_orderadm_h  TYPE crmt_orderadm_h_comt,

        lt_orderadm_i  TYPE crmt_orderadm_i_comt,

        ls_input_field TYPE crmt_input_field,

        lt_input_field TYPE crmt_input_field_tab,

        ls_input_names TYPE crmt_input_field_names,

        lt_input_names TYPE crmt_input_field_names_tab,

        lt_save        TYPE crmt_object_guid_tab,

        ls_save        TYPE crmt_object_guid,

        lt_doc_flow    TYPE crmt_doc_flow_comt,

        lt_predecessor TYPE crmt_predecessor_guid_tab,

        ls_predecessor TYPE crmt_predecessor_guid.

* fill input fields

  ls_input_names-fieldname = 'PROCESS_TYPE'.

  INSERT ls_input_names INTO TABLE ls_input_field-field_names.

  ls_input_field-objectname = 'ORDERADM_H'.

  INSERT ls_input_field INTO TABLE lt_input_field.

* fill header

  ls_orderadm_h-process_type =  'TA'.

  ls_orderadm_h-handle =  1.

  INSERT ls_orderadm_h INTO TABLE lt_orderadm_h.

* fill doc_flow reference

  ls_predecessor-pred_guid = iv_predecessor_guid.

  ls_predecessor-handle = ls_orderadm_h-handle.

  INSERT ls_predecessor INTO TABLE lt_predecessor.

  CALL FUNCTION 'CRM_COPY_PROCESS_PREPARE'

       EXPORTING

            it_orderadm_h  = lt_orderadm_h

            it_predecessor = lt_predecessor

       IMPORTING

            et_doc_flow    = lt_doc_flow

            et_orderadm_i  = lt_orderadm_i

            et_orderadm_h  = lt_orderadm_h

       EXCEPTIONS

            error_occurred = 1

            OTHERS         = 2.

  CALL FUNCTION 'CRM_ORDER_MAINTAIN'

       CHANGING

            ct_orderadm_h     = lt_orderadm_h

            ct_orderadm_i     = lt_orderadm_i

            ct_doc_flow       = lt_doc_flow

            ct_input_fields   = lt_input_field

       EXCEPTIONS

            error_occurred    = 1

            document_locked   = 2

            no_change_allowed = 3

            no_authority      = 4

            OTHERS            = 5.

* save new document

  IF sy-subrc EQ 0.

    ls_save = ls_orderadm_h-guid.

    APPEND ls_save TO lt_save.

    CALL FUNCTION 'CRM_ORDER_SAVE'

         EXPORTING

              it_objects_to_save = lt_save

         IMPORTING

              et_saved_objects   = lt_return.

  ENDIF.

Hinweise

Die Tabelle it_predecessorist sortiert nach Handle. Das Handle muss eindeutig sein.

Weiterführende Informationen





Parameter

CT_INPUT_FIELDS
ET_DOC_FLOW
ET_ORDERADM_H
ET_ORDERADM_I
IT_ORDERADM_H
IT_PREDECESSOR
IV_VONA_KIND

Ausnahmen

ERROR_OCCURRED

Funktionsgruppe

CRM_LEASING_CONTRACT_CHNG

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6987 Date: 20240523 Time: 144234     sap01-206 ( 49 ms )