cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Error when assigning SID: Action VAL_SID_CONVERT InfoObject

Former Member
0 Likes
2,814

Hi,

We are loading data from a custom table of ERP to BW system.  But at the time of activation, we face lots of errors due to incorrect maintenance of time data from source.  The custom table were populated with data from users.

We find difficult in correcting data from PSA as we are doing full upload, it's a painful task to correct the data every day.  Please suggest what's the best approach to be followed to optimize the same.

Following is the errors displayed:

"

Value '0330' of characteristic 0TIME is not a number with 000006 spaces

Error when assigning SID: Action VAL_SID_CONVERT InfoObject ZCUT_OFF

Process 000002 returned with errors

"

Plz find attached screen shot of incorrect updation:

Regards,

Antony Jerald.

View Entire Topic
ccc_ccc
Active Contributor
0 Likes

Hi Antony,

Please try below piece of code.

data: len type I.

clear: len.


len = strlen( SOURCE_FIELDS-TIME ).

case len .

   when 1.

     concatenate SOURCE_FIELDS-TIME '00000' into RESULT.

   when 2.

     concatenate SOURCE_FIELDS-TIME '0000' into RESULT.

   when 3.

     concatenate SOURCE_FIELDS-TIME '000' into RESULT.

      when 4.

     concatenate SOURCE_FIELDS-TIME '00' into RESULT.

      when 5.

     concatenate SOURCE_FIELDS-TIME '0' into RESULT.


     when others.

       RESULT = SOURCE_FIELDS-TIME.

     ENDCASE.


NOTE: you may need add/remove code as per your requirement.


I did, it works as expected.


data in flat file


data in dso after activation.
















please check.


Regards,

Nanda


Former Member
0 Likes

Hi,

Thanks so much for helping me with logics. 

There are some more below cases:

For the above incorrect time, I've added the following two line statement before calculating length and doing with Case statement:

REPLACE ALL OCCURRENCES OF '.' IN CUTOFF WITH ':' .

REPLACE ALL OCCURRENCES OF '::' IN CUTOFF WITH ':' .


But I still face errors.


Please suggest for the same.


Regards,

Antony Jerald.


ccc_ccc
Active Contributor
0 Likes

Hi Antony,

Please share me source system time data above records so that we can write logic, I guess your showing in new table.

Data is updating from ECC or flatfile?

Because I am taking data in flat file 4:00:00 however in transformation it shrinking to 4:00:: since 0TIME object contains only 6 length .

hence i am requesting , please tell all details like source system, target object etc..

Regards

Nanda

Former Member
0 Likes

Hi,

This is the incorrect data taken from source.  I forgot to mention & attach it to my earlier attachment.

Data is updated in ECC Table.  We are extracting it to BW through Generic Full upload datasource.

FYI:

Regards,

Antony Jerald.

ccc_ccc
Active Contributor
0 Likes

Hi Antony,

Writing code for 3::00::0 is time consuming process, now you have 3 options.

1 Take ABAPer help and write logic for all kinds of patterns like 12:: , 12:00, 3:0, and 3::00:00 etc...

2 If it is one time work, edit in PSA and update

3 If it is repeated job , please educate your end user enter proper format.

I tried my end for 3::00:00 logic but its time consuming process,

Hint for 3::0::0

1 Reach one by one value , if you get : and : in sequence and eliminate first and store in var1

2 or use SPLIT command update var1,2, and 3 and do some logic,.

Regards,

Nanda

Former Member
0 Likes

Hi,

Ideally, this should not be corrected in BW. A value like "3::0::0" is meaningless in a time field and if users enter junk data in the field, no logic can accurately decide what the correct value is. At best any logic can provide only a guesstimate.

The users need to be educated to enter correct values, or the data entry transaction should validate the time format.

Regards,

Suhas

Former Member
0 Likes

Hi,

Thanks for your reply.  Is there any standard BI Content time characteristics infoobjects available for Time field (eg: like 0FISCPER3, 0CALDAY, 0FISCYEAR, etc for time field) ?

Can you also tell me the logic on how to check whether the time data is a valid one or not?  I have an idea on the following logic(but don't know the exact syntax :-)):

If ( Check Time is proper) then proceed;

else

make it 00:00:00;

I don't much hands-on in ABAP so seeking and learning syntax along with the logic 🙂  Plz suggest.

Regards,

Antony Jerald.

ccc_ccc
Active Contributor
0 Likes

Hi Antony,

You can use 0TIME standard infoobject.

For checking valid time or not use below standard function module

TIME_CHECK_PLAUSIBILITY by using this FM check valid or invalid.

Regards

Nanda

ccc_ccc
Active Contributor
0 Likes

Hi Antony,

You can use 0TIME standard infoobject.

For checking valid time or not use below standard function module

TIME_CHECK_PLAUSIBILITY by using this FM check valid or invalid.

if its is helpful, please assign points and close the thread.

Regards

Nanda