点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我真的希望有人能帮助...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我真的希望有人能帮助...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我真的希望有人能帮助我。
我的IDES SAP有问题。 当我通过TA VF01创建发票时,SAP会创建发票编号,但是当我尝试打开此发票时,SAP表示此文档不存在,并且我在ST22中有转储。 见下文:
短文本
打开SQL数组插入会在数据库中产生重复的记录。
发生了什么事?
ABAP应用程序错误
当前的ABAP程序" SAPSIPM01"必须终止,因为它已经
遇到不幸的是无法执行的语句。
你能做什么?
记下导致错误的操作和输入。
要进一步处理该问题,请与您的SAP系统联系
管理员。
使用事务ST22进行ABAP转储分析,您可以查看
在并管理终止消息,您也可以
保持很长一段时间。
--------------------------------------
错误分析
发生异常,下面将对其进行详细说明。
异常已分配给类'CX_SY_OPEN_SQL_DB'并且未被捕获
程序
" FLAG_THESE_ITEMS_AS_MARKED""(FORM)",也没有被RAISING传播
子句。
由于程序的调用者无法预料到这一点
例外,当前程序已终止。
发生异常的原因是:
当执行Open SQL数组插入时,尝试插入记录
进入数据库表" IPM_TRANSFER_STA"会导致该函数在以下情况终止
具有相同键的记录已经存在。
(执行Open SQL个人记录插入时,这种情况
不会导致函数终止。 SY-SUBRC改为设置为4。)
如何更正错误
必须防止异常,将其捕获在过程中
" FLAG_THESE_ITEMS_AS_MARKED""(表格)",或
它发生的可能性必须在RAISING子句中声明
在该过程中。
为防止异常,请注意以下几点:
仅在确定没有一个情况下才应使用Open SQL数组插入
指定的记录已存在于数据库中。 如果不能这样
确保,应该拦截异常CX_SY_OPEN_SQL_DB,并且
错误必须得到解决。
Line SourceCde
164
165 ENDIF。
166
167 ENDFORM。 " CALL_RIGHTS_ATTR_MAPPER_BADI
168
169"有一个单独的数据库表,用于保持映射状态
170"此表是IPM_TRANSFER_STA。
171"标记计费项目时,必须修改此表。
172"标记开票项目对应于在此表中插入条目。
173 FORM flag_these_items_as_marked使用iv_billing_doc_no TYPE VBELN_VF
174 it_billing_items类型TABLE_OF_BILLING_ITEMS。
175
176 IPM_TRANSFER_STA的数据lt_transfer_status类型标准表。
177 DATA ls_transfer_status类型IPM_TRANSFER_STA。
178个字段符号:
179
180"浏览输入项并创建要插入数据库中的条目。
181循环至it_billing_items分配
182
183清除ls_transfer_status。
184
185 ls_transfer_status-vbeln = iv_billing_doc_no。
186 ls_transfer_status-posnr =
187 ls_transfer_status-marked ='X'。
188
189 APPEND ls_transfer_status至lt_transfer_status。
190
191结局。
192
193"一次插入所有条目。
>>>>> 从表lt_transfer_status中插入ipm_transfer_sta。
195
196 ENDFORM。 " FLAG_THESE_ITEMS_AS_MARKED
197
我检查了表VBRK,2017年没有创建发票!
请参阅附件:表VBRK和表IPM_TRANSFER_STA
非常感谢您的帮助!
(45.9 kB)
看看OSS注释196113
一周热门 更多>