Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 3255

Using CL_JAVA_SCRIPT to execute JS files

$
0
0

Hello,

 

 

I want to use CL_JAVA_SCRIPT in abap to execute a javascript file which i get from url.

And this is my code :

 

*&---------------------------------------------------------------------*
*& Report  ZCLIENT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZCLIENT.
DATA: LV_CLIENT TYPE REF TO IF_HTTP_CLIENT.
DATA:lv_URL TYPE STRING .
lv_URL  = 'https://resources/sap-ui-core.js'.
* Create client   CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL     EXPORTING       URL                = lv_URL     IMPORTING       CLIENT             = LV_CLIENT     EXCEPTIONS       ARGUMENT_NOT_FOUND = 1       PLUGIN_NOT_ACTIVE  = 2       INTERNAL_ERROR     = 3       OTHERS             = 4.   IF SY-SUBRC NE 0.     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO       WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.   ENDIF.
*   LV_CLIENT->REQUEST->SET_CONTENT_TYPE(
*       EXPORTING
*         CONTENT_TYPE = 'application/javascript; charset=UTF-8'
*         ).   CALL METHOD LV_CLIENT->REQUEST->SET_FORMFIELD_ENCODING     EXPORTING       FORMFIELD_ENCODING = LV_CLIENT->REQUEST->CO_ENCODING_URL.
* Get request:   CALL METHOD LV_CLIENT->SEND     EXCEPTIONS       HTTP_COMMUNICATION_FAILURE = 1       HTTP_INVALID_STATE         = 2       HTTP_PROCESSING_FAILED     = 3       OTHERS                     = 4.   IF SY-SUBRC NE 0.     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO       WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.   ENDIF.
* Prepare client-receive:   CALL METHOD LV_CLIENT->RECEIVE     EXCEPTIONS       HTTP_COMMUNICATION_FAILURE = 1       HTTP_INVALID_STATE         = 2       HTTP_PROCESSING_FAILED     = 3       OTHERS                     = 4.
* Get HTML:
DATA EV_DATA TYPE STRING.
CONSTANTS co_line_size TYPE i VALUE 150.
TYPES: t_line TYPE c LENGTH co_line_size.
DATA: l_string TYPE string,      lt_lines TYPE TABLE OF t_line.
FIELD-SYMBOLS: <l_line> TYPE t_line.   EV_DATA = LV_CLIENT->RESPONSE->GET_CDATA( ).
"   compile js
data GET_VALUE type STRING.
data JS_PROCESSOR type ref to CL_JAVA_SCRIPT.
data SOURCE type STRING.
concatenate  EV_DATA SOURCE into SOURCE SEPARATED BY cl_abap_char_utilities=>cr_lf.
JS_PROCESSOR = CL_JAVA_SCRIPT=>CREATE( ).
JS_PROCESSOR->COMPILE( SCRIPT_NAME = 'TEST_GET.JS'  SCRIPT =  EV_DATA ).
if JS_PROCESSOR->LAST_CONDITION_CODE <> 0.
write: / 'Error in COMPILE',  JS_PROCESSOR->LAST_ERROR_MESSAGE.
else.
write / 'JavaScript was compiled'.
endif.
skip.
JS_PROCESSOR->EXECUTE(
exporting SCRIPT_NAME = 'TEST_GET.JS' ).
if JS_PROCESSOR->LAST_CONDITION_CODE <> 0.
write: / 'Error in EXECUTE',  JS_PROCESSOR->LAST_ERROR_MESSAGE.
else.
write / 'JavaScript was executed'.
endif.
skip.

 

 

When executing my code i'm getting some errors like : "missing ; at line 16 " however my  js file doesn't contain any errors.

 

Thank you for help

Ameni,


Viewing all articles
Browse latest Browse all 3255

Trending Articles



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