业务对象程序对象计划

时间:2015-08-28 00:14:33

标签: java jar executable-jar business-objects business-objects-sdk

package com.ghc.bo.extract;

 //import com.crystaldecisions.sdk.plugin.desktop.program.IProgramBase;
 import com.crystaldecisions.sdk.framework.IEnterpriseSession;
 import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
 import com.crystaldecisions.sdk.exception.*;
 import com.crystaldecisions.sdk.framework.*;


 public class ExecuteExtract implements com.crystaldecisions.sdk.plugin.desktop.program.IProgramBase
 {


    public void run(IEnterpriseSession boEnterpriseSession, IInfoStore InfoStore, String[] args) 
    {
        System.out.println("Arguments are: ");

        for (int i=0; i<args.length; i++)
        {
            System.out.println("args[" + i + "]=" + args[i]);
        }

        try
        {
            String name = boEnterpriseSession.getUserInfo().getUserName();
            System.out.println("user \"" + name + "\" logged in via run() method");
        }
        catch(SDKException ske)
        {
            System.out.println(ske);
        }

        System.out.println("CMS is " + boEnterpriseSession.getCMSName());
    }

    public static void main(String[] args) 
    {

        IEnterpriseSession boEnterpriseSession = null;
        ISessionMgr boSessionMgr = null;
        IInfoStore boInfoStore = null;

        String userName = null;
        String cmsName = null;
        String password = null;
        String authType = null;     

        userName = args[0];
        password = args[1];
        cmsName = args[2];
        authType = args[3];


   if ((args.length == 4 || args.length == 5) && args[0] != null) 
       try
       {
          boSessionMgr = CrystalEnterprise.getSessionMgr();

          boEnterpriseSession = boSessionMgr.logon(userName, password, cmsName, authType);
          System.out.println("user \"" + userName + "\" logged in via main() method");

          boInfoStore = (IInfoStore) boEnterpriseSession.getService("", "InfoStore");
       }
       catch (SDKException e)
       {
           System.out.println(e.getMessage());
           System.exit(1);
       }

       //call the run() method
       ExecuteExtract pot = new ExecuteExtract();
       pot.run(boEnterpriseSession, boInfoStore, args);

    }    
 }

嗨,我运行了这个,我在这里完成了所有事情http://scn.sap.com/community/bi-platform/blog/2014/11/25/how-to-create-a-program-file-in-bi4#comment-613074,这基本上只是创建一个jar文件并为日程安排做最小配置。我创建了jar作为runnable和实用程序jar,我打包/提取包含的jar并将它们排除。我尝试了所有这些方法,我在程序参数中输入了类名“ExecuteExtract”,但我仍然收到错误

Failed to load class: [ExecuteExtract]. Reason: [java.lang.ClassNotFoundException: ExecuteExtract].

有没有人知道我错过了什么?

1 个答案:

答案 0 :(得分:2)

使用默认包,或者在程序对象参数中指定完全限定类名(com.ghc.bo.extract.ExecuteExtract)作为类名。

相关问题