SAP销售相关表格

一、客户主数据基本数据放在KNA1里;
公司代码放在KNB1里;
销售视图放在KNVV里;
合作伙伴放在KNVP里;
二、信用主数据KNKK里有信贷限额、应收总额、特别往来;
S066里是未清订单值;
S067里是未清交货值;
KNKK里面的应收值不一定对,要和BSID表去比。

S066、S067也是一样,不对的时候就要重组
三、物料主数据
MARA里是基本数据;
MAKT是文本;
MARC是工厂视图;
MVKE是销售视图;
MARM是物料的计量单位;
四、价格数据主数据在表AXXX里,XXX表示三个数字,KNOH和KONP分别存放抬头和行项;单据的价格在KONV里;
五、自动确定的科目在CXXX里,XXX表示三个数字;
六、销售订单VBAK抬头;
VBAP行项;
VBKD业务数据;
VBPA是伙伴;
VBEP是计划行;
VBFA是单据流;
VBUK抬头状态;
VBUP行项状态;
七、交货
LIKP抬头;
LIPS行项;
VTTK是Shipment抬头;
VTTP是Shipment行项;
八、物料凭证MKPF抬头;
MSEG行项;
九、发票
VBRK是抬头;
VBRP是行项;
十、文本STXH抬头
STXL行项;
十一、地址最新的单据中的地址信息在ADRC里面,不能取主数据的。

十二、会计凭证(顺带说说AP的)BKPF:财务凭证抬头;
BSEG:财务凭证行项目;
BSAD:应收明细(已清帐)客户;
BSID:应收明细(未清帐)客户;
BSAS:总帐明细(已清帐)总账;
BSIS:总帐明细(未清帐)总账;
BSAK:应付明细(已清帐)供应商;
BSIK:应付明细(未清帐)供应商;。

合集下载

sap常用表整理

sap常用表整理

sap常用表整理SAP是一种集成的企业资源规划系统,涵盖了多个模块和功能。

在SAP中有许多常用的表格,用于存储和管理数据。

以下是一些常见的SAP表格及其对应的模块:1. 订单相关表格:- VBAK:销售订单表(Sales Order)- VBAP:销售订单行项目表(Sales Order Item)- EKKO:采购订单头表(Purchase Order Header)- EKPO:采购订单行项目表(Purchase Order Item)2. 物料相关表格:- MARA:通用物料数据表(General Material Data)- MARD:物料凭证库存表(Storage Location Data for Material)- MAKT:物料描述表(Material Descriptions)- MSEG:物料凭证过账表(Document Segment: Material)3. 客户和供应商相关表格:- KNA1:客户主数据表(General Data in Customer Master)- KNB1:客户公司代码数据表(Customer Master Company Code Data)- LFA1:供应商主数据表(Vendor Master General Section)- LFB1:供应商公司代码数据表(Vendor Master (Company Code))4. 财务相关表格:- BSEG:总账行项目表(Accounting Document Segment)- BSID:总账凭证(明细)表(Accounting: Secondary Index for Customers)- BKPF:总账凭证头表(Accounting Document Header)- FAGLFLEXA:总账(新)表(General Ledger: Actual Line Items)以上只是一些常用的SAP表格示例,实际上在SAP系统中还有许多其他表格用于不同的功能和模块。

SAP经常用到的几个表

SAP经常用到的几个表

经常用到的几个表2008-10-27 22:311,Master data table:CEPC->PROFIT CENTER MASTER DATA TABLE. CSKS->COST CENTER DATA TABLEKNA1->CUSTOMER MASTER.LFA1->VENDOR MASTER DATA TABLEMARA->MATERIAL MASTER DATASKB1->G/L ACCOUNT MASTER DATAT001W->PLANTS/BRANCHST001->COMPANY CODE DATA TALBE2,与生产相关的几个表:Demand ManagementPBED->Independent Requirements DataPBIM->Independent Requirements by Material Repetitive ManufacturingSAFK->RS Header Master DataS025->LIS -- Run Schedule QuantitiesS026->LIS -- Material UsageS028->LIS -- Reporting Point StatisticsCEZP->Reporting Point Document LogsCPZP->Reporting Points - Periodic TotalsMRP RecordsMDKP->MRP Document Header DataPLSC->Planning Scenario (Long-term Planning)MDFD->MRP Firming DatesMDVM->Planning File EntriesS094->LIS Stock/Requirements AnalysisReservationsRESB->Reservations/Dependent Requirements Planned OrdersPLAF->Planned OrdersDiscrete ProductionAFKO->Order HeaderAFPO->Order Item DetailAFVC->Order Operations DetailAFFL->Order Sequence DetailsAFFH->Order PRT AssignmentAFBP->Order Batch Print RequestsAFRU->Order Completion ConfirmationsAFFW->Confirmations -- Goods Movements with Errors AFRC->Confirmations -- Incorrect Cost CalculationsAFRD->Confirmations -- Defaults for Collective ConfirmationAFRH->Confirmations -- Header Info for Confirmation PoolAFRV->Confirmation PoolAFWI->Confirmations -- Subsequently Posted Goods Movements3,销售相关的几个表:KUAGV->售达方客户主记录总览.VBDKA->询价,报价订单的凭证打印标题.VBDPA->询价报价床单的项目明细.BEST->末来库存TVK0->销售组织(组织数据)VBAP/VBAK->销售订单主从数据表KOMVD->打印的价格确定通讯条件记录4,采购相关的几个表.EKKO/EKPO->采购订单主从数据表T024E->采购组织(组织数据)SADR->地址管理,公司数据T166U->采购凭证打印输出的标题EKET->计划协议计划行EKKN->采购凭证中的帐户设置.T166K->采购凭证打印输出中的标题文本,IMG下的DEFINE TEXT FOR PO关联MSEG->凭证段物料RM06P->采购凭证打印输出的辅助字段5;总分类帐几个相关表.SKA1->科目表SKB1->公司代码SKAT->科目表说明SKAS->会计科目代码清单6,物料分类相关几个表.KLAH->Class DetailCABN->Characteristic DetailAUSP->Characteristic ValuesCAWN->Characteristic ValuesCAWNT->Characteristic Value TextsKSML->Characteristic Allocation to ClassKSSK->Material Allocation to Class7,几个用到的系统表.DD03L->TABLE FIELDS OF ALL SAPTBTCO->查看JOB STATUS/OVERVIEW TABLE.T247->月份对照表.DDO2L->ALL SAP TABLESTNAPR->所有相关的OUTPUT报表信息程序,子程序,报表TSTC->SAP ALL TRANSCATION CODEUSR02->保存PASSWORD的表TRDIR->ABAP程序列表。

常用SAP表格

常用SAP表格

常用SAP表格报表开发沟通资料一、SAP常用表列举MM模块主数据:MARA-基础数据;包括物料编号、物料类型、基本计量单位、物料组、重量、等物料基础数据及部分工厂存储/1-2视图内容。

MVKE-销售视图数据;物料的销售组织、分销渠道、行项目类别组、等销售视图1-2数据;销售一般/工厂数据则分别包含在MARA/MARC两个表中。

MARC-物料工厂数据;MRP1-4视图及采购视图及销售视图、工作计划视图、工厂存储/数据1/2。

MAKT-物料描述数据T023T-物料组描述T024—需方联系人、电话号码等MKPF—物料移动凭证MARD-物料的仓储位置数据(可用库存数据)MARM-物料的计量单位数据MBEW-物料财务数据(标准价格、价格单位)MCHA-物料的批次数据MCHB-具有批次管理的物料的库存数据MLAN-物料的税分类数据T001L-物料的负库存数据,也可以用来查看系统的库存地点清单;LFM1-供应商采购数据LFA1—供应商描述CDPOS---采购订单项目更改CDHDR----采购订单项目更改抬头业务数据:MKPF―物料凭证-抬头数据,可根据时间及移动类型查找物料凭证;MSEG-物料凭证数据-行项目数据,物料凭证中详细的数据均在此表中;ISEG-库存盘点凭证数据EBAN-采购申请行项目数据EINA-采购信息记录一般数据EINE-采购信息记录采购组织数据EIPA-采购信息记录价格数据EKBE-采购订单历史记录EKET-交货时间数据EKKO-采购订单抬头数据EKPO-采购订单行项目数据LQUA—查询物料库存及仓位NAST---消息类型MVER—累计消耗量ZPLAN2PR—采购计划与申请对照表(秋碧)ZJHRQ_CG——采购再计划日期备份ZPLAF1——采购计划备份表MKOL—供应商的特殊库存A018——物料订价的有效期A017——采购信息记录的有效期(有条件记录号字段KNUMH)MSLB——库存状态查询PLAF——计划订单TOO1L——库存地点描述KOND——定价条件KONH——定价条件类型T024E——采购组织描述T024W——工厂下的采购组织T320——工厂下的仓储地点RKWA——寄售结算凭证KONP——采购信息记录的条件类型(有条件记录号字段KNUMH)KONV——定价条件明细LFB1——供应商会计数据LFC1——供应商余额1、SD模块主数据:KNA1-客户主数据KNVH-客户层次数据KNVI-客户主数据-税分类数据KNVK-客户主数据合伙人信息KNVP-客户主数据合伙人功能数据KNVV-客户主数据销售组织数据KNKA-信用主数据业务数据:VAKGU-与客户相关的销售订单数据VAKPA-与合伙人相关的销售订单及客户、订单类型、销售范围数据VAPMA-与物料相关的销售订单及销售组织、订单类型、销售范围数据VBAK-销售订单抬头数据VBAP-销售订单行项目数据;包含具体的物料信息及相关信息VBBE-与销售订单个别需求相关的数据;包含物料可用数量及未清数量等数据VBBS-与销售订单总需求相关的数据;包含物料可用数量及未清数量等数据VBEP-销售订单计划行数据VBFA-销售订单凭证流数据VBPA-与客户相关销售订单数据VBRK-发票抬头数据;包含客户信息VBRP-发票行项目数据;包含客户、物料、销售订单等详细数据LIPS-交货订单行项目数据(通过库位来判断是否已经检配)VBUK-销售订单抬头数据:主要是订单管理及状态信息VBUP-销售订单行项目数据:主要是订单管理及状态数据VBUV-销售订单不完整日志VEPVG-与交货相关的数据VLPMA-与交货相关的数据;包含物料、交货单、售达方等数据VRKPA-与交货相关合伙人数据;包含发票、付款方等数据VRPMA-与物料相关的发票行项目数据2、PP模块主数据:CRHD-工作中心主数据(表关键字“对象标识”)CRCO-工作中心与成本中心分配关系CRCA-中作中心能力分配CRTX-工作中心文本描述MAST-物料bom清单(表关键字“BOM”)STKO-BOM抬头数据STPO-物料bom行项目数据ZPSM—导出BOM(开发的报表)MAPL-工艺路线数据PLPO—工艺路线描述RESB—订单预留表批量提取物料BOM:MAST—>STLNR—>STPO—>IDNRKAFKO-生产订单抬头数据AFUU-工序数据(工序换算关系中的分子、分母)AFUL-工序号AFPO-生产订单行项目数据PLAF-生产计划项目数据RESB-订单预留(包括相关需求)AFRU-生产订单确认数据KEKO-产品成本估算抬头数据AUFK-生产订单主数据AUFM-基于订单的物料移动数据;包含物料凭证、销售订单、生产订单、交货状态、金额、数量、移动类型、总帐科目等具体字段COAS-生产订单控制数据AFRU—报工单内部表单3、FI/CO模块主数据:ANLA-资产主记录段ANLC-资产值字段ANLP-资产期间价值ANEA-用于比例值的资产行项目CSKA-成本要素(数据与科目表相关)CSKB-成本要素(数据与成本控制范围相关)CSKU-成本要素文本CSKS-成本中心主数据CSKT-成本中心说明文本CSLA-作业类型主数据CSLT-作业类型文本CSSL-成本中心/作业类型CSSK-成本中心/成本要素BSID-会计核算:客户的第二次索引(与客户关联的凭证数据)BSAD-会计核算:客户的第二个索引(已结算项目)BSAK-有关应付-供应商会计凭证数据BSAS-有关GR/IR的会计凭证数据BSEG-会计核算凭证段:包括有关发票的数据BSIK-会计核算:可以和供应商关联的凭证数据BSAK-会计核算:供应商的第二个索引(已结算项目)有科目编号、发票号、凭证编号、供应商编号等字段数据BKPF-会计核算凭证标题COSS-CO 对象:内部过帐成本总计COSP-CO 对象:外部记帐的成本总计V_ANEPK-带有行项目标题信息的资产行项目FAGLFLEXT-总帐: 总计SKA1-总帐科目主记录(科目表)SKAT-总帐科目主记录(科目表:说明)二、一般业务逻辑1、物料移动与物料凭证的关系:物料在工厂内及工厂间移动或进行采购收货及销售发货时都会产生物料凭证,该凭证中记录了物料的原存储地点、数量、批次、工厂、收货仓储地点等数据;2、物料移动与会计凭证的关系:一般的采购收货、销售发货、各种消耗都会产生会计凭证;该凭证主要记录了借/贷方的科目、金额、差异等数据;另外:库存地之间的物料转储、寄售收货、供应商库存发货等均不会产生会计凭证,只产生物料凭证。

SAP客户表

SAP客户表

SAP客户表1、KNA1(客户主⽂件的⼀般数据)
2、KNB1(客户主数据 (公司代码))
3、KNVV(客户主记录销售数据)
4、KNVP(客户主记录伙伴功能)
5、KNVK(客户主要联系伙伴)
6、KNAS(客户主数据(⼀般地区的增值税登记号))
7、KNB5(客户主记录 (催款数据))
8、KNBK(客户主数据 (银⾏细⽬))
银⾏相关的表:BNKA(银⾏主记录)
9、KNVA(客户主数据卸载点)
10、KNVD(客户主记录销售查询表)
11、KNVI(客户主税收标识)
12、KNVL(客户主数据许可)
13、KNVS(客户主装运数据)
14、KNEX(主要客户:合法控制 - 批准⽅清单)
15、KNZA(允许的备选付款⼈)
16、KNKK(客户主数据信贷管理: 控制范围数据)
对应FD32维护的客户信贷主数据,其中:
,对应KNKK-SKFOR
,对应KNKK-SSOBL
,对应如下的值组成:
,对应SO66-OEIKW累加
,对应SO67-OLIKW
,对应SO67-OFAKW
17、KNC1(客户主记录 (交易额))
客户余额表,对应FD10N报表的余额数据:
对于特别总分类帐从BSID表取特别总帐标识不为空的末清数据。

SAP各模块常用表

SAP各模块常用表

SAP各模块常用表SD模块常用内表VBUK 销售凭证:抬头状态和管理数据VBRK 出具发票:抬头数据 fksto = '' and sfakn = '' KONV 条件(事务数据)查询销售订单中条件的数据信息KONP 条件(项目VBFA 销售凭证流PA0001 人力资源主记录:信息类型0001 (原始分配) 查询员工信息pp模块常用内表AFVC 订单的工序AFRU 订单确认AFVV 工序中数量/日期/值的DB结构AFKO 订单表头数据 PP 订单AFPO 订单项AUFK 订单主数据 (各种订单包括生产订单和内部订单)AUFM 针对订单的货物移动CRCA 工作中心能力分配CRCO 分配工作中心到成本中心CRHD 工作中心表头<>PLAF 计划订单RKPF 凭证头:预订RESB 预定/相关需求BOM要关联三个表:MAST,STKO,STPO.看STPO里的相关性号码。

MAST BOM 链接物料STPO BOM 项目STKO BOM 表头常用函数BAPI_PRODORD_GET_DETAIL 订单明细VC_I_GET_CONFIGURATION_IBASE 物料配置函数文本说明TADIR 资源库对象的目录TRDIR 系统表 TRDIR程序名CSKS 成本中心主数据CSKT 成本中心说明文本CSKU 成本要素文本COBRB 分配规则结算规则订单结算T006 计量单位T006_OIB 计量单位,附加定义T006A 分配内部到语言相关单位(内部单位转换到外部贸易、技术单位用T006A表,比如要显示CAR则把数据库中的KAR在次表中转换)T006B 贸易分配到内部测量单位( 外部贸易单位和转换到内部单位就是用T006B表,比如 PC转到ST,CAR转到KAR等)T006C 外部技术到内部测量单位的分配T006D 尺寸T006D_OIB 附加维数T006E 计量单位系统(组件,映射)T006EE 计量单位系统(实用程序)T006ET 计量单位系统(使用程序 -> 文T006I 计量单位的 ISO 代码T006J ISO 测量文本单位码T006M 计量单位组T006T 维数文本成本核算所需相关报表TJ01 业务事务COSP CO 对象:外部记帐的成本总计COSS CO 对象:内部过帐成本总计COBK 成本控制对象:凭证标题COEP 成本控制对象:与期间相关的各行项目CSKA 成本要素 (数据与科目表相关)TFKB 功能范围COKEY CO 码次级编号TCURC 货币代码T006 计量单位AUAK 结算凭证标题AUAW 结算凭证:在产品结算的帐户AUAO 凭证区段: CO 对象将被结算 "被结算的对象号及其对应的凭证号COSBD CO 对象: 差异/待摊, 已结算的 "在制品金额COSSD CO 对象: 已结算次级成本总计 "制造费用(人工,机时,模具,维修,动力)COSPD CO 对象: 已结算初级成本总计 "主料,辅料,产出产品MBEW 物料评估BSIS 会计核算: 总帐科目的次级索引 "bseg的简略表判断生产订单状态用到的内表aufk 依订单取对象 (AUFK~OBJNR)JEST 依对象取状态 (JEST~OBJNR = AUFK~OBJNR JEST~STAT =TJ02T~ISTAT AND JEST~INACT = '')TJ02T 依状态取文本描述 (TJ02T~ISTAT = JEST~OBJNR AND TF02T~SPRAS = '1' AND TJ02T~TXT04)TJ02 依状态判断是否显示(TJ02~ISTAT = TJ02T~ISTAT AND TJ02~NODIS = '')MM 内表EKBE 采购凭证历史RBKP 凭证表头:发票收据EKPO 采购凭证项目。

SAP数据表

SAP数据表

SAP数据表table-list:SAP常用数据表-SD表名表描述-zh表介绍备注KNA1客户主数据(一般数据层)KNB1客户主数据(公司代码层)KNMT Customer-Material Info Record Data TableKNMTK Customer-Material Info Record Header TableKNVA Customer 主数据Loading PointsKNVD Customer 主数据record sales request formKNVI Customer 主数据 Tax IndicatorKNVK Customer 主数据Contact PartnerKNVL Customer 主数据LicensesKNVP Customer 主数据Partner FunctionsKNVS Customer 主数据Shipping DataKNVT Customer 主数据Record Texts for SalesKNVV Customer 主数据 Sales DataKONA Rebate Agreements KOND Conditions (Data) KONH Conditions (Header)KONM Conditions (1 Dimensional Quantity Scales)KONP Conditions (Item)field LIKP-WADAT_IST - Actual Goods Issue Date - is populated only after Post Goods Issue KONV Conditions (Procedure Data)KONW Conditions (1 Dimensional Value Scales)LIKP SD Document: Delivery Header DataLIPS SD document: Delivery: Item dataLIPSPO LIPS Reference Data Purchase OrderLIPSRF LIPS Reference Data NACH Detailed output data NAST Message statusT179Materials: Product HeirarchiesT179T Materials: Product Heirarchies: TextsVAKGU Sales Index: Quotation ValidityVAKPA Sales Index: Orders by Partner FunctionVAPMA Sales Index: Order Items by MaterialVBAG Sales Document: Release Data by Schedule Line in Sch.Agrmt.VBAK 销售订单表头-Sales Document: Header DataVBAP 销售订单明细-Sales Document: Item DataVBBE Sales Requirements: Individual RecordsVBBS Sales Requirement Totals RecordVBEP Sales Document:Schedule Line Data VBFA Sales Document FlowVBFS Error Log for Collective ProcessingVBKA Sales activitiesVBKD Sales Document: Business DataVBKOF SD index: Open sales activities by partner functionVBKPA SD index: Sales activities by partner functionVBLK SD Document: Delivery Note HeaderVBLS Delivery Notes for Collective ProcessingVBPA Sales Document: PartnerVBRK 销售发票:抬头表Billing: Header DataVBRP 销售发票:行项目表Billing: Item DataVBSK Collective Processing for a Sales Document HeaderVBSS Collective Processing: Sales DocumentsVBUK Sales Document: Header Status and Administrative DataVBUP Sales Document: Item StatusVBUV Sales Document: Incompletion LogVEPVG Delivery Due IndexVETVG Delivery Due Index for Stock Transfer VKAOF Sales Index: Open Sales Activities VKDFS SD Index: Billing InitiatorVLKPA SD Index: Deliveries by Partner Functions VLPMA SD Index: Delivery Items by Material VRKPA Sales Index: Bills by Partner Functions VRPMA SD Index: Billing Items per Material VTFAShipment DocumentFlowVTRDI Shipment PlanningIndex。

SAP常用业务数据表

表中使用的字段请尽量参照各模块的SAP字段标准使用习惯;例:“ZXSLRZX销售组织对应的利润中心”中的销售组织应该使用VKORG、利润中心应该使用PRCTR。

根据表的用途,需确定是否属于配置目的、还是业务目的。

配置表的建议:需要加入MANDT字段例:“ZQJQD缺件清单”就没有MANDT字段需提供相应的维护视图;例:如ZCHECK_MM01工厂和利润中心的对应为保证DEV/QAS/PRD系统的一致性,不应该对配置表提供批量维护的功能,而应该走Request传输流程;例:“ZMM_GSJJGLJ公司间物料转卖价格逻辑”就是一个失败的开发案例。

若有必要,可激活日志功能,便于对配置的更改查询;在定义表的时候,请不要偷懒使用“预定义数据类型”这种方式;业务表的建议:若无特殊目的,也请加入MANDT字段在定义关键字段的时候,请务必慎重,在理解业务需求的前提下,合理设置;(数据存在后,关键自动的变更存在较大风险)为减少系统存储空间,一般不需要激活更改日志;在定义表的时候,请不要偷懒使用“预定义数据类型”这种方式;程序的选择屏幕,如果需要提供缺省值,请尽量通过Memory ID的方式实现,不要使用硬代码。

例:“ZPOOIS采购订单信息报表”中的公司代码(BUK)、工厂(WRK)。

程序的选择屏幕上的选择文本,如果属于标准字段,若无特殊需求,请尽量使用Dictionary,避免造成在不同语言环境中显示错误的情况。

例:ZPOOIS的选择屏幕在英文环境下完全错误,而ZJSJSNEW就相对正确。

程序变式(选择变式、输出变式)的灵活使用ALV报表,请提供变式功能(IS_VARIANT ,I_SAVE等变量);例: ZPOOIS的输出格式就无法保存。

二次开发程序中定义的自定义表,需考虑相应数据的删除及归档策略,并应该对数据量的大小有合理的估计。

金额,请考虑币别;数量,请考虑计量单位;•公司代码与工厂的关系一个工厂只能属于一个公司代码;例:3110起重机工厂只能属于3011公司代码。

SAPSD销售订单执行情况表

SAPSD销售订单执⾏情况表销售订单执⾏情况表*&---------------------------------------------------------------------**& 包含 ZSDR0003_FUN*&---------------------------------------------------------------------*FORM init_method.* ⽇期改为⼿动输⼊* CALL FUNCTION 'FIMA_DATE_CREATE'* EXPORTING* i_date = sy-datum "输⼊⽇期* i_flg_end_of_month = ' '* i_years = 0 "两年后的⽇期. 即输⼊⽇期的年加2所得⽇期,可为负数,表⽰前两年* i_months = -1 "⼀个⽉后的⽇期.即输⼊⽇期的⽉加1所得⽇期,可为负数,表⽰前⼀个⽉* i_days = 0 "23天后的⽇期。

可为负数,表⽰23天前的⽇期* i_calendar_days = 0 "10天后的⽇历。

同I_DAYS参数。

* i_set_last_day_of_month = '' "返回的⽇期为当前⽉份的最后⼀天* IMPORTING* e_date = s_erdat-low.* s_erdat-high = sy-datum.* s_erdat-sign = 'I'.* s_erdat-option = 'BT'.* APPEND s_erdat.ENDFORM.FORM frm_check_vkorg.DATA: lv_message TYPE string. " 在选择屏幕基础上有权限销售组织数量SELECT tvkos~vkorg,tvkos~spart,tvkov~vtwegINTO CORRESPONDING FIELDS OF TABLE @gt_tvkoFROM tvkosINNER JOIN tvkov ON tvkos~vkorg = tvkov~vkorgWHERE tvkov~vkorg IN @s_vkorgAND tvkov~vtweg IN @s_vtwegAND tvkos~spart IN @s_spart.LOOP AT gt_tvko INTO wa_tvko.AUTHORITY-CHECK OBJECT'V_VBAK_VKO'ID'VKORG'FIELD wa_tvko-vkorgID'VTWEG'FIELD wa_tvko-vtwegID'SPART'FIELD wa_tvko-spartID'ACTVT'FIELD'03'.IF sy-subrc <> 0.lv_message = '销售组织:' && wa_tvko-vkorg && '销售渠道:' && wa_tvko-vtweg && '产品组' && wa_tvko-spart.MESSAGE e053(zmm) WITH lv_message.ENDIF.CLEAR: wa_tvko.ENDLOOP.ENDFORM.FORM fun_get_data.DATA lv_sl TYPE p.DATA sql_string TYPE string.* read text 参数DATA: l_id TYPE thead-tdid,l_language TYPE thead-tdspras,l_name TYPE thead-tdname,l_object TYPE thead-tdobject.DATA:lt_line TYPE STANDARD TABLE OF tline WITH HEADER LINE.l_id = '0001'.l_language = '1'. " 'E' for EnglishIF p_alv1 = 'X'.IF s_lfsta IS NOT INITIAL.* 选择屏幕上⽆法输⼊空值,⽤X代替空值,有X的话在这⾥修改为空READ TABLE s_lfsta WITH KEY low = 'X'.IF sy-subrc = 0.s_lfsta-low = ''.MODIFY s_lfsta TRANSPORTING low WHERE low = 'X'.ENDIF.ENDIF.* 判断订单类型是否包含贷项订单,筛选条件为空默认所有订单* IF s_auart IS INITIAL.* sql_string = 'vbak~auart IN @s_auart AND vbak~vkorg IN @s_vkorg AND vbak~vtweg IN @s_vtweg AND vbak~spart IN @s_spart AND vbak~erdat IN @s_erdat AND vbak~vbeln IN @s_vbeln AND vbap~abgru = '''''.* ELSE.* LOOP AT s_auart WHERE low = 'ZDX1' OR low = 'ZDX2'.* ENDLOOP.* IF sy-subrc = 0.* sql_string = 'vbak~auart IN @s_auart AND vbak~vkorg IN @s_vkorg AND vbak~vtweg IN @s_vtweg AND vbak~spart IN @s_spart AND vbak~erdat IN @s_erdat AND vbak~vbeln IN @s_vbeln AND vbap~abgru = '''''.* ELSE.* sql_string = 'vbak~auart IN @s_auart AND vbap~lfsta IN @s_lfsta AND vbak~vkorg IN @s_vkorg AND vbak~vtweg IN @s_vtweg AND vbak~spart IN @s_spart AND vbak~erdat IN @s_erdat AND vbak~vbeln IN @s_vbeln AND vbap~ab * ENDIF.* ENDIF.* s_lfsta-low = ''.* s_lfsta-option = 'EQ'.* s_lfsta-sign = 'I'.* APPEND s_lfsta.SELECTvbak~vbeln,vbak~ernam,vbfa~vbelv,"系统合同号vbkd~bstkd,vbak~kunnr,vbak~vkorg, "组织vbak~vtweg,"渠道vbak~spart,"产品组vbak~auart,vbak~vkbur,"销售办公室vbak~vkgrp,"销售组vbkd~bzirk,"销售地区vbak~erdat,vbkd~kdgrp,"客户类型vbkd~zlsch,"付款类型vbkd~vsart,"运输⽅式vbkd~bstdk,vbap~posnr,vbap~matnr,vbap~arktx,ausp~atwrt AS ztype,vbap~kwmeng,vbap~kbmeng,vbap~vrkme , "销售单位vbap~umvkz,"销售单位和基本单位的换算因⼦vbap~meins,"基本单位vbap~kzwi1 AS zje,vpa1~kunnr AS ywy,vpa2~kunnr AS ck,* vbap~lfsta,vbak~knumv,prcd_elements~kbetr, "折扣单价prcd_elements~kwert"折扣⾦额INTO TABLE @DATA(table)INNER JOIN vbap ON vbap~vbeln = vbak~vbelnLEFT JOIN vbfa ON vbfa~vbeln = vbap~vbeln AND vbfa~posnn = vbap~posnr AND vbtyp_v = 'G'"合同INNER JOIN vbkd ON vbak~vbeln = vbkd~vbeln AND vbkd~posnr = ''LEFT JOIN vbpa AS vpa1 ON vbak~vbeln = vpa1~vbeln AND vpa1~parvw = 'Z1'"业务员INNER JOIN vbpa AS vpa2 ON vbak~vbeln = vpa2~vbeln AND vpa2~parvw = 'WE'AND vpa2~posnr = '000000'"送货仓库LEFT JOIN ausp ON ausp~objek = vbap~matnr AND atinn = '0000000811'LEFT JOIN prcd_elements ON prcd_elements~knumv = vbak~knumv AND prcd_elements~kschl = 'K005'AND prcd_elements~kposn = vbap~posnr "折扣单价和折扣⾦额WHERE vbak~auart IN @s_auartAND vbap~lfsta IN @s_lfstaAND vbak~vkorg IN @s_vkorgAND vbak~vtweg IN @s_vtwegAND vbak~spart IN @s_spartAND vbak~erdat IN @s_erdatAND vbak~vbeln IN @s_vbelnAND vbak~kunnr IN @s_kunnrAND vpa1~kunnr IN @s_ywyAND vbap~abgru = ''.IF table IS INITIAL.MESSAGE s078(zmm) DISPLAY LIKE'E'.LEAVE LIST-PROCESSING.ENDIF.* 查询订单类型SELECT auart,bezei AS ddlx INTO TABLE @DATA(ddlx) FROM tvakt FOR ALL ENTRIES IN @table WHERE auart = @table-auart AND spras = '1'.* 查税额SELECT kbetr,knumv,kposn INTO TABLE @DATA(sl) FROM prcd_elements FOR ALL ENTRIES IN @table WHERE kschl = 'MWSI'AND knumv = @table-knumv AND kposn = @table-posnr. * 查询运输⽅式SELECT bezei, vsart INTO TABLE @DATA(vsart) FROM t173t FOR ALL ENTRIES IN @table WHERE vsart = @table-vsart.* 查询代理商和代理商名称SELECT vbpa~vbeln,vbpa~kunnr,kna1~name1INTO TABLE @DATA(dls)FROM vbpa INNER JOIN kna1 ON vbpa~kunnr = kna1~kunnrFOR ALL ENTRIES IN @table WHERE vbeln = @table-vbeln AND parvw = 'Z8'.* 查询⽣产⼚家 T024X* SELECT matnr,zzproduc INTO TABLE @DATA(sccj) FROM zmmt0036a FOR ALL ENTRIES IN @table WHERE matnr = @table-matnr.SELECT matnr, lbtxtINTO TABLE @DATA(sccj)FROM maraINNER JOIN t024x ON mara~labor = t024x~labor AND spras = '1'FOR ALL ENTRIES IN @table WHERE matnr = @table-matnr.SORT sccj BY matnr.* 查询送货仓库信息SELECT ck~kunnr,ck~name1,adrc~city1,adrc~street,adrc~tel_number,adrc~name_coINTO TABLE @DATA(lt_ck) FROM kna1 AS ckINNER JOIN adrc ON ck~adrnr = adrc~addrnumberFOR ALL ENTRIES IN @table WHERE ck~kunnr = @table-ck.* 查询返利和红票⾦额SELECT vbfa~vbelv,vbfa~posnv,vbap~kzwi1 INTO TABLE @DATA(lt_fl) FROM vbfaINNER JOIN vbap ON vbap~vbeln = vbfa~vbeln AND vbap~posnr = vbfa~posnnFOR ALL ENTRIES IN @table WHEREvbfa~vbelv = @table-vbelnAND vbfa~posnv = @table-posnrAND vbtyp_n = 'K'.* 查询出库数量时 for all entries in 要求数据长度⼀样才能匹配所以这⾥要定义⼀个结构不能按照@data⽅式定义* DATA:BEGIN OF lt_fhsl OCCURS 0,* vbelv TYPE vbfa-vbelv,* posnv TYPE vbfa-posnv,* lfimg TYPE lips-lfimg,* vbeln TYPE vbfa-vbeln,* posnn TYPE mseg-zeile,* END OF lt_fhsl.* 查询发货数量和出库数量,按照lips的库存地点判断是否发货SELECT v1~vbelv,v1~posnv,lips~lfimg,v1~vbeln,v1~posnn,lips~lgort* INTO TABLE @DATA(lt_fhsl)FROM vbfa AS v1* and xauto = 'X'INNER JOIN lips ON lips~vbeln = v1~vbeln* and lips~lfimg <> 0AND lips~posnr = v1~posnnFOR ALL ENTRIES IN @table WHEREv1~vbelv = @table-vbelnAND v1~posnv = @table-posnrAND vbtyp_n = 'J'AND lips~lfimg <> 0INTO TABLE @DATA(lt_fhsl).* 查询出库数量* SELECT* vbeln_im AS jhdh,* bwart,* erfmg, "数量* erfme"单位* FROM mseg* FOR ALL ENTRIES IN @lt_fhsl* WHERE vbeln_im = @lt_fhsl-vbeln* AND bwart IN ( 'Z01','Z02' )* INTO @DATA(lt_cksl).* 查询开票数量和开票⾦额 vbrp~posnr 保证当其他数据完全相同时 for all entries ⾃动去重加上⾏号避免⾃动去重贷项订单后续凭证类型为OSELECT vbfa~vbelv,vbfa~posnv,vbrp~fkimg,vbrp~posnr,vbrp~kzwi1,vbfa~vbtyp_n INTO TABLE @DATA(lt_kpsl) FROM vbfaINNER JOIN vbrp ON vbrp~vbeln = vbfa~vbeln AND vbrp~posnr = vbfa~posnnFOR ALL ENTRIES IN @table WHEREvbfa~vbelv = @table-vbelnAND vbfa~posnv = @table-posnrAND vbtyp_n IN ( 'M','N','O' ).*查询回款⾦额如果想匹配到具体的订单⽬前的逻辑是按照发票从bsad表中取值 bsad中是已经清账的发票意味着肯定回款了*如果没有清账的发票可能没有回款这时只能按照DZ类型的财务凭证判断回款但是DZ类型的财务凭证⽆法匹配到销售订单的发票,*因此可能存在客户回款但是财务没有及时清账的情况只能要求财务及时清账程序上做不到百分百准确* 关联bsad表根据如果没有过账 basd财务凭证是空的我们只取不为空的数量求和以后就是已经过账的数量数量乘单价就是回款 for FOR ALL ENTRIES IN不能使⽤聚合函数⽆语SELECT vbfa~vbelv,vbfa~posnv, vbfa~rfmng INTO TABLE @DATA(lt_hksl) FROM vbfaLEFT JOIN bsad ON bsad~zuonr = vbfa~vbelnFOR ALL ENTRIES IN @table WHEREvbfa~vbelv = @table-vbelnAND vbfa~posnv = @table-posnrAND bsad~belnr IS NOT NULLAND vbfa~rfmng <> 0AND vbtyp_n IN ( 'M','O' ).SORT lt_hksl BY vbelv posnv.* 查询客户名称SELECT kunnr,name1 INTO TABLE @DATA(lt_khmc) FROM kna1 FOR ALL ENTRIES IN @table WHERE kunnr = @table-kunnr.* 查询业务员SELECT ywy~kunnr,ywy~name1 INTO TABLE @DATA(lt_ywy) FROM kna1 AS ywyFOR ALL ENTRIES IN @table WHERE ywy~kunnr = @table-ywy.* 进度条相关变量DATA: l_lin TYPE p,l_txt TYPE string,l_lin1 TYPE string,l_perc TYPE p DECIMALS 2.LOOP AT table ASSIGNING FIELD-SYMBOL(<row>).DESCRIBE TABLE table LINES l_lin.l_perc = sy-tabix / l_lin * 100.l_lin1 = l_perc.CONCATENATE l_lin1 '%'',''正在处理数据...'INTO l_txt.CALL FUNCTION'SAPGUI_PROGRESS_INDICATOR'EXPORTINGpercentage = l_perctext = l_txt.CLEAR gt_out.* 客户名称READ TABLE lt_khmc ASSIGNING FIELD-SYMBOL(<khmc>) WITH KEY kunnr = <row>-kunnr.IF sy-subrc = 0.gt_out-zkhmc = <khmc>-name1.ENDIF.READ TABLE sl ASSIGNING FIELD-SYMBOL(<sl>) WITH KEY knumv = <row>-knumv kposn = <row>-posnr.IF sy-subrc = 0.lv_sl = <sl>-kbetr.gt_out-zsl = lv_sl.CONCATENATE gt_out-zsl '%'INTO gt_out-zsl.ENDIF.* 业务员READ TABLE lt_ywy ASSIGNING FIELD-SYMBOL(<ywy>) WITH KEY kunnr = <row>-ywy.IF sy-subrc = 0.gt_out-ywyxm = <ywy>-name1.ENDIF.* 仓库名称READ TABLE lt_ck ASSIGNING FIELD-SYMBOL(<ck>) WITH KEY kunnr = <row>-ck.IF sy-subrc = 0.gt_out-zshckmc = <ck>-name1.gt_out-city1 = <ck>-city1.gt_out-street = <ck>-street.gt_out-tel_number = <ck>-tel_number.gt_out-name_co = <ck>-name_co.ENDIF.IF <row>-bstdk IS INITIAL.gt_out-zzxzt = '现款'.ELSE.gt_out-zzxzt = '赊销'.ENDIF.* ⽣产⼚家READ TABLE sccj ASSIGNING FIELD-SYMBOL(<sccj>) WITH KEY matnr = <row>-matnr BINARY SEARCH.IF sy-subrc = 0.gt_out-sccj = <sccj>-lbtxt.ENDIF.* 代理商READ TABLE dls ASSIGNING FIELD-SYMBOL(<dls1>) WITH KEY vbeln = <row>-vbeln.IF sy-subrc = 0.gt_out-zdls = <dls1>-kunnr.gt_out-zdlsmc = <dls1>-name1.ENDIF.* 销售单位单价IF <row>-kwmeng <> 0.gt_out-zkpjg = <row>-zje / <row>-kwmeng.ELSE.gt_out-zkpjg = 0.ENDIF.READ TABLE lt_fl ASSIGNING FIELD-SYMBOL(<fl>) WITH KEY vbelv = <row>-vbeln posnv = <row>-posnr.IF sy-subrc = 0.gt_out-zhpje = <fl>-kzwi1.ENDIF.* 发货数量和出库数量LOOP AT lt_fhsl ASSIGNING FIELD-SYMBOL(<fhsl>) WHERE vbelv = <row>-vbeln AND posnv = <row>-posnr.IF <fhsl>-lgort = '9999'.gt_out-cksl = <fhsl>-lfimg + gt_out-cksl.ENDIF.gt_out-lfimg = gt_out-lfimg + <fhsl>-lfimg.* gt_out-jhdh = <fhsl>-vbeln.ENDLOOP.LOOP AT lt_kpsl ASSIGNING FIELD-SYMBOL(<lt_kpsl>) WHERE vbelv = <row>-vbeln AND posnv = <row>-posnr.IF <lt_kpsl>-vbtyp_n = 'N'.<lt_kpsl>-fkimg = 0 - <lt_kpsl>-fkimg.<lt_kpsl>-kzwi1 = 0 - <lt_kpsl>-kzwi1.ENDIF.gt_out-fkimg = gt_out-fkimg + <lt_kpsl>-fkimg.gt_out-zkpje = gt_out-zkpje + <lt_kpsl>-kzwi1.ENDLOOP.gt_out-vkorg = <row>-vkorg.gt_out-vtweg = <row>-vtweg.gt_out-ddlx = <row>-auart.gt_out-zjhhkrq = <row>-bstdk.gt_out-vkbur = <row>-vkbur.gt_out-spart = <row>-spart.gt_out-kdgrp = <row>-kdgrp.gt_out-zlsch = <row>-zlsch.gt_out-bzirk = <row>-bzirk.gt_out-vkgrp = <row>-vkgrp.gt_out-vbeln = <row>-vbeln.gt_out-ernam = <row>-ernam.gt_out-vbelv = <row>-vbelv.gt_out-bstkd = <row>-bstkd.gt_out-kunnr = <row>-kunnr.gt_out-erdat = <row>-erdat.gt_out-zywy = <row>-ywy.gt_out-zshck = <row>-ck.gt_out-posnr = <row>-posnr.gt_out-matnr = <row>-matnr.gt_out-arktx = <row>-arktx.gt_out-ztype = <row>-ztype.gt_out-matnr = <row>-matnr.gt_out-kwmeng = <row>-kwmeng.gt_out-vrkme = <row>-vrkme.* 基本单位gt_out-jbdw = <row>-meins.IF <row>-auart = 'ZRE'OR <row>-auart = 'ZDX1'OR <row>-auart = 'ZDX2'.gt_out-zje = 0 - <row>-zje.ELSE.gt_out-zje = <row>-zje.ENDIF.gt_out-kbmeng = <row>-kbmeng.gt_out-zwjh = gt_out-kwmeng - gt_out-cksl .gt_out-zwkp = gt_out-kwmeng - gt_out-fkimg.gt_out-kbetr = <row>-kbetr.gt_out-kwert = <row>-kwert.* 基本单位数量IF sy-subrc = 0.gt_out-vsart = <vsart>-bezei.ENDIF.* 基本单位单价IF gt_out-jbdw = gt_out-vrkme.gt_out-jbdwdj = gt_out-zkpjg.ELSE.TRY.gt_out-jbdwdj = gt_out-zje / gt_out-jbdwsl.CATCH cx_sy_zerodivide.gt_out-jbdwdj = 0.ENDTRY.ENDIF.* 回款⾦额是按照已经清账的数量乘基本单位的单价LOOP AT lt_hksl INTO DATA(wa_hksl) WHERE posnv = <row>-posnr AND vbelv = <row>-vbeln . gt_out-qzsl = gt_out-qzsl + wa_hksl-rfmng.ENDLOOP."jbdwslgt_out-hkje = gt_out-qzsl * gt_out-jbdwdj.gt_out-whkje = gt_out-zje - gt_out-hkje.gt_out-wqzsl = gt_out-jbdwsl - gt_out-qzsl.gt_out-ckje = gt_out-cksl * gt_out-zkpjg. "出库⾦额gt_out-jhje = gt_out-lfimg * gt_out-zkpjg. "交货⾦额IF gt_out-cksl = 0.gt_out-lfsta = '未交货'.ELSEIF gt_out-cksl > 0AND gt_out-cksl < gt_out-kwmeng.gt_out-lfsta = '部分交货'.ELSE.gt_out-lfsta = '已交货'.ENDIF.l_name = ''.CONCATENATE <row>-vbeln "SO<row>-posnr "ItemINTO l_name.l_object = 'VBBP'.* 读取订单⽂本CALL FUNCTION'READ_TEXT'EXPORTINGclient = sy-mandtid = l_idlanguage = l_languagename = l_nameobject = l_objectTABLESlines = lt_lineEXCEPTIONSid = 1language = 2name = 3not_found = 4object = 5reference_check = 6wrong_access_to_archive = 7OTHERS = 8.IF sy-subrc = 0.LOOP AT lt_line.CONCATENATE gt_out-ztext lt_line-tdline INTO gt_out-ztext.ENDLOOP.ENDIF.APPEND gt_out.ENDLOOP.* 查询组织各结构* 查询组织SELECTvkorg,vtextINTO TABLE @DATA(vkorg)FROM tvkot FOR ALL ENTRIES IN @gt_out WHERE vkorg = @gt_out-vkorg AND spras = '1'.LOOP AT vkorg ASSIGNING FIELD-SYMBOL(<vkorg>).CLEAR gt_out.gt_out-zzz = <vkorg>-vtext.MODIFY gt_out FROM gt_out TRANSPORTING zzz WHERE vkorg = <vkorg>-vkorg. ENDLOOP.* 查询渠道SELECTvtweg,vtextINTO TABLE @DATA(vtweg)FROM tvtwt FOR ALL ENTRIES IN @gt_out WHERE vtweg = @gt_out-vtweg AND spras = '1'.LOOP AT vtweg ASSIGNING FIELD-SYMBOL(<vtweg>).CLEAR gt_out.gt_out-zqd = <vtweg>-vtext.MODIFY gt_out FROM gt_out TRANSPORTING zqd WHERE vtweg = <vtweg>-vtweg. ENDLOOP.* 查询办公室SELECTvkbur,bezeiINTO TABLE @DATA(vkbur)FROM tvkbt FOR ALL ENTRIES IN @gt_out WHERE vkbur = @gt_out-vkbur AND spras = '1'.LOOP AT vkbur ASSIGNING FIELD-SYMBOL(<vkbur>).CLEAR gt_out.gt_out-zbgs = <vkbur>-bezei.MODIFY gt_out FROM gt_out TRANSPORTING zbgs WHERE vkbur = <vkbur>-vkbur. ENDLOOP.* 查询销售组SELECTvkgrp,bezeiINTO TABLE @DATA(vkgrp)FROM tvgrt FOR ALL ENTRIES IN @gt_out WHERE vkgrp = @gt_out-vkgrp AND spras = '1'.LOOP AT vkgrp ASSIGNING FIELD-SYMBOL(<vkgrp>).CLEAR gt_out.gt_out-zxsz = <vkgrp>-bezei.MODIFY gt_out FROM gt_out TRANSPORTING zxsz WHERE vkgrp = <vkgrp>-vkgrp. ENDLOOP.* 查询产品组SELECTspart,vtextINTO TABLE @DATA(spart)FROM tspat FOR ALL ENTRIES IN @gt_out WHERE spart = @gt_out-spart AND spras = '1'.LOOP AT spart ASSIGNING FIELD-SYMBOL(<spart>).CLEAR gt_out.gt_out-zcpz = <spart>-vtext.MODIFY gt_out FROM gt_out TRANSPORTING zcpz WHERE spart = <spart>-spart. ENDLOOP.* 查询销售地区bztxtINTO TABLE @DATA(bzirk)FROM t171t FOR ALL ENTRIES IN @gt_out WHERE bzirk = @gt_out-bzirk AND spras = '1'.LOOP AT bzirk ASSIGNING FIELD-SYMBOL(<bzirk>).CLEAR gt_out.gt_out-zxsdq = <bzirk>-bztxt.MODIFY gt_out FROM gt_out TRANSPORTING zxsdq WHERE bzirk = <bzirk>-bzirk.ENDLOOP.* 查询客户类型描述SELECT kdgrp,ktext INTO TABLE @DATA(khlx) FROM t151t FOR ALL ENTRIES IN @table WHERE kdgrp = @table-kdgrp AND spras = '1'. LOOP AT khlx ASSIGNING FIELD-SYMBOL(<khlx>).CLEAR gt_out.gt_out-khlxms = <khlx>-ktext.MODIFY gt_out FROM gt_out TRANSPORTING khlxms WHERE kdgrp = <khlx>-kdgrp.ENDLOOP.* 更改订单类型LOOP AT ddlx ASSIGNING FIELD-SYMBOL(<ddlx>).CLEAR gt_out.gt_out-ddlx = <ddlx>-ddlx.MODIFY gt_out FROM gt_out TRANSPORTING ddlx WHERE ddlx = <ddlx>-auart.ENDLOOP.* 查询单位描述SELECT DISTINCT msehi,mseh6INTO TABLE @DATA(dw) FROM t006aFOR ALL ENTRIES IN @table WHERE ( msehi = @table-meins OR msehi = @table-vrkme ) AND spras = '1'.SORT dw BY msehi.* DATA length TYPE int2.* length = lines( dw ) * 2.* DO length TIMES.* READ TABLE dw ASSIGNING FIELD-SYMBOL(<dw>) INDEX sy-index.* ENDDO.* 更改销售单位描述LOOP AT dw INTO DATA(dw1).CLEAR gt_out.gt_out-vrkme = dw1-mseh6.MODIFY gt_out TRANSPORTING vrkme WHERE vrkme = dw1-msehi.ENDLOOP.* 更改销售单位描述LOOP AT dw INTO dw1.CLEAR gt_out.gt_out-jbdw = dw1-mseh6.MODIFY gt_out TRANSPORTING jbdw WHERE jbdw = dw1-msehi.ENDLOOP.ELSE.SELECTvbak~vbeln,vbak~ernam,vbfa~vbelv,"系统合同号vbkd~bstkd,vbkd~kdgrp,vbak~bstdk,vbak~kunnr,vbak~vkorg, "组织vbak~vtweg,"渠道vbak~spart,"产品组vbak~vkbur,"销售办公室vbak~vkgrp,"销售组vbkd~bzirk,"销售地区vbak~erdat,SUM( vbap~kzwi1 ) AS zje,vpa1~kunnr AS ywy,vpa2~kunnr AS dlsINTO TABLE @DATA(table1)FROM vbakINNER JOIN vbap ON vbap~vbeln = vbak~vbelnLEFT JOIN vbfa ON vbfa~vbeln = vbap~vbeln AND vbtyp_v = 'G'"系统合同号INNER JOIN vbkd ON vbak~vbeln = vbkd~vbeln AND vbkd~posnr = ''LEFT JOIN vbpa AS vpa1 ON vbak~vbeln = vpa1~vbeln AND vpa1~parvw = 'Z1'"业务员LEFT JOIN vbpa AS vpa2 ON vbak~vbeln = vpa2~vbeln AND vpa2~parvw = 'Z8'"代理商WHERE vbak~auart IN ( 'ZOR','ZOR1' )AND vbak~vkorg IN @s_vkorgAND vbak~vtweg IN @s_vtwegAND vbak~spart IN @s_spartAND vbak~erdat IN @s_erdatGROUP BY vbak~vbeln,vbak~ernam,vbfa~vbelv,"系统合同号vbkd~bstkd,vbak~bstdk,vbak~kunnr,vbkd~kdgrp,vbak~vkorg, "组织vbak~vtweg,"渠道vbak~spart,"产品组vbak~vkbur,"销售办公室vbak~vkgrp,"销售组vbkd~bzirk,"销售地区vbak~erdat,vpa1~kunnr ,vpa2~kunnr.IF table1 IS INITIAL.MESSAGE s078(zmm) DISPLAY LIKE'E'.LEAVE LIST-PROCESSING.ENDIF.* 查询结果集中的订单是否有退货订单SELECT vbap~vgbel, kzwi1 INTO TABLE @DATA(lt_zre) FROM vbap INNER JOIN vbak ON vbak~vbeln = vbap~vbeln AND vbak~auart = 'ZRE' FOR ALL ENTRIES IN @table1 WHERE vbak~vgbel = @table1-vbeln .* 查询客户名称SELECT kunnr,name1 INTO TABLE @DATA(lt_khmc1) FROM kna1 FOR ALL ENTRIES IN @table1 WHERE kunnr = @table1-kunnr.* 查询业务员SELECT ywy~kunnr,ywy~name1 INTO TABLE @DATA(lt_ywy1) FROM kna1 AS ywyFOR ALL ENTRIES IN @table1 WHERE ywy~kunnr = @table1-ywy.* 查询代理商SELECT dls~kunnr,dls~name1 INTO TABLE @DATA(lt_dls) FROM kna1 AS dlsFOR ALL ENTRIES IN @table1 WHERE dls~kunnr = @table1-dls.* 查询实际回款⽇期SELECT DISTINCT vbfa~vbelv,bsad~augdt INTO TABLE @DATA(lt_sjhkrq) FROM vbfaINNER JOIN bsad ON bsad~zuonr = vbfa~vbelnFOR ALL ENTRIES IN @table1 WHEREvbfa~vbelv = @table1-vbelnAND vbtyp_n = 'M'.* 处理数据LOOP AT table1 ASSIGNING FIELD-SYMBOL(<row1>).CLEAR gt_out.* 客户名称READ TABLE lt_khmc1 ASSIGNING FIELD-SYMBOL(<khmc1>) WITH KEY kunnr = <row1>-kunnr.IF sy-subrc = 0.gt_out-zkhmc = <khmc1>-name1.READ TABLE lt_ywy1 ASSIGNING FIELD-SYMBOL(<ywy1>) WITH KEY kunnr = <row1>-ywy.IF sy-subrc = 0.gt_out-ywyxm = <ywy1>-name1.ENDIF.* 代理商READ TABLE lt_dls ASSIGNING FIELD-SYMBOL(<dls>) WITH KEY kunnr = <row1>-ywy.IF sy-subrc = 0.gt_out-zdlsmc = <dls>-name1.ENDIF.* 实际回款⽇期READ TABLE lt_sjhkrq ASSIGNING FIELD-SYMBOL(<sjhkrq>) WITH KEY vbelv = <row1>-vbeln.IF sy-subrc = 0.gt_out-zsjhkrq = <sjhkrq>-augdt.ENDIF.gt_out-zzl = sy-datum - <row1>-bstdk.IF gt_out-zsjhkrq IS INITIAL.gt_out-zsjzl = gt_out-zsjhkrq - <row1>-bstdk.ELSE.gt_out-zsjzl = gt_out-zsjhkrq.ENDIF.gt_out-vkorg = <row1>-vkorg.gt_out-vtweg = <row1>-vtweg.gt_out-vkbur = <row1>-vkbur.gt_out-spart = <row1>-spart.gt_out-bzirk = <row1>-bzirk.gt_out-kdgrp = <row1>-kdgrp.gt_out-vkgrp = <row1>-vkgrp.gt_out-vbeln = <row1>-vbeln.gt_out-ernam = <row1>-ernam.gt_out-vbelv = <row1>-vbelv.gt_out-bstkd = <row1>-bstkd.gt_out-kunnr = <row1>-kunnr.gt_out-erdat = <row1>-erdat.gt_out-zywy = <row1>-ywy.gt_out-zdls = <row1>-dls.gt_out-zje = <row1>-zje.* 是否有该条订单的退货订单如果有减去退货⾦额LOOP AT lt_zre ASSIGNING FIELD-SYMBOL(<zre>) WHERE vgbel = gt_out-vbeln.gt_out-zje = gt_out-zje - <zre>-kzwi1.ENDLOOP.gt_out-zjhhkrq = <row1>-bstdk.APPEND gt_out.ENDLOOP.* 查询组织各结构* 查询组织SELECTvkorg,vtextINTO TABLE @DATA(vkorg1)FROM tvkot FOR ALL ENTRIES IN @gt_out WHERE vkorg = @gt_out-vkorg AND spras = '1'.LOOP AT vkorg1 ASSIGNING FIELD-SYMBOL(<vkorg1>).CLEAR gt_out.gt_out-zzz = <vkorg1>-vtext.MODIFY gt_out FROM gt_out TRANSPORTING zzz WHERE vkorg = <vkorg1>-vkorg.ENDLOOP.* 查询渠道SELECTvtweg,vtextINTO TABLE @DATA(vtweg1)FROM tvtwt FOR ALL ENTRIES IN @gt_out WHERE vtweg = @gt_out-vtweg AND spras = '1'.LOOP AT vtweg1 ASSIGNING FIELD-SYMBOL(<vtweg1>).CLEAR gt_out.gt_out-zqd = <vtweg1>-vtext.MODIFY gt_out FROM gt_out TRANSPORTING zqd WHERE vtweg = <vtweg1>-vtweg.ENDLOOP.* 查询办公室SELECTvkbur,bezeiINTO TABLE @DATA(vkbur1)FROM tvkbt FOR ALL ENTRIES IN @gt_out WHERE vkbur = @gt_out-vkbur AND spras = '1'.LOOP AT vkbur1 ASSIGNING FIELD-SYMBOL(<vkbur1>).CLEAR gt_out.gt_out-zbgs = <vkbur1>-bezei.MODIFY gt_out FROM gt_out TRANSPORTING zbgs WHERE vkbur = <vkbur1>-vkbur.ENDLOOP.* 查询销售组SELECTvkgrp,bezeiINTO TABLE @DATA(vkgrp1)FROM tvgrt FOR ALL ENTRIES IN @gt_out WHERE vkgrp = @gt_out-vkgrp AND spras = '1'.LOOP AT vkgrp1 ASSIGNING FIELD-SYMBOL(<vkgrp1>).CLEAR gt_out.gt_out-zxsz = <vkgrp1>-bezei.MODIFY gt_out FROM gt_out TRANSPORTING zxsz WHERE vkgrp = <vkgrp1>-vkgrp.ENDLOOP.* 查询产品组SELECTspart,vtextINTO TABLE @DATA(spart1)FROM tspat FOR ALL ENTRIES IN @gt_out WHERE spart = @gt_out-spart AND spras = '1'.LOOP AT spart1 ASSIGNING FIELD-SYMBOL(<spart1>).CLEAR gt_out.gt_out-zcpz = <spart1>-vtext.MODIFY gt_out FROM gt_out TRANSPORTING zcpz WHERE spart = <spart1>-spart.ENDLOOP.* 查询销售地区SELECTbzirk,bztxtINTO TABLE @DATA(bzirk1)FROM t171t FOR ALL ENTRIES IN @gt_out WHERE bzirk = @gt_out-bzirk AND spras = '1'.LOOP AT bzirk1 ASSIGNING FIELD-SYMBOL(<bzirk1>).CLEAR gt_out.gt_out-zxsdq = <bzirk1>-bztxt.MODIFY gt_out FROM gt_out TRANSPORTING zxsdq WHERE bzirk = <bzirk1>-bzirk.ENDLOOP.*查询客户类型描述SELECT kdgrp,ktext INTO TABLE @DATA(khlx1) FROM t151t FOR ALL ENTRIES IN @gt_out WHERE kdgrp = @gt_out-kdgrp AND spras = '1'. LOOP AT khlx1 ASSIGNING FIELD-SYMBOL(<khlx1>).CLEAR gt_out.ENDIF.ENDFORM.FORM fun_show_data.DEFINE append_alv_field.CLEAR g_line.g_line-fieldname = &1.g_line-tabname = 'GT_ALV'.g_line-reptext_ddic = &2.g_line-seltext_l = &2.g_line-seltext_m = &2.g_line-seltext_s = &2.g_line-just = 'C'.g_line-ddictxt = 'L'.IF zero = ''.g_line-no_zero = &3.ENDIF.APPEND g_line TO gt_fieldcat.END-OF-DEFINITION.gt_layout-colwidth_optimize = 'X'. " ⾃适应宽度gt_layout-zebra = 'X'.REFRESH:gt_fieldcat.IF p_alv1 = 'X'.append_alv_field 'vbeln''销售订单号''' .append_alv_field 'ddlx''订单类型''' .append_alv_field 'ernam''创建者''' .append_alv_field 'vbelv''系统合同号''' .append_alv_field 'bstkd''纸质合同号''' .append_alv_field 'kunnr''客户编码''' .append_alv_field 'zkhmc''客户名称''' .append_alv_field 'kdgrp''客户类型''' .append_alv_field 'khlxms''客户类型描述''' .append_alv_field 'ZLSCH''付款⽅式''' .append_alv_field 'vkorg''销售组织''' .append_alv_field 'zzz''销售组织描述''' .append_alv_field 'vtweg''渠道''' .append_alv_field 'zqd''渠道描述''' .append_alv_field 'spart''产品组''' .append_alv_field 'zcpz''产品组描述''' .append_alv_field 'vkbur''销售办公室''' .append_alv_field 'zbgs''销售办公室描述''' .append_alv_field 'vkgrp''销售组''' .append_alv_field 'zxsz''销售组描述''' .append_alv_field 'bzirk''销售地区''' .append_alv_field 'zxsdq''销售地区描述''' .append_alv_field 'erdat''订单⽇期''' .append_alv_field 'zywy''业务员''' .append_alv_field 'ywyxm''业务员姓名''' .append_alv_field 'zdls''代理商''' .append_alv_field 'zdlsmc''代理商描述''' .append_alv_field 'sccj''实验室''' .append_alv_field 'zshck''送货仓库''' .append_alv_field 'zshckmc''送货仓库名称''' .append_alv_field 'city1''送货仓库城市''' .append_alv_field 'street''送货仓库地址''' .append_alv_field 'name_co''收货⼈''' .append_alv_field 'tel_number''电话''' .append_alv_field 'zzxzt''资信状态''' .append_alv_field 'zjhhkrq''计划回款⽇期''' .append_alv_field 'posnr''⾏号'''.append_alv_field 'matnr''物料编码''' .append_alv_field 'arktx''物料描述''' .append_alv_field 'ztype''A/B/C分类''' .append_alv_field 'kwmeng''销售单位数量''X' .append_alv_field 'vrkme''销售单位''' .append_alv_field 'jbdwsl''基本单位数量''X' .append_alv_field 'jbdw''基本单位''' .append_alv_field 'zkpjg''销售单位含税单价''X'.append_alv_field 'jbdwdj''基本单位含税单价''X'.append_alv_field 'zje''含税⾦额''X' .append_alv_field 'kbmeng''可⽤库存''X' .* append_alv_field 'vrkme' '可⽤库存单位' '' '' '' '' '' '' ''.append_alv_field 'lfimg''发货数量''X' .* append_alv_field 'vrkme' '发货数量单位' '' '' '' '' '' '' ''. append_alv_field 'LFSTA''交货描述''' .append_alv_field 'cksl''出库数量''X' .* append_alv_field 'vrkme' '出库数量单位' '' '' '' '' '' '' ''. append_alv_field 'zwjh''未交货数量''X' .append_alv_field 'fkimg''开票数量''X' .append_alv_field 'zwkp''未开票数量''X' .append_alv_field 'zkpje''开票⾦额''X' .append_alv_field 'zhpje''返利⾦额''X' .append_alv_field 'ztext''⾏项⽬⽂本''' .append_alv_field 'VSART''运输⽅式''' .append_alv_field 'kbetr''折扣单价''X' .append_alv_field 'kwert''折扣⾦额''X' .append_alv_field 'zsl''税率''' .append_alv_field 'hkje''回款⾦额''X' .append_alv_field 'whkje''未回款⾦额''X' .append_alv_field 'qzsl''清账数量''X' .append_alv_field 'jbdw''清账数量单位''X' .append_alv_field 'wqzsl''未清账数量''X' .append_alv_field 'jhje''交货⾦额''X' .append_alv_field 'ckje''出库⾦额''X' .ELSE.append_alv_field 'vbeln''销售订单号''' .append_alv_field 'ernam''创建者''' .append_alv_field 'vbelv''系统合同号''' .append_alv_field 'bstkd''纸质合同号''' .append_alv_field 'kunnr''客户编码''' .append_alv_field 'zkhmc''客户名称''' .append_alv_field 'khlxms''客户类型描述''' .append_alv_field 'vkorg''销售组织''' .append_alv_field 'zzz''销售组织描述''' .append_alv_field 'vtweg''渠道''' .append_alv_field 'zqd''渠道描述''' .append_alv_field 'spart''产品组''' .append_alv_field 'zcpz''产品组描述''' .append_alv_field 'vkbur''销售办公室''' .append_alv_field 'zbgs''销售办公室描述''' .append_alv_field 'vkgrp''销售组''' .append_alv_field 'zxsz''销售组描述''' .append_alv_field 'bzirk''销售地区''' .append_alv_field 'zxsdq''销售地区描述''' .append_alv_field 'erdat''订单⽇期''' .append_alv_field 'zjhhkrq''计划回款⽇期''' .append_alv_field 'zsjhkrq''实际回款⽇期''' .append_alv_field 'zywy''业务员''' .append_alv_field 'ywyxm''业务员姓名''' .append_alv_field 'zdls''代理商''' .。

SAP数据清单一览表

表单 统计
模块 序号 名称
SD
11 客户信息及信用额度创建/修改申请表
12 新产品价格申请表
13 价格变更申请表 14 销售订单修改/取消评审单 15 客户投诉单
PP
1 工作中心申请表
2 工作中心查询报表
3 工艺路线申请表
4 工作路线查询报表
5 材料清单申请表
6 材料清单查询报表
7 月度生产计划表
8 月度生产计划报表
9 生产订单列表
10 倒扣料错误报表
11 库存查询报表
12 库存查询报表
13 返工生产订单查询报表
14 生产线材料退料单
15 报废品入库清单报表
MM
1 新建物料主数据申请表
2 物料主数据修改申请表
3 供应商主数据维护表
4 采购申请单
5 比价表
6 采购信息记录维护表
7 货源清单维护表
9 委外加工配料单
20 普通/保税材料退料单
M
21 领料单
M
22 报废单
M
25 盘点差异表
M
FI
1 会计科目/初级成本要素维护申请表
M
6 费用报销申请单
M
8 银行保函申请/解冻表
M
10 员工主数据维护申请表
M
12 借款申请单
M
15 付款申请单
M
16 供应商维护申请表
M
19 验收入库单
M
21 资产验收单
M
22 资产主数据维护表
12 供应商退货单
13 进料检验收货凭证
14 材料入库单
15 固定资产入库单
16 仓库调拨单
17 库存物资转移单
18 普通配料单/保税配料单

SAP常用业务数据表

SAP_常用业务数据表分类:SAP-ALLABAPSAP-TABLE2011-08-17 11:462248人阅读评论(0)收藏举报目录(?)[+]表的要求表中使用的字段请尽量参照各模块的SAP字段标准使用习惯;例:“ZXSLRZX销售组织对应的利润中心”中的销售组织应该使用VKORG、利润中心应该使用PRCTR。

根据表的用途,需确定是否属于配置目的、还是业务目的。

配置表的建议:需要加入MANDT字段例:“ZQJQD缺件清单”就没有MANDT字段需提供相应的维护视图;例:如ZCHECK_MM01工厂和利润中心的对应为保证DEV/QAS/PRD系统的一致性,不应该对配置表提供批量维护的功能,而应该走Request传输流程;例:“ZMM_GSJJGLJ公司间物料转卖价格逻辑”就是一个失败的开发案例。

若有必要,可激活日志功能,便于对配置的更改查询;在定义表的时候,请不要偷懒使用“预定义数据类型”这种方式;业务表的建议:若无特殊目的,也请加入MANDT字段在定义关键字段的时候,请务必慎重,在理解业务需求的前提下,合理设置;(数据存在后,关键自动的变更存在较大风险)为减少系统存储空间,一般不需要激活更改日志;在定义表的时候,请不要偷懒使用“预定义数据类型”这种方式;程序的要求程序的选择屏幕,如果需要提供缺省值,请尽量通过Memory ID的方式实现,不要使用硬代码。

例:“ZPOOIS采购订单信息报表”中的公司代码(BUK)、工厂(WRK)。

程序的选择屏幕上的选择文本,如果属于标准字段,若无特殊需求,请尽量使用Dictionary,避免造成在不同语言环境中显示错误的情况。

例:ZPOOIS的选择屏幕在英文环境下完全错误,而ZJSJSNEW就相对正确。

程序变式(选择变式、输出变式)的灵活使用ALV报表,请提供变式功能(IS_VARIANT ,I_SAVE等变量);例:ZPOOIS的输出格式就无法保存。

二次开发程序中定义的自定义表,需考虑相应数据的删除及归档策略,并应该对数据量的大小有合理的估计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档