在信息类型0001上使用HR_INFOTYPE_OPERATION进行定界没有任何作用

2020-09-03 12:29发布

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

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


嗨,

我的程序像这样使用FM HR_INFOTYPE_OPERATION:

数据:
   gs_pskey TYPE pskey,
   gs_it0001类型p0001,
   gs_bapireturn TYPE bapireturn1
 。

 通话功能'BAPI_EMPLOYEE_ENQUEUE'
   出口
     数字='00001216'
   输入
     return = gs_bapireturn。
 如果gs_bapireturn不是INITIAL。  ... 万一。

 gs_pskey-infty ='0001'。  " \
 gs_pskey-pernr ='00001216'。  " \选择了值
 gs_pskey-endda ='99991231'。  "/来自数据库
 gs_pskey-begda ='20190901'。 /
 清除:gs_pskey-subty,gs_pskey-objps,gs_pskey-sprps,gs_pskey-seqnr。

 将gs_pskey移动到gs_it0001。
 " gs_it0001字段的更多设置

 通话功能" HR_INFOTYPE_OPERATION"
   出口
     infty = gs_pskey-infty
     编号= gs_pskey-pernr
     子类型= gs_pskey-subty
     objectid = gs_pskey-objps
     lockindicator = gs_pskey-sprps
     有效性结束= gs_pskey-endda
     有效性开始= gs_pskey-begda
     recordnumber = gs_pskey-seqnr
     记录= gs_it0001
     操作='LIS9'
     tclas ='A'
     dialog_mode ='0'
     nocommit = abap_true
   输入
     return = gs_bapireturn。
 如果gs_bapireturn是INITIAL。
   提交工作。 产生sy-subrc = 0!
 其他。
   回滚工作。
 万一。
 通话功能'BAPI_EMPLOYEE_DEQUEUE'
   出口
     数字='00001216'。
 

PA0001包含pernr EQ 1216的以下记录:

在HR_INFOTYPE_OPERATION返回之后,gs_bapireturn是初始的,并且以sy-subrc = 0执行COMMIT WORK。

但是当我使用SE11控制表内容时,什么都没有改变。 对于pernr = 1216,PA0001中仍然只有五个条目。

请帮助我。

此致

休伯特

p0001.jpg (137.9 kB)

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

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


嗨,

我的程序像这样使用FM HR_INFOTYPE_OPERATION:

数据:
   gs_pskey TYPE pskey,
   gs_it0001类型p0001,
   gs_bapireturn TYPE bapireturn1
 。

 通话功能'BAPI_EMPLOYEE_ENQUEUE'
   出口
     数字='00001216'
   输入
     return = gs_bapireturn。
 如果gs_bapireturn不是INITIAL。  ... 万一。

 gs_pskey-infty ='0001'。  " \
 gs_pskey-pernr ='00001216'。  " \选择了值
 gs_pskey-endda ='99991231'。  "/来自数据库
 gs_pskey-begda ='20190901'。 /
 清除:gs_pskey-subty,gs_pskey-objps,gs_pskey-sprps,gs_pskey-seqnr。

 将gs_pskey移动到gs_it0001。
 " gs_it0001字段的更多设置

 通话功能" HR_INFOTYPE_OPERATION"
   出口
     infty = gs_pskey-infty
     编号= gs_pskey-pernr
     子类型= gs_pskey-subty
     objectid = gs_pskey-objps
     lockindicator = gs_pskey-sprps
     有效性结束= gs_pskey-endda
     有效性开始= gs_pskey-begda
     recordnumber = gs_pskey-seqnr
     记录= gs_it0001
     操作='LIS9'
     tclas ='A'
     dialog_mode ='0'
     nocommit = abap_true
   输入
     return = gs_bapireturn。
 如果gs_bapireturn是INITIAL。
   提交工作。 产生sy-subrc = 0!
 其他。
   回滚工作。
 万一。
 通话功能'BAPI_EMPLOYEE_DEQUEUE'
   出口
     数字='00001216'。
 

PA0001包含pernr EQ 1216的以下记录:

在HR_INFOTYPE_OPERATION返回之后,gs_bapireturn是初始的,并且以sy-subrc = 0执行COMMIT WORK。

但是当我使用SE11控制表内容时,什么都没有改变。 对于pernr = 1216,PA0001中仍然只有五个条目。

请帮助我。

此致

休伯特

p0001.jpg (137.9 kB)
付费偷看设置
发送
7条回答
haha101010
1楼 · 2020-09-03 13:20.采纳回答

似乎是有关操作的问题。

我自己修复。

绿领巾童鞋
2楼-- · 2020-09-03 13:27

胡说八道!

当我将带有功能参数nocommit = abap_true的'INS'操作和后来的COMMIT WORK语句一起使用时,将插入一条新记录。

对于我的程序,不要提交函数调用是至关重要的。 实际上,我必须对队列HR_INFOTYPE_OPERATION进行操作,队列INS为新的定界记录,而操作MOD为后续行中的记录。

何必丶何苦呢
3楼-- · 2020-09-03 13:35

Hi,

< p>如果您能使它正常工作,我将很感兴趣!

在尝试扩展我们使用的数据加载ABAP实用程序之前,我花了一些时间,但从未使其正常工作。

我在这里发布了图片,但是没有一个令人满意的解决方案。

作为一种变通方法,我使用了'MOD'操作并使用所需的分隔日期更新了ENDDA,并获得了相同的结果。 唯一使用MOD的陷阱是您需要提供对整个记录的定界,否则最终字段将被清空!

bg

天桥码农
4楼-- · 2020-09-03 13:10

bg

SKY徐
5楼-- · 2020-09-03 13:13

您想知道您是否成功使用了操作'LIS9'进行了定界。

bg

哎,真难
6楼-- · 2020-09-03 13:27

您已将" no commit"设置为" abap_true"...。 .so,您认为那里发生了什么? 哈哈

吹牛啤
7楼-- · 2020-09-03 13:17

阅读...了解...回答!

调用HR_INFOTYPE_OPERATION后有一个COMMIT WORK语句,该语句以sy-subrc EQ 0执行。

那么您认为那里发生了什么?

一周热门 更多>