SAP-采购订单取税额
SAP 采购订单税额无法直接单字段读取,需通过税码(EKPO-MWSKZ)关联条件表计算或直接从 KONV 表提取税金条件值;核心路径为:取行项目税码 → 查 A003/KONP 得税率 → 结合净价计算;或直接筛选PRCD_ELEMENTS中税金条件类型(如 MWST)的KBETR。
1、老的版本使用A003\KNOP获取
从 EKPO 取 MWSKZ(税码)和 NETPR(净价),通过 A003 关联 KONP 获取税率(KBETR/1000),公式:税额 = (净价 / 单价单位) × (1 + KBETR/1000)
SELECT EKPO~EBELN, EKPO~EBELP, EKKO~BUKRS, T001~BUTXT, EKKO~EKORG, T024E~EKOTX, EKKO~BSART, EKKO~LIFNR, LFA1~NAME1, EKKO~BEDAT, EKPO~MATNR, MAKT~MAKTX, EKPO~MENGE, EKPO~MEINS, EKPO~PEINH, EKPO~NETWR AS SUMPRICE_NO_TAX,"未税总值 EKPO~BRTWR AS SUMPRICE_TAX, "含税总值 EKPO~MWSKZ, * EKPO~EBELP AS ZTAX, EKKO~WAERS, CASE WHEN EKPO~PEINH = 0 THEN 0 ELSE DIVISION( EKPO~NETPR ,EKPO~PEINH,3 ) END AS UNPRICE_NO_TAX, "未税单价 CASE WHEN EKPO~MENGE = 0 THEN 0 ELSE DIVISION( EKPO~BRTWR ,EKPO~MENGE,3 ) END AS UNPRICE_TAX,"总金额除以数量=含税单价 EKKO~LANDS FROM EKPO INNER JOIN EKKO ON EKKO~EBELN = EKPO~EBELN LEFT JOIN MAKT ON MAKT~MATNR = EKPO~MATNR LEFT JOIN T024E ON T024E~EKORG = EKKO~EKORG LEFT JOIN LFA1 ON LFA1~LIFNR = EKKO~LIFNR LEFT JOIN T001 ON T001~BUKRS = EKKO~BUKRS WHERE EKKO~EBELN IN @LR_EBELN AND EKKO~BSART IN @LR_BSART AND EKKO~EKORG IN @LR_EKORG AND EKKO~BUKRS IN @LR_BUKRS AND EKKO~LIFNR IN @LR_LIFNR AND EKPO~MATNR IN @LR_MATNR AND EKKO~BEDAT IN @LR_DATE AND EKPO~LOEKZ <> 'X' " 排除已删除项目 AND EKKO~BSTYP = 'F' "只取采购订单的 INTO CORRESPONDING FIELDS OF TABLE @T_PURINFO.
这里主要获取EKPO-MWSKZ 税码字段;EKKO-LANDS 国家字段
SELECT SINGLE KNUMH INTO @DATA(LS_KNUMH) FROM A003 WHERE MWSKZ = @LS_PURINFO-MWSKZ AND ALAND = @LS_PURINFO-LANDS. SELECT SINGLE KBETR INTO @DATA(LS_KBETR) FROM KONP WHERE KNUMH = @LS_KNUMH. "含税单价 <FS_ALV>-ZHSDJ = <FS_ALV>-NETPR / <FS_ALV>-KPEIN * ( 1 + LS_KBETR / 1000 ).
2、新版本,直接取数法(推荐,若税金已作为独立条件行):查询表PRCD_ELEMENTS,关联 EKKO-KNUMV 和 EKPO-EBELP,筛选条件类型 KSCHL 为税金代码(标准通常为 MWST 或企业自定义如 YMWS),金额字段取 KWERT(总金额)或按 KBETR/KPEIN 换算单价。
SELECT A~EBELN, A~EBELP ,C~KNUMV ,B~KPOSN ,B~KBETR, B~KPEIN FROM EKPO AS A INNER JOIN EKKO AS C ON EKKO~EBELN = EKPO~EBELN INNER JOIN PRCD_ELEMENTS AS B ON A~KNUMV = B~KNUMV AND A~EBELP = SUBSTRING( B~KPOSN,2,5 ) WHERE B~KSCHL = 'ZP00' "这里根据实际配置调整 AND KBETR NE 0 INTO TABLE @DATA(LT_PRCD_ELEMENTS).

浙公网安备 33010602011771号