CheckSnFromSAP.java 2.55 KB
package com.huaheng.common.sapJco;

import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoTable;

public class CheckSnFromSAP {
    public SAPEntity sendToSap(String task_No){
        JCoFunction function = null;
        JCoDestination destination = SAPConn.connect();
        String result="";//调用接口返回状态
        String message="";//调用接口返回信息
        SAPEntity sapEntity=new SAPEntity();
        try {
            //调用ZWMSHH_MACHINE_GR函数
            function = destination.getRepository().getFunction("ZWMSHH_MACHINE_GR");
            //获取传入表参数SN_ITEM
            JCoTable SN_ITEM = function.getTableParameterList().getTable("CT_RECEIPT");
            SN_ITEM.appendRow();//增加一行
            //给表参数中的字段赋值,此处测试,就随便传两个值进去
            SN_ITEM.setValue("TASK_NO", task_No);
            function.execute(destination);

            JCoTable ct_receipt = function.getTableParameterList().getTable("CT_RECEIPT");

            Integer QTY = ct_receipt.getInt("QTY");
            String TYPE = ct_receipt.getString("TYPE");
            Integer ORDERS = ct_receipt.getInt("ORDERS");
            String TASK_NO = ct_receipt.getString("TASK_NO");
            String MESSAGE = ct_receipt.getString("MESSAGE");
            String BILL_NO = ct_receipt.getString("BILL_NO");
            String ITEM_CODE = ct_receipt.getString("ITEM_CODE");
            Integer OPERATION_TYPE = ct_receipt.getInt("OPERATION_TYPE");

            sapEntity.setBILL_NO(BILL_NO);
            sapEntity.setTASK_NO(TASK_NO);
            sapEntity.setITEM_CODE(ITEM_CODE);
            sapEntity.setMESSAGE(MESSAGE);
            sapEntity.setOPERATION_TYPE(OPERATION_TYPE);
            sapEntity.setTYPE(TYPE);
            sapEntity.setQTY(QTY);
            sapEntity.setORDERS(ORDERS);
            /*result= function.getExportParameterList().getString("RESULT");//调用接口返回状态
            message= function.getExportParameterList().getString("MESSAGE");//调用接口返回信息
            result="{TASK_NO:"+TASK_NO+",TYPE:"+TYPE+",MESSAGE:"+MESSAGE+",BILL_NO:"+BILL_NO+",ORDERS:"+ORDERS+",OPERATION_TYPE:"+OPERATION_TYPE+",QTY:"+QTY+",ITEM_CODE:"+ITEM_CODE+"}";
            System.out.println("调用返回信息--->"+result);
            清空本次条件,如果要继续传入值去或者还要循环,那得将之前的条件清空*/
            SN_ITEM.clear();
        }catch (Exception e) {
            e.printStackTrace();
        }
        return sapEntity;
    }
}