UDT-无对象-B1if

2020-08-24 07:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我成功地用B1if...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我成功地用B1if复制了UDO,但是我无法使用类型为"无对象"的用户定义表来做到这一点。

请,有人可以帮助我吗?

感谢您能提供的任何帮助。

费尔南达

4条回答
Baoming ROSE
2020-08-24 08:01 .采纳回答

您好Fernanda,

对于UDT,您可以使用标准的B1事件机制。 只需激活B1EventMonitor,您将看到模式为的事件。

这是一个称为@INBOUND的UDT的INBOUND定义的示例:

 <入站>  <方法>检索  JDBC   SQL     select * 从[@INBOUND]中,其中代码='$ key'     SAP Business One  异步  B1Event   INBOUND   B1 Event   na     

UDT的出站定义-如果您没有基于UDT定义的UDO-通过SQL为B1:

    SAP Business One   B1i SQL    <  OUT_B1>  单个    

您的atom0应该具有以下结构(可以在B1i联机帮助中的B1出站短语下找到):


...


...


...


...


...

B1out/@ type

必填根标记B1out,值为b1isql的必填属性

SQL/@ sqlmode

这是必需标记SQL。 sqlmode 属性也是必需的。 将该值设置为" single"或" multiple"。 此标志与处理多个SQL语句有关。 默认值为"多个"。

  • 系统使用分号连接多个SQL语句。 系统将这条SQL语句移交给数据库。 大多数数据库系统都支持此功能。
  • 在这种模式下,B1i依次处理每个SQL语句。 如果目标数据库系统不支持以分号分隔的多个SQL语句,则这是必需的。 例如,对于DB2数据库系统就是如此。

"表格"是固定值。 使用它来定义数据库表记录。 您可以定义多个标签。 您可以嵌套标签以表示父子关系。

表/@ id

" id"属性指定数据库表的名称。

表/@键列表

" keylist"属性表示主键字段名称的规范。 如果主键包含多个串联的字段值,请输入所有字段名称的逗号分隔列表。

表/@任务

指定数据库中的操作。

  • task =" A"(自动检测)

自动检测确定是否需要更新或插入。 系统使用主键的定义分别检测每个记录的正确操作。

  • task =" I"(插入)
    该操作为插入。 如果记录已经存在,则会导致重复的条目或数据库中唯一的键约束。
  • task =" U"(更新)
    操作正在更新。 如果记录不存在,则系统不会插入任何记录。
  • task =" D"(删除)
    该操作已删除。 如果该记录不存在,则什么也不会发生。

表/@ del

如果操作为" D",请定义一个逗号分隔的表名列表,其中会发生其他删除。 此级联删除的前提是相同的主键。

字段

"字段"是用于在数据库表记录中定义字段的固定值。 您可以定义多个这些标签。

字段/@ id

" id"属性指定数据库表字段的名称。

字段/@值

"值"属性包含字段的值。

字段/@ wrapchar

默认情况下,该值由撇号字符引起来。 如果您不想这样做,例如,如果该值包含数字,则将wrapchar设置为 false 。

最好的问候

巴斯蒂安

P.S .:当然,应该非常小心地通过SQL语句插入UDT。

一周热门 更多>