2

我目前已经安装了 sap_netweaver_as_abap_751_sp02_ase_dev_edition并且一切正常。

我的最终目标是在 SAP 中创建一些表(我将 SAP ASE 安装为 DB)并能够使用 java 访问它们(当然使用 sapidoc3.jar 和 sapjco3.jar)。

直到此刻,我设法创建了与 SAP 的连接,并得到以下输出:

executing
Attributes:
DEST:                   mySAPSystem
OWN_HOST:               HS-SW-05
PARTNER_HOST:           vhcalnplci
SYSTNR:                 00
SYSID:                  NPL
CLIENT:                 001
USER:                   DEVELOPER   
LANGUAGE:               E
ISO_LANGUAGE:           EN
OWN_CODEPAGE:           4102
OWN_CHARSET:            UTF16
OWN_ENCODING:           utf-16
OWN_BYTES_PER_CHAR:     2
PARTNER_CODEPAGE:       4103
PARTNER_CHARSET:        UTF16
PARTNER_ENCODING:       utf-16
PARTNER_BYTES_PER_CHAR: 2
OWN_REL:                721
PARTNER_REL:            751 
PARTNER_TYPE:           3
KERNEL_REL:             749 
TRACE:                   
RFC_ROLE:               C
OWN_TYPE:               E
CPIC_CONVID:            00000000

STFC_CONNECTION finished:
Echo: Hello SAP
Response: SAP R/3 Rel. 751   Sysid: NPL      Date: 20180905   Time: 132841   
Logon_Data: 001/DEVELOPER/E

我还设法在 SAP 中创建了一个简单的表,但现在我不明白如何使用 java 和我的 jar 从该表接收信息(不可能进行任何选择或类似的事情)。

根据我在互联网上的发现,我了解到这些表存储在一个 IDOC 文件中,我应该以某种方式获得这个 IDOC。

如果有人以前这样做过,也许可以给我一些关于如何从 SAP 数据库中获取日期的线索。

谢谢你。

4

1 回答 1

6

目前,我只能给出一个笼统的答案,因为我觉得你必须通过其他帖子搜索详细指南,IDOC 是如何工作的。

IDOC 既不是表,也不是文件。它是一种与 SAP 交换数据的格式(SAP 还将它们存储在 IDOC 表中,用于记录和恢复目的)。

您可以将 IDOC 发送到 SAP,也可以从 SAP 获取。例如,一个 IDOC 可以包含采购订单的数据。

要从 SAP 获取数据,您必须通过定义从 SAP 推送数据:

  • SAP 中的一些数据(采购订单、客户等),
  • 何时发送(立即或预定),
  • 如何通过配置合作伙伴和端口(文件、HTTP、RFC ......)通过 IDOC 将数据发送到您的“java 程序”

交易代码有 WE20、WE21、BD64。

在试用系统上,除了飞行演示数据库外,几乎没有真正的应用程序。您可以尝试使用程序 SAPBC_DATA_GENERATOR 填充它,然后使用程序 SAPBC_FILL_FLCUST_IDOC 发送类型为 FLCUSTOMER_CREATEFROMDATA01 的 IDoc。

于 2018-09-05T15:02:49.840 回答