跨语言通讯我从通用的角度上说。
成都创新互联服务项目包括黑河网站建设、黑河网站制作、黑河网页制作以及黑河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,黑河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到黑河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1 内联代码:这个貌似Java会和SAP系统紧密一些,不过你需要SDK和Java语言,然后Java和C++通讯,这个网上资源应该比较多,你也可以做一些控制。
2 通过一部分资源共享(内存,文件,各种socket),不过你要确定SAP系统一定会在恰当的时候读这些资源,并且格式正确。SAP的系统比较奇葩,非常抽象,所以我一点也不看好这种做法。
3 (不太现实)请设计原生编译器编译C、C++到SAP系统内部语言,或者就是直接从底下写一套C++、C的接口。
总之,SAP系统本身就是奇葩一朵,几种通用编程规范(主要是Posix)基本没几条适用,再者SAP系统并非单纯为了组织计算资源的系统,在设计目的上更加偏向密集数据的分析和应用,各种商业逻辑的实现,最后连SAP自己的语言都要基于数据库来完成。所以如果要做lz这样的事情,感觉已经是编写系统的范畴,不仅不容易,而且不一定会出彩。
如果您仍然想要做这样的事情,可以参考一下Qt在signal slot方面的实现方法,比如代码的再分析啊,各种序列化啊这种,可能借鉴意义比较大。
以上说法纯口胡的成分比较大,我就是一说,做个建议。
1, 一般建议SAP提供接口给外部系统连接
2, tcode DBCO 设置可以让SAP连接外部服务器的database.但要配置监听
根据系统数据交换的方式以及读写数据的相对关系不同,可以将外部系统与SAP系统的接口形式分为:主动式,被动式和中间式\x0d\x0a\x0d\x0a1、主动式接口\x0d\x0a\x0d\x0a即外部系统将SAP系统所需的信息直接写入SAP系统的数据库中。这种方式要求详细了解SAP系统内部的数据库结构,并且SAP系统允许外部系统往里写数据(即有写的权限)。一般来说,主动式接口形式需要对SAP系统的数据库结构很清楚,对SAP系统录入数据时需要进行哪些数据校验也要很清楚,同时也要遵循SAP系统的数据校验规范,将其所需的物料信息、产品信息、加工信息等一一写入SAP系统中,保证数据的准确性和有效性。\x0d\x0a\x0d\x0a采用主动式接口形式的优点:外部系统与SAP系统中的信息同步性好。但在安全性方面存在一定问题,如出现写数据冲突,即外部系统写数据到SAP系统的同时,SAP系统本身也在往数据库中写入数据。对于SAP系统建议一般不要采用此种方式。\x0d\x0a\x0d\x0a2、被动式接口\x0d\x0a\x0d\x0a被动式接口,即SAP系统从外部系统中读取所需的数据,将其写入自已的数据库中。对于被动式又有两种方式:全被动式和半被动式。\x0d\x0a\x0d\x0a.全被动式:外部系统完全公开其表达和存储信息的数据库结构,SAP系统读取信息时自行判断哪些信息是增加的,哪些是修改的,哪些己删除了。\x0d\x0a\x0d\x0a.半被动式:外部系统除公开其数据库结构外,还提供一些握手信号单独存入握手信号表中,握手信息说明哪些信息作了更新,这样SAP系统在读取外部系统中的信息(如某物料更改信息)时,根据握手信号表来读取外部系统中已经发生更改的部分信息,不需要全部读一遍,这样可以提高接口处理的速度。\x0d\x0a\x0d\x0a采用被动式接口形式的优点:外部系统与SAP系统的同步性也做得比较好,安全性方面也比主动式要好。但实现起来较为麻烦,需要有较强的SAP接口方面的知识。一般由专门的SAP实施顾问来完成这种开发。\x0d\x0a\x0d\x0a3、中间式接口\x0d\x0a\x0d\x0a中间式接口,即外部系统将SAP系统所需的信息生成中间文件或中间数据表,SAP系统直接读取中间文件或将中间表中的信息写入数据库中,这种方式要求对外部系统和SAP系统两方都要做一些开发工作。\x0d\x0a\x0d\x0a需要特别提出的是:采用中间式接口时必须时刻注意如何保证外部和SAP信息一致性。常用的有两种方式:一种是由SAP系统来保证,即外部系统将SAP系统所需的信息定期写在中间文件或数据表中,SAP系统读取该信息时与SAP系统中已有的信息进行分析比较,判断哪是新增的、哪是修改的、哪些删除了,最后把更新的信息写入SAP系统中:另一种是,外部系统在生成中间文件或数据表时,与SAP系统中己有的数据进行比较,判断哪些数据进行了更新,并将更新的数据写入中间文件或数据表。然后,SAP系统读取中间文件或数据表中的数据直接写入自己的数据库中。这种方式要求在外部系统写中间文件之前SAP系统将其数据库中的数据导出,以供外部系统进行比较用。\x0d\x0a\x0d\x0a中间式接口是比较常用的一种方式,这种方式外部系统和SAP系统相对独立,接口不涉及双方内部的结构,而且接口的责任也很明确,数据的安全性也得到了保证。但这种方式存在的问题就是两个系统的数据同步性稍差一些,但只要合理地规定读写中间文件或数据表的时间,数据的同步性是不会影响使用的。
这个容易,呀,那边系统开发个接口,直接访问你的SAP系统,或那边开发一个WEBSERVICE,你的SAP访问它,把数据传给它。