cancel
Showing results for 
Search instead for 
Did you mean: 

How to Over write the one of control Record Value

Former Member
0 Kudos

Dear all,

I am trying to overwrite "Identification(ARCKEY)" field in the control record but i couldn't able to do that.

The idea is to fill the sender file name in that field at runtime. For this i did the following

1) Wrote one UDF to take the Source file name & pass it to target payload. This is perfectly working.

2) Checked the options Apply control record values from payload, Take Sender from payload, Take Receiver from payload.

Even though i am not able to get the file name into that field. I ma getting the message ID of XI into that field

Any ideas???

Regards

Edited by: Bhavana Ch on Feb 9, 2011 7:30 PM

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

As Rajesh suggested. You can not overwrite field ARCKEY. You have to use other field from the control record for your req.

Refer Sravya's blog for manipulating IDOC control record values from the payload:

/people/sravya.talanki2/blog/2005/12/02/manipulating-idoc-control-records-from-payload

Div

Former Member
0 Kudos

Hi,

You cannot overwrite the ARCKEY Field of control record...

Message id will be passed in that field automatically..

if you are planning to use for some correlation you can use RCVLAD...which can help...

there are some fields of idoc control record which you cannot pass the data to them..data will be passed by runtime automatically for those fields..for the list check sap help...

HTH

Rajesh

Former Member
0 Kudos

Used different Field

Regards

Former Member
0 Kudos

First write the UDF to get the sender file name and pass that filename as the output of the UDF.

Map the output of this UDF to the in put of the second UDF whose code is as follows:

public String editCRfield(String name, Container container) throws StreamTransformationException

{

//write your code here

//Fetch the value from cache directly

content = (String)contents.get("ARCKEY");

if (content == null) {

content = "";

}

String content = new String(name);

return content;

}

MAP THE OUTPUT OF THIS UDF TO THE CONTROL RECORD FIELD ARCKEY . THAT'S IT. NOW ARCKEY FIELD CONTAINS THE NAME OF THE SENDER FILE.

THANKS

BISWAJIT

Former Member
0 Kudos

The "ARCKEY" will be populated with messageid even if 'Apply control record values from payload' is selected.

ARCKEY cannot be modified at XI runtime.

Please refer the documentation to check the fields in control segment that can be modified-

http://help.sap.com/saphelp_nw04/helpdata/en/13/95244269625633e10000000a155106/content.htm