Posted By

qrist0ph on 05/12/10


Tagged

abap


Versions (?)

Startroutine Update Items from Header


 / Published in: C#
 

  1. * defintion eines tempor�¤ren datapackages
  2. DATA
  3. lt_source_package TYPE _ty_t_sc_1.
  4.  
  5. * defintion von feldsymbolen zu den zugriff
  6. FIELD-SYMBOLS
  7. fs_items TYPE _ty_s_sc_1,
  8. fs_header TYPE _ty_s_sc_1.
  9.  
  10. * es sind keine reverse-images n�¶tig, da nicht aufaddiert wird.
  11. * daher k�¶nnen alle datens�¤tze mit recordmod=X gel�¶scht werden.
  12. DELETE SOURCE_PACKAGE
  13. WHERE recordmode = 'X'.
  14.  
  15. * betroffene positionen aus ihrem DSO lesen um diese mit
  16. * anglieferten informationen aus dem kopf anzureichern
  17. SELECT fcipl_numb
  18. fcitem_rpt
  19. fcitem
  20. fcsubitem
  21. FROM /bic/agvorp00200
  22. INTO CORRESPONDING FIELDS OF TABLE lt_source_package
  23. FOR ALL ENTRIES IN SOURCE_PACKAGE
  24. WHERE fcipl_numb = SOURCE_PACKAGE-fcipl_numb.
  25.  
  26. * lt_source_package enth�¤lt jetzt alle position f�¼r die gilt, dass ihr header im source_package ist
  27.  
  28. * feldsysmbol intial zuweisen
  29. READ TABLE SOURCE_PACKAGE ASSIGNING fs_header INDEX 1.
  30.  
  31. * selektierte positionen loopen und informationen aus dem kopf anreichern
  32. LOOP AT lt_source_package ASSIGNING fs_items.
  33.  
  34. * f�¼r jede postion aus lt_source_package den entsprechenden header w�¤hlen.
  35. IF fs_items-fcipl_numb fs_header-fcipl_numb.
  36. READ TABLE SOURCE_PACKAGE ASSIGNING fs_header
  37. WITH KEY fcipl_numb = fs_items-fcipl_numb.
  38. ENDIF.
  39.  
  40. * falls felder der position vom header abweichen
  41. IF fs_items-fcipl_cat fs_header-fcipl_cat
  42. OR fs_items-fcdatefrom fs_header-fcdatefrom
  43. OR fs_items-fcdateto fs_header-fcdateto
  44. OR fs_items-fcdeacdate fs_header-fcdeacdate
  45. OR fs_items-bicgvrtpanzr fs_header-bicgvrtpanzr.
  46. * pauschal alle felder der position aktualisieren
  47. fs_items-recordmode = fs_header-recordmode.
  48. fs_items-fcipl_cat = fs_header-fcipl_cat.
  49. fs_items-fcdatefrom = fs_header-fcdatefrom.
  50. fs_items-fcdateto = fs_header-fcdateto.
  51. fs_items-fcdeacdate = fs_header-fcdeacdate.
  52. fs_items-amount = fs_header-amount.
  53. fs_items-/bic/gvrtpanzr = fs_header-/bic/gvrtpanzr.
  54.  
  55. ELSE.
  56. * kein update, wenn keine informationen aktualisiert werden m�¼ssen
  57. DELETE lt_source_package.
  58. ENDIF.
  59. ENDLOOP.
  60.  
  61. * datenpakete austauschen
  62. REFRESH SOURCE_PACKAGE.
  63. INSERT LINES OF lt_source_package INTO TABLE SOURCE_PACKAGE.

Report this snippet  

You need to login to post a comment.