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

How to check data format in Open Channel functionality?

alex_gaevoy
Explorer
0 Likes
826

Hi, Experts!

We use Open Channel functionality to send outbound messages through 3d party systems.

Some parameters of messages in the campaign we set with a pull-down list (see pic below).

We have found out that there is a limit to the number of rows in the pull-down list (around 735 ones).

But we need more (2-3 thousand rows). Or even it could be better to use a pop-up window with a list of objects and search bar like in filter for a target group (see pic below).

Maybe somebody is faced with such a problem?

Could you help us to find up decision?

P.S. With a pull-down list we control the data format that users put to the field of the action in the campaign. Maybe somebody knows how we can check data format for fields in Open Channel functionality in another way before we will run the campaign?

Accepted Solutions (1)

Accepted Solutions (1)

marc_dorais
Product and Topic Expert
Product and Topic Expert
0 Likes

Hello Oleksandr,

I was referring to the BAdI CUAN_CPG_OPN_CHNL_PRE_PROC - (3) Open Channel: Define Global Settings for Execution

In this BAdI you can check the custom parameters of the Open Channel action. This BAdI is called during the execution of the campaign (at the beginning) and it will prevent the execution of the campaign with wrong parameters. I know this might not be the best solution, but this is a workaround that will ensure your campaign is running with valid parameters.

Here is an example of code to validate a customer parameter

READ TABLE header_attributes INTO DATA(oc_id)
WITH KEY param_name = 'ZOC_ID'.
IF sy-subrc IS INITIAL.
" Check the value of OC_ID
IF oc_id-param_value <> 'Id-1'.
error_occured = abap_true.
INSERT CONV #( 'Invalid OC Id' ) INTO TABLE error_messages.
ENDIF.
ELSE.
error_occured = abap_true.
INSERT CONV #( 'OC Id is missing' ) INTO TABLE error_messages.
ENDIF.

Best regards,
Marc

alex_gaevoy
Explorer
0 Likes

Marc,

Thank you very much!

I've sent the information to my colleagues, and they'll add the check of the custom parameters during the execution of the campaign.

Thanks! Have a nice day!

Alex

Answers (1)

Answers (1)

marc_dorais
Product and Topic Expert
Product and Topic Expert
0 Likes

Hello Oleksandr,

Unfortunately a drop down list always come with a limit on the number of entries it can display.
Do you have a way to filter the possible values based on some campaign attributes? This way you could reduce the number of entries to add in the drop down list.

Another possibility will be to define a parameter of type string without any values. Then you can check if the value is valid in the BAdI (3) Open Channel: Define Global Settings for Execution. This is not as nice as the drop down list, but this should work.

Finally, you could also create an influence request via this link https://influence.sap.com/sap/ino/#/campaign/38/ideas in order to improve this area of open channel.

Best regards,
Marc

alex_gaevoy
Explorer
0 Likes

Hi, Marc!

Thanks for your advice!

So, about checking value with the BAdI (3) Open Channel: Define Global Settings for Execution. Do you talk about CUAN_CAMPAIGN_CHECK BAdI?
Unfortunately, it works with parameters from the campaign's header only. We couldn't specify the error message for Open Channel.
Maybe we made something wrong?

Could you clarify how to check the custom parameter in Open Channel action with the BAdI?