/**
 ** Please don't modify this file.
 ** This file was generated by the Software AG, EntireX Java Wrapper
 ** from the IDL file C:/Documents and Settings/Admin/Bureau/Brokers logistique/nwlwcdm3/nwlwcdm3.idl.
 **
 ** @author    Software AG
 ** @version   EntireX Wrapper, Version: 7.2.1.50, Date: 06 Mar 2006 (1.71.2.2)
 **
 **/

import java.math.BigDecimal;

import com.softwareag.entirex.aci.Broker;
import com.softwareag.entirex.aci.BrokerException;
import com.softwareag.entirex.aci.BrokerService;
import com.softwareag.entirex.aci.RPCService;

public class Jwlwcdm3 extends RPCService {

	public static final String DEFAULT_BROKERID = "213.41.17.150:2200";
	public static final String DEFAULT_SERVER = "RPC/SRV1/CALLNAT";

	public Jwlwcdm3() {
		super();
	}

	public Jwlwcdm3(Broker broker) {
		this(broker, DEFAULT_SERVER);
	}

	public Jwlwcdm3(BrokerService bs) {
		this(bs.getBroker(), bs.toString());
	}

	public Jwlwcdm3(Broker broker, String serverAddr) {
		super(broker, serverAddr, "Jwlwcdm3", true);
	}

	public static String getStubVersion() {
		return "EntireX RPC for Java Stub Version=7.2.1, Patch Level=50";
	}

	private Nwlwcdm3Axwebent nwlwcdm3Axwebent;

	public void setNwlwcdm3Axwebent(Nwlwcdm3Axwebent p) {
		nwlwcdm3Axwebent = p;
	}

	public Nwlwcdm3Axwebent getNwlwcdm3Axwebent() {
		return nwlwcdm3Axwebent;
	}

	private Nwlwcdm3Awlwcdm3 nwlwcdm3Awlwcdm3;

	public void setNwlwcdm3Awlwcdm3(Nwlwcdm3Awlwcdm3 p) {
		nwlwcdm3Awlwcdm3 = p;
	}

	public Nwlwcdm3Awlwcdm3 getNwlwcdm3Awlwcdm3() {
		return nwlwcdm3Awlwcdm3;
	}

	private final static byte[] NWLWCDM3_FORMAT =
			( "MG1,1MN3,0MA2,0MA8,0MN8,0MA8,0MA8,0MA8,0MA15,0MA2,0MA3,0MA3,"
			  + "0MA11,0MA8,0MA8,0MA1,0MN2,0MN1,0MG2,1,5MA4,0MA65,0MA1,0MN2,"
			  + "0MG2,0MG1,0MG1,1MG2,1MA2,0MP7,0MP3,0MP3,0MA32,0MG2,0MG2,"
			  + "1MA12,0MA32,0MA32,0MA32,0MG2,0MG1,0." ).getBytes();

	public void nwlwcdm3() throws BrokerException {

		buildHeader (NWLWCDM3_FORMAT, "40", 626, 0, "NWLWCDM3", true, 1110, true, false, 2000);
if (nwlwcdm3Axwebent == null) nwlwcdm3Axwebent = new Nwlwcdm3Axwebent();
		if ( getVersion() >= 2000 ) {
			nwlwcdm3Axwebent.add();
		} else {
		super.marshal.addDataN(nwlwcdm3Axwebent.dbid, 3, 0);
		super.marshal.addDataA(nwlwcdm3Axwebent.cible_exploitant, 2);
		super.marshal.addDataA(nwlwcdm3Axwebent.groupe_exploitant, 8);
		super.marshal.addDataN(nwlwcdm3Axwebent.numero_session, 8, 0);
		super.marshal.addDataA(nwlwcdm3Axwebent.utilisateur, 8);
		super.marshal.addDataA(nwlwcdm3Axwebent.transaction, 8);
		super.marshal.addDataA(nwlwcdm3Axwebent.fonction, 8);
		super.marshal.addDataA(nwlwcdm3Axwebent.date_time_deb, 15);
		super.marshal.addDataA(nwlwcdm3Axwebent.cd_cible, 2);
		super.marshal.addDataA(nwlwcdm3Axwebent.cd_stegrp, 3);
		super.marshal.addDataA(nwlwcdm3Axwebent.cd_titre, 3);
		super.marshal.addDataA(nwlwcdm3Axwebent.num_cli_ref, 11);
		super.marshal.addDataA(nwlwcdm3Axwebent.mot_passe_appl, 8);
		super.marshal.addDataA(nwlwcdm3Axwebent.cd_application, 8);
		super.marshal.addDataA(nwlwcdm3Axwebent.type_user, 1);
		super.marshal.addDataN(nwlwcdm3Axwebent.code_retour, 2, 0);
		super.marshal.addDataN(nwlwcdm3Axwebent.nb_ano, 1, 0);
		if (nwlwcdm3Axwebent.t_ano == null) nwlwcdm3Axwebent.t_ano = new Nwlwcdm3AxwebentT_ano[5];
		for (int i0=0; i0<5; i0++) if (nwlwcdm3Axwebent.t_ano[i0] == null) nwlwcdm3Axwebent.t_ano[i0] = new Nwlwcdm3AxwebentT_ano();
		for (int i0=0; i0<5; i0++) super.marshal.addDataA(nwlwcdm3Axwebent.t_ano[i0].code_ano, 4);
		for (int i0=0; i0<5; i0++) super.marshal.addDataA(nwlwcdm3Axwebent.t_ano[i0].lib_ano, 65);
		for (int i0=0; i0<5; i0++) super.marshal.addDataA(nwlwcdm3Axwebent.t_ano[i0].type_ano, 1);
		for (int i0=0; i0<5; i0++) super.marshal.addDataN(nwlwcdm3Axwebent.t_ano[i0].num_data, 2, 0);
		}
if (nwlwcdm3Awlwcdm3 == null) nwlwcdm3Awlwcdm3 = new Nwlwcdm3Awlwcdm3();
		if ( getVersion() >= 2000 ) {
			nwlwcdm3Awlwcdm3.add();
		} else {
if (nwlwcdm3Awlwcdm3.demande == null) nwlwcdm3Awlwcdm3.demande = new Nwlwcdm3Awlwcdm3Demande();
		super.marshal.addDataA(nwlwcdm3Awlwcdm3.demande.cd_cible, 2);
		super.marshal.addDataN(nwlwcdm3Awlwcdm3.demande.id_cmd, 7, 0);
		super.marshal.addDataN(nwlwcdm3Awlwcdm3.demande.id_sscmd, 3, 0);
		super.marshal.addDataN(nwlwcdm3Awlwcdm3.demande.id_critere, 3, 0);
		super.marshal.addDataA(nwlwcdm3Awlwcdm3.demande.code_geo, 32);
if (nwlwcdm3Awlwcdm3.reponse == null) nwlwcdm3Awlwcdm3.reponse = new Nwlwcdm3Awlwcdm3Reponse();
		super.marshal.addDataA(nwlwcdm3Awlwcdm3.reponse.cd_critere, 12);
		super.marshal.addDataA(nwlwcdm3Awlwcdm3.reponse.lib_critere, 32);
		super.marshal.addDataA(nwlwcdm3Awlwcdm3.reponse.val_critere, 32);
		super.marshal.addDataA(nwlwcdm3Awlwcdm3.reponse.lib_val_critere, 32);
		}

		callServer();

		if (nwlwcdm3Axwebent == null) nwlwcdm3Axwebent = new Nwlwcdm3Axwebent();
		if ( getVersion() >= 2000 ) {
			nwlwcdm3Axwebent.get();
		} else {
		nwlwcdm3Axwebent.dbid = super.marshal.getDataN(3, 0);
		nwlwcdm3Axwebent.cible_exploitant = super.marshal.getDataA(2);
		nwlwcdm3Axwebent.groupe_exploitant = super.marshal.getDataA(8);
		nwlwcdm3Axwebent.numero_session = super.marshal.getDataN(8, 0);
		nwlwcdm3Axwebent.utilisateur = super.marshal.getDataA(8);
		nwlwcdm3Axwebent.transaction = super.marshal.getDataA(8);
		nwlwcdm3Axwebent.fonction = super.marshal.getDataA(8);
		nwlwcdm3Axwebent.date_time_deb = super.marshal.getDataA(15);
		nwlwcdm3Axwebent.cd_cible = super.marshal.getDataA(2);
		nwlwcdm3Axwebent.cd_stegrp = super.marshal.getDataA(3);
		nwlwcdm3Axwebent.cd_titre = super.marshal.getDataA(3);
		nwlwcdm3Axwebent.num_cli_ref = super.marshal.getDataA(11);
		nwlwcdm3Axwebent.mot_passe_appl = super.marshal.getDataA(8);
		nwlwcdm3Axwebent.cd_application = super.marshal.getDataA(8);
		nwlwcdm3Axwebent.type_user = super.marshal.getDataA(1);
		nwlwcdm3Axwebent.code_retour = super.marshal.getDataN(2, 0);
		nwlwcdm3Axwebent.nb_ano = super.marshal.getDataN(1, 0);
				if (nwlwcdm3Axwebent.t_ano == null) nwlwcdm3Axwebent.t_ano = new Nwlwcdm3AxwebentT_ano[5];
		for (int i0=0; i0<5; i0++) if (nwlwcdm3Axwebent.t_ano[i0] == null) nwlwcdm3Axwebent.t_ano[i0] = new Nwlwcdm3AxwebentT_ano();
		for (int i0=0; i0<5; i0++) nwlwcdm3Axwebent.t_ano[i0].code_ano = super.marshal.getDataA(4);
		for (int i0=0; i0<5; i0++) nwlwcdm3Axwebent.t_ano[i0].lib_ano = super.marshal.getDataA(65);
		for (int i0=0; i0<5; i0++) nwlwcdm3Axwebent.t_ano[i0].type_ano = super.marshal.getDataA(1);
		for (int i0=0; i0<5; i0++) nwlwcdm3Axwebent.t_ano[i0].num_data = super.marshal.getDataN(2, 0);
		}
		if (nwlwcdm3Awlwcdm3 == null) nwlwcdm3Awlwcdm3 = new Nwlwcdm3Awlwcdm3();
		if ( getVersion() >= 2000 ) {
			nwlwcdm3Awlwcdm3.get();
		} else {
		if (nwlwcdm3Awlwcdm3.demande == null) nwlwcdm3Awlwcdm3.demande = new Nwlwcdm3Awlwcdm3Demande();
		nwlwcdm3Awlwcdm3.demande.cd_cible = super.marshal.getDataA(2);
		nwlwcdm3Awlwcdm3.demande.id_cmd = super.marshal.getDataN(7, 0);
		nwlwcdm3Awlwcdm3.demande.id_sscmd = super.marshal.getDataN(3, 0);
		nwlwcdm3Awlwcdm3.demande.id_critere = super.marshal.getDataN(3, 0);
		nwlwcdm3Awlwcdm3.demande.code_geo = super.marshal.getDataA(32);
		if (nwlwcdm3Awlwcdm3.reponse == null) nwlwcdm3Awlwcdm3.reponse = new Nwlwcdm3Awlwcdm3Reponse();
		nwlwcdm3Awlwcdm3.reponse.cd_critere = super.marshal.getDataA(12);
		nwlwcdm3Awlwcdm3.reponse.lib_critere = super.marshal.getDataA(32);
		nwlwcdm3Awlwcdm3.reponse.val_critere = super.marshal.getDataA(32);
		nwlwcdm3Awlwcdm3.reponse.lib_val_critere = super.marshal.getDataA(32);
		}

	}

	public class Nwlwcdm3Axwebent {
		public BigDecimal dbid;
		public String cible_exploitant;
		public String groupe_exploitant;
		public BigDecimal numero_session;
		public String utilisateur;
		public String transaction;
		public String fonction;
		public String date_time_deb;
		public String cd_cible;
		public String cd_stegrp;
		public String cd_titre;
		public String num_cli_ref;
		public String mot_passe_appl;
		public String cd_application;
		public String type_user;
		public BigDecimal code_retour;
		public BigDecimal nb_ano;
		public Nwlwcdm3AxwebentT_ano[] t_ano;
		public void add() throws BrokerException {
			Jwlwcdm3.super.marshal.addDataN(dbid, 3, 0);
			Jwlwcdm3.super.marshal.addDataA(cible_exploitant, 2);
			Jwlwcdm3.super.marshal.addDataA(groupe_exploitant, 8);
			Jwlwcdm3.super.marshal.addDataN(numero_session, 8, 0);
			Jwlwcdm3.super.marshal.addDataA(utilisateur, 8);
			Jwlwcdm3.super.marshal.addDataA(transaction, 8);
			Jwlwcdm3.super.marshal.addDataA(fonction, 8);
			Jwlwcdm3.super.marshal.addDataA(date_time_deb, 15);
			Jwlwcdm3.super.marshal.addDataA(cd_cible, 2);
			Jwlwcdm3.super.marshal.addDataA(cd_stegrp, 3);
			Jwlwcdm3.super.marshal.addDataA(cd_titre, 3);
			Jwlwcdm3.super.marshal.addDataA(num_cli_ref, 11);
			Jwlwcdm3.super.marshal.addDataA(mot_passe_appl, 8);
			Jwlwcdm3.super.marshal.addDataA(cd_application, 8);
			Jwlwcdm3.super.marshal.addDataA(type_user, 1);
			Jwlwcdm3.super.marshal.addDataN(code_retour, 2, 0);
			Jwlwcdm3.super.marshal.addDataN(nb_ano, 1, 0);
			if (t_ano == null) t_ano = new Nwlwcdm3AxwebentT_ano[5];
		for (int i0=0; i0<5; i0++) if (t_ano[i0] == null) t_ano[i0] = new Nwlwcdm3AxwebentT_ano();
			for (int i0=0; i0<5; i0++) t_ano[i0].add();
		}
		public void get() throws BrokerException {
			dbid = Jwlwcdm3.super.marshal.getDataN(3, 0);
			cible_exploitant = Jwlwcdm3.super.marshal.getDataA(2);
			groupe_exploitant = Jwlwcdm3.super.marshal.getDataA(8);
			numero_session = Jwlwcdm3.super.marshal.getDataN(8, 0);
			utilisateur = Jwlwcdm3.super.marshal.getDataA(8);
			transaction = Jwlwcdm3.super.marshal.getDataA(8);
			fonction = Jwlwcdm3.super.marshal.getDataA(8);
			date_time_deb = Jwlwcdm3.super.marshal.getDataA(15);
			cd_cible = Jwlwcdm3.super.marshal.getDataA(2);
			cd_stegrp = Jwlwcdm3.super.marshal.getDataA(3);
			cd_titre = Jwlwcdm3.super.marshal.getDataA(3);
			num_cli_ref = Jwlwcdm3.super.marshal.getDataA(11);
			mot_passe_appl = Jwlwcdm3.super.marshal.getDataA(8);
			cd_application = Jwlwcdm3.super.marshal.getDataA(8);
			type_user = Jwlwcdm3.super.marshal.getDataA(1);
			code_retour = Jwlwcdm3.super.marshal.getDataN(2, 0);
			nb_ano = Jwlwcdm3.super.marshal.getDataN(1, 0);
			if (t_ano == null) t_ano = new Nwlwcdm3AxwebentT_ano[5];
		for (int i0=0; i0<5; i0++) if (t_ano[i0] == null) t_ano[i0] = new Nwlwcdm3AxwebentT_ano();
			for (int i0=0; i0<5; i0++) {
				t_ano[i0].get();
			}
		}
	}

	public class Nwlwcdm3AxwebentT_ano {
		public String code_ano;
		public String lib_ano;
		public String type_ano;
		public BigDecimal num_data;
		public void add() throws BrokerException {
			Jwlwcdm3.super.marshal.addDataA(code_ano, 4);
			Jwlwcdm3.super.marshal.addDataA(lib_ano, 65);
			Jwlwcdm3.super.marshal.addDataA(type_ano, 1);
			Jwlwcdm3.super.marshal.addDataN(num_data, 2, 0);
		}
		public void get() throws BrokerException {
			code_ano = Jwlwcdm3.super.marshal.getDataA(4);
			lib_ano = Jwlwcdm3.super.marshal.getDataA(65);
			type_ano = Jwlwcdm3.super.marshal.getDataA(1);
			num_data = Jwlwcdm3.super.marshal.getDataN(2, 0);
		}
	}

	public class Nwlwcdm3Awlwcdm3 {
		public Nwlwcdm3Awlwcdm3Demande demande;
		public Nwlwcdm3Awlwcdm3Reponse reponse;
		public void add() throws BrokerException {
			if (demande == null) demande = new Nwlwcdm3Awlwcdm3Demande();
			demande.add();
			if (reponse == null) reponse = new Nwlwcdm3Awlwcdm3Reponse();
			reponse.add();
		}
		public void get() throws BrokerException {
			if (demande == null) demande = new Nwlwcdm3Awlwcdm3Demande();
							demande.get();
			if (reponse == null) reponse = new Nwlwcdm3Awlwcdm3Reponse();
							reponse.get();
		}
	}

	public class Nwlwcdm3Awlwcdm3Demande {
		public String cd_cible;
		public BigDecimal id_cmd;
		public BigDecimal id_sscmd;
		public BigDecimal id_critere;
		public String code_geo;
		public void add() throws BrokerException {
			Jwlwcdm3.super.marshal.addDataA(cd_cible, 2);
			Jwlwcdm3.super.marshal.addDataN(id_cmd, 7, 0);
			Jwlwcdm3.super.marshal.addDataN(id_sscmd, 3, 0);
			Jwlwcdm3.super.marshal.addDataN(id_critere, 3, 0);
			Jwlwcdm3.super.marshal.addDataA(code_geo, 32);
		}
		public void get() throws BrokerException {
			cd_cible = Jwlwcdm3.super.marshal.getDataA(2);
			id_cmd = Jwlwcdm3.super.marshal.getDataN(7, 0);
			id_sscmd = Jwlwcdm3.super.marshal.getDataN(3, 0);
			id_critere = Jwlwcdm3.super.marshal.getDataN(3, 0);
			code_geo = Jwlwcdm3.super.marshal.getDataA(32);
		}
	}

	public class Nwlwcdm3Awlwcdm3Reponse {
		public String cd_critere;
		public String lib_critere;
		public String val_critere;
		public String lib_val_critere;
		public void add() throws BrokerException {
			Jwlwcdm3.super.marshal.addDataA(cd_critere, 12);
			Jwlwcdm3.super.marshal.addDataA(lib_critere, 32);
			Jwlwcdm3.super.marshal.addDataA(val_critere, 32);
			Jwlwcdm3.super.marshal.addDataA(lib_val_critere, 32);
		}
		public void get() throws BrokerException {
			cd_critere = Jwlwcdm3.super.marshal.getDataA(12);
			lib_critere = Jwlwcdm3.super.marshal.getDataA(32);
			val_critere = Jwlwcdm3.super.marshal.getDataA(32);
			lib_val_critere = Jwlwcdm3.super.marshal.getDataA(32);
		}
	}

}
