使用ABAP代码下载有道云笔记的内容

简介: 使用ABAP代码下载有道云笔记的内容

REPORT zactivate.

PARAMETERS: purl TYPE char32 OBLIGATORY LOWER CASE.

DATA: lv_content TYPE string,

     lt_node    TYPE zcl_jerry_tool=>tt_sorted_node,

     lv_number  TYPE int4,

     lv_size    TYPE int4,

     lv_total_size TYPE int8,

     lv_from    TYPE char32,

     lv_index   TYPE int4 VALUE 1,

     lt_pic     TYPE string_table.

CONSTANTS: folder  TYPE string VALUE 'C:\Users\i042416\Pictures\pic\clipboard',

          postfix TYPE string VALUE '>

INITIALIZATION.

 GET PARAMETER ID 'ZNOTE_ID' FIELD lv_from.

 IF lv_from IS NOT INITIAL.

   purl = lv_from.

 ENDIF.

START-OF-SELECTION.

 DATA: lv_url TYPE string.

 lv_url = 'http://note.youdao.com/yws/public/note/' && purl && '?keyfrom=public'.

 SET PARAMETER ID 'ZNOTE_ID' FIELD purl.

 DATA(lv_post_len) = strlen( postfix ).

 lv_content = zcl_crm_cm_tool=>get_text_by_url( lv_url ).

 CALL METHOD zcl_jerry_tool=>parse_json_to_internal_table

   EXPORTING

     iv_json        = lv_content

   IMPORTING

     et_node        = lt_node

     ev_node_number = lv_number.

 ASSERT lv_number = 1.

 READ TABLE lt_node ASSIGNING FIELD-SYMBOL() WITH KEY attribute = 'tl'.</div><div>  ASSERT sy-subrc = 0.</div><div>  READ TABLE lt_node ASSIGNING FIELD-SYMBOL(<node>) WITH KEY attribute = 'content'.</div><div>  ASSERT sy-subrc = 0.</div><div>  SPLIT <node>-value AT space INTO TABLE DATA(lt_result).</div><div>  LOOP AT lt_result ASSIGNING FIELD-SYMBOL(<entry>) WHERE table_line CS 'src='.</div><div>    lv_number = strlen( <entry> ) - 6.</div><div>    DATA(url) = <entry>+5(lv_number).</div><div>    REPLACE ALL OCCURRENCES OF `"` IN url WITH space.</div><div>    CONDENSE url.</div><div>    DATA(lv_url_len) = strlen( url ) - lv_post_len.</div><div>    url = url+0(lv_url_len).</div><div>    APPEND url TO lt_pic.</div><div>  ENDLOOP.</div><div>  WRITE: / 'ok'.</div><div>  DATA(lv_total) = lines( lt_pic ).</div><div>  LOOP AT lt_pic ASSIGNING FIELD-SYMBOL(<pic>).</div><div>    DATA(lv_name) = folder && lv_index && '.png'.</div><div>    DATA(lv_text) = 'Downloading file: ' && lv_name.</div><div>    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'</div><div>      EXPORTING</div><div>        percentage = lv_index * 100 / lv_total</div><div>        text       = lv_text.</div><div>    DATA(binary) = zcl_crm_cm_tool=>get_data_by_url( <pic> ).</div><div>    zcl_crm_cm_tool=>download_locally( iv_local_path = lv_name iv_binary = binary ).</div><div>    lv_total_size = lv_total_size + xstrlen( binary ).</div><div>    ADD 1 TO lv_index.</div><div>  ENDLOOP.</div><div>  WRITE: / 'totally ', lv_total, ' pictures downloaded successfully!' COLOR COL_NEGATIVE.</div><div>  DATA: ls_note TYPE crmd_prod_note.</div><div>  CALL FUNCTION 'GUID_CREATE'</div><div>    IMPORTING</div><div>      ev_guid_16 = ls_note-note_guid.</div><div>  ls_note-note_title = <title>-value.</div><div>  ls_note-pic_size = lv_total.</div><div>  ls_note-download_date = sy-datum.</div><div>  ls_note-download_time = sy-timlo.</div><div>  ls_note-total_size = lv_total_size.</div><div>  INSERT crmd_prod_note FROM ls_note.</div>

目录
相关文章
|
5月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
5月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
|
5月前
|
开发者 供应链 BI
SAP ABAP CALL SUBSCREEN 代码解析
SAP ABAP CALL SUBSCREEN 代码解析
|
5月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
|
5月前
|
JSON 应用服务中间件 API
使用 ABAP 代码消费 SAP 系统的 OData 服务
使用 ABAP 代码消费 SAP 系统的 OData 服务
|
5月前
|
开发工具 Web App开发 IDE
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
|
5月前
|
XML 网络安全 开发工具
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
|
5月前
|
开发者 数据库
使用 SAP ABAP 代码下载一个 note 到本地 ABAP 系统
使用 SAP ABAP 代码下载一个 note 到本地 ABAP 系统
|
5月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
|
5月前
|
存储
ABAP 代码从十进制转二进制的方法
ABAP 代码从十进制转二进制的方法
下一篇
无影云桌面