2010-07-02 5 views
0

HRIQ_UPDATE_INFTY renvoie sy-subrc = 0. Mais en réalité, cela ne change rien. Code source Référence:ABAP HRIQ_UPDATE_INFTY non mis à jour hrp1001

TYPE lt_single_1001 STANDARD TABLEAU DE P1001 AVEC LIGNE EMBASE lt_1001
TYPE TABLE STANDARD DE hrp1001 AVEC HEADER EN LIGNE,

SELECT * FROM hrp1001 INTO TABLE lt_1001 OÙ objid = -cs_objid ET sobid = lv_major_id.

déplacement correspondant lt_1001 à lt_single_1001.

APPEL FONCTION 'HRIQ_UPDATE_INFTY'

EXPORTER

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. 

Répondre

0

Si je ne me trompe pas, vous déplacez la valeur de l'en-tête de la table lt_1001 à l'en-tête de la table lt_single_1001. Vous devriez au moins l'ajouter, sinon la table est vide. En outre P1001 n'est pas la même chose que HRP1001: il est membre de infty qui doit être remplie:
Pour la ligne suivante:

move-corresponding It_1001 to It_single_1001. 

je ferais quelque chose comme

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... 

Même chose pour l'affichage : vous utilisez l'en-tête de It_1001. Vous devriez également faire une boucle sur it_single_1001 pour afficher les données que vous venez d'envoyer à la fonction initiale.

Cordialement
Guillaume

0

Je ne suis pas sûr mais, essayez de fournir le paramètre export commit_flg = 'X'.

Questions connexes