点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我们正在尝试使用从Internet获得的以下功能从串行端口读取数据。
问题在于创建带有语句CREATE OBJECT o_obj'" MSCOMMLib.MSComm.1"'的对象。
这将返回sy-subrc = 2并显示异常NO_CREATE_OBJECT。
我们已经将文件MSCOMM32.OCX复制到c:\ windows \ system32中,并成功使用regsvr32.exe注册了它。
我们在Windows XP和Vista上进行了尝试。
有人有什么主意吗?
预先感谢
功能ZSERIALCOM。
*" ----
" "本地投放"
*"导入
*"参考(模式)类型I默认值0
*"参考(COMMPORT)I型默认值1
*"参考(设置)C型默认'2400,N,8,1'
*"参考(输出)C型可选
*"导出
*"参考(输入)C型
*"例外情况
*" NO_CREATE_OBJECT
*" ----
TYPE-POOLS:sabc。
包括ole2incl。
执行初始化。
使用通讯设置执行open_port。
IF模式= 0。
执行读取端口
更改输入。
ENDIF。
IF模式= 1。
执行write_port
使用输出
更改输入。
ENDIF。
最终执行。
ENDFUNCTION。
数据:o_obj类型ole2_object。
&----
*&表单初始化
&----
-
文本
----
-
-> p1文字
-
<-p2文字
----
FORM初始化。
数据:
wa_repid像sy-repid。
wa_repid = sy-repid。
CALL FUNCTION'AUTHORITY_CHECK_OLE'
导出
程序= wa_repid
活动= sabc_act_call
application ='MSCOMMLib.MSComm.1'
例外
no_authority = 1
activity_unknown = 2
OTHERS = 3。
IF sy-subrc <> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
有sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
创建对象o_obj'" MSCOMMLib.MSComm.1"'。
IF sy-subrc <> 0。
RAISE no_create_object。
ENDIF。
ENDFORM。 "初始化
----
-
FORM open_port *
----
-
........ *
----
-
-> COMMPORT *
-
->设置*
----
使用通讯设置来形成open_port。
o_obj'CommPort'的设置属性= commport。
o_obj的"设置属性""设置" =设置。
o_obj'InputLen'的设置属性= 0。
o_obj'PortOpen'的设置属性= 1。
ENDFORM。 " open_port
----
-
FORM read_port *
----
-
........ *
----
-
->输入*
----
FORM read_port
CHANGING输入。
数据:
wa_buffer TYPE i。
做10次。
获取o_obj'InBufferCount'= wa_buffer的属性。
如果wa_buffer> 0。
获取o_obj'Input'的属性=输入。
退出。
ENDIF。
ENDDO。
ENDFORM。 " read_port
----
-
FORM write_port *
----
-
........ *
----
-
->输出*
----
FORM write_port
使用输出
CHANGING输入。
数据:
wa_buffer TYPE i。
o_obj的SET PROPERTY OF'输出'=输出。
做10次。
获取o_obj'InBufferCount'= wa_buffer的属性。
如果wa_buffer> 0。
获取o_obj'Input'的属性=输入。
退出。
ENDIF。
ENDDO。
ENDFORM。
&----
*&最终表格
&----
-
文本
----
-
-> p1文字
-
<-p2文字
----
FORM决赛。
o_obj'PortOpen'的设置属性= 0。
免费对象o_obj。
ENDFORM。 " finalbligw
嗨,法比安,
首先,您应该在Windows中维护MSCOMM.OCX文件->客户端PC中的system和system32,然后您应该完成向regsvr32.exe注册的步骤,完成注册后,我们需要激活MSCOMM.OCX(程序ID为 ActiveX兼容性管理器软件中的MSCOMMLib.MSCOMM.1)(从Internet下载表格)。
一旦您完成所有步骤,我们希望您可以从串行端口读取日期
最近我们已经完成了一个项目,借助MSCOMMLib.MSCOMM.1从串口到SAP的日期。
注意:客户端PC必须具有VB环境,并且您必须在ole应用程序T代码SOLE中维护CLSID:{648A5600-2C6E-101B-82B6-000000000014},以便将数据从通讯保护存储到SAP表。
温馨提示
Ghanshyam Acharya
您知道SALE中需要进行的设置,哪些列需要填写,什么值? 也许我想念一些东西。
一周热门 更多>