cancel
Showing results for 
Search instead for 
Did you mean: 

BODS issue IDOC floating to double issue

Former Member
0 Kudos

I've created a real-time job that receives an standard IDOC(DeliveryProcessing_Execute) from ECC and processes the IDOC. Everything works with the connection, I have one small problem though. There are three fields in ECC which by default are right justified in it's field and the field is of floating type. When BODS processes this IDOC, it seems it reads it left to right and notices the spaces and assumes that it is empty because of the spaces and marks the values in this field to be 0.000.

My version is 14.1.2.378 and ecc 6.0.

I save an XML copy of the file for validation before I make any changes to it. In that first xml, the values for these fields show as 0.000.

Anyone have a work around for this that doesn't consist of customizing the IDOC?

I haven't found anyone else having these challenges, which was hard for me to believe because I was using a standard IDOC.

Within the BODS, I can change the metadata of the IDOC but the change does not save or keep in place. It still shows it as a double when I try to use it as a source.

Accepted Solutions (0)

Answers (1)

Answers (1)

abhishekbiwal
Explorer
0 Kudos

not sure if understand this correctly,

but you can try using ltrim to remove spaces when you read the IDOC fro ECC
and then lpad when send data back to ECC, for lpad you'll need the details of the fields which you'll get in WE30 fro that IDoc.

If my understanding is incorrect please correct me...

Thanks and regards,

Abhishek Biwal

Former Member
0 Kudos

Hi Abhishek,

Thanks for your response. The IDOC is sent via RFC client form ECC to BODS. During that transfer, something(I don't know if its BODS or ECC) changes the datatype of fields that are not native to BODS. The number value is not even getting to me. In my second screenshot, you can see I am saving off the IDOC as it is received by BODS before any transformations are done to the IDOC. In that XML file, those fields are 0.000 . So I have no chance to make any changes to the data, as I am receiving it incorrectly.

Mitesh

abhishekbiwal
Explorer
0 Kudos

Hello,

Then the issue is with the RFC call, which is changing the datatype.

What i know off is Idoc are data always left justified. You will need to check with the RFC call, how it is doing it?

Thanks and regards,

Abhishek Biwal

Former Member
0 Kudos

Thanks for the information. Any idea how I would do that? I don't know much about the ECC side, I'm mainly work with BODS.

abhishekbiwal
Explorer
0 Kudos

You'll need and ABAP programmer to check the what is happening.
The programmer might have to De-bug the code to understand what is happening when data is pulled from ECC tables and where exactly the data is getting left justified.

We as BODS developers cant to much here

Thanks and regards,

Abhishek Biwal

Former Member
0 Kudos

I'll get in touch with my ECC guys and see what they say.

thanks!

Former Member
0 Kudos

My ECC guys ended up creating a user exit in the IDOC program and manipulated the field.