点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
亲爱的 我正在尝试使用JAVA注册帕克发票,这是我的JAVA代码 JCoDestination目标= JCoDestinationManager.getDestination(" currentConnection"); 尝试{ JCoContext.begin(destination); JCoFunction f1 = destination.getRepository()。getFunction(" BAPI_INCOMINGINVOICE_CREATE1"); JCoParameterList f1GetParameters = f1.getImportParameterList(); f1GetParameters.setValue(" INVOICESTATUS"," D"); //监听者信息// JCoStructure BAPI_INCINV_CREATE_HEADER = f1GetParameters.getStructure(" HEADERDATA"); BAPI_INCINV_CREATE_HEADER.setValue(" INVOICE_IND"," X"); BAPI_INCINV_CREATE_HEADER.setValue(" DOC_TYPE"," 1A"); DateFormat格式=新 SimpleDateFormat(" yyyyMMdd",Locale.ENGLISH); 日期日期=(日期) format.parse(" 20130503"); BAPI_INCINV_CREATE_HEADER.setValue(" DOC_DATE",日期); date =(Date)format.parse(" 20130531"); BAPI_INCINV_CREATE_HEADER.setValue(" PSTNG_DATE",日期); BAPI_INCINV_CREATE_HEADER.setValue(" COMP_CODE"," SUP"); BAPI_INCINV_CREATE_HEADER.setValue(" DIFF_INV"," 0000714491"); BAPI_INCINV_CREATE_HEADER.setValue(" CURRENCY"," EUR"); BAPI_INCINV_CREATE_HEADER.setValue(" EXCH_RATE",新的Double(" 0.0000")); BAPI_INCINV_CREATE_HEADER.setValue(" EXCH_RATE_V",新Double(" 0.0000)); BAPI_INCINV_CREATE_HEADER.setValue(" GROSS_AMOUNT",新的Double(" 100.0000"))); BAPI_INCINV_CREATE_HEADER.setValue(" DSCT_DAYS1",新的Double(" 0")); BAPI_INCINV_CREATE_HEADER.setValue(" DSCT_DAYS2",new Double(" 0")); BAPI_INCINV_CREATE_HEADER.setValue(" DSCT_PCT1",新的Double(" 0.0000")); BAPI_INCINV_CREATE_HEADER.setValue(" DSCT_PCT2",新的Double(" 0.0000")); BAPI_INCINV_CREATE_HEADER.setValue(" PMNTTRMS"," 100"); BAPI_INCINV_CREATE_HEADER.setValue(" DEL_COSTS",新的Double(" 0.0000")); BAPI_INCINV_CREATE_HEADER.setValue(" DSCT_AMOUNT",新的Double(" 0.0000")); //表 JCoParameterList f1GetTables = f1.getTableParameterList(); JCoTable GLACCOUNTDATA = f1GetTables.getTable(" GLACCOUNTDATA"); GLACCOUNTDATA.appendRow(); GLACCOUNTDATA.setValue(" INVOICE_DOC_ITEM"," 000001"); GLACCOUNTDATA.setValue(" GL_ACCOUNT"," 0000499100"); GLACCOUNTDATA.setValue(" DB_CR_IND"," S"); GLACCOUNTDATA.setValue(" COMP_CODE"," SUP"); GLACCOUNTDATA.setValue(" SDOC_ITEM"," 000000"); GLACCOUNTDATA.setValue(" PERSON_NO"," 00000000"); GLACCOUNTDATA.setValue(" QUANTITY",new Double(" 0.000")); GLACCOUNTDATA.setValue(" TAX_BASE_AMOUNT",新的Double(" 0.000")); GLACCOUNTDATA.setValue(" PROFIT_SEGM_NO"," 0000000000"); //执行BAPI_INCOMINGINVOICE_CREATE1 f1.execute(目的地); System.out.println(f1.getExportParameterList()。getString(" INVOICEDOCNUMBER")); System.out.println(f1.getExportParameterList()。getString(" FISCALYEAR")); for(int counter = 0; counter
你好Balint,
使用JCoContext.begin()将使目标在当前会话中变为有状态,因此将通过使用完全相同的连接来使用相同的ABAP侧上下文。 调用是否在同一会话中执行取决于所使用的SessionReferenceProvider。 默认实现将每个线程视为一个会话。 在这种情况下,您的代码应该可以工作。 如果是不同的,则应检查它在做什么。 通过打开JCo trace ,您将了解是否使用了相同的连接。 根据您的发现,您可以决定进一步的步骤。
最诚挚的问候,
马库斯
一周热门 更多>