36、Visual Studio 中 SharePoint 项目结构详解
2025/12/21 10:25:23
在 SAP SD(销售与分销)模块中,销售合同 / 订单的抬头(Header)和行项目(Item)核心数据表如下,按 “核心表 + 扩展表” 分类说明,同时区分销售合同(Contract,类型 WK/WC 等)和销售订单(Order,类型 OR 等)(两者核心表通用,仅单据类型字段区分):
| 表名 | 描述 | 关键主键 | 核心字段说明 |
|---|---|---|---|
VBAK | 销售凭证抬头数据(核心) | VBELN(销售单号) | 单据类型(AUART)、售达方(KUNNR)、创建日期(ERDAT)、销售组织(VKORG)、分销渠道(VTWEG)、付款条件(ZTERM)、总金额(NETWR)等 |
VBUK | 销售凭证抬头状态 | VBELN | 整体状态(如是否完全交货 GBSTK、是否完全开票 FKSTK)、单据状态(GBSTA)等 |
| 表名 | 描述 | 关键主键 | 核心字段说明 |
|---|---|---|---|
VBAP | 销售凭证行项目数据(核心) | VBELN(单号)+POSNR(行项号) | 物料号(MATNR)、数量(KWMENG)、单价(NETPR)、金额(NETWR)、工厂(WERKS)、交货仓库(LGORT)、批次(CHARG)、需求类型(KTGRM)等 |
VBUP | 销售凭证行项目状态 | VBELN+POSNR | 行项交货状态(LFSTA)、开票状态(FKSTA)、确认状态(BESTA)等 |
| 表名 | 描述 | 关联字段 | 适用场景 |
|---|---|---|---|
VBAKE | 销售抬头附加数据(增强) | VBELN | 存放抬头级别的自定义增强字段(通过 SE11/SE16 查询) |
KONV | 定价条件(抬头级) | KNUMV(VBAK-KNUMV) | 抬头级定价条件(如总价折扣),需通过 VBAK 的 KNUMV 关联 |
VBFA | 凭证流(抬头 / 行项) | VBELV(前置单号) | 关联合同→订单→交货单→发票的凭证流,抬头级查询时 POSNV 为空 |
| 表名 | 描述 | 关联字段 | 适用场景 |
|---|---|---|---|
VBAPe | 销售行项附加数据(增强) | VBELN+POSNR | 行项级自定义增强字段 |
KONP | 定价条件(行项级) | KNUMV(VBAK-KNUMV)+POSNR | 行项级定价条件(如物料单价、折扣、税),需先通过 VBAK-KNUMV 关联 KONV,再关联 KONP |
VBEP | 销售计划行 | VBELN+POSNR+ETENR(计划行号) | 行项的交货计划(如交货日期 EDATU、计划数量 WMENG),适用于有分期交货的场景 |
VBKD | 销售业务数据(行项) | VBELN+POSNR | 行项级的商务数据(如交货条件、付款条件、税码) |
VBRP | 开票行项关联 | VBELV(销售单号)+POSNV(销售行项号) | 销售行项对应的开票行项数据(如开票金额、税金额) |
VBAK-VBELN = VBAP-VBELN(通过销售单号关联抬头和行项);VBAP-VBELN = VBEP-VBELN且VBAP-POSNR = VBEP-POSNR;VBAK-KNUMV = KONV-KNUMV(抬头定价),KONV-KNUMV = KONP-KNUMV且KONV-POSNR = KONP-POSNR(行项定价);VBAK-VBELN = VBUK-VBELN(抬头状态),VBAP-VBELN = VBUP-VBELN且VBAP-POSNR = VBUP-POSNR(行项状态);VBFA-VBELV= 源单据号(如合同号),VBFA-VBELN= 目标单据号(如订单号),VBFA-VBTYP_N= 目标单据类型(C = 合同、O = 订单、L = 交货单、M = 发票)。sql
SELECT a~VBELN, a~AUART, a~KUNNR, a~VKORG, -- 抬头字段 b~POSNR, b~MATNR, b~KWMENG, b~NETWR -- 行项字段 FROM VBAK AS a INNER JOIN VBAP AS b ON a~VBELN = b~VBELN WHERE a~AUART = 'OR' -- 销售订单类型 AND a~ERDAT >= '20250101'; -- 创建日期筛选sql
SELECT a~VBELN, a~POSNR, a~MATNR, -- 合同行项 c~EDATU, c~WMENG -- 计划交货日期、数量 FROM VBAP AS a INNER JOIN VBAK AS b ON a~VBELN = b~VBELN LEFT JOIN VBEP AS c ON a~VBELN = c~VBELN AND a~POSNR = c~POSNR WHERE b~AUART = 'WK'; -- 销售合同类型VBAK-AUART(单据类型)区分,核心表完全通用;VBAKE/VBAPe(或自定义表),需结合具体项目的增强开发文档;S001、S002)或归档表(如VBAK_ARCH)查询;KWMENG是销售单位数量,MENGE是基本单位数量)。