[gelöst] FuBa RV_CONDITION_COPY

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

[gelöst] FuBa RV_CONDITION_COPY

Beitrag von Dennis Abmeier (ForumUser / 3 / 0 / 0 ) »
EDit: Hat sich erledigt. s.u. :)

Hallo Zusammen,

ich habe eine Dialoganwendung zur Preispflege erstellt weill uns die VK32 hier nicht genügt hat.
Es läuft auch alles soweit wie es sollte, ich hab nur noch ein Problem mit dem Datenbank Update um die geänderten Preise "Scharf" zu stellen, d.h. Vom ALV in die Datenbanktabellen schreiben.
Nach meinen Recherchen müsste der FuBa RV_CONDITION_COPY dazu gut geeignet sein. Ich habe allerdings Probleme mit diesem, die Neuanlage/ànderung oder das simple Anzeigen von Konditionen will mir nicht gelingen.

Ich Poste mal meinen Testcode und werde danach noch auf die Details eingehen:

Code: Alles auswählen.

REPORT  z_sd_test_cond_copy           .

DATA:
cr LIKE TABLE OF komv WITH HEADER LINE, " copy_records
nr, "New_Record
key_fields LIKE TABLE OF komg WITH HEADER LINE,
komk LIKE TABLE OF komk with header line,
komp LIKE TABLE OF komp with header line.


key_fields-mandt = '100'.
key_fields-vkorg = '1000'.
key_fields-vtweg = '10'.
key_fields-werks = '1000'.
key_fields-spart = '00'.
key_fields-kunnr = '0000151935'.
key_fields-matnr = '5014042'.
key_fields-kdatu = sy-datum.

*********************************************************
* Neue Informationen zum Konditinssatz:
*cr-mandt = '100'.
cr-kappl = 'V'.
cr-kschl = 'PR00'.
cr-kbetr = '77.77'.
*cr-knumh = '0000380829'.
*cr-kposn = '999999'.
*cr-stfkz = 'A'.
*cr-krech = 'B'.
*cr-konws = 'CHF'.
cr-kdatu = '20070613'.
cr-kunnr = '0000151935'.
cr-kpein = '1'.
cr-kmein = 'ST'.
cr-waers = 'CHF'.

APPEND cr.

**********************************************************
* KOMK/KOMP Fuellen
data wa_pispr like table of pispr with header line.

wa_pispr-kunnr = '0000151935'.
wa_pispr-matnr = '5014042'.
wa_pispr-vkorg = '1000'.
append wa_pispr.

CALL FUNCTION 'SPR_KOMK_KOMP_FILL'
  EXPORTING
    pi_i_spr        = wa_pispr
 IMPORTING
   PE_I_KOMK       = komk
   PE_I_KOMP       =  komp
          .
* --> KOMK/KOMP werden korrekt gefüllt. Funktion i.o.
**********************************************************
break point.

CALL FUNCTION 'RV_CONDITION_COPY'
     EXPORTING
          application              = 'V'
          condition_table          = '305'
          condition_type           = 'PR00'
*          date_from                = sy-datum
*          date_to                  = '99990101'
          enqueue                  = 'X'
          i_komk                   = komk
          i_komp                   = komp
          key_fields               = key_fields
          maintain_mode            = 'A'
          no_authority_check       = 'X'
          no_field_check          = 'X'
*          keep_old_records         = ' '
*          overlap_confirmed        = ' '
     IMPORTING
          e_komk                   = komk
          e_komp                   = komp
          new_record               = nr
     TABLES
          copy_records             = cr
     EXCEPTIONS
          enqueue_on_record        = 01
          invalid_application      = 02
          invalid_condition_number = 03
          invalid_condition_type   = 04
          no_authority_ekorg       = 05
          no_authority_kschl       = 06
          no_authority_vkorg       = 07
          no_selection             = 08
          table_not_valid          = 09.

CALL FUNCTION 'RV_CONDITION_SAVE'.
CALL FUNCTION 'RV_CONDITION_RESET'.
Wenn ich den RESET Baustein auskommentiere und manuell die Konditionen überprüfen möchte kommt die Meldung dass es zum Bearbeiten gesperrt ist, also geht der FuBa Condition_copy in die Konditionspflege. Gespeichert wwird allerdings nichts.
Ich bin momentan etwas ratlos, kennt sich jemand mit dem Baustein aus? Fehlen noch Felder in den Key_fields oder der Copy_records Tabelle?
Muss ich die komk und komp nicht füllen bzw. ist das Füllen über den Baustein SPR_KOMK_KOMP_FILL nicht zulässig?

Über Hilfe wäre ich sehr dankbar, ich weiss im Moment nicht wirklich weiter.

Viele Grüsse
Zuletzt geändert von Dennis Abmeier am 05.07.2007 14:27, insgesamt 1-mal geändert.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo Dennis,

ich habe diese Funktionsbausteine noch nicht genutzt, aber vielleicht 2 Anmerkungen:
1. Hast du die Returncodes der 3 FuBa RV_... ausgewertet. Was sagen die denn? Gerade der erste von den dreien hat ja nun reichlich Ausnahmen definiert.
2. Die Beschreibung vom FuBa RV_CONDITION_SAVE heißt "Sichern der durch RV_CONDITION_MAINTENANCE gepflegten Konditionssätze". Vielleicht probierst du den mal anstatt ..._COPY.
Viele Grüße
Britta

Beitrag von Dennis Abmeier (ForumUser / 3 / 0 / 0 ) »
Hallo Britta.

Danke für deine Antwort!

Von den FuBa's schmeisste keiner eine Exception, die Returncodes sind immer 0.

Die Condition_copy greift auf den maintenance baustein zu, das sollte also funktionieren.
Ich hatte mir das aber auch schonmal überlegt und deshalb mit der Condition_maintenance etwas experimentiert. Das Ergebnis ist, dass ich das Pflegefenster bekomme wie bei der VK12. Die mitgegebenen Werte werden auch eingesetzt. Wenn ich auf Speichern gehe werden auch die Export Paramter Changed und Save mit 'X' zurückgegeben. Danach habe ich auch den Condition_save Baustein aufgerufen, allerdings mit dem selben Ergebniss das die Werte nicht in die Datenbank gespeichert werden. Ich stehe in der Sache echt auf dem Schlauch und weis grad nicht mehr weiter.

Beitrag von Dennis Abmeier (ForumUser / 3 / 0 / 0 ) »
OK Problem gelöst...

ich hatte nach RV_CONDITION_SAVE die Anweisung Commit Work vergessen.. :lol:

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3934
Views
Gelöst----Fuba: richtiger Typ aber nicht die richtige Länge
von c oco » 16.08.2012 13:08 • Verfasst in ABAP® für Anfänger
0
Antw.
1498
Views
Mehrfachselektionsübergabe mittels Copy&Paste?
von Eismaen » 26.01.2007 16:25 • Verfasst in Web-Dynpro, BSP + BHTML
8
Antw.
6209
Views
[gelöst] XML-Problem...
von ewx » 06.03.2009 16:24 • Verfasst in ABAP® Core
2
Antw.
13136
Views
LOOP AT INTO und ASSIGNING (gelöst)
von beterman » 17.10.2011 15:56 • Verfasst in ABAP® für Anfänger
2
Antw.
10288
Views
[gelöst] BW Prozesskette stoppen
von trashcoder » 06.08.2008 14:25 • Verfasst in Sonstige Module

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 23 Stunden von tar 8 / 369
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 286
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 529

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 23 Stunden von tar 8 / 369
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 286
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 529

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 221
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3403
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9953