SAP工具箱 自动生成发出接口程序(三 配置表)

SAP工具箱 自动生成发出接口程序(三 配置表)点击蓝字关注我们一前言前文讲了自动生成发出接口程序的基本操作及接口定义表的用处详见链接无峰,公众号:ABAP技巧与实战SAP工具箱自动生成发出接口程序(一)详见链接无峰,公众号:AB…_write(sel_display)

点击蓝字 关注我们

前言

前文讲了自动生成发出接口程序的基本操作及接口定义表的用处

详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 自动生成发出接口程序(一)

详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 自动生成发出接口程序(二 接口定义表)

本文主要介绍自动生成发出接口程序的几个配置表

相关配置表

  • ZTBC122C1                      配置接口下传程序

  • ZTBC122C2                      配置接口下传程序:数据来源表

  • ZTBC122C3                      配置接口下传程序:对应的表的关联关系

  • ZTBC122C4                      配置接口下传程序对应的表字段

ZTBC122C1

配置接口下传程序

2f57e038e652303972af0a8cb0db5c32.png

01

JIEKNO

JIEKNO 接口编号

02

ZISED

ZISED 接口的发送系统

03

ZIRCV

ZIRCV 接口的接收系统

04

JIEK_TYPE

JIEK_TYPE 下传接口的类型

  • S单表结构类型 . 数据通过一个单表结构下传 图三

  • M主从结构类型 . 对方是webservice 或http ,行项目是抬头中的一个节点与抬头字段并行 图四

  • P主主结构类型(行项目和抬头并列,行项目中需包含抬头的单号,用于JDBC写入中间表) 图五

  • Q主从->单表(接口程序配置中定义为主从表,但是PO定义为单表)(该模式不再需要,优化了下传控制表的主键识别)

0d339e4d6047f160f57af5a30feadc72.png

9b3c26e4e9fcca4c106d6e268cebce77.png

4154c568ad127acc48a331abaf96dba5.png

05

TCODE

TCODE 事务代码

指定下传程序生成的事务代码,命名规则: Z<接口编号>

06

01

请输入标题

TITLE

TITLE 报表标题(中文)

07

TITLE_E

TITLE_E 报表标题(英文)

08

FROM_TCODE

FROM_TCODE 报表标题来自TCODE的文本(根据登陆语言获取不同语言的文本)

因为报表标题只有中文TITLE和英文 TITLE_E, 为了支持更多的语言, 允许翻译TCODE. 然后从TCODE获取特定语言的描述作为报表标题

09

WRITE_COMPARE

WRITE_COMPARE记录接口比较表(写入表ZTIF_COMPARE)

标记后,单据类的接口下传时可以把单号信息写入表ZTIF_COMPARE中的记录发出. 对方系统再通过BC000接口把所有接收到的单号传给ECC,记录在表ZTIF_COMPARE中的接收信息. 这样可以快速验证单据的传递(发出,接收都有则表示成功,否则表示有问题,需要考虑一个延迟时间).

10

CHTAB

CHTAB 变化点记录的表(如果没有维护下传控制表,则按所有数据比较是否改变, 如果改变传输所有数据)

11

CHMETHOD

CHMETHOD 无下传控制表的变化量下传方式(单表结构使用)

如果没有下传控制表(配置类的表,码表等).可以使用下面几种方式获取变化量.

获取变化量的基本逻辑:每次下传都记录该接口已经传输的数据, 本次获取的数据和历史已传输数据比较,获取变化的数据.

  • 空 存在变化获取使用全部数据

  • E 增强获取变化量(生成的SQL语句不执行. 在ZBC122_XXXXX_51中自定义代码获取变化量,不和历史记录比较)

  • X 存在变化只获取变化部分的数据(如果想识别删除的部分,必须在添加删除标记字段DEL_FLAG)

  • Z 联合下传控制表使用(从下传控制表获取的变化量,再次检查与上次下传数据是否一致)

bdd364ac200c94d674b217e81f2150d9.png

12

DISTRIBUTE

DISTRIBUTE 分发标记(接口涉及到分发到不同的系统,需设置该标记)

一般情况下, 对于单据可能使用分发, 对于主数据可能使用群发

分发: 按特征把数据发到特定的服务器

群发: 把数据发给多个服务器

4635946b16e10e64bfc7152ae0dec736.png

13

DIST_FIELDNAME

DIST_FIELDNAME 分发的系统识别字段名

分发系统识别的特征. 该特征字段最好放到单据的抬头. 值会在在PO中配置接收方时使用.

78e3bfd25df18dba7ecbe77b6fa3c595.png

14

LOCK_FUNCTION

LOCK_FUNCTION 加锁函数名

为了避免接口传出时,用户恰好在调整数据,从而导致调整的数据记录的变化被覆盖.导致改变的内容没有传出. 需要在数据下传时加锁,避免下传的同时修改数据

数据量较大时,加锁可能会导致锁空间溢出. 在选择屏幕上可以控制是否加锁

5bf0e2b1646d401eb57a772f9526536e.png

15

DYNAMIC_URL

DYNAMIC_URL 动态URL(无控制作用,仅作说明用)

74ef6551dee6ec9d1629148ce67a5a28.png

16

MD5_SIGN

MD5_SIGN MD5签名

618cbe3d7b28325e323ce1f8a7127215.png

16

ORDFLG

ORDFLG主数据下传标记(主从结构或分发的主数据设置该标记后, 限制每个消息中的行的个数)

17

JIEKNO_PO

JIEKNO_POPO接口编号, 如果为空, 则取接口编号. 用于解决多个接口程序调用一个PO接口

如果多个下传程序需要调用同一个PO接口, 可以在这里定义PO的接口编号.

比如销售订单, 调拨单需要通过同一个接口传出到目标系统.因为销售订单,调拨单是不同的的表及下传控制表记录数据,所以必须配置生成两个程序,但是这两个程序可以使用同一个PO接口传输数据.

ZTBC122C2

配置接口下传程序:数据来源表

通过该配置,确定接口要发出的数据来源.

FTABALIAS 表的别名.如果关联中同一个表使用多次, 需要使用别名区分这个表的每次使用.

一般关联合作伙伴时会用到别名. 因为多个合作伙伴都保存在KNVP中,通过合作伙伴功能PARVW区分. 如果在单据抬头需要获取送达方/开票方, 需要多次关联KNVP . 每次关联限制不通的合作伙伴类型

5452f41e89cf25281c7b6b5648dfe3ad.png

6ba3638b0956d7d69c120b3c3f564fbc.png

ZTBC122C3

配置接口下传程序:对应的表的关联关系

  • JOIN_GROUP 如果两个表存在多个连接条件, 需要配置成相同的分组.

  • INNERJOIN 默认 INNER JOIN . 标记X 后表示LEFT JOIN .

  • ADD_JOIN_COND 关联表的附加条件. 比如 MARA关联MAKT ,因为MAKT中有多个主键, MATNR SPRAS . 为了避免产生过多的数据, 需要限制SPRAS = ‘1’ 只获取中文描述.

18d2c8d091725d51ae37a29248062cb1.png

9047d35edf90edccd4ffb7ac00021140.png

ZTBC122C4

配置接口下传程序对应的表字段

90256d482bf261eee09c2cf102a14d4d.png

01

JIEKNO

JIEKNO 接口编号

02

FTABL

FTABL 表名或表的别名(如果在C2表中配置了表的别名, 则使用表的别名),如果表名为空, 则不从数据库获取

03

FNAME

FNAME 字段名称

04

TOLEV

TOLEV 字段在接口的层级(单表结构类型的默认位H)

一般情况下, 从抬头表获取的字段设置H . 从明细表获取的字段设置I . 但是有时接口文档中会把明细表的字段放到抬头, 比如 地点 放到抬头(需要限制单据只有一个地点). 此时需要设置字段为H 表名该字段需要放到抬头表中.

79e4e2a979a6f29e04779b7d40926c4f.png

05

FNAME_ALIAS

FNAME_ALIAS 字段别名(允许为空)

如果多个表存在相同的字段名需要引入接口 或者接口中的字段名不同于表中的字段名,都需要给字段一个别名.

06

SELNAME

SELNAME 选择屏幕字段的名称(当字段名大于7个字符,需要命名一个选择字段的短名称)

选择字段长度不能超过9 去掉默认前缀 S_  选择条件字段需要一个小于7位的短名称.

07

SELPOS

SELPOS 选择屏幕字段存在

设置字段为选择字段

一般需要把关键字设置成选择字段, 也可以根据情况把日期,类型,组织机构等设置为选择条件,用于手工下传时限定数据选择的范围.

08

SEL_POS

SEL_POS 选择字段的位置

用于设置选择字段在选择屏幕中的位置

KEYFLAG

KEYFLAG关键字

标记字段是关键字

3a7720e2b84f23c55707bd3da7074f5e.png

09

DUPKEY

DUPKEY 重复项识别标记

大部分时候,重复项识别的字段等同于关键字, 可以不用设置, 特殊情况,重复项识别的字段不同于关键字, 此时可以设置重复项识别标记,让系统删除重复项.

79467f55dcd0bf1d31384da7a0fe3e45.png

10

NOT_NULL

NOT_NULL 字段非空标记(用来标记不允许为空的字段)

有时候目标系统会限定字段非空才能传输. 可以按目标系统的非空标记配置.配置了非空的标记的字段,如果内容为空, 该数据会直接标记错误, 不会传出.如果接收方是JDBC写入数据库,表字段定义了NOT NULL . 则必须设置这个标记, 否则接口JDBC写入目标数据表时会报错

5ab75ce779b414645b187d220704ceb1.png

11

STRING_LENGTH

STRING_LENGTH 字段长度限制

目标系统中的字段可能和ECC系统不一致. 如果是JDBC写入目标表,超过长度会导致PO端口报错.此时可以配置一个最大长度,让程序截尾,避免PO报错.

fbc6e947278897cfc3401657974a45b3.png

12

FTEXT

FTEXT 字段描述(中文)

13

FTEXT_E

FTEXT_E 字段描述(英文)

FROM_DB

FROM_DB字段描述来自数据元素的文本(根据登陆语言获取不同语言的文本)

14

REF_TABLE

REF_TABLE ALV 控制: 内部表字段的参考表名称

如果需要添加一个不在表中的字段,然后通过特定逻辑给该字段赋值,则需要设置参考表及参考字段,用来确定添加字段的类型信息. 一般会使用 ZSIF_REF 作为参考表.该结构中添加了很多常用的字段定义

0933fb719a6ace9d1b706ccabbfbe506.png

15

REF_FIELD

REF_FIELD  ALV 控制: 内部表字段的参考字段名称

16

OBLIGATORY

OBLIGATORY 必输标记

设置后,选择条件必须输入

17

NO_DISPLAY

NO_DISPLAY 选择字段不显示

设置后,选择条件不显示

18

MEMORYID

MEMORYID 设置/获取参数标识

选择条件的默认值来自参数ID

19

MATCHCODE

MATCHCODE 选择字段的搜索帮助

设置选择条件的搜索帮助. 一般情况下,数据元素中会定义一个搜索帮助, 选择条件默认使用该搜索帮助, 如果需要给选择条件指定一个搜索帮助. 可以设置一下.

20

SEL_VALUE

SEL_VALUE 默认选择内容: 仅支持单值或多个单值-通过/分割多个单值

设置选择条件的默认选择内容,与NO_DISPLAY 共同使用,可以给查询逻辑设置默认限制条件.

21

SEL_VALUE_COMPLEX

SEL_VALUE_COMPLEX 复杂选择内容设置标记(到通用配置表 ztbc_select_opt 中配置)

ZTBC_SELECT_OPT 是一个底层表,可以为所有通过ZBC121_CONFIG/ ZBC122_CONFIG 生成的程序设置默认选择条件.

6309c537b10acf9f0a89db158ec1bddf.png

22

SEL_AFTER

SEL_AFTER 选择条件后置(选择条件放在获取数据之后执行)

76d321bf2ffff07e846ecc1c6ff5a7d0.png

23

AUTHCHK

AUTHCHK 授权检查标记

ee81ac2ed64623aa06cdb9a980d3c173.png

24

SQL_EXPRESSION

SQL_EXPRESSION 字段的SQL表达式(配置字段的SQL表达式 :比如 a+b case  默认值等处理)

4484199c1d413864e70835be708379e7.png

25

COMPUTE_FORMULA

COMPUTE_FORMULA 计算公式(合计后, 用于字段内容的计算,可以使用其它字段 比如 = F1 + F2 ),注意:字段必须时输出字段

0b088800fdb2b9d2fbc4544320a1e278.png

26

COMPUTE_SORT

COMPUTE_SORT 计算公式的顺序

当多个字段存在计算公式,并且这些计算公式有依赖关系时, 需要给计算公式指定执行顺序,以便能够正确的执行出所需的数据内容.

27

CONV_RULE

CONV_RULE 字段的特殊转换规则(区分获取规则,转换规则)

转换规则可以给字段设置一个特定的内容转换方式. 转换规则代码写在类方法中.

ZCL_DATA_HELPER =>AUTO_CONVERSION_IF_OUTPUT

新增一个转换规则需要同时修改方法中的代码及修改域值定义

目前已经给出了一些常用的转换.

某些特定的转换需要使用辅助参数 RULE_PAR1  RULE_PAR2

fb650e0895e9d367a3c5766ccb911323.png

01835a5a262eea82aec1311475d62177.png

28

RULE_PAR1

RULE_PAR1 规则的输入参数1-数字

在特定的转换规则中辅助计算转换结果

29

RULE_PAR2

RULE_PAR2 规则参数(字符)

在特定的转换规则中辅助计算转换结果

30

CONV_FUNC

CONV_FUNC 转换函数(暂无此功能)

总结

自动生成发出接口程序是项目中无代码的一种尝试.所有接口中执行中实际碰到的问题,都尝试通过配置解决. 因此配置表中有很多字段.对接口行为起到不同的作用. 

通过程序ZBC122_CONFIG整合了这些配置表的维护及程序的生成及传输过程. 

详见连接

无峰,公众号:ABAP 技巧与实战SAP工具箱 自动生成发出接口程序(一)

有些配置直接生效, 有些配置通过生成的代码生效. 为了避免错误,修改配置后最好重新生成一下程序. 

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

0f1f238d1ce1e43614c547018ed8498d.png

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或参与话题讨论

今天的文章SAP工具箱 自动生成发出接口程序(三 配置表)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64464.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注