cancel
Showing results for 
Search instead for 
Did you mean: 

Attributes and Methods in SAP PO 7.4

0 Kudos

Hi experts,

We have java code maintained in attributes and methods under functions tab of our pi 7.1 mapping.

recently we have migrated the same to the PO 7.4.

In PI code was getting impacted at run time, whereas coming to PO its is not getting executed by which our message flow is getting impacted.

My question here is do we need to recompile the java code present in the PI into the jdk verison of PO (Code was not imported using archive) ?

Thanks in advance for your valuable suggestions:)

Many Thanks

Sai Chaithanya

Accepted Solutions (1)

Accepted Solutions (1)

former_member186851
Active Contributor
0 Kudos

Hello Sai,

Any specific error being thrown?

0 Kudos

interface determination did not yeild any actual interface

Reason:

Inbound message consists of - in the payload where the java code interperts the message and replace the - with _ and forwards to mapping.

Now as java code is not executing PO is looking for mapping with sender structure  consists o-

as the interface is not found it is throwing interface determination yeild any actual interface

Thanks and Regards:

Sai Chaithanya

former_member186851
Active Contributor
0 Kudos

Hello Sai,

Guess you will be using replace function,it doesn't require any code compling.

Can you post the code being used in methods

Remove the SWCV in ICO and check once

0 Kudos

Hi Sritharan,

PFB code used

public void transform(TransformationInput in, TransformationOutput out)

  throws StreamTransformationException {

try {

  String   xmlString="", modifiedxmlString ="", line ="";

  InputStream ins =    in.getInputPayload().getInputStream();

  BufferedReader br = new BufferedReader( new InputStreamReader(ins));

  while ((line = br.readLine()) != null) 

  xmlString +=line+"\n"; 

  br.close();

         //Replaces the - to _ charcter in xml structure

  modifiedxmlString= xmlString.replace("-","_");

          

     out.getOutputPayload().getOutputStream().write(modifiedxmlString.getBytes());

  } catch (Exception e) {   throw new StreamTransformationException(e.getMessage());   }

}

former_member186851
Active Contributor
0 Kudos

Hello Sai,

Make sure your import statements are in place.

former_member182412
Active Contributor
0 Kudos

Hi Sai,

Try send the source payload with '_' instead of '-' to make sure the java code is not executing.

Regards,

Praveen.

former_member186851
Active Contributor
0 Kudos

Yes,You can check that way.

Then check for import statments and try removing SWCV in the ICO and check once.

former_member182412
Active Contributor
0 Kudos

Thanks sritharan .

It worked, but may i know why we have to remove SWCV?

former_member186851
Active Contributor
0 Kudos

Hello Sai,

At runtime, an operation-dependent Interface Determination will always result in a check whether the incoming payload fits to the structure of the Service Interface (as configured in the ESR). If the payload does not fit, the message is rejected. For classical scenarios, there is one exemption to this check: For a Service Interface which consists of only one operation AND the operation name equals exactly the name of the Service Interface, no runtime check is performed whether the payload fits to the interface structure. Effectively that means for such an Interface Determination arbitrary payloads are accepted and the Interface Determination is handled as if it wouldn't be operation-dependent.

Check the note-1933223(Guess Praveen already shared it)

Close the thread if your query is addressed.

Answers (0)