我有一个要调用的BAPI函数,它接受一个字符串作为输入,并返回一个字符串列表作为输出。我在我的java代码中使用jco3.jar文件,但无法找到任何将字符串列表(String[])作为输出参数的内置方法,尽管我们有ByteArray/CharArray。
function.getExportParameterList().getString(“I_DOCNUM”);//如果返回参数-“I_DOCNUM”的类型仅为String,但不适用于String List,则可以工作。
请帮帮我先谢谢你了。
Java代码:
JCoDestination destination = JCoDestinationManager.getDestination("mySAPSystem");
System.out.println("Attributes:");
System.out.println(destination.getAttributes());
System.out.println(destination.getRepository());
destination.ping();
JCoFunction function = destination.getRepository().getFunction("INBOUND_IDOCS_FOR_TID");
if(function == null)
throw new RuntimeException("INBOUND_IDOCS_FOR_TID not found in SAP.");
function.getImportParameterList().setValue("TID", "0A80351B1927589833E57997");
try
{
function.execute(destination);
}
catch(AbapException e)
{
System.out.println(e.toString());
return;
}
System.out.println("STFC_CONNECTION finished:");
System.out.println(" Echo: " + function.getExportParameterList().getString("I_DOCNUM"));
功能模块:
INBOUND_IDOCS_FOR_TID.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(TID) TYPE EDIDS-TID
*" CHANGING
*" VALUE(I_DOCNUM) TYPE IDOC_TT
*" EXCEPTIONS
*" NO_IDOC_FOUND
*"----------------------------------------------------------------------
data: wa_docnum like edidc-docnum.
select docnum from edids into wa_docnum
where ( status eq '50'
or status eq '56' )
and tid eq tid.
append wa_docnum to i_docnum.
endselect.
if sy-subrc ne 0.
raise no_idoc_found.
endif.
ENDFUNCTION.
1条答案
按热度按时间wwtsj6pe1#
IDOC_TT是一种表类型。因此,您可以使用
然后遍历表中的行,并使用以下命令访问每行的单个字段值:
或者通过字段索引获得更高的性能: