Advertisement
thedoginthewok

Untitled

Mar 13th, 2022
3,492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 5.83 KB | None | 0 0
  1. * ---------------------------------------------------------------------
  2.     IF  old_price_order_active->*  = abap_true
  3.     AND special_discount_active->* = abap_false.
  4.       CONCATENATE 'Lese Artikel für'(006)
  5.                   'Altpreisbestellung'(003)
  6.       INTO progress_text SEPARATED BY space.
  7.       CONCATENATE '('
  8.                   '   ( old_konp~kpein = new_konp~kpein'
  9.                   ' AND old_konp~kmein = new_konp~kmein'
  10.                   ' AND old_konp~kbetr < new_konp~kbetr )'
  11.                   'OR ( old_konp~kpein <> new_konp~kpein'
  12.                   '  OR old_konp~kmein <> new_konp~kmein'
  13.                   '  OR old_konp~kbetr <> new_konp~kbetr )'
  14.                   ')'
  15.       INTO cond_old_lt_new SEPARATED BY space.              "#EC NOTEXT
  16.     ELSE.
  17.       CONCATENATE 'Lese Artikel für'(006)
  18.                   'Altpreisbestellung & Sonderrabatt'(005)
  19.       INTO progress_text SEPARATED BY space.
  20.     ENDIF.
  21.     cl_progress_indicator=>progress_indicate( i_text = progress_text
  22.                                               i_output_immediately = abap_true ).
  23.  
  24. * ---------------------------------------------------------------------
  25.     SELECT
  26.     eina~matnr
  27.     eina~lifnr
  28.     eina~wglif
  29.     eina~kalkgr
  30.     eina~yy_extgr
  31.     eina~yy_intgr
  32.     eina~idnlf
  33.     eina~lifbi
  34.     mara~matkl
  35.     mara~mstae
  36.     mara~meins
  37.     mara~brgew
  38.     mara~gewei
  39.     marc~werks
  40.     marc~dismm
  41.     marc~maabc
  42.     marc~dispo
  43.     marc~plifz
  44.     marc~webaz
  45.     marc~minbe
  46.     marc~rdprf
  47.     marc~bstrf
  48.     marc~bstmi
  49.     marc~lagpr
  50.     marc~losfx
  51.     marc~/fis/m_lgadt
  52.     marc~yy_belgr
  53.     mbew~verpr
  54.     old_a870~knumh AS old_knumh
  55.     old_konp~kbetr AS old_price
  56.     old_konp~kpein AS old_kpein
  57.     old_konp~kmein AS old_kmein
  58.     new_a870~knumh AS new_knumh
  59.     new_konp~kbetr AS new_price
  60.     new_konp~kpein AS new_kpein
  61.     new_konp~kmein AS new_kmein
  62. *    cur_a870~knumh AS cur_knumh
  63. *    cur_konp~kbetr AS cur_price
  64. *    cur_konp~konwa
  65. *    cur_konp~kpein
  66. *    cur_konp~kmein
  67.     FROM eina INNER JOIN mara ON mara~matnr = eina~matnr
  68.               INNER JOIN marc ON marc~matnr = eina~matnr
  69.               INNER JOIN mbew ON  mbew~matnr = marc~matnr
  70.                               AND mbew~bwkey = marc~werks
  71.                               AND mbew~bwtar = ''
  72.               INNER JOIN a870 AS old_a870 ON  old_a870~kappl = 'M'
  73.                                           AND old_a870~kschl = 'YE01'
  74.                                           AND old_a870~ekorg = purchasing_organization
  75.                                           AND old_a870~lifnr = eina~lifnr
  76.                                           AND old_a870~matnr = eina~matnr
  77.                                           AND old_a870~datbi >= pricing_date_old->*
  78.                                           AND old_a870~datab <= pricing_date_old->*
  79.               INNER JOIN konp AS old_konp ON  old_konp~knumh = old_a870~knumh
  80.                                           AND old_konp~kopos = '01'
  81.                                           AND old_konp~kappl = old_a870~kappl
  82.                                           AND old_konp~kschl = old_a870~kschl
  83.                                           AND old_konp~loevm_ko = abap_false
  84.               INNER JOIN a870 AS new_a870 ON  new_a870~kappl = 'M'
  85.                                           AND new_a870~kschl = 'YE01'
  86.                                           AND new_a870~ekorg = purchasing_organization
  87.                                           AND new_a870~lifnr = eina~lifnr
  88.                                           AND new_a870~matnr = eina~matnr
  89.                                           AND new_a870~datbi >= pricing_date_new->*
  90.                                           AND new_a870~datab <= pricing_date_new->*
  91.               INNER JOIN konp AS new_konp ON  new_konp~knumh = new_a870~knumh
  92.                                           AND new_konp~kopos = '01'
  93.                                           AND new_konp~kappl = new_a870~kappl
  94.                                           AND new_konp~kschl = new_a870~kschl
  95.                                           AND new_konp~loevm_ko = abap_false
  96. *              INNER JOIN a870 AS cur_a870 ON  cur_a870~kappl = 'M'
  97. *                                          AND cur_a870~kschl = 'YE01'
  98. *                                          AND cur_a870~ekorg = purchasing_organization
  99. *                                          AND cur_a870~lifnr = eina~lifnr
  100. *                                          AND cur_a870~matnr = eina~matnr
  101. *                                          AND cur_a870~datbi >= sy-datum
  102. *                                          AND cur_a870~datab <= sy-datum
  103. *              INNER JOIN konp AS cur_konp ON  cur_konp~knumh = cur_a870~knumh
  104. *                                          AND cur_konp~kopos = '01'
  105. *                                          AND cur_konp~kappl = cur_a870~kappl
  106. *                                          AND cur_konp~kschl = cur_a870~kschl
  107. *                                          AND cur_konp~loevm_ko = abap_false
  108.     INTO CORRESPONDING FIELDS OF TABLE old_price_materials
  109.     WHERE eina~matnr    IN range_matnr->*
  110.     AND   eina~loekz    =  abap_false
  111.     AND   eina~lifnr    IN range_yy_relif->*
  112.     AND   eina~lifnr    IN range_flief->*
  113.     AND   eina~wglif    IN range_wglif->*
  114.     AND   eina~kalkgr   IN range_kalkgr->*
  115.     AND   eina~yy_extgr IN range_yy_extgr->*
  116.     AND   eina~yy_intgr IN range_yy_intgr->*
  117.     AND   eina~relif    IN range_relif
  118.     AND   mara~matkl    IN range_matkl->*
  119.     AND   mara~mstae    =  'V1'
  120.     AND   marc~ekgrp    IN range_ekgrp->*
  121.     AND   marc~werks    IN range_werks->*
  122.     AND   marc~dispo    IN range_dispo->*
  123.     AND (    marc~sobsl = '  '
  124.           OR marc~sobsl = '10'
  125.           OR marc~sobsl = '30' )
  126.     AND (    marc~dismm = 'Y2'
  127.           OR marc~dismm = 'V1' )
  128.     AND (cond_old_lt_new).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement