如何使用IDOC从SAP系统获取数据

时间:2018-09-05 14:28:53

标签: sap abap idoc

我目前已安装 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和jars从该表中接收信息(无法进行任何选择或类似操作)。 / p>

根据我在互联网上发现的信息,我知道这些表存储在IDOC文件中,因此我应该以某种方式获取此IDOC。

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

谢谢。

1 个答案:

答案 0 :(得分:7)

目前,我只能给出一个一般性的答案,因为我认为您需要搜索其他文章中的详细指南,以了解IDOC的工作原理。

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

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

要从SAP获取数据,必须通过定义以下内容从SAP推送数据:

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

有交易代码,例如WE20,WE21,BD64。

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