示例#1
0
        /// <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];
        }