CDHDR Material Log per Report eintragen

Nützliche Abap Codes und Code Fragmente

CDHDR Material Log per Report eintragen

Postby Tron » Thu Oct 31, 2019 11:28 am

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. *&---------------------------------------------------------------------*
  2. *& Report  Z_TEST_MATERIAL_WRITE_DOCUMENT
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. REPORT  z_test_material_write_document.
  10. * Test QM: Änderungsbelegerstellung für MATERIAL
  11.  
  12.  
  13. *um die Materialnr an den Änderbelge zu übergeben
  14. DATA: objectid TYPE cdhdr-objectid.
  15. * um die Textänderungen an den Änderungsbele zu übergeben
  16. DATA: icdtxt_material LIKE cdtxt OCCURS 0,
  17.       icdtxt_material_line LIKE cdtxt.
  18.  
  19. * Dummytabellen für FuBa-Aufruf, werden alle leer übergeben!
  20. DATA: n_mara LIKE mara,   o_mara LIKE mara,
  21.       n_marc LIKE marc,   o_marc LIKE marc,
  22.       n_mare LIKE mare,   o_mare LIKE mare,
  23.       n_mard LIKE mard,   o_mard LIKE mard,
  24.       n_mbew LIKE mbew,   o_mbew LIKE mbew,
  25.       n_mfhm LIKE mfhm,   o_mfhm LIKE mfhm,
  26.       n_mlgn LIKE mlgn,   o_mlgn LIKE mlgn,
  27.       n_mlgt LIKE mlgt,   o_mlgt LIKE mlgt,
  28.       n_mpgd LIKE mpgd,   o_mpgd LIKE mpgd,
  29.       n_mpop LIKE mpop,   o_mpop LIKE mpop,
  30.       n_mvke LIKE mvke,   o_mvke LIKE mvke,
  31.  
  32. xdgesv TYPE TABLE OF xdgesv,
  33. ydgesv TYPE TABLE OF xdgesv,
  34. xdmaex TYPE TABLE OF xdmaex,
  35. ydmaex TYPE TABLE OF xdmaex,
  36. xdmakt TYPE TABLE OF xdmakt,
  37. ydmakt TYPE TABLE OF xdmakt,
  38. xdmape TYPE TABLE OF xdmape,
  39. ydmape TYPE TABLE OF xdmape,
  40. xdmarm TYPE TABLE OF xdmarm,
  41. ydmarm TYPE TABLE OF xdmarm,
  42. xdmean TYPE TABLE OF xdmean,
  43. ydmean TYPE TABLE OF xdmean,
  44. xdmkal TYPE TABLE OF xdmkal,
  45. ydmkal TYPE TABLE OF xdmkal,
  46. xdmlan TYPE TABLE OF xdmlan,
  47. ydmlan TYPE TABLE OF xdmlan,
  48. xdprow TYPE TABLE OF xdprow,
  49. ydprow TYPE TABLE OF xdprow,
  50. xdqmat TYPE TABLE OF xdqmat,
  51. ydqmat TYPE TABLE OF xdqmat,
  52. xdungv TYPE TABLE OF xdungv,
  53. ydungv TYPE TABLE OF xdungv.
  54.  
  55. ls_xdqmat TYPE xdqmat,
  56. ls_ydqmat TYPE xdqmat.
  57.  
  58. * Zum testen für verschiedene Materialien
  59. PARAMETERS: p_matnr TYPE matnr DEFAULT 'C10010',
  60.             p_vkorg TYPE vkorg DEFAULT 'BP01',
  61.             p_vtweg TYPE vtweg DEFAULT '01'.
  62.  
  63. * Test: Änderungsbelegerstellung für MATERIAL, nur Vertriebstext
  64.  
  65. * Änderungsstruktur für Text aufbauen:
  66. ** TEXT-ID erzeugen
  67. *  CONCATENATE sy-mandt "Mandant
  68. *              p_matnr  "Material
  69. *              p_vkorg  "Verkaufsorganisation
  70. *              p_vtweg  "Vertriebsweg
  71. *              INTO icdtxt_material_line-teilobjid.
  72. *  icdtxt_material_line-textart = '0001'. "Vertriebstext
  73. *  icdtxt_material_line-textspr = 'D'.    "Sprache
  74. *  icdtxt_material_line-updkz   = 'U'.    " I = Insert, U = Update, D = Delete
  75. *  APPEND icdtxt_material_line TO icdtxt_material.
  76.  
  77.   SELECT * FROM qmat UP TO 1 ROWS INTO CORRESPONDING FIELDS OF TABLE ydqmat WHERE
  78.   werks = p_vkorg AND matnr = p_matnr.
  79.  
  80. *ydqmat[] = Alt.
  81. *xdqmat[] = Neu.
  82.  
  83.   READ TABLE ydqmat into ls_ydqmat INDEX 1.
  84.  
  85.   IF ls_ydqmat-hpz IS INITIAL.
  86.     ls_ydqmat-hpz = 'X'.
  87.   ELSE.
  88.     ls_ydqmat-hpz = ' '.
  89.   ENDIF.
  90.  
  91.   APPEND ls_ydqmat TO xdqmat.
  92.  
  93. * Matnr umformatieren
  94.   objectid = p_matnr.
  95.  
  96. * FuBa aufruf
  97.   CALL FUNCTION 'MATERIAL_WRITE_DOCUMENT'
  98.     EXPORTING
  99.       objectid                = objectid   "Material welches geändert wird
  100.       tcode                   = 'QMAT_JOB'     "Aus welcher Transaktion wird geändert
  101.       utime                   = sy-uzeit   "Änderungszeit
  102.       udate                   = sy-datum   "Änderungsdatum
  103.       username                = sy-uname   "Änderer
  104.       planned_change_number   = ' '
  105.       object_change_indicator = 'U'        "Es findet ein Update des Materials statt
  106.       planned_or_real_changes = 'R'        "direkte Änderung
  107.       no_change_pointers      = ' '
  108.       upd_icdtxt_material     = ' '        "Nur der Text wird geändert
  109.       upd_dgesv               = ' '
  110.       upd_dmaex               = ' '
  111.       upd_dmakt               = ' '
  112.       upd_dmape               = ' '
  113.       upd_dmarm               = ' '
  114.       upd_dmean               = ' '
  115.       upd_dmkal               = ' '
  116.       upd_dmlan               = ' '
  117.       upd_dprow               = ' '
  118.       upd_dqmat               = 'U'
  119.       upd_dungv               = ' '
  120.       n_mara                  = n_mara
  121.       o_mara                  = o_mara
  122.       upd_mara                = ' '
  123.       n_marc                  = n_marc
  124.       o_marc                  = o_marc
  125.       n_mare                  = n_mare
  126.       o_mare                  = o_mare
  127.       upd_marc                = ' '
  128.       n_mard                  = n_mard
  129.       o_mard                  = o_mard
  130.       upd_mard                = ' '
  131.       n_mbew                  = n_mbew
  132.       o_mbew                  = o_mbew
  133.       upd_mbew                = ' '
  134.       n_mfhm                  = n_mfhm
  135.       o_mfhm                  = o_mfhm
  136.       upd_mfhm                = ' '
  137.       n_mlgn                  = n_mlgn
  138.       o_mlgn                  = o_mlgn
  139.       upd_mlgn                = ' '
  140.       n_mlgt                  = n_mlgt
  141.       o_mlgt                  = o_mlgt
  142.       upd_mlgt                = ' '
  143.       n_mpgd                  = n_mpgd
  144.       o_mpgd                  = o_mpgd
  145.       upd_mpgd                = ' '
  146.       n_mpop                  = n_mpop
  147.       o_mpop                  = o_mpop
  148.       upd_mpop                = ' '
  149.       n_mvke                  = n_mvke
  150.       o_mvke                  = o_mvke
  151.       upd_mvke                = ' '
  152.     TABLES
  153.       icdtxt_material         = icdtxt_material
  154.       xdgesv                  = xdgesv
  155.       ydgesv                  = ydgesv
  156.       xdmaex                  = xdmaex
  157.       ydmaex                  = ydmaex
  158.       xdmakt                  = xdmakt
  159.       ydmakt                  = ydmakt
  160.       xdmape                  = xdmape
  161.       ydmape                  = ydmape
  162.       xdmarm                  = xdmarm
  163.       ydmarm                  = ydmarm
  164.       xdmean                  = xdmean
  165.       ydmean                  = ydmean
  166.       xdmkal                  = xdmkal
  167.       ydmkal                  = ydmkal
  168.       xdmlan                  = xdmlan
  169.       ydmlan                  = ydmlan
  170.       xdprow                  = xdprow
  171.       ydprow                  = ydprow
  172.       xdqmat                  = xdqmat
  173.       ydqmat                  = ydqmat
  174.       xdungv                  = xdungv
  175.       ydungv                  = ydungv.
GeSHi ©
Tron
.....
.....
 
Posts: 1112
Joined: Sat Aug 04, 2007 10:21 pm

Return to Code Snippets

Who is online

Users browsing this forum: No registered users and 14 guests

cron