Skip to Content
0

Remove duplicates and Special Characters in HCI-DS

Feb 25, 2017 at 01:26 PM

587

avatar image

Hello Experts,

I am working on one of the project for HCI-DS where we are sending the data from BW system to SAP IBP though HCI-DS.

We are sending Product and Product Location master data followed by Keyfigues.

While designing the master data flow for testing purpose we have facing following issue:

1) while running the end to end flow I can see in monitoring log of HCI there are around 1000 records sent to IBP however these records were already present in IBP and ideally it should not create new entry in IBP for same records ( Global variable Batch command set to INSERT_UPDATE) however in IBP new 1000 records have been added( 1000(old)+1000(new)).Please let me know how we can handle this in HCI? Duplicate entries should not be sent to IBP and if records are same HCI should not create the another entry for those records in IBP?Please advice

2) Specail Character handling in HCI. I am to handle all the special characters which are not acceptable in IBP as per s-note 2007254. However IBP don't understand (Empty line and Tab). How we can handle this in HCI-DS.?

Request you to please respond on same.

Thanks

Geetanshi

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

5 Answers

Best Answer
avatar image
Former Member Feb 27, 2017 at 09:41 AM
0

check on this link: https://uacp2.hana.ondemand.com/viewer/f7bee473aa9d4f94a06707590ef2f0f7/1611/en-US/950172553d590c30e10000000a441470.html

OR

add a query to the filter to filter out the duplicates record.

Share
10 |10000 characters needed characters left characters exceeded
Alecsandra Dimofte
Mar 02, 2017 at 09:30 AM
1

This syntax should take care of all special characters:

replace_substr(

replace_substr(

replace_substr(

replace_substr(

replace_substr(

replace_substr( Tranform.PRDDESCR, CHR(39), ' '),

CHR(13), ' ' ),

CHR(10), ' ' ),

'"', ' '),

'>', ' '),

'<', ' ')

Show 4 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Alecsandra,

This solution you've mentioned, should this be placed in the mapping of HCI? Inner_join part or Query part?

I tried placing this either Inner_Join and Query part but when I ran the task, I've encountered this.

"Inner_Join> Function <replace_substr> is not available in an ABAP data flow. Check the function name and ensure it is available through the Function Wizard."

Cheers,

R-jay

0

This should be in the mapping part.

0
Former Member
lennox international

Hi Mani,

Correct, I've placed it in the mapping part. Still encountering the same error "Function <replace_substr> is not available in an ABAP data flow"

Cheers,

R-jay

0

Some functions are not available in ABAP node transforms. Perhaps you can use this in the target query mapping.

Best

Alecsandra

0
Geetanshi kakkar Feb 26, 2017 at 06:46 AM
0

Any inputs on same issue please provide the same thanks

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

i hope the link for document must have helped you

0
lennox international Mar 01, 2017 at 03:35 AM
0

On #1 - Can you please check the definition of you master data types? There should be a field marked as key. That field cannot take duplicates. Please validate or provide the master data type definition so that we can check on that.

On #2 - Following are the ASCII you should use to replace tab and

- tab (CHR9)

- empty line (CHR10)

Thanks

Mani

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Mar 01, 2017 at 06:47 AM
0

My answer to your point no.2 i.e., on handling special characters:

As you stated on handling empty line and tab, it needs to read the hexa decimal value of that particular field which needs validation and then handle the replacement of special characters with space.

sample code:

REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>cr_lf+1(1)
IN <field> WITH space.

Share
10 |10000 characters needed characters left characters exceeded