Example - Sample Program for Testing Auditing for a Java Connector Transaction


package javaconn.ri.sample;

import java.util.HashMap;
import java.util.Map;

import com.jdedwards.system.connector.dynamic.callmethod.BSFNExecutionWarning;
import com.jdedwards.system.connector.dynamic.callmethod.ExecutableMethod;
import com.jdedwards.system.connector.dynamic.callmethod.RequiredParameterNotFoundException;
import com.jdedwards.system.connector.dynamic.spec.source.BSFNSpecSource;
import com.jdedwards.system.connector.dynamic.spec.source.OneworldBSFNSpecSource;
import com.jdedwards.system.connector.dynamic.Connector;
import com.jdedwards.system.connector.dynamic.spec.source.*;
import com.jdedwards.system.connector.dynamic.spec.SpecFailureException;
import com.jdedwards.system.connector.dynamic.ServerFailureException;
import com.jdedwards.system.connector.dynamic.SystemException;
import com.jdedwards.system.connector.dynamic.ApplicationException;

public class ExecuteBSFN_RI {
  int sessionID;
  BSFNSpecSource specSource = null;
  private ExecutableMethod poeEndDoc;
  private ExecutableMethod poeBeginDoc;
  ExecutableMethod poeEditDoc;
  public ExecuteBSFN_RI() {
    super();
    // TODO Auto-generated constructor stub
  }
  public void initialize(){
    try {
      sessionID = Connector.getInstance().login("JDE", "JDE", "JDV812","*ALL");
      specSource = new OneworldBSFNSpecSource(sessionID);
    } catch (ServerFailureException e) {
      
      e.printStackTrace();
    } catch (SpecFailureException e) {
      
        e.printStackTrace();
    }
  }
  public boolean executeBiginDoc() throws SpecFailureException,ServerFailureException
  {
    Map inputParams = new HashMap();
        Map outputParams = new HashMap();
        
        inputParams.put("szOrderType", "OP");
        
        String szBusinessUnit = "            ";
        szBusinessUnit = szBusinessUnit.substring(0, 12 - "M30".length()) + "M30";
        
        BSFNMethod method = specSource.getBSFNMethod("F4311FSBeginDoc");
        poeBeginDoc = method.createExecutable();

        poeBeginDoc.setValues(inputParams);
        
        poeBeginDoc.setValue("szBranchPlant",szBusinessUnit);
        poeBeginDoc.setValue("jdOrderDate", "03/04/2007");
        poeBeginDoc.setValue("szUserID", "JDE");
        poeBeginDoc.setValue("mnSupplierNumber", "4242");
        poeBeginDoc.setValue("cHeaderActionCode", "A");
        poeBeginDoc.setValue("cProcessEdits", "1");
        poeBeginDoc.setValue("cUpdateOrWriteToWorkFile", "2");
        poeBeginDoc.setValue("szProgramID", "CORBA");


        poeBeginDoc.setValue("szPurchaseOrderPrOptVersion", "ZJDE0001");
        poeBeginDoc.setValue("szComputerID","DTP-DDHOLAKI-WF");
        
        try {
          BSFNExecutionWarning warning = poeBeginDoc.execute(sessionID);
            if (warning!=null) {
                System.out.println(warning.toString());
            } else {
                System.out.println("BeginDoc execution Finished");
            }
        }
        catch (ApplicationException e) {
            e.printStackTrace();
            if (e instanceof RequiredParameterNotFoundException){
                String paramName = ((RequiredParameterNotFoundException)e).getParamName();
                System.out.println("showError(paramName)");;
            }
            return false;
        } catch (SystemException e) {
            e.printStackTrace();
            System.exit(1);
        }
        
        return true;
    
  }
  public void executeEditDoc() throws SpecFailureException,ServerFailureException
  {
    Map inputParams = new HashMap();
        Map outputParams = new HashMap();
        
        inputParams.put("szUnformattedItemNumber", "1001");
        inputParams.put("mnQuantityOrdered", "976");
        inputParams.put("mnUnitPrice", "0.0");
        inputParams.put("szLineType",null);
        inputParams.put("szTransactionUoM",null);
        
        BSFNMethod method = specSource.getBSFNMethod("F4311EditLine");
        poeEditDoc = method.createExecutable();
        
        poeEditDoc.setValues(inputParams);
        
        poeEditDoc.setValue("mnJobNumber", poeBeginDoc.getValue("mnJobNumber"));
        System.out.println("done");
        poeEditDoc.setValue("szBranchPlant", poeBeginDoc.getValue("szBranchPlant"));
        poeEditDoc.setValue("szComputerID", poeBeginDoc.getValue("szComputerID"));
        poeEditDoc.setValue("cUpdateOrWriteWorkFile","2");
        poeEditDoc.setValue("szOrderType", poeBeginDoc.getValue("szOrderType"));
        poeEditDoc.setValue("cDetailActionCode", "1");
        poeEditDoc.setValue("mnProcessID", poeBeginDoc.getValue("mnProcessID"));
        poeEditDoc.setValue("mnTransactionID", poeBeginDoc.getValue("mnTransactionID"));
        poeEditDoc.setValue("mnSupplierNumber", poeBeginDoc.getValue("mnSupplierNumber"));
        
        
        try {
          BSFNExecutionWarning warning = poeEditDoc.execute(sessionID);
            if (warning!=null) {
                System.out.println(warning.toString());
            }
        } catch (ApplicationException e) {
            e.printStackTrace();
        } catch (SystemException e) {
            e.printStackTrace();
            System.exit(1);
        }

  }
  public void executeEndDoc() throws SpecFailureException,ServerFailureException
  {

  BSFNMethod method = specSource.getBSFNMethod("F4311EndDoc");
  String methodName = method.getName();
  System.out.println("Method name is "+methodName);
  BSFNParameter[] paraList = method.getParameters();
  for (int i=0; i<paraList.length;i++)
  {
  BSFNParameter para = paraList[i];
  String name=para.getName();
  System.out.println("Name is "+name);
  }
  
//   Step 3: Create the executable method from the business function metadata:
  ExecutableMethod poeEndDoc = method.createExecutable();
  try
  {
//      Set GUID,ApplicationID,WorkstationName and IPAddress
    poeEndDoc.setGUID("3344556677");
    poeEndDoc.setApplicationID("TestRI");
    poeEndDoc.setWorkstationName("test-workstation");
    poeEndDoc.setIPAddress("10.10.10.10");

    poeEndDoc.setValue("mnJobNumber",poeBeginDoc.getValue("mnJobNumber"));
        poeEndDoc.setValue("mnOrderNumberAssigned",poeBeginDoc.getValue("mnOrderNumber"));
        poeEndDoc.setValue("szRelatedOrderType",poeBeginDoc.getValue("szOrderType"));
        poeEndDoc.setValue("szComputerID",poeBeginDoc.getValue("szComputerID"));
        poeEndDoc.setValue("cUseWorkFiles","2");
        poeEndDoc.setValue("mnProcessID",poeBeginDoc.getValue("mnProcessID"));
        poeEndDoc.setValue("mnTransactionID",poeBeginDoc.getValue("mnTransactionID"));
        
//   Step 5: Execute the business function:
  
try {
          
      BSFNExecutionWarning warning = poeEndDoc.execute(sessionID);
          
            if (warning!=null) {
                System.out.println(warning.toString());
            }    
  } catch (ApplicationException e) {
    e.printStackTrace();
  } catch (SystemException e) {
    e.printStackTrace();
    System.exit(1);
  }
  // Step 6: Get return parameter values:
  System.out.println("GUID: "+poeEndDoc.getGUID());
  System.out.println("Application Name: "+poeEndDoc.getApplicationID());
  System.out.println("WorkstationName: "+poeEndDoc.getWorkstationName());
  System.out.println("IP Address: "+poeEndDoc.getIPAddress());
  System.out.println("mnOrderNumberAssigned "+poeEndDoc.getValueString("mnOrderNumberAssigned"));
  }
  finally
  {
//  Log off and shut down connector if necessary:
  Connector.getInstance().logoff(sessionID);
  Connector.getInstance().shutDown();
  }
  }
  /**
   * @param args
   */
  public static void main(String[] args) {
    ExecuteBSFN_RI ri = new ExecuteBSFN_RI();
    try {
      ri.initialize();
      ri.executeBiginDoc();
      ri.executeEditDoc();
      ri.executeEndDoc();
    } catch (SpecFailureException e) {
      e.printStackTrace();
    } catch (ServerFailureException e) {
      e.printStackTrace();
    }

  }
}