因此,我被赋予了尝试从ECC中提取质量通知数据的任务。我选择的路径是找到一个可以将数据提取到表中并使用 SE37 编写FM的BAPI。
经过一段谷歌搜索后,我发现了一个名为" BAPI_QUALNOT_GETDETAIL" 的BAPI。我目前面临的问题是将数据填充到BAPI的导出表中。
从上面的屏幕截图中可以看出,详情可以在QMEL表中找到。
以下是我实施BAPI的方法;
CALL FUNCTION 'BAPI_QUALNOT_GETDETAIL' "QM Notification: Read Detail Data
EXPORTING
number = '200360210' " bapi2078_nothdre-notif_no Message Number
IMPORTING
notifheader_export = bapi2078_nothdre_t " bapi2078_nothdre BAPI Quality Notification Header
notifhdtext = bapi2078_nothdtxte_t " bapi2078_nothdtxte Text Fields for Notification Header
TABLES
notlongtxt = bapi2078_notfulltxti_t " bapi2078_notfulltxti Notification Long Text
* notitem = " bapi2078_notiteme Work Table for Notification Item
* notifcaus = " bapi2078_notcause Notification Cause
* notifactv = " bapi2078_notactve Work Structure Activities
* notiftask = " bapi2078_nottaske Work table for tasks
* notifpartnr = " bapi2078_notpartnre Partner(s) for Display
* return = " bapiret2 Return Parameter(s)
. " BAPI_QUALNOT_GETDETAIL
由于我无法获取数据,因此我调用BAPI的方式有误。
答案 0 :(得分:3)
您必须提供与内部处理完全相同的密钥。非常可能会有一个conversion routine类似ALPHA
,它会在显示数字时抑制前导零,并在输入数字时添加它们。您可以在事务SE16N
中关闭此例程以进行检查。但是,这只是用户的便利实现 - 开发人员必须提供完整的值,包括前导零,如果它是基于字符的键字段(不是像INT4
这样的数字类型)