关于DOI,"文档界面中发生内存保护错误"

2020-08-16 19:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)关于DOI,错误消息文档界面中发...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


关于DOI,错误消息"文档界面中发生内存保护故障"的原因是什么,它并不总是发生,请帮助

5条回答
CJones
2020-08-16 19:36

https://people.sap.com/sandra.rossi,help 请!我只知道错误消息出现在set_ranges_data中,但是我不知道它是什么问题,

编码:data:gdr_container类型引用到cl_gui_container,gdr_control类型引用到i_io_container_control,gdr_document类型引用到i_oi_document_proxy,gdr_spreadsheet类型引用到i_io_spreadsheet,gdt_errors类型引用到i_io_error出现0>

gcf_true ='x'

数据ldr_spliter类型对cl_gui_spliter_container的引用。

(1)。 调用方法ldr_spliter导出parent = cl_gui_container => screen0行= 1列= 1。

调用方法ldr_spliter-> set_border导出boder = cl_gui_cfw => false。

gdr_container = ldr_spliter-> get_container(row = 1列= 2)

(2)。 *创建容器控件调用方法C_OI_CONTAINER_CONTROL_CREATOR => GET_CONTAINER_CONTROL导入控件= GDR_CONTROL错误= GDT_ERRORS。 *将错误对象保存在集合中

APPEND GDT_ERRORS。

*初始化控件

调用方法GDR_CONTROL-> INIT_CONTROL导出* INPLACE_ENABLED = GCF_TRUE"值'X'

INPLACE_ENABLED =''"值'X'

INPLACE_SCROLL_DOCUMENTS = GCF_TRUE"值'X'REGISTER_ON_CLOSE_EVENT = GCF_TRUE"值'X'REGISTER_ON_CUSTOM_EVENT = GCF_TRUE"值'X'TEXT-006" V" R3_APPLICATION_NAME ='基础'#EC" CONTEXT PARENT = G" >

NO_FLUSH ='x'

导入错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。

(3)。数据:LDT_DOC_COMPONENTS类型SBDST_COMPONENTS,LDT_DOC_SIGNATURE类型SBDST_SIGNATURE,LDT_BDS_URIS类型SBDST_URI,LDS_BDS_URL LDT_BDS_URIS类型,LDF_CLASS_NAME类型类型SBDST_CLASS "密钥LDF_CLASSNAME = GCF_CLASSNAME。LDF_CLASSTYPE = GCF_CLASSTYPE_OT。LDF_OBJECTKEY = GCF_OBJECTKEY。

*获取有关文档的信息呼叫方法CL_BDS_DOCUMENT_SET => GET_INFO EXPORTING CLASSNAME = LDF_CLASSNAME" Name CLASSTYPE = LDF_CLASSTYPE

类型OBJECT_KEY = LDF_OBJECTKEY"键更改组件= LDT_DOC_COMPONENTS签名= LDT_DOC_SIGNATURE。

*通过传输URL返回文档

呼叫的方法CL_BDS_DOCUMENT_SET => GET_WITH_URL EXPORTING CLASSNAME = LDF_CLASSNAME "名称CLASSTYPE = LDF_CLASSTYPE" 类型OBJECT_KEY = LDF_OBJECTKEY"密钥变更URIS = LDT_BDS_URIS SIGNATURE = LDT_DOC_SIGNATURE。SORT LDT_BDS_URIS BY DOC_COUNT DESCENDING。READ TABLE LDT_BDS_URIS INTO LDS_BDS_URL INDEX 1. PRF_TEMPLATE_URL = LDS_BDS_URL -URI。

数据:LDF_AVAILABLE类型I.呼叫方法GDR_CONTROL-> GET_DOCUMENT_PROXY EXPORTING DOCUMENT_TYPE ='Excel.Sheet'" TEXT-007"值'Excel.Sheet'NO_FLUSH = GCF_TRUE"值'X'REGISTER_CONTAINER = GCF_TRUE"值'X' IMPORTING DOCUMENT_PROXY = GDR_DOCUMENT ERROR = GDT_ERRORS。 *将错误对象保存在集合APPEND GDT_ERRORS中。 呼叫方法GDR_DOCUMENT-> OPEN_DOCUMENT导出

OPEN_INPLACE =''"

DOCUMENT_URL = PVF_TEMPLATE_URL

导入错误= GDT_ERRORS。

APPEND GDT_ERRORS。

调用方法GDR_DOCUMENT-> HAS_SPREADSHEET_INTERFACE EXPORTING

NO_FLUSH =''"

导入

IS_AVAILABLE = LDF_AVAILABLE E

RROR = GDT_ERRORS。

*将错误对象保存在集合APPEND GDT_ERRORS中。 呼叫方法GDR_DOCUMENT-> GET_SPREADSHEET_INTERFACE导出

NO_FLUSH =''"

导入

SHEET_INTERFACE = GDR_SPREADSHEET

错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。

尝试。 调用方法GDR_SPREADSHEET-> SELECT_SHEET导出名称= TEXT-008"值'SHEET1'

NO_FLUSH =''"

导入错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。

捕获CX_SY_REF_IS_INITIAL。

消息S017(ZCS01)显示类似GCF_MSGTY_E。 离开屏幕。

ENDTRY。

(4)。数据LDS_RANGE类型SOI_RANGE_ITEM。 LDS_RANGE-NAME = GCF_CELL。

LDS_RANGE-ROWS = PVF_ROW。

LDS_RANGE-COLUMNS = PVF_COLUMN。

LDS_RANGE-CODE = GDR_SPREADSHEET-> SPREADSHEET_INSERTALL。

将LDS_RANGE附加到PRT_RANGE。

调用方法GDR_SPREADSHEET-> INSERT_RANGE_DIM导出名称= GCF_CELL"值'cell'

NO_FLUSH =''"值'X'TOP = 1左= 1行= PVF_LINE1列= PVF_LINE2导入错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。 数据LDS_CONTENT类型SOI_GENERIC_ITEM。

LDS_CONTENT-ROW = PVF_ROW。 LDS_CONTENT-COLUMN = PVF_COLUMN。 LDS_CONTENT-VALUE = PVF_VALUE。 将LDS_CONTENT附加到PRT_CONTENT。

呼叫方法GDR_SPREADSHEET-> SET_RANGES_DATA导出范围= LDT_RANGE目录= LDT_CONTENT * NO_FLUSH = GCF_TRUE"值'X'NO_FLUSH =''"值'X'更新= -1导入错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。

*设置框架

调用方法GDR_SPREADSHEET-> SET_FRAME EXPORTING RANGENAME = GCF_CELL

TYP = 127颜色= 1 NO_FLUSH = GCF_TRUE"值'X'导入错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。

数据:LDF_SHEET TYPE CHAR20。

调用方法GDR_SPREADSHEET-> FIT_WIDEST导出名称=空间NO_FLUSH = GCF_TRUE"值'X'导入错误= GDT_ERRORS。

*将错误对象保存在集合中

APPEND GDT_ERRORS。

*更新名称

LDF_SHEET = TEXT-008。 "值'SHEET1'

(5)。调用方法GDR_SPREADSHEET-> SET_SHEET_NAME EXPORTING NEWNAME = LDF_SHEET OLDNAME ='SHEET1'"值'Main'IMPORTING ERROR = GDT_ERRORS。*将错误对象保存在集合APPEND GDT_ERRORS中。

(6)。数据:LDF_ID类型SY-MSGID,LDF_NUM类型SY-MSGNO,LDF_P1类型SY-MSGV1,LDF_P2类型SY-MSGV2,LDF_P3类型SY-MSGV3,LDF_P4类型SY-MSGV4,LDS 。

将GDT_ERRORS循环到LDS_ERROR。 调用方法LDS_ERROR-> GET_MESSAGE导入MESSAGE_ID = LDF_ID MESSAGE_NUMBER = LDF_NUM

PARAM1 = LDF_P1 PARAM2 = LDF_P2 PARAM3 = LDF_P3 PARAM4 = LDF_P4。

*发生错误时(例如一次运行程序)

如果LDF_ID不是INITIAL并且LDF_NUM不是INITIAL。 消息ID LDF_ID TYPE GCF_MSGTY_S"值'S'编号LDF_NUM与LDF_P1 LDF_P2 LDF_P3 LDF_P4显示类似GCF_MSGTY_E。"值'E'离开列表处理。

*清除GDF_DOWNLOAD。

ENDIF。

ENDLOOP。

一周热门 更多>