Ansicht
Dokumentation

CRMXIF_COND_REC_COMPL_SAVE - External Interface Conditions with Complete Scale

CRMXIF_COND_REC_COMPL_SAVE - External Interface Conditions with Complete Scale

RFUMSV00 - Advance Return for Tax on Sales/Purchases   CPI1466 during Backup  
This documentation is copyright by SAP AG.
SAP E-Book

Functionality

The function module defines a CRM Online interface for the condition technique for external systems. This broad condition technique interface can process condition records with complete axes.

It is possible to create and change condition records. The GUID of the record in the field COND_TABLE_ENTRY_ID must always be specified when making changes. If the GUID is not available, you can also send the changed record without GUID. So long as the validity period is the same, the result is the same. However, the original record is not changed, but is set with a deletion flag, and a new condition record is added.

Deletion of condition records takes place in the interface CRMXIF_CONDITION_SEL_DELETE.

Note the following when maintaining scales:

You must always specify the complete condition record with complete scales (if available). This applies to creating as well as changing data. The same SCALE_AXIS_ID must be specified in the scale dimension as in the scale axis. Each scale axis must represent precisely one scale dimension and vice versa. The scale dimensions have the values 01, 02 ..10. Other values are rejected. After creation, only the price can still be changed. It is not possible to add a new scale level, change it or delete it. If this becomes necessary, you must connect the condition record with a new scale.

For so-called FROM scales the first scale level must read 0 (for example, 0 pieces). For TO scales the final scale level must be unlimited.

The interface has been implemented as an adapter for the CTM Middleware (XIF), and provides processing of IDOCs and processing for XML/SOAP calls.

The interface for the condition technique functions exclusively as an inbound interface and is capable of processing mass data.

The corresponding IDOC message type is: CRMXIF_COND_REC_COMPL_SAVE_M.

Further information

nformationen zum Datenformat können der Dokumentation zum komplexen

For information on the data format, see the documentation on the complex data typeBAPI_CT_COND_REC_COMPL_MSG

The report CRMXIF_CT_INTERFACE_FIELDS displays the fillable fields for each condition table.

For information on the external interfaces in general, see:

Basic settings

Monitoring transactions

Further information on the integration of CRM and on external interfaces is available in the Service Marketplace under the alias CRM-CI.

Notes

Communication with the CRM takes place via messaging BDOCs . Technically speaking, the data in the complex data type of the messaging BDOC is mapped to the complex data type that defines the data format of the external interface.

The special feature of the interface is its dynamics. They are necessary to match the dynamics of the condition technique. In the conditon technique you can even determine the fields of the condition tables at configuration time. The set of fields of the interface is therefore dynamic too and is dependent on the tables to be filled. As well as a number of fixed fields that are always available, there are many fields that are variable. These are represented in field name/ field value containers.

Date fields are interpreted in the time zone the condition technique is set for.

An extension of the interface is basically not necessary. Its field containers make it possible for the interface to accept dynamically any number of fields with their contents. So, if a field appears in a condition table that can be maintained from outside, it can be accepted without making any changes to the interface.

If you want to insert new fields in the condition technique (enhancement of the field catalog), note the enhancement concept of the condition technique. As soon as the condition technique recognizes the field it can then be filled via the interface (see above).

You still have the possibility to change the inbound information in the interface without modification. Implement the method CHANGE_MAPPED_COND_REC_COMPL in the Business Add In CRMXIF_CT_IO_MAP_IN with the help of transaction SE19.

Example

You want to create a condition record for the product Prod_1 in the condition table SAP004 with the condition type 0PR0. The condition record is to be valid from 01.01.2003 to 31.12.2003. It is to apply to the sales organization VKORG1000 and the distribution channel 10. The price is 15 Euro for 3 pieces. For over 30 pieces, the price is only 14 Euro for 3 pieces, and only 13 Euro for over 300 pieces.

The interface could then be filled in the following way:

DATA-OBJECT_REPRESENTATION = 'E'

DATA-COND_RECORD-CT_APPLICATION = 'CRM'
DATA-COND_RECORD-CT_USAGE = 'PR'
DATA-COND_RECORD-COND_TABLE_ID = 'SAP004'
DATA-COND_RECORD-COND_TYPE = '0PR0'
DATA-COND_RECORD-SCALE_DIM = '01'

DATA-COND_RECORD-VARIABLE_FIELDS [1] - FIELDNAME = 'PRODUCT_ID'
DATA-COND_RECORD-VARIABLE_FIELDS [1] - FIELDVALUE = 'Prod_1'

DATA-COND_RECORD-VARIABLE_FIELDS [2] - FIELDNAME = 'SALES_ORG_SHORT'
DATA-COND_RECORD-VARIABLE_FIELDS [2] - FIELDVALUE = 'VKORG1000'

DATA-COND_RECORD-VARIABLE_FIELDS [3] - FIELDNAME = 'DIS_CHANNEL'
DATA-COND_RECORD-VARIABLE_FIELDS [3] - FIELDVALUE = '10'

DATA-COND_RECORD-VARIABLE_FIELDS [4] - FIELDNAME = 'MNT_RATE'
DATA-COND_RECORD-VARIABLE_FIELDS [4] - FIELDVALUE = '15'

DATA-COND_RECORD-VARIABLE_FIELDS [5] - FIELDNAME = 'COND_CURRENCY'
DATA-COND_RECORD-VARIABLE_FIELDS [5] - FIELDVALUE = 'EUR'

DATA-COND_RECORD-VARIABLE_FIELDS [6] - FIELDNAME = 'DATE_FROM'
DATA-COND_RECORD-VARIABLE_FIELDS [6] - FIELDVALUE = '20030101'

DATA-COND_RECORD-VARIABLE_FIELDS [7] - FIELDNAME = 'DATE_TO'
DATA-COND_RECORD-VARIABLE_FIELDS [7] - FIELDVALUE = '20031231'

DATA-COND_RECORD-SCALE_ITEM[1]-EVAL_TYPE = 'C'
DATA-COND_RECORD-SCALE_ITEM[1]-VARIABLE_FIELDS [1] - FIELDNAME = 'MNT_RATE''
DATA-COND_RECORD-SCALE_ITEM[1]-VARIABLE_FIELDS [1] - FIELDVALUE = '15'
DATA-COND_RECORD-SCALE_ITEM[1]-ORDINATES[1]- DIM_ID = ' 01'
DATA-COND_RECORD-SCALE_ITEM[1]-ORDINATES[1] SCALE_AXIS_ITEM_ID = '1'

DATA-COND_RECORD-SCALE_ITEM[2]-EVAL_TYPE = 'C'
DATA-COND_RECORD-SCALE_ITEM[2]-VARIABLE_FIELDS [1] - FIELDNAME = 'MNT_RATE'
DATA-COND_RECORD-SCALE_ITEM[2]-VARIABLE_FIELDS [1] - FIELDVALUE = '14'
DATA-COND_RECORD-SCALE_ITEM[2]-ORDINATES[1]- DIM_ID = ' 01'
DATA-COND_RECORD-SCALE_ITEM[2]-ORDINATES[1] SCALE_AXIS_ITEM_ID = '2'

DATA-COND_RECORD-SCALE_ITEM[3]-EVAL_TYPE = 'C'
DATA-COND_RECORD-SCALE_ITEM[3]-VARIABLE_FIELDS [1] - FIELDNAME = ' MNT_RATE''
DATA-COND_RECORD-SCALE_ITEM[3]-VARIABLE_FIELDS [1] - FIELDVALUE = '13'
DATA-COND_RECORD-SCALE_ITEM[3]-ORDINATES[1]- DIM_ID = ' 01'
DATA-COND_RECORD-SCALE_ITEM[3]-ORDINATES[1] SCALE_AXIS_ITEM_ID = '3'


DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - EVAL_TYPE = 'C'

DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [1] - FIELDNAME = 'COND_CURRENCY'
DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [1] - FIELDVALUE = 'EUR'

DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [2] - FIELDNAME = 'COND_PRICING_UNIT'
DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [2] - FIELDVALUE = '3'

DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [3] - FIELDNAME = 'COND_UNIT'
DATA-COND_RECORD-SCALE_ITEM_GROUP[1] - VARIABLE_FIELDS [3] - FIELDVALUE = 'ST'


DATA-COND_RECORD-SCALE_DIMENSIONS[1] - DIM_ID = '01'
DATA-COND_RECORD-SCALE_DIMENSIONS[1]- SCALE_AXIS_ID = ' User_def_Guid'

DATA-COND_RECORD-SCALE_AXIS[1] - SCALE_AXIS_ID = ' User_def_Guid'
DATA-COND_RECORD-SCALE_AXIS[1] - SCALE_BASE_TYPE = 'C'

DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[1] - SCALE_AXIS_ITEM_ID = '1'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[1] - VARIABLE_FIELDS [1] - FIELDNAME = 'SCALE_VALUE'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[1] - VARIABLE_FIELDS [1] - FIELDVALUE = '0'

DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[2] - SCALE_AXIS_ITEM_ID = '2'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[2] - VARIABLE_FIELDS [1] - FIELDNAME = 'SCALE_VALUE'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[2] - VARIABLE_FIELDS [1] - FIELDVALUE = '30'

DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[3] - SCALE_AXIS_ITEM_ID = '3'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[3] - VARIABLE_FIELDS [1] - FIELDNAME = 'SCALE_VALUE'
DATA-COND_RECORD-SCALE_AXIS[1] - ITEM[3] - VARIABLE_FIELDS [1] - FIELDVALUE = '300'

DATA-COND_RECORD-SCALE_AXIS[1] - VARIABLE_FIELDS[1] - FIELDNAME = 'SCALE_UNIT'
DATA-COND_RECORD-SCALE_AXIS[1] - VARIABLE_FIELDS[1] - FIELDVALUE = 'ST'

The numbers in brackets (for example, VARIABLE_FIELDS[2]) refer to the 2nd line in the table structure VARIABLE_FIELDS.





Parameters

DATA
RETURN

Exceptions

Function Group

CRMXIF_CT_CRC_IO_GEN

Vendor Master (General Section)   CPI1466 during Backup  
This documentation is copyright by SAP AG.

Length: 9635 Date: 20240605 Time: 091146     sap01-206 ( 143 ms )