0

JCO2.x から 3.x に移行しています。コードはほぼ全部書き直しましたが、これでは動けません。

元の 2.x コード:

        JCO.ParameterList input = new JCO.ParameterList();
        input.addInfo("APP_AREA", JCO.TYPE_STRING, 0, 0, 0, JCO.IMPORT_PARAMETER, null);
        input.addInfo("XML", JCO.TYPE_STRING, 0, 0, 0, JCO.IMPORT_PARAMETER, null);
        JCO.Function function = new JCO.Function(
            BAPI_NAMESPACE + "ZZZ",
            input, // input
            new JCO.ParameterList(), // output
            new JCO.ParameterList() // tables
        );

私の提案したコード:

        JCoParameterList input = new JCoParameterList();
        input.addInfo("APP_AREA", JCO.TYPE_STRING, 0, 0, 0, JCO.IMPORT_PARAMETER, null);
        input.addInfo("XML", JCO.TYPE_STRING, 0, 0, 0, JCO.IMPORT_PARAMETER, null);
        JCoFunction function = new JCoFunction(
            BAPI_NAMESPACE + "ZZZ",
            input, // input
            new JCoParameterList(), // output
            new JCoParameterList() // tables
        );

問題は、3.x では JCoFunction をこの形式でインスタンス化できないことです。関数テンプレートを作成する必要がありますか? ヒントをありがとう。

4

1 に答える 1

1

……ちょっと反応が遅い……

から を取得する必要がありJcoFunctionますJcoDestination。例えば

JCoDestination destination = JCoDestinationManager
            .getDestination(destinationName);
JCoRepository repository = destination.getRepository();
JCoFunctionTemplate template = repository.getFunctionTemplate(functionName);
JCoFunction function = template.getFunction();

JCoParameterList input = function_.getImportParameterList();
//set data on input

//execute the function
function.execute(destination);


//access the output
JCoParameterList output = function_.getExportParameterList();
JCoParameterList table = function_.getTableParameterList();
于 2015-04-03T09:06:01.340 に答える