cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with data integration when using KCLJ

Former Member
0 Kudos

Hello,

For a project, I had to integrate a new field using transaction KCLJ.

For this I extented the DDIC structure of the sender structure, and after that, I updated the corresponding transfer rules.

When I execute transaction KCLJ I have no error, and table BUT000 is updated with the data of the flat file.

The problem is that erase also 6 BUT000's fields; they're not in the sender structure and so, have no transfer rules.

Could you help me ?

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi

Why you are using this transaction ?

Which sRM version, you are using ?

What's the need, pls elaborate ?

<u>Instead of using KCLJ, why not you use BBPGETVD for Vendor replication purpose.</u>

Hope this will help.

Please reward suitable points.

Regards

- Atul

Former Member
0 Kudos

Hi atul,

I use this transaction because I'd like to integrate external data (with flat files).

SAP SRM version is 3.0, and SAP EBP version is 4.0.

Our need is just to update rigth fields of table BUT000 with file data. When I said 'Right Fields', I mean fields wich are in the sender structure and have transfer rule.

I try your transaction, but it's unknown.

Former Member
0 Kudos

Hi

Earlier, we have two SRM Systems EBP 3.5 and EBP 5.0.

Tcode

<b>BBPGETVD</b>

- Transfer Vendor Master

<b>(Alternatively use Report - BBP_VENDOR_GET_DATA )</b>

is available in both EBP 3.5 as well as EBP 5.0 versions.

<u>This transaction is for that purpose only.</u>

Hope this will help.

Please reward suitable points.

Regards

- Atul

Former Member
0 Kudos

Thanks for your reply, but that doesn't help me. My problem is on EBP when I Transfer data.

What I wants is just load external data into EBP.

To do this, in SPRO/Cross Application/External Data, I have to use a sender structure and define transfer rules; after that, I can strat the transfer. My problem is, when I transfer my external data into EBP, some fields are updated while they're not in the sender structure and have no transfer rule and I don't understand why !

Former Member
0 Kudos

Hi

Please read this.

External Data Transfer
These activities are not relevant if you use a CRM/EBP system.

In the following activities you make definitions for transfer of business partner data or business partner relationship data from an external system to a SAP System.

Data transfer takes place in several stages:

1. Relevant data is read from the external system and placed in a sequential file by the data selection program. The data structure of the file is defined in the sender structure.
This procedure takes place outside of the SAP environment and is not supported by SAP programs. For this reason, data changes can be made at this point by the data selection program.
2. The sequential file is stored on an application server or a presentation server.
3. The SAP transfer program reads data from the file and places this in the sender structure. This does not change the data. This step is carried out internally by the system and does not affect the user.
4. Following transfer rules that have to be defined, the transfer program takes the data from the sender structure and places it in the receiver structure. During this step you can change or convert data.
The receiver structure is firmly defined in the SAP system. Assignment of the sender structure to the transfer program, and of the transfer program to the receiver structure is made using a defined transfer category.
5. The data records in the receiver structure are processed one after the other and, if they do not contain any errors, they are saved in the database.
Before you transfer external data for the first time, make the following determinations:

The structure of the data in the external system may not match the structure expected by the SAP system. You may have to supplement data.
There are two ways in which you can adapt the structure:
You make the required conversions and enhancements within the data selection program prior to beginning the transfer to the SAP system. This will be the most practical solution in most cases since you have the most freedom at this point.
You do the conversion using a specially developed transfer program and transfer rules.
You then define the fields of the sender structure. The system offers you the option of automatically generating a sender structure that is compatible with the receiver structure.
You define transfer rules to create rules according to which the fields of the sender structure are linked with those of the receiver structure.
You now carry out the transfer.

SAP Enhancements for External Data Transfer
The following SAP enhancements are offered in the following areas of External Data Transfer:

Four Customer Exits exist for the data transfer or for the conversion from IDOC segments. The Exits are contained in the enhancement KKCD0001. As soon as the Customer Exits are activated, they are carried out for all sender structures or segments. The first two Customer Exits require minimal coding once they are activated. The sender structure concept is used when loading data into the SAP-System. The concept Segment is used in the context of the distribution of the SAP-System. It is a matter of a record of data to be transferred or converted. It is recommendable to code a CASE -instruction within the Customer Exit, where (differentiated according to sender structure (REPID) or segment) various coding is accessed. In the parameter REPID, the name of the segment for the conversion from IDOC segments. The parameter GRPID is not filled out with the conversion from IDOC segments. You should have a WHEN OTHERS branch within the CASE instruction, in which the 'SENDER_SET' is allocated to the 'SENDER_SET_NEW' or the 'RECEIVER_SET' to the 'RECEIVER_SET_NEW'. Utherwise the return code will have its initial value. You can view a possible solution in Code sample.

The first Customer Exit is accessed before the summarizing or conversion. It is called up as follows:

CALL CUSTOMER-FUNCTION '001'      EXPORTING            GRPID          = GRPID       "Origin            REPID          = REPID       "Sender program           SENDER_SET     = SENDER_SET  "Sender record      IMPORTING           SENDER_SET_NEW = SENDER_SET  "modified sender record            SUBRC          = SUBRC.      "Returncode 
If the variable 'SUBRC' is initial, the modified record is edited further or else passed over. The import parameter 'SENDER_SET_NEW ' must be filled out in the Customer Exit, as only this field and not the field 'SENDER_SET is further edited. This also especially means that you must allocate the import parameter 'SENDER_SET_NEW' the value of 'SENDER_SET' for records, for which no special handling will be carried out otherwise.
The second Customer Exit is accessed after the summarization and before the update:
CALL CUSTOMER-FUNCTION '002'   EXPORTING     REPID            = REPID           "Senderprogramm     GRPID            = GRPID           "Herkunft     RECEIVER_SET     = RECEIVER_SET    "verdichteter Satz   IMPORTING     RECEIVER_SET_NEW = RECEIVER_SET    "modifizierter verdichteter Satz     SUBRC            = SUBRC.          "Returncode 
The modified record is only updated if the variable 'SUBRC'
is initial.
The import parameter 'RECEIVER_SET_NEW' must be filled out in the Customer Exit, since only this field and not the field 'RECEIVER_SET _NEW' is updated.
The third Customer Exit is used for replacing variables. It is called up when you load the transfer rules.

  CALL CUSTOMER-FUNCTION '003'     EXPORTING       REPID = REPID       GRPID = GRPID       VARIA = VARIA       RFELD = RFELD       VARTP = VARTP     CHANGING       KEYID = KEYID     EXCEPTIONS       VARIABLE_ERROR = 1. 
The parameters REPID and GRPID are supplied with the sender structure and the origin. The variable name is in the field VARIA. The name of the receiver field is in the parameterRFELD. Field VARTP contains the variable type. Valid types are fixed values of the domain KCD_VARTYP. You transfer the variable values in the parameter KEYID. If an error occurs you use the exception VARIABLE_ERROR.

the fourth Customer Exit is required in EC-EIS only. It is called up after the summarization and before the determination of key figures. It is a necessary enhancement to the second Customer Exit. This is because changes to the keys are considered before the database is checked to see if records exist for the keys.

The function is called up as follows:

CALL CUSTOMER-FUNCTION '004' CHANGING    RECEIVER_SET = R    SUBRC = UE_SUBRC. 
The parameter RECEIVER_SET contains the receiver record to be changed. The parameter RECEIVER_SET is a changing parameter. No changes must be made to the function module if it is not used.

The User-Exits can be found in the Module pool 'SAPFKCIM'. If you want to use the Customer Exits, you can create a project and activate the Customer Exits with the transaction 'CMOD'. The enhancement which you must use with it is KKCD0001.

Note that when programming customer exits, that these will also run if corrected data records are imported into the datapool within the context of post processing for both test and real runs.

I will provide some pointers soon. Give me some time.

Hope this will help.

Please reward suitable points.

Regards

- Atul