Ansicht
Dokumentation
CRM_LEAS_COPY_PROCESS_PREPARE - Generierung notwendiger Tabellen zum vollst. Kopieren eines Beleges
ABAP Short Reference General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.
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_FIELDSET_DOC_FLOW
ET_ORDERADM_H
ET_ORDERADM_I
IT_ORDERADM_H
IT_PREDECESSOR
IV_VONA_KIND
Ausnahmen
ERROR_OCCURREDFunktionsgruppe
CRM_LEASING_CONTRACT_CHNGSUBST_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 )