ABAP HRIQ_UPDATE_INFTY不更新hrp1001

时间:2010-07-02 16:18:14

标签: sap abap

HRIQ_UPDATE_INFTY返回sy-subrc = 0。但它实际上并没有对它做任何改变。部分源代码:

  

lt_single_1001 TYPE STANDARD TABLE   带有割台线的p1001,lt_1001
  hrp1001型的标准表   HEADER LINE,

     

SELECT * FROM hrp1001 INTO TABLE   lt_1001在哪里          objid = -cs_objid AND sobid = lv_major_id。

     

将对应的lt_1001移动到   lt_single_1001。

     

CALL FUNCTION'HRIQ_UPDATE_INFTY'

     

导出

 vtask                   = 'D'
     

TABLES

 innnn                   = lt_single_1001
     

EXCEPTIONS

            error_during_update     = 1

            no_authorization        = 2

            relation_not_reversible = 3

            corr_exit               = 4

            OTHERS                  = 5.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
        ELSE.
          NEW-LINE NO-SCROLLING.
          WRITE: 'Update: '.
          WRITE: lt_1001-objid. "TODO: write proper information
          write: lt_single_1001-begda.
          write: lv_begda.
          write: lt_single_1001-endda.
          write: lv_endda.

        ENDIF.

2 个答案:

答案 0 :(得分:0)

我不确定但是,请尝试提供导出参数commit_flg ='X'。

答案 1 :(得分:0)

如果我没弄错的话,你将表lt_1001的标题值移到表lt_single_1001的标题中。你应该至少附加它,否则表是空的。 P1001也与HRP1001不同:有一个INFTY成员应该填写:
对于以下行:

   move-corresponding It_1001 to It_single_1001.

我会做类似

的事情
   loop at It_1001.
      " move header of It_1001 to header of It_single_1001
      move-corresponding It_1001 to It_single_1001.
      " append the infotype information
      It_single_1001-infty = '1001'.
      " append the header to the table
      append lt_single_1001.
   endloop.
   " call to the function...

显示相同:您正在使用It_1001的标题。您还应该在it_single_1001处循环以显示刚刚发送到初始函数的数据。

问候
纪尧姆