Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8695

Enconding url UTF8 json

$
0
0

Hello.

 

i have a program abap, that send dcn/json to SMP 2.3

Now, when i send text from SAP to SMP i can send text ( from activity) in rusian.. this will be my dcn/json

 

{"pkg":"MAP_GS:0.30","messages":[{"id":"1 ","mbo":"E_GS_ACTIVITY","op":":upsert","cols":{"REFOBJECTTYPE":"BUS1037","REFOBJECTKEY":"2300297582","DOC_NUMBER":"2300297582","REFDOCTYPE":"","REFRELTYPE":"","ACTIVITY_TYPE":"Z001","SALESORG":"ES01","DISTR_CHAN":"DO","DIVISION":"01","SALES_OFF":"","SALES_GRP":"","FROM_DATE":"2014-06-19","TO_DATE":"2014-06-19","FROM_TIME":"17:27:00","TO_TIME":"17:27:00","REASON":"","RESULT":"","RESULT_EXPLANATION":"","STATE":"0","FOLLOW_UP_TYPE":"","FOLLOW_UP_DATE":"0000-00-00","ACTIVITY_COMMENT":"","DESCRPT_01":"","DESCRPT_02":"","DESCRPT_03":"","DESCRPT_04":"","DESCRPT_05":"","DESCRPT_06":"","DESCRPT_07":"","DESCRPT_08":"","DESCRPT_09":"","DESCRPT_10":"","TXT_KONSE":"","DIRECTION":"1","PARTN_ROLE":"AG","PARTN_ID":"0002017397","CONTACT_ROLE":"","CONTACT":"0000000000","LANGU":"E","LANGU_ISO":"EN","SALESREP":"0005000202","SALESREPNAME1":"VICENS PASTOR CATALINA","SALESREPNAME2":""}},{"id":"2 ","mbo":"E_GS_ACTIVITY_LONGTEXT","op":":upsert","cols":{"SOLD_TO":"0002017397","SALESORG":"ES01","DISTR_CHAN":"DO","DIVISION":"01","DOC_NUMBER":"2300297582","APPLOBJECT":"VBKA","TEXT_ID":"0001","NUM_LINES":"001","LINE":"хОЛА\r\n\r\n"}}]}

 

At the end, i have text from russian.. " хОЛА"

to pass text from activity SAP to SMP i do this.

 

DATA conv TYPE REF TO cl_abap_conv_out_ce.

conv = cl_abap_conv_out_ce=>create( EXPORTING encoding = '4110' ignore_cerr = ' ' )

 

dcn_jon  i have this value.

{"pkg":"MAP_GS:0.30","messages":[{"id":"1 ","mbo":"E_GS_ACTIVITY","op":":upsert","cols":{"REFOBJECTTYPE":"BUS1037","REFOBJECTKEY":"2300297582","DOC_NUMBER":"2300297582","REFDOCTYPE":"","REFRELTYPE":"","ACTIVITY_TYPE":"Z001","SALESORG":"ES01","DISTR_CHAN":"DO","DIVISION":"01","SALES_OFF":"","SALES_GRP":"","FROM_DATE":"2014-06-19","TO_DATE":"2014-06-19","FROM_TIME":"17:27:00","TO_TIME":"17:27:00","REASON":"","RESULT":"","RESULT_EXPLANATION":"","STATE":"0","FOLLOW_UP_TYPE":"","FOLLOW_UP_DATE":"0000-00-00","ACTIVITY_COMMENT":"","DESCRPT_01":"","DESCRPT_02":"","DESCRPT_03":"","DESCRPT_04":"","DESCRPT_05":"","DESCRPT_06":"","DESCRPT_07":"","DESCRPT_08":"","DESCRPT_09":"","DESCRPT_10":"","TXT_KONSE":"","DIRECTION":"1","PARTN_ROLE":"AG","PARTN_ID":"0002017397","CONTACT_ROLE":"","CONTACT":"0000000000","LANGU":"E","LANGU_ISO":"EN","SALESREP":"0005000202","SALESREPNAME1":"VICENS PASTOR CATALINA","SALESREPNAME2":""}},{"id":"2 ","mbo":"E_GS_ACTIVITY_LONGTEXT","op":":upsert","cols":{"SOLD_TO":"0002017397","SALESORG":"ES01","DISTR_CHAN":"DO","DIVISION":"01","DOC_NUMBER":"2300297582","APPLOBJECT":"VBKA","TEXT_ID":"0001","NUM_LINES":"001","LINE":"хОЛА\r\n\r\n"}}]}

 

text in russian  : хОЛА\r ( hello)

conv->convert( EXPORTING data = dcn_json  IMPORTING buffer = xpost_data len = xlen ).

 

 

if i send this json to sup

CALL METHOD ycl_sup_dcn=>http_send
     EXPORTING
       method                 = 'POST'
       http_rfc_dest          = l_http_rfc_dest
       form_fields            = me->form_fields
       xpost_data             = xpost_data
       content_type           = content_type
     IMPORTING
       http_status_code       = http_status_code
       http_status_message    = http_status_message
       response_text          = response_text


the http_status_code is 200.. all ok.. except when i look in smp's table tha i see

 

I have to encode url, but when i use for instance

ALL METHOD cl_http_utility=>escape_url
      EXPORTING
        unescaped = dcn_json
      RECEIVING
        escaped   = dcn_json.


then encode all url, and http_send give error, and it seems that SMP need { to interpret data.



any help ??


thanks.

Antonio


Viewing all articles
Browse latest Browse all 8695

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>