/// <summary> /// Remote Function Module YBAPI_CALCULATE_TAX_FROM_NET. /// Ermittlung der Steuerprozentsaetze und des Steuerbetrages /// </summary> /// <param name="E_Fwast">Calculated deductible tax</param> /// <param name="E_Fwnav">Non-deductible tax calculated (total)</param> /// <param name="E_Fwnvv">Non-deductible tax calculated which is allocated</param> /// <param name="E_Fwste">Tax calculated (total)</param> /// <param name="I_Accnt_Ext">Kontonummer ext. Steuersystem (Befreiung)</param> /// <param name="I_Bukrs">Company code</param> /// <param name="I_Mwskz">Tax code</param> /// <param name="I_Protokoll">Change type from C (VCA 13.10.2006)</param> /// <param name="I_Prsdt">Datum zur Steuerfindung</param> /// <param name="I_Taxps">Change type from C (VCA 13.10.2006)</param> /// <param name="I_Txjcd">Tax jurisdiction code</param> /// <param name="I_Waers">Currency key</param> /// <param name="I_Wrbtr">Net amount</param> /// <param name="I_Zbd1p">Cash discount percentage rate</param> /// <param name="T_Mwdat">Table of tax values and percentage rates</param> /// <exception cref="Account_Not_Found"/> /// <exception cref="Bukrs_Not_Found"/> /// <exception cref="Country_Not_Found"/> /// <exception cref="Kalsm_Not_Found"/> /// <exception cref="Knumh_Not_Found"/> /// <exception cref="Kschl_Not_Found"/> /// <exception cref="Ktosl_Not_Found"/> /// <exception cref="Mwskz_Not_Defined"/> /// <exception cref="Mwskz_Not_Valid"/> /// <exception cref="Parameter_Error"/> /// <exception cref="Txjcd_Not_Valid"/> /// <exception cref="Unknown_Error"/> //[RfcMethod(AbapName = "YBAPI_CALCULATE_TAX_FROM_NET")] //[SoapDocumentMethodAttribute("http://tempuri.org/YBAPI_CALCULATE_TAX_FROM_NET", // RequestNamespace = "urn:sap-com:document:sap:rfc:functions", // RequestElementName = "YBAPI_CALCULATE_TAX_FROM_NET", // ResponseNamespace = "urn:sap-com:document:sap:rfc:functions", // ResponseElementName = "YBAPI_CALCULATE_TAX_FROM_NET.Response")] public virtual void Ybapi_Calculate_Tax_From_Net( // [RfcParameter(AbapName = "I_ACCNT_EXT", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.IN, Length = 16, Length2 = 32)] //[XmlElement("I_ACCNT_EXT", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Accnt_Ext, //[RfcParameter(AbapName = "I_BUKRS", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 4, Length2 = 8)] //[XmlElement("I_BUKRS", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Bukrs, //[RfcParameter(AbapName = "I_MWSKZ", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 2, Length2 = 4)] //[XmlElement("I_MWSKZ", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Mwskz, //[RfcParameter(AbapName = "I_PROTOKOLL", RfcType = RFCTYPE.RFCTYPE_STRING, Optional = true, Direction = RFCINOUT.IN)] //[XmlElement("I_PROTOKOLL", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Protokoll, //[RfcParameter(AbapName = "I_PRSDT", RfcType = RFCTYPE.RFCTYPE_DATE, Optional = true, Direction = RFCINOUT.IN, Length = 8, Length2 = 16)] //[XmlElement("I_PRSDT", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Prsdt, //[RfcParameter(AbapName = "I_TAXPS", RfcType = RFCTYPE.RFCTYPE_NUM, Optional = true, Direction = RFCINOUT.IN, Length = 6, Length2 = 12)] //[XmlElement("I_TAXPS", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Taxps, //[RfcParameter(AbapName = "I_TXJCD", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.IN, Length = 15, Length2 = 30)] //[XmlElement("I_TXJCD", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Txjcd, //[RfcParameter(AbapName = "I_WAERS", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 5, Length2 = 10)] //[XmlElement("I_WAERS", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Waers, //[RfcParameter(AbapName = "I_WRBTR", RfcType = RFCTYPE.RFCTYPE_BCD, Optional = false, Direction = RFCINOUT.IN, Length = 7, Length2 = 7, Decimals = 2)] //[XmlElement("I_WRBTR", IsNullable = false, Form = XmlSchemaForm.Unqualified)] Decimal I_Wrbtr, //[RfcParameter(AbapName = "I_ZBD1P", RfcType = RFCTYPE.RFCTYPE_BCD, Optional = true, Direction = RFCINOUT.IN, Length = 3, Length2 = 3, Decimals = 3)] //[XmlElement("I_ZBD1P", IsNullable = false, Form = XmlSchemaForm.Unqualified)] Decimal I_Zbd1p, //[RfcParameter(AbapName = "E_FWAST", RfcType = RFCTYPE.RFCTYPE_BCD, Optional = true, Direction = RFCINOUT.OUT, Length = 7, Length2 = 7, Decimals = 2)] //[XmlElement("E_FWAST", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out Decimal E_Fwast, //[RfcParameter(AbapName = "E_FWNAV", RfcType = RFCTYPE.RFCTYPE_BCD, Optional = true, Direction = RFCINOUT.OUT, Length = 7, Length2 = 7, Decimals = 2)] //[XmlElement("E_FWNAV", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out Decimal E_Fwnav, //[RfcParameter(AbapName = "E_FWNVV", RfcType = RFCTYPE.RFCTYPE_BCD, Optional = true, Direction = RFCINOUT.OUT, Length = 7, Length2 = 7, Decimals = 2)] //[XmlElement("E_FWNVV", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out Decimal E_Fwnvv, //[RfcParameter(AbapName = "E_FWSTE", RfcType = RFCTYPE.RFCTYPE_BCD, Optional = true, Direction = RFCINOUT.OUT, Length = 7, Length2 = 7, Decimals = 2)] //[XmlElement("E_FWSTE", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out Decimal E_Fwste, //[RfcParameter(AbapName = "T_MWDAT", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = false, Direction = RFCINOUT.INOUT)] //[XmlArray("T_MWDAT", IsNullable = false, Form = XmlSchemaForm.Unqualified)] //[XmlArrayItem("item", IsNullable = false, Form = XmlSchemaForm.Unqualified)] ref RTAX1U15Table T_Mwdat) { //object[] results = null; //results = this.SAPInvoke("Ybapi_Calculate_Tax_From_Net", new object[] { // I_Accnt_Ext,I_Bukrs,I_Mwskz,I_Protokoll,I_Prsdt,I_Taxps,I_Txjcd,I_Waers,I_Wrbtr,I_Zbd1p,T_Mwdat }); //E_Fwast = (Decimal)results[0]; //E_Fwnav = (Decimal)results[1]; //E_Fwnvv = (Decimal)results[2]; //E_Fwste = (Decimal)results[3]; //T_Mwdat = (RTAX1U15Table)results[4]; IRfcFunction function = destination.Repository.CreateFunction("BAPI_CALCULATE_TAX_FROM_NET"); #region set parameter value function.SetValue("I_ACCNT_EXT", I_Accnt_Ext); function.SetValue("I_BUKRS", I_Bukrs); function.SetValue("I_MWSKZ", I_Mwskz); function.SetValue("I_PROTOKOLL", I_Protokoll); function.SetValue("I_PRSDT", I_Prsdt); function.SetValue("I_TAXPS", I_Taxps); function.SetValue("I_TXJCD", I_Txjcd); function.SetValue("I_WAERS", I_Waers); function.SetValue("I_WRBTR", Math.Round(I_Wrbtr, 2, MidpointRounding.AwayFromZero)); function.SetValue("I_ZBD1P", Math.Round(I_Zbd1p, 3, MidpointRounding.AwayFromZero)); function.SetValue("T_MWDAT", T_Mwdat.GetTable(destination.Repository)); #endregion function.Invoke(destination); E_Fwast = function.GetDecimal("E_FWAST"); //E_Fwast = (Decimal)results[0]; E_Fwnav = function.GetDecimal("E_FWNAV"); //E_Fwnav = (Decimal)results[1]; E_Fwnvv = function.GetDecimal("E_FWNVV"); //E_Fwnvv = (Decimal)results[2]; E_Fwste = function.GetDecimal("E_FWSTE"); //E_Fwste = (Decimal)results[3]; T_Mwdat.SetValue(function.GetTable("T_MWDAT")); //T_Mwdat = (RTAX1U15Table)results[4]; }