<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BAPI_PRICES_CONDITIONS problem in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819244#M659364</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see the sample code below...................&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;    dd02l_tabname like dd02l-tabname,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BAPI_PRICES_CONDITIONS-Tabellen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct  type table of bapicondct with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondhd  type table of bapicondhd with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondit  type table of bapicondit with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondqs  type table of bapicondqs with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondvs  type table of bapicondvs with header line,&lt;/P&gt;&lt;P&gt;    to_bapiret2    type table of bapiret2   with header line,&lt;/P&gt;&lt;P&gt;    to_bapiknumhs  type table of bapiknumhs,&lt;/P&gt;&lt;P&gt;    to_mem_initial type table of cnd_mem_initial with header line,&lt;/P&gt;&lt;P&gt;    help_vakey like ti_bapicondct-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fehlerauswertung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of fehler_tab occurs 0,  " Tabelle für Fehlermeldungen&lt;/P&gt;&lt;P&gt;          line like sy-lisel,                               " 255 Char&lt;/P&gt;&lt;P&gt;        end of fehler_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       returncode(2).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: a100.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Neue KonditionsNr holen für Neuanlage Kondition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: knumh_new type knumh.&lt;/P&gt;&lt;P&gt;  data: ls_return type bapiret2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;weiter Daten zu Konditionen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: help_konp like konp.&lt;/P&gt;&lt;P&gt;  data: help_konm like konm.&lt;/P&gt;&lt;P&gt;  data: help_konw like konw,&lt;/P&gt;&lt;P&gt;        gestern type d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; selection-screen begin of block block5 with frame title text-bl5.&lt;/P&gt;&lt;P&gt;  parameters:&lt;/P&gt;&lt;P&gt;    p_preis as checkbox modif id upd,&lt;/P&gt;&lt;P&gt;    p_proz  type kbetr_kond modif id upd,&lt;/P&gt;&lt;P&gt;    p_datab like a100-datab modif id upd,&lt;/P&gt;&lt;P&gt;    p_datbi like a100-datbi modif id upd,&lt;/P&gt;&lt;P&gt;    p_waers like a106-waerk default 'EUR' modif id upd.&lt;/P&gt;&lt;P&gt;  parameters:&lt;/P&gt;&lt;P&gt;    p_kappl like a100-kappl default 'V' no-display.&lt;/P&gt;&lt;P&gt;  selection-screen end of block block5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;break-point.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  preisanpassung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form preisanpassung using alter_preis type kbetr_kond     " CURR 11.2&lt;/P&gt;&lt;P&gt;                            neuer_preis type kbetr_kond.&lt;/P&gt;&lt;P&gt;    neuer_preis = alter_preis + ( alter_preis * p_proz / 100 ).&lt;/P&gt;&lt;P&gt;  endform.                    " preisanpassung&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bapi_prices_conditions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form bapi_prices_conditions.&lt;/P&gt;&lt;P&gt;    clear: ti_bapicondct, ti_bapicondhd, ti_bapicondit, ti_bapicondqs,&lt;/P&gt;&lt;P&gt;      ti_bapicondvs, to_bapiret2, to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;    refresh: ti_bapicondct, ti_bapicondhd, ti_bapicondit, ti_bapicondqs,&lt;/P&gt;&lt;P&gt;      ti_bapicondvs, to_bapiret2, to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gestern = sy-datum - 1.&lt;/P&gt;&lt;P&gt;    dd02l_tabname = 'A100'.&lt;/P&gt;&lt;P&gt;    perform fill_a914.&lt;/P&gt;&lt;P&gt;    perform bapi_buchen.&lt;/P&gt;&lt;P&gt;  endform.                    " bapi_prices_conditions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  fill_a914&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form fill_a914.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Bapi für Tabelle A914 füllen&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;alle markierten zutreffenden Konditionen aus A914 auslesen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    loop at et_row_no. " enthält die markierten Zeilen&lt;/P&gt;&lt;P&gt;      if p_ekinfo = ''.&lt;/P&gt;&lt;P&gt;        read table i_ausg index et_row_no-row_id.&lt;/P&gt;&lt;P&gt;        select single * from a914 client specified&lt;/P&gt;&lt;P&gt;         where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;           and kappl = p_kappl  " Applikation, V = Vetrieb&lt;/P&gt;&lt;P&gt;           and kschl = i_ausg-kschl&lt;/P&gt;&lt;P&gt;           and vkorg = i_ausg-vkorg&lt;/P&gt;&lt;P&gt;           and vtweg = i_ausg-vtweg&lt;/P&gt;&lt;P&gt;           and matnr = i_ausg-matnr&lt;/P&gt;&lt;P&gt;           and kfrst = i_ausg-kfrst&lt;/P&gt;&lt;P&gt;           and datbi = i_ausg-datbi&lt;/P&gt;&lt;P&gt;           and datab = i_ausg-datab.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;          continue.&lt;/P&gt;&lt;P&gt;        endif. " sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;        perform zeitvergleich using&lt;/P&gt;&lt;P&gt;          'A914' a914-kschl a914-knumh&lt;/P&gt;&lt;P&gt;          i_ausg-datab  i_ausg-datab_n&lt;/P&gt;&lt;P&gt;          i_ausg-datbi  i_ausg-datbi_n&lt;/P&gt;&lt;P&gt;          i_ausg-kbetr  i_ausg-kbetr_n.&lt;/P&gt;&lt;P&gt;      else. " p_ekinfo = ''&lt;/P&gt;&lt;P&gt;        read table i_ausg_ek index et_row_no-row_id.&lt;/P&gt;&lt;P&gt;        select single * from a914 client specified&lt;/P&gt;&lt;P&gt;         where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;           and kappl = p_kappl  " Applikation, V = Vetrieb&lt;/P&gt;&lt;P&gt;           and kschl = i_ausg_ek-kschl&lt;/P&gt;&lt;P&gt;           and vkorg = i_ausg_ek-vkorg&lt;/P&gt;&lt;P&gt;           and vtweg = i_ausg_ek-vtweg&lt;/P&gt;&lt;P&gt;           and matnr = i_ausg_ek-matnr&lt;/P&gt;&lt;P&gt;           and kfrst = i_ausg_ek-kfrst&lt;/P&gt;&lt;P&gt;           and datbi = i_ausg_ek-datbi&lt;/P&gt;&lt;P&gt;           and datab = i_ausg_ek-datab.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;          continue.&lt;/P&gt;&lt;P&gt;        endif. " sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;        perform zeitvergleich using&lt;/P&gt;&lt;P&gt;          'A914' a914-kschl a914-knumh&lt;/P&gt;&lt;P&gt;          i_ausg_ek-datab  i_ausg_ek-datab_n&lt;/P&gt;&lt;P&gt;          i_ausg_ek-datbi  i_ausg_ek-datbi_n&lt;/P&gt;&lt;P&gt;          i_ausg_ek-kbetr  i_ausg_ek-kbetr_n.&lt;/P&gt;&lt;P&gt;      endif." p_ekinfo = ''&lt;/P&gt;&lt;P&gt;    endloop. " at ET_ROW_NO&lt;/P&gt;&lt;P&gt;  endform.                                                  " fill_a914&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  zeitvergleich&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form zeitvergleich using    tabelle kschl knumh_alt&lt;/P&gt;&lt;P&gt;                              datab_alt datab_neu&lt;/P&gt;&lt;P&gt;                              datbi_alt datbi_neu&lt;/P&gt;&lt;P&gt;                              kbetr_alt kbetr_neu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so, wie ist das denn mit dem Gültigkeitszeitraum&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if datbi_neu gt datbi_alt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  das neue Ende-Datum endet nach dem alten&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if datab_neu le sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    und die Kondition ist ab sofort gültig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1a,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datbi_alt ge sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      alte Kondition ist noch gültig !!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt gestern kbetr_alt.&lt;/P&gt;&lt;P&gt;        endif. " datbi_alt ge sy-datum&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;      else. " datab_neu le sy-datum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Gültigkeit ab liegt in der Zukunft&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1b,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition in der Zukunft enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datab_alt = datab_neu.&lt;/P&gt;&lt;P&gt;          zukuenftig = datab_neu.&lt;/P&gt;&lt;P&gt;        else. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;          zukuenftig = datab_neu - 1.&lt;/P&gt;&lt;P&gt;        endif. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_alt zukuenftig kbetr_alt.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;      endif. " datab_neu le sy-datum&lt;/P&gt;&lt;P&gt;    elseif datbi_neu = datbi_alt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  dieselbe Kondition soll geändert werden???&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if datab_neu le sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    und die Kondition ist ab sofort gültig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1a,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datbi_alt ge sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      alte Kondition ist noch gültig !!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt gestern kbetr_alt.&lt;/P&gt;&lt;P&gt;        endif. " datbi_alt ge sy-datum&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;      else. " datab_neu le sy-datum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Gültigkeit ab liegt in der Zukunft&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1b,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition in der Zukunft enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datab_alt = datab_neu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        es soll eindeutig der gleiche Satz geändert werden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' 'X'&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt datbi_alt kbetr_neu.&lt;/P&gt;&lt;P&gt;        else. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;          zukuenftig = datab_neu - 1.&lt;/P&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt zukuenftig kbetr_alt.&lt;/P&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;        endif. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;      endif. " datab_neu le sy-datum&lt;/P&gt;&lt;P&gt;    else.  " datbi_neu &amp;gt; datbi_alt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  das neue Ende-Datum endet VOR dem alten&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  der komplexere Fall 2a:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if datab_neu le sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    und die Kondition ist ab sofort gültig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition sofort enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit neuem Preis mit neuer Gültigkeit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 3: alte Kond. ab neuem Ende bis altem Ende anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_alt gestern kbetr_alt.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;        zukuenftig = datab_neu + 1.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          zukuenftig datbi_alt kbetr_alt.&lt;/P&gt;&lt;P&gt;      else. " datab_neu le sy-datum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Gültigkeit ab liegt in der Zukunft&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    der komplexere Fall 2b:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition in der Zukunft enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 3: alte Kond. ab neuem Ende bis altem Ende anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        zukuenftig = datab_neu - 1.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_alt zukuenftig kbetr_alt.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;        zukuenftig = datbi_neu + 1.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          zukuenftig datbi_alt kbetr_alt.&lt;/P&gt;&lt;P&gt;      endif. " datab_neu le sy-datum&lt;/P&gt;&lt;P&gt;    endif. " datbi_neu &amp;gt; i_ausg-datbi&lt;/P&gt;&lt;P&gt;  endform.                    " zeitvergleich&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bapi_fuellen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form bapi_fuellen using    tabelle operation erhoehung " X = JA&lt;/P&gt;&lt;P&gt;                             kschl knumh_alt&lt;/P&gt;&lt;P&gt;                             datab_neu&lt;/P&gt;&lt;P&gt;                             datbi_neu&lt;/P&gt;&lt;P&gt;                             kbetr_neu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   hier muss also jetzt der BAPI gefüllt werden&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   siehe auch &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if operation = 'ANLEGEN'. " ==&amp;gt; Kondition wird NICHT 'geändert'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Neue KonditionsNr holen für Neuanlage Kondition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: knumh_new.&lt;/P&gt;&lt;P&gt;      call function 'NUMBER_GET_NEXT'&lt;/P&gt;&lt;P&gt;           exporting&lt;/P&gt;&lt;P&gt;                nr_range_nr = '01'&lt;/P&gt;&lt;P&gt;                object      = 'KONH'&lt;/P&gt;&lt;P&gt;           importing&lt;/P&gt;&lt;P&gt;                number      = knumh_new&lt;/P&gt;&lt;P&gt;           exceptions&lt;/P&gt;&lt;P&gt;                others      = 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        problems with the number range&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        perform error_message_syst changing ls_return.&lt;/P&gt;&lt;P&gt;        append ls_return to to_bapiret2.&lt;/P&gt;&lt;P&gt;        check 1 = 2.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif. " operation = 'ANLEGEN'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inhalte aus Axxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondct.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ti_bapicondct-operation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*003  Löschen: Nachricht enthält Objekte, die zu Löschen sind.&lt;/P&gt;&lt;P&gt;*004  Änderung: Nachricht enthält Änderungen&lt;/P&gt;&lt;P&gt;*005  Ersetze: Diese Nachricht ersetzt vorige Nachrichten&lt;/P&gt;&lt;P&gt;*009  Original: erste Nachricht zum Vorgang&lt;/P&gt;&lt;P&gt;*023  Warte/Abgleich: Daten sollen nicht eingespielt werden&lt;/P&gt;&lt;P&gt;*018  Wiederversenden&lt;/P&gt;&lt;P&gt;    if operation = 'AENDERN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-operation  = '004'.&lt;/P&gt;&lt;P&gt;    elseif operation = 'ANLEGEN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-operation  = '009'.&lt;/P&gt;&lt;P&gt;    endif. " operation = 'AENDERN'&lt;/P&gt;&lt;P&gt;    ti_bapicondct-cond_usage = dd02l_tabname(1).&lt;/P&gt;&lt;P&gt;    ti_bapicondct-table_no   = dd02l_tabname+1(3).&lt;/P&gt;&lt;P&gt;    ti_bapicondct-applicatio = p_kappl. " Fix V&lt;/P&gt;&lt;P&gt;    ti_bapicondct-cond_type  = kschl.&lt;/P&gt;&lt;P&gt;    if     tabelle = 'A914'.&lt;/P&gt;&lt;P&gt;      concatenate a914-vkorg a914-vtweg " a914-kunnr&lt;/P&gt;&lt;P&gt;        a914-matnr into help_vakey.&lt;/P&gt;&lt;P&gt;    elseif tabelle = 'A915'.&lt;/P&gt;&lt;P&gt;      concatenate a915-vkorg a915-vtweg a915-kunnr&lt;/P&gt;&lt;P&gt;        a915-matnr into help_vakey.&lt;/P&gt;&lt;P&gt;    elseif tabelle = 'A916'.&lt;/P&gt;&lt;P&gt;      concatenate a916-vkorg a916-vtweg a916-pltyp&lt;/P&gt;&lt;P&gt;        a916-waerk into help_vakey.&lt;/P&gt;&lt;P&gt;        help_vakey+13 = a916-matnr.&lt;/P&gt;&lt;P&gt;    elseif tabelle = 'A918'.&lt;/P&gt;&lt;P&gt;      concatenate a918-spart a918-matnr&lt;/P&gt;&lt;P&gt;        into help_vakey.&lt;/P&gt;&lt;P&gt;    endif. " Tabelle = 'A914'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE help_vakey NO-GAPS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct-varkey     = help_vakey.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Konditionsdatum gültig bis&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct-valid_to   = datbi_neu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondct-AGREE_COND =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct-valid_from = datab_neu.&lt;/P&gt;&lt;P&gt;    if operation = 'ANLEGEN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-cond_no = knumh_new.&lt;/P&gt;&lt;P&gt;    elseif operation = 'AENDERN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-cond_no = knumh_alt.&lt;/P&gt;&lt;P&gt;    endif. " operation = 'ANLEGEN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondct-VADAT      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    append ti_bapicondct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inhalte aus KONH mit KNUMH aus Axxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondhd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SD_DOC     = VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-ITM_NUMBER = POSNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondhd-cond_no    = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-applicatio = p_kappl. " Fix V.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-cond_type  = kschl.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-created_by = sy-uname.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-creat_date = sy-datum.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-cond_usage = ti_bapicondct-cond_usage.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-table_no   = ti_bapicondct-table_no.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-varkey     = help_vakey.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-valid_from = datab_neu.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-valid_to   = datbi_neu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SEARCHTERM = KOSRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-RESPONS    = KZUST&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-PROMOT_NO  = KNUMA_PI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SALES_DEAL = KNUMA_AG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SALESQUOTE = KNUMA_SQ&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-STD_AGRMNT = KNUMA_SD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-PROMOTION  = AKTNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-REBAGREEMT = KNUMA_BO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-LIC_NO     = LICNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-LIC_DATE   = LICDT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-VARDATE    = VADAT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    append ti_bapicondhd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inhalte aus KONP mit KNUMH aus Axxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondit.&lt;/P&gt;&lt;P&gt;    select * from konp client specified into help_konp&lt;/P&gt;&lt;P&gt;      where mandt = sy-mandt and knumh = knumh_alt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            keine Konditionen mit Löschkennzeichen anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if help_konp-loevm_ko is initial.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_no    = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_count = help_konp-kopos.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-applicatio = help_konp-kappl.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_type  = help_konp-kschl.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-text_no    = help_konp-knumt.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-scaletype  = help_konp-stfkz.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-scalebasin = help_konp-kzbzg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-scale_qty  = help_konp-kstbm.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-unitmeasur = help_konp-konms.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-measur_iso = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-scale_val  = help_konp-kstbw.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-scale_val  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-currenckey = help_konp-konws.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-curren_iso = help_konp-konws.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-calctypcon = help_konp-krech.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Prozentwerte werden falsch umgerechnet!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if help_konp-konwa = '%'.&lt;/P&gt;&lt;P&gt;          kbetr_neu = kbetr_neu / 10.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_value = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;P&gt;        ti_bapicondit-condcurr   = help_konp-konwa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cond_iso   = help_konp-konwa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-cond_p_unt = help_konp-kpein.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_unit  = help_konp-kmein.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-conunitiso = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-pricelevel = help_konp-prsch.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-numconvert = help_konp-kumza.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-denominato = help_konp-kumne.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-base_uom   = help_konp-meins.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-baseqtyiso  = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-lowerlimit = help_konp-mxwrt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-upperlimit = help_konp-gkwrt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plcondval  = help_konp-pkwrt. " ???&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cum_value  = help_konp-fkwrt. " ???&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cumm_accr  = help_konp-rswrt. " ???&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-lowerlimit = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-upperlimit = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plcondval  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cum_value  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cumm_accr  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-CURRENCY   = help_konp-konwa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-CURR_ISO   = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-condcurren  = help_konp-kwaeh.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-ISOCURRENC  = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plan_basis  = help_konp-ukbas.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plan_basis  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-RATE_UNIT   = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-exclusion   = help_konp-kznep.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-customer    = help_konp-kunnr.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-vendor_no   = help_konp-lifnr.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-tax_code    = help_konp-mwsk1.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-indidelete  = help_konp-loevm_ko.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-conditidx   = help_konp-zaehk_ind.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-matlsettl   = help_konp-bomat.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-accruals    = help_konp-kbrue.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-accruals    = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-reb_retroa  = help_konp-kspae.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-statofagre  = help_konp-bosta.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-promot_no   = help_konp-knuma_pi.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-sales_deal  = help_konp-knuma_ag.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-salesquote  = help_konp-knuma_sq.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-add_val_dy  = help_konp-valtg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-fix_val_dy  = help_konp-valdt.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-pmnttrms    = help_konp-zterm.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-numborders  = help_konp-anzauf.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-minconbava  = help_konp-mikbas.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-maxconbava  = help_konp-mxkbas.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-maxconval   = help_konp-komxwrt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-maxconval   = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-incr_scale  = help_konp-klf_stg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-pricscale   = help_konp-klf_kal.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-relprcg     = help_konp-vkkal.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-promotion   = help_konp-aktnr.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-rebagreemt  = help_konp-knuma_bo.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-withtaxcod  = help_konp-mwsk2.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-contract    = help_konp-vertt.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-contractno  = help_konp-vertn.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-flow_type   = help_konp-vbewa.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-indimatmai  = help_konp-mdflg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-status      = help_konp-kfrst.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-umsabst     = help_konp-uasta.&lt;/P&gt;&lt;P&gt;        append ti_bapicondit.&lt;/P&gt;&lt;P&gt;      endif. " help_konp-LOEVM_KO is initial&lt;/P&gt;&lt;P&gt;    endselect. " FROM konp&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF ti_bapicondit-cond_no IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          alle Pos mit Löschkennzeichen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;             CONTINUE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Inhalte aus KONM Konditionen (Mengenstaffel 1-dimensional)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondqs.&lt;/P&gt;&lt;P&gt;    select * from konm client specified into help_konm&lt;/P&gt;&lt;P&gt;      where mandt = sy-mandt and knumh = knumh_alt.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           TI_BAPICONDQS-SD_DOC      = VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondqs-itm_number  = posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ti_bapicondqs-cond_no     = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-cond_count  = help_konm-kopos.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-line_no     = help_konm-klfn1.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-scale_qty   = help_konm-kstbm.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-cond_unit   = help_konp-kmein.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondqs-t_unit_iso  =&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;           Prozentwerte werden falsch umgerechnet!!!&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;TNT: bitte prüfen ob diese Umsetzung erforderlich ist !!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     IF help_konp-konwa = '%'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       help_konm-kbetr = help_konm-kbetr / 10.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ti_bapicondqs-currency    = help_konm-kbetr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      clear: kbetr_neu.&lt;/P&gt;&lt;P&gt;      if erhoehung = 'X'.&lt;/P&gt;&lt;P&gt;        perform preisanpassung using help_konm-kbetr kbetr_neu.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        kbetr_neu = help_konm-kbetr.&lt;/P&gt;&lt;P&gt;      endif. " erhoehung = 'X'&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-currency    = kbetr_neu.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-condcurr    = help_konp-konwa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondqs-curren_iso  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      append: ti_bapicondqs.&lt;/P&gt;&lt;P&gt;      clear: help_konm.&lt;/P&gt;&lt;P&gt;    endselect. " from konm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Inhalte aus KONW Konditionen (Wertstaffel 1-dimensional)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondvs.&lt;/P&gt;&lt;P&gt;    select * from konw client specified into help_konw&lt;/P&gt;&lt;P&gt;      where mandt = sy-mandt and knumh = knumh_alt.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-SD_DOC      = VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-ITM_NUMBER  = POSNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ti_bapicondvs-cond_no     = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-cond_count  = help_konw-kopos.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-line_no     = help_konw-klfn1.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ti_bapicondvs-scale_val   = help_konw-kstbw.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      ti_bapicondvs-currenckey  = help_konp-konws.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-CURRENCISO  =&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;           Prozentwerte werden falsch umgerechnet!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;TNT: bitte prüfen ob diese Umsetzung erforderlich ist !!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     IF help_konp-konwa = '%'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       help_konw-kbetr = help_konw-kbetr / 10.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      clear: kbetr_neu.&lt;/P&gt;&lt;P&gt;      if erhoehung = 'X'.&lt;/P&gt;&lt;P&gt;        perform preisanpassung using help_konw-kbetr kbetr_neu.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        kbetr_neu = help_konw-kbetr.&lt;/P&gt;&lt;P&gt;      endif. " erhoehung = 'X'&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-currency    = kbetr_neu.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-condcurr    = help_konp-konwa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-CURREN_ISO  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      append: ti_bapicondvs.&lt;/P&gt;&lt;P&gt;    endselect. " from konw&lt;/P&gt;&lt;P&gt;  endform.                    " bapi_fuellen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  error_message_syst&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form error_message_syst changing pc_return type bapiret2.&lt;/P&gt;&lt;P&gt;    call function 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              type   = sy-msgty&lt;/P&gt;&lt;P&gt;              cl     = sy-msgid&lt;/P&gt;&lt;P&gt;              number = sy-msgno&lt;/P&gt;&lt;P&gt;              par1   = sy-msgv1&lt;/P&gt;&lt;P&gt;              par2   = sy-msgv2&lt;/P&gt;&lt;P&gt;              par3   = sy-msgv3&lt;/P&gt;&lt;P&gt;              par4   = sy-msgv4&lt;/P&gt;&lt;P&gt;         importing&lt;/P&gt;&lt;P&gt;              return = pc_return.&lt;/P&gt;&lt;P&gt;  endform.                    " error_message_syst&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bapi_buchen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form bapi_buchen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            nu geiht datt los, denn man tau&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'BAPI_PRICES_CONDITIONS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                PI_INITIALMODE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                PI_BLOCKNUMBER       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        ti_bapicondct        = ti_bapicondct&lt;/P&gt;&lt;P&gt;        ti_bapicondhd        = ti_bapicondhd&lt;/P&gt;&lt;P&gt;        ti_bapicondit        = ti_bapicondit&lt;/P&gt;&lt;P&gt;        ti_bapicondqs        = ti_bapicondqs&lt;/P&gt;&lt;P&gt;        ti_bapicondvs        = ti_bapicondvs&lt;/P&gt;&lt;P&gt;        to_bapiret2          = to_bapiret2&lt;/P&gt;&lt;P&gt;        to_bapiknumhs        = to_bapiknumhs&lt;/P&gt;&lt;P&gt;        to_mem_initial       = to_mem_initial&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        update_error         = 1&lt;/P&gt;&lt;P&gt;        others               = 2.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;      with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table to_bapiret2 with key type = 'E'&lt;/P&gt;&lt;P&gt;      transporting no fields.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0. " READ TABLE to_bapiret2&lt;/P&gt;&lt;P&gt;      loop at to_bapiret2 where type ne 'I'&lt;/P&gt;&lt;P&gt;                            and type ne 'S'&lt;/P&gt;&lt;P&gt;                            and type ne 'W'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TNT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE: / to_bapiret2-type, to_bapiret2-message,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-id, to_bapiret2-log_no,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-log_msg_no, to_bapiret2-message_v1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-message_v2, to_bapiret2-message_v3,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-message_v4, to_bapiret2-parameter,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-row, to_bapiret2-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        concatenate to_bapiret2-type to_bapiret2-id(4)&lt;/P&gt;&lt;P&gt;          to_bapiret2-number to_bapiret2-message&lt;/P&gt;&lt;P&gt;          into fehler_tab-line separated by ' '.&lt;/P&gt;&lt;P&gt;        append fehler_tab.&lt;/P&gt;&lt;P&gt;      endloop. " AT to_bapiret2&lt;/P&gt;&lt;P&gt;    else. " sy-subrc = 0. " READ TABLE to_bapiret2&lt;/P&gt;&lt;P&gt;      call function 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            WAIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;      return = to_bapiret2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Erfolgsmeldung schreiben&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      describe table ti_bapicondhd lines sy-tfill.&lt;/P&gt;&lt;P&gt;      data: help_tfill(10).&lt;/P&gt;&lt;P&gt;      move sy-tfill to help_tfill.&lt;/P&gt;&lt;P&gt;      concatenate help_tfill&lt;/P&gt;&lt;P&gt;        'Konditionen bearbeitet.'(104)&lt;/P&gt;&lt;P&gt;        into fehler_tab-line separated by ' '.&lt;/P&gt;&lt;P&gt;      append fehler_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              und noch 'markieren'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*TNT                it_daten-erfolg = 'KOND'.&lt;/P&gt;&lt;P&gt;*TNT                MODIFY it_daten.&lt;/P&gt;&lt;P&gt;    endif. " sy-subrc = 0. " READ TABLE to_bapiret2&lt;/P&gt;&lt;P&gt;    clear: ti_bapicondct, ti_bapicondhd, ti_bapicondit,&lt;/P&gt;&lt;P&gt;      ti_bapicondqs, ti_bapicondvs, to_bapiret2,&lt;/P&gt;&lt;P&gt;      to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;    refresh: ti_bapicondct, ti_bapicondhd, ti_bapicondit,&lt;/P&gt;&lt;P&gt;      ti_bapicondqs, ti_bapicondvs, to_bapiret2,&lt;/P&gt;&lt;P&gt;      to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;  endform.                    " bapi_buchen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if helpful...........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 28 Sep 2007 06:05:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-28T06:05:19Z</dc:date>
    <item>
      <title>BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819240#M659360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to use BAPI_PRICES_CONDITIONS but don't know what to pass to &amp;lt;b&amp;gt;ti_bapicondct, ti_bapicondhd, ti_bapicondit&amp;lt;/b&amp;gt; table parameters of the  function. The condition depens on Customer / Material and the related table is A005. The tables affected after a succesfull condition save using VK11 are KONP and KONH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know what should be the values of &amp;lt;b&amp;gt;table_no&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;varkey&amp;lt;/b&amp;gt; parameters of the tables mentioned above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- ferudun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 16:07:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819240#M659360</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T16:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819241#M659361</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Check the KONH table.&lt;/P&gt;&lt;P&gt;We have VAKEY field, which is concatenation of the fields in AXXX table.&lt;/P&gt;&lt;P&gt;create a itab structure similar to VAKEY and pass the value to VARKEY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLE_NO field is nothing but KONH-KOTABNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know, if you need further information on the same&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;MD&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 16:24:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819241#M659361</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T16:24:13Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819242#M659362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You have to build the VARKEY. The other fields of ti_bapicondct will be&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eg:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE pm_vkorg pm_vtweg pm_spart pm_werks pm_kunwe pm_kunwe pm_matnr INTO ls_table1-varkey.&lt;/P&gt;&lt;P&gt;ls_table1-table_no      = '825'.&lt;/P&gt;&lt;P&gt;ls_table1-applicatio    = 'V'.&lt;/P&gt;&lt;P&gt;ls_table1-cond_type     = 'ZPCM'.&lt;/P&gt;&lt;P&gt;ls_table1-cond_usage    = 'A'.&lt;/P&gt;&lt;P&gt;ls_table1-valid_to      = '99991231'.&lt;/P&gt;&lt;P&gt;ls_table1-valid_from    = '20070423'.&lt;/P&gt;&lt;P&gt;ls_table1-cond_no       = '$000000001'.&lt;/P&gt;&lt;P&gt;APPEND ls_table1 TO lt_table1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pass this lt_table1 to t_bapicondct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The table number will be based on the Access Sequence you are using for the Condition Type. Check table T682I and T682Z for that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually even ti_bapicondhd will also have pretty much same fields as above. You can use the same varkey built above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ti_bapicondit will have the actual values, uoms etc. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lemme know if u need further info&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 16:37:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819242#M659362</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T16:37:51Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819243#M659363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your attention guys! Let me explain my problem in detail:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created a condion using VK11. The result was a record in KONH and KONP tables. After your replies I have checked the T682I table and the sequence is as fallows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;KOZGF   KOLNR   KOTABNR&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------" /&gt;&lt;P&gt;ZR00	10	5&lt;/P&gt;&lt;P&gt;ZR00	20	55&lt;/P&gt;&lt;P&gt;ZR00	40	4&lt;/P&gt;&lt;P&gt;ZR00	60	800&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have checked the tables listed above for the record created using VK11. The A005 contains a record related with my condition, A055 and A004 are empty, A800 contains a record for ZR00 but not mine.&lt;/P&gt;&lt;P&gt;I can't figure out which table name to use for  TI_BAPICONDCT, TI_BAPICONDHD, TI_BAPICONDIT parameters of the function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- ferudun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2007 05:49:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819243#M659363</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-28T05:49:08Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819244#M659364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see the sample code below...................&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;    dd02l_tabname like dd02l-tabname,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BAPI_PRICES_CONDITIONS-Tabellen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct  type table of bapicondct with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondhd  type table of bapicondhd with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondit  type table of bapicondit with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondqs  type table of bapicondqs with header line,&lt;/P&gt;&lt;P&gt;    ti_bapicondvs  type table of bapicondvs with header line,&lt;/P&gt;&lt;P&gt;    to_bapiret2    type table of bapiret2   with header line,&lt;/P&gt;&lt;P&gt;    to_bapiknumhs  type table of bapiknumhs,&lt;/P&gt;&lt;P&gt;    to_mem_initial type table of cnd_mem_initial with header line,&lt;/P&gt;&lt;P&gt;    help_vakey like ti_bapicondct-varkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fehlerauswertung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of fehler_tab occurs 0,  " Tabelle für Fehlermeldungen&lt;/P&gt;&lt;P&gt;          line like sy-lisel,                               " 255 Char&lt;/P&gt;&lt;P&gt;        end of fehler_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       returncode(2).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: a100.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Neue KonditionsNr holen für Neuanlage Kondition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: knumh_new type knumh.&lt;/P&gt;&lt;P&gt;  data: ls_return type bapiret2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;weiter Daten zu Konditionen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: help_konp like konp.&lt;/P&gt;&lt;P&gt;  data: help_konm like konm.&lt;/P&gt;&lt;P&gt;  data: help_konw like konw,&lt;/P&gt;&lt;P&gt;        gestern type d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; selection-screen begin of block block5 with frame title text-bl5.&lt;/P&gt;&lt;P&gt;  parameters:&lt;/P&gt;&lt;P&gt;    p_preis as checkbox modif id upd,&lt;/P&gt;&lt;P&gt;    p_proz  type kbetr_kond modif id upd,&lt;/P&gt;&lt;P&gt;    p_datab like a100-datab modif id upd,&lt;/P&gt;&lt;P&gt;    p_datbi like a100-datbi modif id upd,&lt;/P&gt;&lt;P&gt;    p_waers like a106-waerk default 'EUR' modif id upd.&lt;/P&gt;&lt;P&gt;  parameters:&lt;/P&gt;&lt;P&gt;    p_kappl like a100-kappl default 'V' no-display.&lt;/P&gt;&lt;P&gt;  selection-screen end of block block5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;break-point.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  preisanpassung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form preisanpassung using alter_preis type kbetr_kond     " CURR 11.2&lt;/P&gt;&lt;P&gt;                            neuer_preis type kbetr_kond.&lt;/P&gt;&lt;P&gt;    neuer_preis = alter_preis + ( alter_preis * p_proz / 100 ).&lt;/P&gt;&lt;P&gt;  endform.                    " preisanpassung&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bapi_prices_conditions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form bapi_prices_conditions.&lt;/P&gt;&lt;P&gt;    clear: ti_bapicondct, ti_bapicondhd, ti_bapicondit, ti_bapicondqs,&lt;/P&gt;&lt;P&gt;      ti_bapicondvs, to_bapiret2, to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;    refresh: ti_bapicondct, ti_bapicondhd, ti_bapicondit, ti_bapicondqs,&lt;/P&gt;&lt;P&gt;      ti_bapicondvs, to_bapiret2, to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gestern = sy-datum - 1.&lt;/P&gt;&lt;P&gt;    dd02l_tabname = 'A100'.&lt;/P&gt;&lt;P&gt;    perform fill_a914.&lt;/P&gt;&lt;P&gt;    perform bapi_buchen.&lt;/P&gt;&lt;P&gt;  endform.                    " bapi_prices_conditions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  fill_a914&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form fill_a914.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Bapi für Tabelle A914 füllen&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;alle markierten zutreffenden Konditionen aus A914 auslesen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    loop at et_row_no. " enthält die markierten Zeilen&lt;/P&gt;&lt;P&gt;      if p_ekinfo = ''.&lt;/P&gt;&lt;P&gt;        read table i_ausg index et_row_no-row_id.&lt;/P&gt;&lt;P&gt;        select single * from a914 client specified&lt;/P&gt;&lt;P&gt;         where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;           and kappl = p_kappl  " Applikation, V = Vetrieb&lt;/P&gt;&lt;P&gt;           and kschl = i_ausg-kschl&lt;/P&gt;&lt;P&gt;           and vkorg = i_ausg-vkorg&lt;/P&gt;&lt;P&gt;           and vtweg = i_ausg-vtweg&lt;/P&gt;&lt;P&gt;           and matnr = i_ausg-matnr&lt;/P&gt;&lt;P&gt;           and kfrst = i_ausg-kfrst&lt;/P&gt;&lt;P&gt;           and datbi = i_ausg-datbi&lt;/P&gt;&lt;P&gt;           and datab = i_ausg-datab.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;          continue.&lt;/P&gt;&lt;P&gt;        endif. " sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;        perform zeitvergleich using&lt;/P&gt;&lt;P&gt;          'A914' a914-kschl a914-knumh&lt;/P&gt;&lt;P&gt;          i_ausg-datab  i_ausg-datab_n&lt;/P&gt;&lt;P&gt;          i_ausg-datbi  i_ausg-datbi_n&lt;/P&gt;&lt;P&gt;          i_ausg-kbetr  i_ausg-kbetr_n.&lt;/P&gt;&lt;P&gt;      else. " p_ekinfo = ''&lt;/P&gt;&lt;P&gt;        read table i_ausg_ek index et_row_no-row_id.&lt;/P&gt;&lt;P&gt;        select single * from a914 client specified&lt;/P&gt;&lt;P&gt;         where mandt = sy-mandt&lt;/P&gt;&lt;P&gt;           and kappl = p_kappl  " Applikation, V = Vetrieb&lt;/P&gt;&lt;P&gt;           and kschl = i_ausg_ek-kschl&lt;/P&gt;&lt;P&gt;           and vkorg = i_ausg_ek-vkorg&lt;/P&gt;&lt;P&gt;           and vtweg = i_ausg_ek-vtweg&lt;/P&gt;&lt;P&gt;           and matnr = i_ausg_ek-matnr&lt;/P&gt;&lt;P&gt;           and kfrst = i_ausg_ek-kfrst&lt;/P&gt;&lt;P&gt;           and datbi = i_ausg_ek-datbi&lt;/P&gt;&lt;P&gt;           and datab = i_ausg_ek-datab.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;          continue.&lt;/P&gt;&lt;P&gt;        endif. " sy-subrc ne 0. " SELECT SINGLE * FROM a914&lt;/P&gt;&lt;P&gt;        perform zeitvergleich using&lt;/P&gt;&lt;P&gt;          'A914' a914-kschl a914-knumh&lt;/P&gt;&lt;P&gt;          i_ausg_ek-datab  i_ausg_ek-datab_n&lt;/P&gt;&lt;P&gt;          i_ausg_ek-datbi  i_ausg_ek-datbi_n&lt;/P&gt;&lt;P&gt;          i_ausg_ek-kbetr  i_ausg_ek-kbetr_n.&lt;/P&gt;&lt;P&gt;      endif." p_ekinfo = ''&lt;/P&gt;&lt;P&gt;    endloop. " at ET_ROW_NO&lt;/P&gt;&lt;P&gt;  endform.                                                  " fill_a914&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  zeitvergleich&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form zeitvergleich using    tabelle kschl knumh_alt&lt;/P&gt;&lt;P&gt;                              datab_alt datab_neu&lt;/P&gt;&lt;P&gt;                              datbi_alt datbi_neu&lt;/P&gt;&lt;P&gt;                              kbetr_alt kbetr_neu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so, wie ist das denn mit dem Gültigkeitszeitraum&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if datbi_neu gt datbi_alt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  das neue Ende-Datum endet nach dem alten&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if datab_neu le sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    und die Kondition ist ab sofort gültig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1a,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datbi_alt ge sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      alte Kondition ist noch gültig !!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt gestern kbetr_alt.&lt;/P&gt;&lt;P&gt;        endif. " datbi_alt ge sy-datum&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;      else. " datab_neu le sy-datum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Gültigkeit ab liegt in der Zukunft&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1b,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition in der Zukunft enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datab_alt = datab_neu.&lt;/P&gt;&lt;P&gt;          zukuenftig = datab_neu.&lt;/P&gt;&lt;P&gt;        else. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;          zukuenftig = datab_neu - 1.&lt;/P&gt;&lt;P&gt;        endif. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_alt zukuenftig kbetr_alt.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;      endif. " datab_neu le sy-datum&lt;/P&gt;&lt;P&gt;    elseif datbi_neu = datbi_alt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  dieselbe Kondition soll geändert werden???&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if datab_neu le sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    und die Kondition ist ab sofort gültig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1a,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datbi_alt ge sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      alte Kondition ist noch gültig !!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt gestern kbetr_alt.&lt;/P&gt;&lt;P&gt;        endif. " datbi_alt ge sy-datum&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;      else. " datab_neu le sy-datum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Gültigkeit ab liegt in der Zukunft&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ja gut, der einfache Fall 1b,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition in der Zukunft enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if datab_alt = datab_neu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        es soll eindeutig der gleiche Satz geändert werden&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' 'X'&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt datbi_alt kbetr_neu.&lt;/P&gt;&lt;P&gt;        else. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;          zukuenftig = datab_neu - 1.&lt;/P&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_alt zukuenftig kbetr_alt.&lt;/P&gt;&lt;P&gt;          perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;            kschl knumh_alt&lt;/P&gt;&lt;P&gt;            datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;        endif. " datab_alt = datab_neu&lt;/P&gt;&lt;P&gt;      endif. " datab_neu le sy-datum&lt;/P&gt;&lt;P&gt;    else.  " datbi_neu &amp;gt; datbi_alt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  das neue Ende-Datum endet VOR dem alten&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  der komplexere Fall 2a:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if datab_neu le sy-datum.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    und die Kondition ist ab sofort gültig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition sofort enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit neuem Preis mit neuer Gültigkeit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 3: alte Kond. ab neuem Ende bis altem Ende anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_alt gestern kbetr_alt.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;        zukuenftig = datab_neu + 1.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          zukuenftig datbi_alt kbetr_alt.&lt;/P&gt;&lt;P&gt;      else. " datab_neu le sy-datum&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Gültigkeit ab liegt in der Zukunft&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    der komplexere Fall 2b:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 1: die alte Kondition in der Zukunft enden lassen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 2: und eine neue mit dem neuen Preis anlegen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Teil 3: alte Kond. ab neuem Ende bis altem Ende anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        zukuenftig = datab_neu - 1.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'AENDERN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_alt zukuenftig kbetr_alt.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' 'X'&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          datab_neu datbi_neu kbetr_neu.&lt;/P&gt;&lt;P&gt;        zukuenftig = datbi_neu + 1.&lt;/P&gt;&lt;P&gt;        perform bapi_fuellen using tabelle 'ANLEGEN' ''&lt;/P&gt;&lt;P&gt;          kschl knumh_alt&lt;/P&gt;&lt;P&gt;          zukuenftig datbi_alt kbetr_alt.&lt;/P&gt;&lt;P&gt;      endif. " datab_neu le sy-datum&lt;/P&gt;&lt;P&gt;    endif. " datbi_neu &amp;gt; i_ausg-datbi&lt;/P&gt;&lt;P&gt;  endform.                    " zeitvergleich&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bapi_fuellen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form bapi_fuellen using    tabelle operation erhoehung " X = JA&lt;/P&gt;&lt;P&gt;                             kschl knumh_alt&lt;/P&gt;&lt;P&gt;                             datab_neu&lt;/P&gt;&lt;P&gt;                             datbi_neu&lt;/P&gt;&lt;P&gt;                             kbetr_neu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   hier muss also jetzt der BAPI gefüllt werden&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   siehe auch &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if operation = 'ANLEGEN'. " ==&amp;gt; Kondition wird NICHT 'geändert'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Neue KonditionsNr holen für Neuanlage Kondition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: knumh_new.&lt;/P&gt;&lt;P&gt;      call function 'NUMBER_GET_NEXT'&lt;/P&gt;&lt;P&gt;           exporting&lt;/P&gt;&lt;P&gt;                nr_range_nr = '01'&lt;/P&gt;&lt;P&gt;                object      = 'KONH'&lt;/P&gt;&lt;P&gt;           importing&lt;/P&gt;&lt;P&gt;                number      = knumh_new&lt;/P&gt;&lt;P&gt;           exceptions&lt;/P&gt;&lt;P&gt;                others      = 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        problems with the number range&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        perform error_message_syst changing ls_return.&lt;/P&gt;&lt;P&gt;        append ls_return to to_bapiret2.&lt;/P&gt;&lt;P&gt;        check 1 = 2.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif. " operation = 'ANLEGEN'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inhalte aus Axxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondct.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ti_bapicondct-operation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*003  Löschen: Nachricht enthält Objekte, die zu Löschen sind.&lt;/P&gt;&lt;P&gt;*004  Änderung: Nachricht enthält Änderungen&lt;/P&gt;&lt;P&gt;*005  Ersetze: Diese Nachricht ersetzt vorige Nachrichten&lt;/P&gt;&lt;P&gt;*009  Original: erste Nachricht zum Vorgang&lt;/P&gt;&lt;P&gt;*023  Warte/Abgleich: Daten sollen nicht eingespielt werden&lt;/P&gt;&lt;P&gt;*018  Wiederversenden&lt;/P&gt;&lt;P&gt;    if operation = 'AENDERN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-operation  = '004'.&lt;/P&gt;&lt;P&gt;    elseif operation = 'ANLEGEN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-operation  = '009'.&lt;/P&gt;&lt;P&gt;    endif. " operation = 'AENDERN'&lt;/P&gt;&lt;P&gt;    ti_bapicondct-cond_usage = dd02l_tabname(1).&lt;/P&gt;&lt;P&gt;    ti_bapicondct-table_no   = dd02l_tabname+1(3).&lt;/P&gt;&lt;P&gt;    ti_bapicondct-applicatio = p_kappl. " Fix V&lt;/P&gt;&lt;P&gt;    ti_bapicondct-cond_type  = kschl.&lt;/P&gt;&lt;P&gt;    if     tabelle = 'A914'.&lt;/P&gt;&lt;P&gt;      concatenate a914-vkorg a914-vtweg " a914-kunnr&lt;/P&gt;&lt;P&gt;        a914-matnr into help_vakey.&lt;/P&gt;&lt;P&gt;    elseif tabelle = 'A915'.&lt;/P&gt;&lt;P&gt;      concatenate a915-vkorg a915-vtweg a915-kunnr&lt;/P&gt;&lt;P&gt;        a915-matnr into help_vakey.&lt;/P&gt;&lt;P&gt;    elseif tabelle = 'A916'.&lt;/P&gt;&lt;P&gt;      concatenate a916-vkorg a916-vtweg a916-pltyp&lt;/P&gt;&lt;P&gt;        a916-waerk into help_vakey.&lt;/P&gt;&lt;P&gt;        help_vakey+13 = a916-matnr.&lt;/P&gt;&lt;P&gt;    elseif tabelle = 'A918'.&lt;/P&gt;&lt;P&gt;      concatenate a918-spart a918-matnr&lt;/P&gt;&lt;P&gt;        into help_vakey.&lt;/P&gt;&lt;P&gt;    endif. " Tabelle = 'A914'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE help_vakey NO-GAPS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct-varkey     = help_vakey.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Konditionsdatum gültig bis&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct-valid_to   = datbi_neu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondct-AGREE_COND =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondct-valid_from = datab_neu.&lt;/P&gt;&lt;P&gt;    if operation = 'ANLEGEN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-cond_no = knumh_new.&lt;/P&gt;&lt;P&gt;    elseif operation = 'AENDERN'.&lt;/P&gt;&lt;P&gt;      ti_bapicondct-cond_no = knumh_alt.&lt;/P&gt;&lt;P&gt;    endif. " operation = 'ANLEGEN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondct-VADAT      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    append ti_bapicondct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inhalte aus KONH mit KNUMH aus Axxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondhd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SD_DOC     = VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-ITM_NUMBER = POSNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ti_bapicondhd-cond_no    = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-applicatio = p_kappl. " Fix V.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-cond_type  = kschl.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-created_by = sy-uname.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-creat_date = sy-datum.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-cond_usage = ti_bapicondct-cond_usage.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-table_no   = ti_bapicondct-table_no.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-varkey     = help_vakey.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-valid_from = datab_neu.&lt;/P&gt;&lt;P&gt;    ti_bapicondhd-valid_to   = datbi_neu.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SEARCHTERM = KOSRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-RESPONS    = KZUST&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-PROMOT_NO  = KNUMA_PI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SALES_DEAL = KNUMA_AG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-SALESQUOTE = KNUMA_SQ&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-STD_AGRMNT = KNUMA_SD&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-PROMOTION  = AKTNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-REBAGREEMT = KNUMA_BO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-LIC_NO     = LICNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-LIC_DATE   = LICDT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ti_bapicondhd-VARDATE    = VADAT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    append ti_bapicondhd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inhalte aus KONP mit KNUMH aus Axxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondit.&lt;/P&gt;&lt;P&gt;    select * from konp client specified into help_konp&lt;/P&gt;&lt;P&gt;      where mandt = sy-mandt and knumh = knumh_alt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            keine Konditionen mit Löschkennzeichen anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if help_konp-loevm_ko is initial.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_no    = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_count = help_konp-kopos.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-applicatio = help_konp-kappl.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_type  = help_konp-kschl.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-text_no    = help_konp-knumt.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-scaletype  = help_konp-stfkz.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-scalebasin = help_konp-kzbzg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-scale_qty  = help_konp-kstbm.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-unitmeasur = help_konp-konms.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-measur_iso = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-scale_val  = help_konp-kstbw.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-scale_val  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-currenckey = help_konp-konws.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-curren_iso = help_konp-konws.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-calctypcon = help_konp-krech.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Prozentwerte werden falsch umgerechnet!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if help_konp-konwa = '%'.&lt;/P&gt;&lt;P&gt;          kbetr_neu = kbetr_neu / 10.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_value = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;P&gt;        ti_bapicondit-condcurr   = help_konp-konwa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cond_iso   = help_konp-konwa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-cond_p_unt = help_konp-kpein.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-cond_unit  = help_konp-kmein.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-conunitiso = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-pricelevel = help_konp-prsch.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-numconvert = help_konp-kumza.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-denominato = help_konp-kumne.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-base_uom   = help_konp-meins.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-baseqtyiso  = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-lowerlimit = help_konp-mxwrt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-upperlimit = help_konp-gkwrt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plcondval  = help_konp-pkwrt. " ???&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cum_value  = help_konp-fkwrt. " ???&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cumm_accr  = help_konp-rswrt. " ???&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-lowerlimit = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-upperlimit = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plcondval  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cum_value  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-cumm_accr  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-CURRENCY   = help_konp-konwa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-CURR_ISO   = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-condcurren  = help_konp-kwaeh.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-ISOCURRENC  = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plan_basis  = help_konp-ukbas.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-plan_basis  = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondit-RATE_UNIT   = help_konp-.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-exclusion   = help_konp-kznep.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-customer    = help_konp-kunnr.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-vendor_no   = help_konp-lifnr.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-tax_code    = help_konp-mwsk1.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-indidelete  = help_konp-loevm_ko.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-conditidx   = help_konp-zaehk_ind.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-matlsettl   = help_konp-bomat.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-accruals    = help_konp-kbrue.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-accruals    = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-reb_retroa  = help_konp-kspae.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-statofagre  = help_konp-bosta.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-promot_no   = help_konp-knuma_pi.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-sales_deal  = help_konp-knuma_ag.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-salesquote  = help_konp-knuma_sq.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-add_val_dy  = help_konp-valtg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-fix_val_dy  = help_konp-valdt.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-pmnttrms    = help_konp-zterm.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-numborders  = help_konp-anzauf.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-minconbava  = help_konp-mikbas.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-maxconbava  = help_konp-mxkbas.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ti_bapicondit-maxconval   = help_konp-komxwrt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ti_bapicondit-maxconval   = kbetr_neu.         "!!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ti_bapicondit-incr_scale  = help_konp-klf_stg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-pricscale   = help_konp-klf_kal.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-relprcg     = help_konp-vkkal.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-promotion   = help_konp-aktnr.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-rebagreemt  = help_konp-knuma_bo.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-withtaxcod  = help_konp-mwsk2.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-contract    = help_konp-vertt.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-contractno  = help_konp-vertn.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-flow_type   = help_konp-vbewa.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-indimatmai  = help_konp-mdflg.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-status      = help_konp-kfrst.&lt;/P&gt;&lt;P&gt;        ti_bapicondit-umsabst     = help_konp-uasta.&lt;/P&gt;&lt;P&gt;        append ti_bapicondit.&lt;/P&gt;&lt;P&gt;      endif. " help_konp-LOEVM_KO is initial&lt;/P&gt;&lt;P&gt;    endselect. " FROM konp&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF ti_bapicondit-cond_no IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          alle Pos mit Löschkennzeichen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;             CONTINUE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Inhalte aus KONM Konditionen (Mengenstaffel 1-dimensional)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondqs.&lt;/P&gt;&lt;P&gt;    select * from konm client specified into help_konm&lt;/P&gt;&lt;P&gt;      where mandt = sy-mandt and knumh = knumh_alt.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           TI_BAPICONDQS-SD_DOC      = VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondqs-itm_number  = posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ti_bapicondqs-cond_no     = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-cond_count  = help_konm-kopos.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-line_no     = help_konm-klfn1.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-scale_qty   = help_konm-kstbm.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-cond_unit   = help_konp-kmein.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondqs-t_unit_iso  =&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;           Prozentwerte werden falsch umgerechnet!!!&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;TNT: bitte prüfen ob diese Umsetzung erforderlich ist !!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     IF help_konp-konwa = '%'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       help_konm-kbetr = help_konm-kbetr / 10.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ti_bapicondqs-currency    = help_konm-kbetr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      clear: kbetr_neu.&lt;/P&gt;&lt;P&gt;      if erhoehung = 'X'.&lt;/P&gt;&lt;P&gt;        perform preisanpassung using help_konm-kbetr kbetr_neu.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        kbetr_neu = help_konm-kbetr.&lt;/P&gt;&lt;P&gt;      endif. " erhoehung = 'X'&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-currency    = kbetr_neu.&lt;/P&gt;&lt;P&gt;      ti_bapicondqs-condcurr    = help_konp-konwa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondqs-curren_iso  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      append: ti_bapicondqs.&lt;/P&gt;&lt;P&gt;      clear: help_konm.&lt;/P&gt;&lt;P&gt;    endselect. " from konm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Inhalte aus KONW Konditionen (Wertstaffel 1-dimensional)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: ti_bapicondvs.&lt;/P&gt;&lt;P&gt;    select * from konw client specified into help_konw&lt;/P&gt;&lt;P&gt;      where mandt = sy-mandt and knumh = knumh_alt.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-operation  = ti_bapicondct-operation.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-SD_DOC      = VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-ITM_NUMBER  = POSNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ti_bapicondvs-cond_no     = ti_bapicondct-cond_no.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-cond_count  = help_konw-kopos.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-line_no     = help_konw-klfn1.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ti_bapicondvs-scale_val   = help_konw-kstbw.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      ti_bapicondvs-currenckey  = help_konp-konws.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-CURRENCISO  =&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;           Prozentwerte werden falsch umgerechnet!!!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;TNT: bitte prüfen ob diese Umsetzung erforderlich ist !!!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     IF help_konp-konwa = '%'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       help_konw-kbetr = help_konw-kbetr / 10.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      clear: kbetr_neu.&lt;/P&gt;&lt;P&gt;      if erhoehung = 'X'.&lt;/P&gt;&lt;P&gt;        perform preisanpassung using help_konw-kbetr kbetr_neu.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        kbetr_neu = help_konw-kbetr.&lt;/P&gt;&lt;P&gt;      endif. " erhoehung = 'X'&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-currency    = kbetr_neu.&lt;/P&gt;&lt;P&gt;      ti_bapicondvs-condcurr    = help_konp-konwa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ti_bapicondvs-CURREN_ISO  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      append: ti_bapicondvs.&lt;/P&gt;&lt;P&gt;    endselect. " from konw&lt;/P&gt;&lt;P&gt;  endform.                    " bapi_fuellen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  error_message_syst&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form error_message_syst changing pc_return type bapiret2.&lt;/P&gt;&lt;P&gt;    call function 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              type   = sy-msgty&lt;/P&gt;&lt;P&gt;              cl     = sy-msgid&lt;/P&gt;&lt;P&gt;              number = sy-msgno&lt;/P&gt;&lt;P&gt;              par1   = sy-msgv1&lt;/P&gt;&lt;P&gt;              par2   = sy-msgv2&lt;/P&gt;&lt;P&gt;              par3   = sy-msgv3&lt;/P&gt;&lt;P&gt;              par4   = sy-msgv4&lt;/P&gt;&lt;P&gt;         importing&lt;/P&gt;&lt;P&gt;              return = pc_return.&lt;/P&gt;&lt;P&gt;  endform.                    " error_message_syst&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form  bapi_buchen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  form bapi_buchen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            nu geiht datt los, denn man tau&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'BAPI_PRICES_CONDITIONS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                PI_INITIALMODE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                PI_BLOCKNUMBER       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        ti_bapicondct        = ti_bapicondct&lt;/P&gt;&lt;P&gt;        ti_bapicondhd        = ti_bapicondhd&lt;/P&gt;&lt;P&gt;        ti_bapicondit        = ti_bapicondit&lt;/P&gt;&lt;P&gt;        ti_bapicondqs        = ti_bapicondqs&lt;/P&gt;&lt;P&gt;        ti_bapicondvs        = ti_bapicondvs&lt;/P&gt;&lt;P&gt;        to_bapiret2          = to_bapiret2&lt;/P&gt;&lt;P&gt;        to_bapiknumhs        = to_bapiknumhs&lt;/P&gt;&lt;P&gt;        to_mem_initial       = to_mem_initial&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        update_error         = 1&lt;/P&gt;&lt;P&gt;        others               = 2.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;      with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table to_bapiret2 with key type = 'E'&lt;/P&gt;&lt;P&gt;      transporting no fields.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0. " READ TABLE to_bapiret2&lt;/P&gt;&lt;P&gt;      loop at to_bapiret2 where type ne 'I'&lt;/P&gt;&lt;P&gt;                            and type ne 'S'&lt;/P&gt;&lt;P&gt;                            and type ne 'W'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TNT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE: / to_bapiret2-type, to_bapiret2-message,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-id, to_bapiret2-log_no,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-log_msg_no, to_bapiret2-message_v1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-message_v2, to_bapiret2-message_v3,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-message_v4, to_bapiret2-parameter,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to_bapiret2-row, to_bapiret2-field.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        concatenate to_bapiret2-type to_bapiret2-id(4)&lt;/P&gt;&lt;P&gt;          to_bapiret2-number to_bapiret2-message&lt;/P&gt;&lt;P&gt;          into fehler_tab-line separated by ' '.&lt;/P&gt;&lt;P&gt;        append fehler_tab.&lt;/P&gt;&lt;P&gt;      endloop. " AT to_bapiret2&lt;/P&gt;&lt;P&gt;    else. " sy-subrc = 0. " READ TABLE to_bapiret2&lt;/P&gt;&lt;P&gt;      call function 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            WAIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;      return = to_bapiret2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Erfolgsmeldung schreiben&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      describe table ti_bapicondhd lines sy-tfill.&lt;/P&gt;&lt;P&gt;      data: help_tfill(10).&lt;/P&gt;&lt;P&gt;      move sy-tfill to help_tfill.&lt;/P&gt;&lt;P&gt;      concatenate help_tfill&lt;/P&gt;&lt;P&gt;        'Konditionen bearbeitet.'(104)&lt;/P&gt;&lt;P&gt;        into fehler_tab-line separated by ' '.&lt;/P&gt;&lt;P&gt;      append fehler_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              und noch 'markieren'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*TNT                it_daten-erfolg = 'KOND'.&lt;/P&gt;&lt;P&gt;*TNT                MODIFY it_daten.&lt;/P&gt;&lt;P&gt;    endif. " sy-subrc = 0. " READ TABLE to_bapiret2&lt;/P&gt;&lt;P&gt;    clear: ti_bapicondct, ti_bapicondhd, ti_bapicondit,&lt;/P&gt;&lt;P&gt;      ti_bapicondqs, ti_bapicondvs, to_bapiret2,&lt;/P&gt;&lt;P&gt;      to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;    refresh: ti_bapicondct, ti_bapicondhd, ti_bapicondit,&lt;/P&gt;&lt;P&gt;      ti_bapicondqs, ti_bapicondvs, to_bapiret2,&lt;/P&gt;&lt;P&gt;      to_bapiknumhs, to_mem_initial.&lt;/P&gt;&lt;P&gt;  endform.                    " bapi_buchen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if helpful...........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2007 06:05:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819244#M659364</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-28T06:05:19Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819245#M659365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ramway,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried your code before but could not manage to execute it. I have no German and could't solve the problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have wrote the following code but got nothing. No bapi return message, no errors, no records created...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where is the problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ti_bapicondct  TYPE TABLE OF bapicondct WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      ti_bapicondhd  TYPE TABLE OF bapicondhd WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      ti_bapicondit  TYPE TABLE OF bapicondit WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      ti_bapicondqs  TYPE TABLE OF bapicondqs WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      ti_bapicondvs  TYPE TABLE OF bapicondvs WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      to_bapiret2    TYPE TABLE OF bapiret2   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      to_bapiknumhs  TYPE TABLE OF bapiknumhs,&lt;/P&gt;&lt;P&gt;      to_mem_initial TYPE TABLE OF cnd_mem_initial WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ti_bapicondct-table_no = '005'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-applicatio = 'V'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-cond_type = 'ZR00'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-operation = '009'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-varkey = '5000050070000000000000000213000000'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-valid_to = '99991231'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-valid_from = '20070928'.&lt;/P&gt;&lt;P&gt;ti_bapicondct-cond_no = '$000000001'.&lt;/P&gt;&lt;P&gt;APPEND ti_bapicondct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ti_bapicondhd-operation = '009'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-cond_no = '$000000001'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-created_by = sy-uname.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-creat_date = '20070928'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-cond_usage = 'A'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-table_no = '005'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-applicatio = 'V'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-cond_type = 'ZR00'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-varkey = '5000050070000000000000000213000000'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-valid_from = '20070928'.&lt;/P&gt;&lt;P&gt;ti_bapicondhd-valid_to = '99991231'.&lt;/P&gt;&lt;P&gt;APPEND ti_bapicondhd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ti_bapicondit-operation = '009'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-cond_no = '$000000001'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-cond_count = '01'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-applicatio = 'V'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-cond_type = 'ZR00'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-scaletype = 'A'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-scalebasin = 'C'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-scale_qty = '1'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-cond_p_unt = '1'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-cond_unit = 'ST'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-calctypcon = 'C'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-cond_value = '13'.&lt;/P&gt;&lt;P&gt;ti_bapicondit-condcurr = 'TRY'.&lt;/P&gt;&lt;P&gt;APPEND ti_bapicondit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_PRICES_CONDITIONS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PI_INITIALMODE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PI_BLOCKNUMBER       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    TI_BAPICONDCT        = TI_BAPICONDCT&lt;/P&gt;&lt;P&gt;    TI_BAPICONDHD        = TI_BAPICONDHD&lt;/P&gt;&lt;P&gt;    TI_BAPICONDIT        = TI_BAPICONDIT&lt;/P&gt;&lt;P&gt;    TI_BAPICONDQS        = ti_bapicondqs&lt;/P&gt;&lt;P&gt;    TI_BAPICONDVS        = ti_bapicondvs&lt;/P&gt;&lt;P&gt;    TO_BAPIRET2          = to_bapiret2&lt;/P&gt;&lt;P&gt;    TO_BAPIKNUMHS        = to_bapiknumhs&lt;/P&gt;&lt;P&gt;    TO_MEM_INITIAL       = to_mem_initial&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    UPDATE_ERROR         = 1&lt;/P&gt;&lt;P&gt;    OTHERS               = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;          with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table to_bapiret2 with key type = 'E' transporting no fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  loop at to_bapiret2.&lt;/P&gt;&lt;P&gt;    write: / to_bapiret2-type,&lt;/P&gt;&lt;P&gt;             to_bapiret2-message,&lt;/P&gt;&lt;P&gt;             to_bapiret2-id,&lt;/P&gt;&lt;P&gt;             to_bapiret2-log_no,&lt;/P&gt;&lt;P&gt;             to_bapiret2-log_msg_no,&lt;/P&gt;&lt;P&gt;             to_bapiret2-message_v1,&lt;/P&gt;&lt;P&gt;             to_bapiret2-message_v2,&lt;/P&gt;&lt;P&gt;             to_bapiret2-message_v3,&lt;/P&gt;&lt;P&gt;             to_bapiret2-message_v4,&lt;/P&gt;&lt;P&gt;             to_bapiret2-parameter,&lt;/P&gt;&lt;P&gt;             to_bapiret2-row,&lt;/P&gt;&lt;P&gt;             to_bapiret2-field.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;*exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wait =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  importing&lt;/P&gt;&lt;P&gt;    return = to_bapiret2.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2007 06:21:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819245#M659365</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-28T06:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819246#M659366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Feruddun,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me explain you something i know..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are 4 entries in your T682I table for ZR00 Access Sequence. Now if you go to T682Z table you would have the Key fields of the access sequence. The link between T682I and T682Z would be KOZGF and KOLNR. There are 4 access sequnces, and if you look at the key fields of the Access Sequence, they start of being very specific and finally less specific.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Eg:  ZR00-  10 - Key Fields - VKORG/VTWEG/SPART/KUNNR/MATNR&lt;/P&gt;&lt;P&gt;             ZR00-  20 - Key Fields- VKORG/VTWEG/SPART/MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So u can see..the first access sequence is more specific, however for the system to use the condition records, all 5 values must be present. So, you first check if all 5 values are there, if there is then you create an access sequence using its corresponding KOTABNR which is 5. And if you do not have atleast one of the 5 key fields, you would read the key fields of the next Access sequence and use its corresponding table 55 and so on..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope i made sense...&lt;/P&gt;&lt;P&gt;Lemme know if you need further help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2007 13:55:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819246#M659366</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-28T13:55:09Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819247#M659367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sri Tayi,&lt;/P&gt;&lt;P&gt; I found your explanation is really clear and it is quite useful for me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a question: as in your example, if I need more than available key fields of an Access Sequence in table T682Z, what should I do?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, ZR00 - n - Key Fields A / B / C / D / E.&lt;/P&gt;&lt;P&gt;I need a combination of A / B / C / D / E / &amp;lt;b&amp;gt;F&amp;lt;/b&amp;gt;, but Key Field F is not in the table. So, what now?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way, &amp;lt;b&amp;gt;please explain me more about the parameter VARKEY.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;As above, VARKEY is a combination of fields of Axxx table. I went to this table, but which fields do we use?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see that parameters passed to the FM include 5 tables. What are there functions? Do we have to pass all tables with data?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Oct 2007 09:18:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819247#M659367</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-02T09:18:28Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PRICES_CONDITIONS problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819248#M659368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sri Tayj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think with the requirement of  Ferudun ATAKAN , accessing to T682I and T682Z to get information about &amp;lt;b&amp;gt;Table_No&amp;lt;/b&amp;gt; is not right. The right table is KONH, as Madhan said.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because, in my case, if I went to T682I, it told me to use table A006 while KONH told me to use A306. Actually, I created some entries in VK11 and they were saved in KONH (for header), KONP (for detail) and A306. Looking into A006 didn't return my items. So confused here. Can you make me clear?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Oct 2007 03:24:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-prices-conditions-problem/m-p/2819248#M659368</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-03T03:24:26Z</dc:date>
    </item>
  </channel>
</rss>

