SAP SD实施笔记-客户主数据(二)

本篇承接上一篇的内容,继续记录客户数据接口、相关功能程序以及报表的开发说明说编写逻辑。

发出接口

如果是外围系统发送客户数据信息给我们,所需字段自然H Z - * 是以接受方,即我们SAP系统的需要决定。同样的,当我们需要发送客户主数据给外围系统的时候,所需字段由外围系统决定,我们与外围系统负责人在谈接口字段的时N R K候,主要以对方的需s Y f B O G ! .求为主,我们重点要反馈SAP这边的逻辑,使双方系统理解上达成一致。

就如我们接收外围系统, G ` # % ~ r { ?发的客户主数据,主要有3个动作:创建、修改、删除 一样,我们发送给外围系统客户信息的时候,主要也是由这三个动作触发接口发送信息。

如果外围系统不要求时效性非常强,即不需要SAP/ ^ / $ o建了客户h i 9 . Y C ] H后需要立马发送给外围系统Z J [ s,而是可以定期发送,那么我们可以开发一个程序,抓取一A V | A m 9 K Y定时间内创建、修改的客户,将其主数据通过接口发送出去。

抓取新建客户
在KNB1表中寻找所有创建日期满足选择屏幕字段日期的数据,将客户号码和公司代码为KEY值在日志表中查/ M b K }询,如果信息类型为S的记录则n A L D : G `证明已经成功发送过4 + r } $ / S ,,那么跳过本条记录。对未发送% R ( m q Q A过的记录,根据取数逻辑获取其他字段后写入日志- ; [ z ?表。

_ ` U m X + j U取修改了的客/ P x
在表CDHDR中通过OBJECTCLAS= DEBI,以及满足屏幕日期的条件,获得OBJECTID字段的客户号码,去除重复值,将客户号码放入KNB1表中,筛选出有值的客户号码和公司代码,将9 l h # T D F 6客户号码和公司代, ` s # : P码为KEY值,根据取数逻辑获取其他字段后写入日志r m m F N ( /表。

通过上面两种方式,抓取到了需要发送出去的客户号码和公司代码(区分创建和修改)。然后根据一定逻辑在表KNA1\KNVV\KNB1等表抓} @ ? s q ] s ?取接口字段,然后通过接口发送出去。

客户主数据相关功能

出于用户操作友好、提升效率的角度考虑,通常我们会针对客户主数据的创建、修改开发简单易用的程序,这里简单介绍一下通常会需要什么功能,具体逻辑不多赘述,做过. P % U $ {SD的人应该@ 4 % _ s % f h m都了解。
客户主数据批导程序,是指通过上传excel批量创建客户。excel模板/ s 0 c ^里的字段、格式、顺序建议和项目里其他涉及客户主数据的接口字段保持一致。批量创建客户主数据属于基本每个实施项目都会有的程} ( w Y ) M T Y 序,ABAPer手里估计也有现成的代码,改一改就可以用了。
扩充客户销售视图和公司视图。除了批量创建客户,通常还需要考虑批量s 7 . p 6扩充客户主数据的功能,例如,一个客户同时在公司1000和公司2000存在,E S ? c z . e b而且是用同一个客户代码。现在,该客户已经在SAP里创建了主数据,属于公司1000,那么,H I s * ( , Y我们需要考虑给客户扩充2000公司的销售视图和公司视图。建议批导程序和批量扩充销售视图、公司试图的程序分开来。
另外,还要考虑批量修改客户主数据的功能,该功能可以参考标准的批量修G & ,改程序(T CODE:MASS)中针对客户主+ W ! d Y K数% M b + | Q 9 ~据修改的逻辑。

客户主数据报表

报表相对来说是比较简单的,根据业务需要列出需要哪些字段,能直接从表取数据的就直接取数据,b F i - i (不能的写出逻辑让ABAPer开发。另,通^ ] + 2 - a b j常建议R ~ . U - C f 0 r客户主数据表以KNA1为基础表,跟其他表,如KNVV\KNB1等进行左连接。