FI 数据源(AP) 及 增量逻辑

news2024/12/24 22:07:17

AP

一般AP里要分析行项目数据,交易数据,历史付款信息。

还有一些供应商主数据。

基础的抽取数据源就是下面几个:

  • 0FI_AP_4: Vendors: Line Items with Delta Extrcation
  • 0FI_AP_6: Vendor Sales Figures via Delta Extraction
  • 0FI_AP_7: Vendor SGL Sales Figures using Delta Extraction

1. 数据源

1.1 0FI_AP_4

这个是从表BSIK(未清项)和BSAK(已清项)来的。

提取器:BWFID_GET_FIAP_ITEM

提取结构:DTFIAP_3 (从原先那个0FI_AP_3改来的)

在数据源里有个CI_BSIK结构用来添加附加字段。

这个CI_BSIK结构自动包括在主结构DTFIAP_3里。

这里有个0FI_AP_30数据源,也是一样的提取结构DTFIAP_3。

但是它不支持delta init:

提取结构一样,提取器不一样。

0FI_AP_4用的是时间戳方法。而不是delta queue。

字段

描述

原始表

原始表字段

BUKRS

Company code

BSIK, BSAK

BSIK-BUKRS

FISCPER

Fiscal year/period

BSIK, BSAK

BSIK-GJAHR

BSIK-MONAT

BELNR

Accounting document number

BSIK, BSAK

BSIK-BELNR

BUZEI

Account document posting line

BSIK, BSAK

BSIK-BUZEI

UPOSZ

Subitem number

= 0001

STATUSPS

Status of the FI item (O = open, C = cleared)

BSIK, BSAK

BSIK-BSTAT,

BSIK-AUGDT

LIFNR

Account number of the vendor or creditor

BSIK, BSAK

BSIK-LIFNR

KKBER

Credit control area

BSIK, BSAK, T001

BSIK-KKBER or T001-KKBER

MABER

Dunning area

BSIK, BSAK

BSIK-MABER

KOART

Account type

= K

UMSKZ

Special G/L indicator

BSIK, BSAK

BSIK-UMSKZ

BLART

Document type

BSIK, BSAK

BSIK-BLART

BSCHL

Posting key

BSIK, BSAK

BSIK-BSCHL

FISCVAR

Fiscal year variant

T001

T001-PERIV

BLDAT

Document date in document

BSIK, BSAK

BSIK-BLDAT

BUDAT

Posting date in the document

BSIK, BSAK

BSIK-BUDAT

CPUDT

Day on which accounting document was created

BSIK, BSAK

BSIK-CPUDT

AUGDT

Clearing date

BSIK, BSAK

BSIK-AUGDT

MADAT

Last dunning date

BSIK, BSAK

BSIK-MADAT

NETDT

Due date for net payment

BSIK, BSAK

通过FM DETERMINE_DUE_DATE 计算

SK1DT

Due date according to cash discount terms 1

BSIK, BSAK

通过FM DETERMINE_DUE_DATE 计算

SK2DT

Due date according to cash discount terms 2

BSIK, BSAK

通过FM DETERMINE_DUE_DATE 计算

ZFBDT

Baseline date for due date calculation

BSIK, BSAK

BSIK-ZFBDT

ZBD1T

Cash discount days 1

BSIK, BSAK

BSIK-ZBD1T

ZBD2T

Cash discount days 2

BSIK, BSAK

BSIK-ZBD2T

ZBD3T

Net payment terms period

BSIK, BSAK

BSIK-ZBD3T

ZBD1P

Cash discount percentage 1

BSIK, BSAK

BSIK-ZBD1P

ZBD2P

Cash discount percentage 2

BSIK, BSAK

BSIK-ZBD2P

LAND1

Country key

T001

T001-LAND1

ZLSCH

Payment method

BSIK, BSAK

BSIK-ZLSCH

ZTERM

Terms of payment key

BSIK, BSAK

BSIK-ZTERM

ZLSPR

Payment block key

BSIK, BSAK

BSIK-ZLSPR

RSTGR

Reason code for payments

BSIK, BSAK

BSIK-RSTGR

MANSP

Dunning block

BSIK, BSAK

BSIK-MANSP

MSCHL

Dunning key

BSIK, BSAK

BSIK-MSCHL

MANST

Dunning level

BSIK, BSAK

BSIK-MANST

LCURR

Currency key of the local currency

T001

T001-WAERS

DMSOL

Debit amount in local currency

BSIK, BSAK

BSIK-SHKZG,

BSIK-DMBTR

DMHAB

Credit amount in local currency

BSIK, BSAK

BSIK-SHKZG,

BSIK-DMBTR

DMSHB

Local currency amount (+/-)

BSIK, BSAK

BSIK-SHKZG,

BSIK-DMBTR

SKNTO

Cash discount amount in local currency

BSIK, BSAK

BSIK- SKNTO

WAERS

Currency key

BSIK, BSAK

BSIK-WAERS

WRSOL

Debit amount in foreign currency

BSIK, BSAK

BSIK-SHKZG,

BSIK-WRBTR

WRHAB

Credit amount in foreign currency

BSIK, BSAK

BSIK-SHKZG,

BSIK-WRBTR

WRSHB

Foreign currency amount (+/-)

BSIK, BSAK

BSIK-SHKZG,

BSIK-WRBTR

SKFBT

Amount eligible for cash discount in document currency

BSIK, BSAK

BSIK-SKFBT

WSKTO

Cash discount amount in document currency

BSIK, BSAK

BSIK-WSKTO

KTOPL

Chart of accounts

T001

T001-KTOPL

HKONT

General ledger account in G/L accounting.

BSIK, BSAK

BSIK-HKONT

SAKNR

G/L account number

BSIK, BSAK

BSIK-SAKNR

FILKD

Branch account number

BSIK, BSAK

BSIK-FILKD

AUGBL

Clearing document number

BSIK, BSAK

BSIK-AUGBL

XBLNR

Reference document number

BSIK, BSAK

BSIK-XBLNR

REBZG

Invoice document number

BSIK, BSAK

BSIK-REBZG

REBZJ

Fiscal year of the relevant invoice

BSIK, BSAK

BSIK-REBZJ

REBZZ

Posting item in the relevant invoice

BSIK, BSAK

BSIK-REBZZ

VBELN

Sales document number

XREF1

Reference key of the business partner

BSIK, BSAK

BSIK-XREF1

XREF2

Reference key of the business partner

BSIK, BSAK

BSIK-XREF2

XREF3

Reference key for the document items

BSIK, BSAK

BSIK-XREF3

SGTXT

Item text

BSIK, BSAK

BSIK-SGTXT

XNEGP

Flag: Negative Posting

BSIK, BSAK

BSIK-XNEGP

XARCH

Indicator: amount already in archive

BSIK, BSAK

BSIK-XARCH

UMSKS

Transaction class Special Ledger

BSIK, BSAK

BSIK-UMSKS

UPDMOD

BW delta process: Update mode

ZUONR

Assignment number

.INCLUDE DTFIAP-WF

.INCLUDE CI_BSIK

Customer exits for extract structureDTFIAP_3

增强

1.2 0FI_AP_6

这个数据源从表LFC1 (供应商主数据交易数据)来的。

提取器:BWFI2D_GET_FIAP_TRFI

提取结构:DTFIAP_1 (从原先那个0FI_AP_1改来的)

字段

描述

原始表

原始表字段

LIFNR

Account number of the vendor

LFC1

BUKRS

Company Code

LFC1

FISCPER

Fiscal Year/Period

LFC1

FISCVAR

Fiscal Year Variant

LFC1

CURTYPE

Currency Type

LFC1

CURRENCY

Currency key

LFC1

UM01S

Total Debit Postings

LFC1

UM01H

Total Credit Postings

LFC1

UM01K

Accumulated Balance

LFC1

UM01U

Sales of the Period

LFC1

UPDMOD

BW delta process: update mode

LFC1

1.3 0FI_AP_7

这个从LFC3(供应商主数据 特殊总账交易数据)来的。

提取器:BWFI2D_GET_FIAP_TRFI_SPGL

提取结构:DTFIAR_7

字段

描述

原始表

原始表字段

LIFNR

Account number of the vendor

LFC3

BUKRS

Company Code

LFC3

FISCPER

Fiscal Year/Period

T001

FISCVAR

Fiscal Year Variant

LFC3

CURTYPE

Currency Type

LFC3

CURRENCY

Currency key

LFC3

UM01S

Total Debit Postings

LFC3

UM01H

Total Credit Postings

LFC3

UM01K

Accumulated Balance

LFC3

UM01U

Sales of the Period

LFC3

1.4 行项目提取增量逻辑

采用时间戳增量。也就是说会有一个时间戳字段在行项目里,然后会有个时间戳的表,记录哪些时间段已经被读取过了。下次抽取增量数据集从时间戳开始直接发送到BW里。不用再放到ERP的Delta queue里。

行项目数据源基本都用AIE(after-image delta)后像增量。这个就不好直接到BW的Cube类型的ADSO里。因为Cube里是直接累加,没有前像的抵消,累加会重复。

所以这种得先到标准ADSO里,用它的change log表来找到更改的记录,再往后传到上层ADSO。

那么时间戳在哪里?实际上在GL的抬头表BKPF里,在字段BKPF-CPUDT里。

当上一次的delta DTP抽取完了,ECC里面就会记录两个时间戳字段在BWOM2_TIMEST里面。

AEDAT是你的DTP抽取的时间。TS_LOW和TS_HIGH是从1900.01.01开始的秒数。抽完了就会在这两个字段对应的区间范围打个X。表示上次抽过这里的数据了,下次抽得从HIGH的往后。

转换一下来看: 

每次抽取都会在最新的一次区间内打钩。

所有的行项目都是这么个抽取方式:

 对于行项目来讲,一天只能抽上一天的所有增量集。因为在字段BKPF-CPUDT里,只有date没有time。大概就这么设计的,安全区间就是1天,用AIE过来,只取一天内最后一次更改的后像。

那么如果月末进行的更改,持续到了下月初一,这数据岂不是要到初二才能拿过来。这明显不行啊。

这种情况下,SAP说可以去设置一个表BWOM_SETTINGS里面的参数。

BWFIOVERLA

这个参数默认是空的。设置成X就允许时间区间的重叠。注意这个是有限制的,在BWFITIMEBOR这个里面是020000,也就是说如果提取时间是在02:00:00之前开始,就是打了X,也还是会提取前一天的数据。但是这个设置我们没有做,所以暂时行项目里我们只能拿到前一天的数据。

*解释SETTING表参数

BWFILOWLIM 这个就是你初始化增量的DTP的起始时间。默认值设置为19910101。

BWFISAFETY 计算提取日期上限,初始化的就是从当前日期到提取日期当天。增量的话就是从上次增量到当前日期-BWFISAFETY。这个是天数,最小1天。就是你最少能抽一天的增量,最大就是上次抽取的时间到前一天。

DELTIMEST 这个就是日志保留时间 默认60天。(是针对三个log表BWFI_AEDAT, BWFI_AEDA2 , BWFI_AEDA3)时间戳表BWOM2_TIMEST里会保留60天的抽取记录。60天前的会被删掉。那么对应的,日志表中的BWFI_AEDAT/2/3的更改记录也会被删掉。

BWFITIMBOR 默认为2点,格式为HHMMSS。意思是如果delta抽取时间在2点之后,那数据就是前一天的。如果是2点之前,那就是会取昨天之前一天的,又倒退一天。这也是个安全区间吧。比如你9月10号两点前跑DTP,那会去拿9月8号那天的。而两点后去跑,会去拿9月9号的。

BWFIOVERLA 这个是针对于年结或者月结的大批量数据处理,假设12月31号晚上处理的数据到1号的提取时间还没确认。还没存到数据库里。

默认是空,就是抽取的是上次的抽取时间戳到本次抽取时间-1天内的所有增量。

那么,填X 意思是忽略BWFISAFETY里面的值,delta的时间会是从上一次抽取的时间戳到这次抽取的时间。

BWFINEXT: 打了X好像是流抽取。默认是空。这个没整过。如果这里打了X,那这几个参数就被忽略了BWFIOVERLA , BWFISAFETY , BWFITIMBOR。具体在Note 991429里有。

*解释结束

如果GL没有进行增量抽取,那么AR和AP也就没有增量数据。所以处理链里先搞GL。

对于在上次增量抽取过后做更改的行项目数据,没有办法记录更改的时间。所以所有行项目只要做了更改都会被记录到系统里,更改了的行项目和凭证的key,和时间都会放到表BWFI_AEDAT里。

就相当于是个change日志表:

根据这个log表,提取器能找到增量数据集。

只要是你手动更改了行项目凭证的,或者是清行项目,或者是更改行项目的催款数据的。都会被记到这个表里。

这些都是由一些系统自带的更新程序搞起来的。细节的咱就不去追了。

只要知道在表TPS31里面有FM BWFIP_WRITE_AEDAT_POINTER就行了。SM30可以添加这条。它这FM是说写BKPF的change pointer。

在BW的增量初始化的时候就会自动在表TPS31里加这条。加了之后就是告诉系统接下来要记录增量了。我以后要弄增量DTP了。AEDAT这里写的是BSEG和BKPF的增量,其他的可以自己去看。

基本上搞完增量初始化,根据setting表里的增量区间,比如是1就是1天,那一天后可以开始增量抽取。

当然对于增量初始化的,也还是应该先搞GL的,再弄AR和AP的。要不然数据不一致了。有些时候增量初始化需要对财年和公司代码做限制的。那么应收和应付也都是跟着总账来,总账先搞哪些过滤参数,应收应付也是跟着用哪些过滤参数。

对行项目的增强可以在customer include里进行:

那么有两种情况,如果你在CI里面加的字段,就在它本身提取结构的表里,那就不用写增强逻辑了,因为提取器里就写了从那些表来的move corresponding 就能直接取出来。

如果是从其他表来的,就得用BW的BADI了,现在就是那个RSU5啥的。搞完了去RSA6把隐藏的字段给放出来。

1.5 交易数据提取增量逻辑

过程一样。就是增量日志表不一样:BWFI_AEDA2

时间戳表是一样的:BWOM2_TIMEST.

Delta init的DTP执行时候会生成这条在TPS31的记录:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/954591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQLPro Studio for Mac:强大的SQL开发和管理工具

SQLPro Studio for Mac是一款强大的Mac上使用的SQL开发和管理工具,它支持各种数据库,包括MySQL,PostgreSQL,SQLite等。使用 SQLPro Studio,您可以轻松地连接和管理您的数据库,执行SQL查询和脚本&#xff0c…

【python爬虫】8.温故而知新

文章目录 前言回顾前路代码实现体验代码功能拆解获取数据解析提取数据存储数据 程序实现与总结 前言 Hello又见面了!上一关我们学习了爬虫数据的存储,并成功将QQ音乐周杰伦歌曲信息的数据存储进了csv文件和excel文件。 学到这里,说明你已经…

国标视频融合云平台EasyCVR视频汇聚平台关于远程控制的详细介绍

EasyCVR国标视频融合云平台是一个能在复杂网络环境下统一汇聚、整合和集中管理各类分散视频资源的平台。该平台提供了多种视频能力和服务,包括视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、集群、电子地图、H.265视频自动转码和智能分析等…

一种基于WinDump自动抓包实现方法

本发明的技术方案包括以下步骤和组件: 配置抓包参数:设置抓包的IP、端口以及过滤包大小等参数,以控制抓取的数据范围。循环自动抓包:利用WinDump工具实现循环自动抓包功能,类似于记录日志的方式保留抓包数据。当抓包数…

年收入超10亿美金?OpenAI 的“赚钱戏法”

点击关注 文丨郝鑫、刘雨琦,编丨刘雨琦 “我当时见到他不到三分钟,就在想,啊,19岁的比尔盖茨估计也就这样了吧!” 在YC创始人Paul Graham(格雷厄姆)的眼里,28岁的Sam Altman与19…

香港服务器快还是台湾服务器快?

​  基于机房位置不同,香港服务器相对于台湾服务器在访问速度方面有一定的优势。香港服务器拥有CN2线路,因此访问速度较快。在网络服务商方面,中华电信等台湾服务商提供的带宽也具有很高的性价比。 香港服务器对大陆用户的影响 对于大陆用户…

如何将电子画册生成二维码,扫码查看产品图册?

随着移动互联网的发展,二维码已经成为了人们生活中不可或缺的一部分。无论是支付宝、微信支付的扫码支付,还是商家的促销活动、产品包装上的二维码,都展示了二维码的广泛应用。 电子画册也果不其然,它也可以生成二维码&#xff0c…

高德地图jsapi报错INVALID_USER_SCODE

看了各种网上方法,还是搞不定。无奈在高德开放平台提了工单。 很快高德的技术人员就给出了答复“您好,您检查一下您的安全密钥是否在key之前,安全密钥设置必须是在JS API 脚本加载之前进行设置,否则设置无效。” 并给出了推荐的…

使用 zipfile创建文件压缩工具

在本篇博客中,我们将使用 wxPython 模块创建一个简单的文件压缩工具。该工具具有图形用户界面(GUI),可以选择源文件夹中的文件,将其压缩为 ZIP 文件,并将压缩文件保存到目标文件夹中。 C:\pythoncode\new\z…

如何提高工业网关的数据传输速度?

工业网关是工业物联网系统中不可或缺的设备,提高工业网关的数据采集、传输速度,是保障和优化物联网系统运营效率的基础。如何提高工业物联网关的数据传输速度?本篇就为大家简单介绍一下。 1、选用高品质网络设备 选用具有足够带宽容量的高质…

深圳发墨西哥专线要多久才能清关?

深圳发往墨西哥专线的货物清关时间会受到多种因素的影响,包括货物的性质、数量、海关政策、运输方式以及货物的文件准备等。下面将详细介绍这些因素对清关时间的影响。 1.货物的性质和数量是影响清关时间的重要因素之一。 一般来说,墨西哥专线中普通商品…

C语言_分支和循环语句(3)

文章目录 前言一、猜数字游戏1.1.电脑随机生成一个数(1~100);1.2.猜数字:1.3.玩完一把不过瘾,可以继续玩,不用退出程序。1.4.rand 和 srand 之间的联系5.猜数字游戏源码 二、go to 语句2.1.例如&#xff1a…

PMP项目管理主要学习内容是什么?

PMP项目管理是指根据美国项目管理学会(Project Management Institute,简称PMI)制定的项目管理知识体系和方法论进行项目管理的一种认证。PMP主要关注项目的规划、执行和控制等方面的知识和技能。 下面是PMP项目管理《PMBOK指南》第六版的主要学习内容: …

RT-内核介绍

内核是一个操作系统的核心,是操作系统最基础也最重要的部分。它负责管理系统的线程、线程间通信、系统时钟、中断及内存等。 下图为 RT-Thread 内核架构图,内核部分包含内核库、实时内核实现。 内核库是为了保证内核能够独立运行的一套小型的类似C库的函…

新款岚图 FREE 26.69 万元,继续修高端操作

新款岚图 FREE 正式上市,新车共有一款车型,超长续航智驾版售价 26.69 万元。 在选装和上市权益方面,新款岚图 FREE 可选装百度 Apollo 高阶智驾选装包,价值 2.5 万元。 在 12 月 31 日前购买新款岚图 FREE ,用户可以…

视频监控/视频汇聚/视频云存储EasyCVR平台接入华为ivs3800平台提示400报错,该如何解决?

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频云存储/安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频…

【高级程序设计语言C++】C++11

1. lambda表达式2. 移动构造函数和移动赋值运算符重载3. default关键字4. delete关键字5. 可变参数模板6. push_back和emplace_back的区别6.1. emplace_back的优势 7. 包装器7.1. 包装器的语法格式 1. lambda表达式 在C中,lambda表达式是一种用于创建匿名函数的语法…

发表于《自然》杂志:语音转文本BCI的新突破实现62字/分钟的速度

语音脑机接口(BCI)是一项创新技术,通过用户的大脑信号在用户和某些设备之间建立通信通道,它们在恢复残疾患者的言语和通信能力方面具有巨大潜力。 早期的研究虽然很有希望,但尚未达到足够高的精度来解码大脑活动&…

深入MaxCompute -第十弹 -IF ELSE分支语句

简介: MaxCompute通过脚本模式支持IF ELSE分支语句,让程序根据条件自动选择执行逻辑,支持更好的处理因数据不同而需要采用不同策略的业务场景产生的复杂SQL,提高开发者编程的灵活性! MaxCompute(原ODPS&am…

正中优配:回购!回购!再回购!已成A股新常态?

上市公司回购潮还在继续! 8月30日,海通证券、捷佳伟创等多家上市公司纷繁发布回购公告。自8月18日证监会提出“放宽相关回购条件,支撑上市公司展开股份回购”以来,A股上市公司掀起了一轮“回购潮”。Wind数据显现,8月…