简介
不能为生成的IDOC类型创建扩展,因为T代码BDBG或BDFG创建的ALE接口的扩展概念不能与扩展类型一起运行。
BAPI是ALE支持的通信的标准化接口。ALE服务所需的IDOCtypes可以从bapi生成。因此,可以在customer命名空间中创建自己的BAPI,并生成关联的BAPI-ALE接口,为BAPI生成以下对象:
生成的ALE IDoc接口执行以下任务:
创建生成的IDoc的分步过程
步骤1:使用IDoc类型下所需的customer字段创建新结构,如下所示。
步骤2:创建新的远程启用功能模块它负责通过SE37生成IDOC,如下所示。
步骤3:一旦创建了功能模块,我们需要为出站处理创建一个BAPI。这是作为业务对象(BO)方法实现的,并将利用先前创建的出站功能模块。
转到SWO1事务并创建新对象作为EQUI对象的副本,如下所示。(我们还可以创建一个新对象和一个方法。但是如果我们需要EQUI的方法,我们可以直接复制对象)
第4步:将新方法添加到使用之前创建的功能模块创建的业务对象中,如下所示,然后按。
第5步:提供方法,怎么查看大数据,方法名称和描述,然后单击。
第6步:不要在此处进行任何更改,ecs云服务器,只需单击。
第7步:出现确认弹出窗口,选择"是"继续。
第8步:创建方法后,不要忘记启用方法函数API。如下所示。双击该方法以获得此弹出窗口。
完成后,请注意方法()旁边的一个绿色小图标。这表示该方法已启用API。
第9步:现在单击对象并转到"编辑菜单",淘大客,选择发布状态为"待实现",如下所示。
第10步:保存对象类型,并在将发布类型更改为已实现时弹出确认消息。
第11步:现在单击对象并转到"编辑"菜单'并选择释放状态为'To Released'。
您将在'释放'上看到如下所示的对象名称旁边的小勾号,表示对象已释放。
步骤12:现在单击方法并转到'编辑菜单'并选择释放状态为'To Released',如下所示。(执行此操作之前,请确保创建的功能模块设置为release。)
您将在"release"上看到如下所示的方法名称旁边的小勾号,表示该方法已被释放。
步骤13:一旦上述步骤成功完成,请单击(生成)并保存。
步骤14:现在,转到BDBG T-Code并提供如下所示创建的对象和方法名称并单击(创建)。
第15步:提供消息类型并单击。
第16步:根据需要提供IDoc类型、出站功能模块和入站功能模块的名称并单击。
以下是结果。
单击IDoc类型以检查结构生成。
生成段:
这里需要注意的一点是,大数据分析方法,我们必须确保IDOC类型和生成的段必须设置为release,以确保它们在整个系统中的可见性。
创建一个分发模型-BD64,如下所示(添加BAPI和发送方和接收方以及上面创建的对象和方法)。
创建一个新的模型视图。
选择创建的模型视图单击"添加BAPI"并提供发送者/接收者和对象/方法的详细信息,如下所示。
添加BAPI时,模型视图如下所示。
之后,进入环境->生成合作伙伴配置文件。这将在Partner Profile的Outbound parameters中创建一个条目。
要尝试的示例ABAP代码
下面是要在创建的功能模块中填写的示例代码。
函数zbapi\U gen\U idoc.
*"---------------------------
*"*"Local Interface:
*"IMPORTING
*"值(外部编号)如BAPI\U ITOB\U PARMS-设备可选
*"值(数据通用)如BAPI\U ITOB结构BAPI\U ITOB
*"可选
*"值(数据专用)如BAPI\U ITOB\U EQ\U仅结构
*"BAPI\U ITOB\U EQ\U仅可选
*"值(数据车队)如BAPI\U车队结构BAPI\ U震源组
*"可选
*"值(有效日期)如BAPI\ U ITOB\ U PARMS-INST\ U日期可选
*"值(数据安装)如BAPI\ U ITOB\ U EQ\ U安装结构
*"BAPI\ U ITOB\ U EQ\ U安装可选
*"值(数据生成)如ZDATA\ U生成结构
*"ZDATA\ U生成可选
*"表
*"返回结构BAPIRET2
*"---------------------------
数据:bdi\U logsys的it\U接收器类型标准表,
它过滤bdi\U fobj的类型标准表。
*调用函数模块获取接收者列表。
调用函数'ALE\U ASYNC\U BAPI\U get\U RECEIVER'
导出
对象='ZEQUI'
方法='ZCUSTSEGMENT'
表
接收者=it\U接收器
过滤器对象\U值=it\U过滤器
例外
过滤器对象中的错误\U=1
ale中的错误\U自定义=2
其他=3.
调用函数"ZOUTOUT \u GEN \u IDOC \u EQUI"
导出
外部编号=外部编号
数据常规=数据\常规
数据指定=数据\特定
数据组=数据\组
有效日期=有效日期
数据安装=数据\安装
数据生成=数据\生成
表格
接收器=it \接收器
例外
错误\创建IDoc=1
其他=2.
如果sy–subrc0.
*在这里执行适当的错误处理
ENDIF.
ENDFUNCTION.
下面解释我们如何使用这个FM.
在设备上创建一个新的BTE保存并添加以下逻辑。这将触发IDOC.
函数zbte\u interface\u pm000020.
*"-------------------------
*"*"本地接口:
*""导入
*""引用(HEQKT\u OLD)如EQKT STRUCTURE EQKT
*""引用(HEQUI\u OLD)如EQUI STRUCTURE EQUI
*""引用(heqz\u OLD)如EQKT STRUCTURE EQKT
*"eqz结构eqz
*"引用(HILOA\u OLD)如ILOA结构ILOA
*"引用(HEQBS\u OLD)如EQBS结构EQBS
*"引用(HEQKT\u NEW)如EQKT结构EQKT
*"引用(HEQUI\u NEW)如eqi结构eqi
*"引用(heqz\u NEW)如eqz结构eqz
*"参考(HILOA\ U NEW)如ILOA结构ILOA
*"参考(HEQBS\ U NEW)如EQBS结构EQBS
*"表格
*"IHPA\ U旧结构IHPAVB可选
*"IHPA\ U新结构IHPAVB可选
*"---------------------------------
包括:
数据:l\ U返回类型swotreturn,爱淘客,
lt\ U cont类型SWCONTAB,
l\ U objhnd类型swo\ U objhnd,
ls\ U外部编号类型bapi\ U itob\ U parms–设备,
lt\ U数据bapi\ U itob的通用类型标准表,
仅bapi\ U itob\ U eq\ U的lt\ U数据特定类型标准表,
lt\ U数据组bapi\ U震源组的类型标准表,
ls\ U validdate bapi\ U itob\ U parms–inst\ U date,
lt\ U DATALINSTALL bapi\ U eq\ U install的类型表,
lt\ U DATAGNERATED zdata\ U generated的类型表。
数据:ls\ U DATAGNERAL TYPE bapi\ U itob,
ls\ U DATASSPECITIC TYPE bapi\ U itob\ U eq\ U only,
ls\ U DATAFLET类型bapi\ U fleet,
ls\ U datainstall类型bapi\ U itob\ U eq\ U install,
ls\u datagenerated TYPE zdata\u generated.
调用函数'SWO\u CREATE'
导出
objtype='ZEQUI\u GEN'
objname='ZBAPIGENIDOC'
导入
object=l\u objhnd
异常
无远程对象=1
其他=2.
IF sy–subrc0.
"错误处理
ENDIF.
清除:ls\u datageneral,ls\u dataspecific,ls\ U数据生成。
swc\ U set\ U element lt\ U cont'EXTERNALNUMBER'hequi\ U new–EQUR。
ls\ U DATAGERNAL–objecttype=hequi\ U new–eqart."equi
ls\ U DATAGERNAL–manfacture=hequi\ U new–herst."equi
ls\ U DATAGERNAL–descript=heqkt\ U new–eqktx。"eqkt
ls\u datageneral–manmodel=hequi\u new–typbz."equi
ls\u datageneral–comp\u code=hiloa\u new–bukrs."iloa
swc\u set\u element lt\u cont‘datageneral’ls\u datageneral.
ls\u dataspecific–material=hequi\u new–matnr.
ls\u dataspecific–serialno=hequi_new–sernr.
swc_set_element lt_cont'DATASPECIFIC'ls_DATASPECIFIC.
ls_datagenerated–zext1='设备'。
ls_datagenerated–zext12='测试设备'。
swc_set_element lt_cont'datagenerated'ls_datagenerated.
调用函数'SWO\U INVOKE'
导出
对象=l\U objhnd
动词='ZBAPITESTFINAL'
导入
返回=l\U返回
表格
容器=lt\U cont.
提交工作
结束功能
入站使用:
出站使用:
卓越文章。。!谢谢与我们分享。。!