User Exit/Badi für HU Anlage

BW, SRM, Berechtigung etc.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

User Exit/Badi für HU Anlage

Beitrag von t0mt0m (ForumUser / 16 / 0 / 0 ) »
Hallo,

ich bin schon seit ein paar Tagen auf der Suche- bisher leider ohne Erfolg.

Ich möchte im Hu Verpackungsdialog, der z.B durch die vl02n oder die vt02n aufgerufen wird, bei einer neu eingebenen HU die eingebene HU Nummer prüfen.

Man hat eben die Option falls noch keine HU zur Lieferung/transport vorhanden ist, dort durch eingabe eines Packmittels und einer (optionalen) HU Iden.nummer
eine neue HU anzulegen.

Und ich möchte eben diese Hu Ident. Nummer prüfen, und wenn sie unsere Konventionen nicht entspricht gern eine entsprechende Fehlermeldung ausgeben.

Ich hatte bisher schon das BAdi_HU_SAVE am wickel, aber leider kann man dort nicht das Speichern der HU verhindern. Auch habe ich es mit dem BADI_HU_MAIN probiert, aber auch da konnte ich keine geeignete Methode finden. Außerdem scheint es so, als ob die Methoden des BADI_HU_MAIN nur beim ändern bereits bestehender HUs aufgerufen werden.


Hat also noch jemand eine Idee für einen User Exit oder eine BADI bei dem ich eben das anlegen einer HU verhindern kann solange mir das Format der Ident. nummer nich passt?

Viele Grüße
Tom

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


API von Handling - Units

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Hallo Tom,
Die Badis erzeugen nur sogenannte FREIE HUs, die nichts mit VL02n zu tun haben !

Bei einem ähnlichen Problem, habe ich mal die API-Bausteine zum Thema HUs ausprobiert.
Die Bausteine zum Anlegen und Verpacken / Ändern etc. findest Du in der Funktionsgruppe V51E

Dieses Beispiel ist aus einem Druckprogramm für Lieferscheine, das während des Druckvorgangs prüft, ob eine HU2 - Ident. vergeben wurde und bei "Demenzerscheinungen" des Verpackers ggf eine HU2 Ident. automatisch vergibt. Wie man erkennen kann, werden für den Vorgang 3 Funktionsbausteine benötigt. Der Baustein HU_POST ist für die Sicherung der Daten zuständig.

Du könntest ein FUB-Trio natürlich auch in einem EXIT vor der WA-Buchung o.ä. unterbringen.
Meines Wissens gibt es keine Badis für eine solche Aktion.

Code: Alles auswählen.

*&--------------------------------------------------------------------*
*&      Form  Auto_exidv2
*&--------------------------------------------------------------------*
*       Diese Routine erzeugt automatische HU-Ident 2 für Packstücke
*       wenn die Packstücke nicht manuell benannt worden sind FUGR V51E
*---------------------------------------------------------------------*

FORM auto_exidv2.

  TYPE-POOLS vsep.

  DATA: venum_tab     TYPE vsep_t_venum WITH HEADER LINE.
  DATA: vekp_tab      TYPE vsep_t_vekp WITH HEADER LINE,
        vepo_tab      TYPE vsep_t_vepo WITH HEADER LINE.
  DATA: gt_hu_history      TYPE vsep_t_vevw.


  DATA:
        lt_changed TYPE hum_update_header_t,
        ls_changed TYPE hum_update_header,
        lt_messages TYPE huitem_messages_t.
  DATA  ls_object TYPE hum_object.
  DATA  lv_val(5) TYPE n.

  IF NOT xvbplk[] IS INITIAL.

    LOOP AT xvbplk.
* Nur HU-Ident erzeugen, wenn Feld exidv2 leer ist
      IF xvbplk-exidv2 IS INITIAL.
        APPEND xvbplk-venum_key TO venum_tab.
      ENDIF.
    ENDLOOP.

* HU's lesen inklusive Puffer der HU-Verwaltung füllen
    CALL FUNCTION 'HU_GET_HUS'
       EXPORTING
            if_object         = xvbplk-vpobj
*             IF_NO_DB_SELECT   = ' '
*             if_lock_hus       = i_lock
*             IF_LOCK_OBJECTS   = ' '
*             IF_WITH_TEXT      = ' '
*             IF_NO_LOOP        = 'X'
            if_more_hus       = 'X'
*             IS_OBJECTS        =
*             IT_OBJECTS        =
*             IT_HUS            =
            it_venum          = venum_tab[]
       IMPORTING
            et_header         = vekp_tab[]
            et_items          = vepo_tab[]
*             et_history        = history_buf[]             "hw 000925
            et_history        = gt_hu_history               "hw 000925
*             ET_HIGHEST_LEVELS =
            et_messages       = lt_messages
       EXCEPTIONS
            hus_locked        = 1
            fatal_error       = 2
            OTHERS            = 3.

    IF sy-subrc NE 0 .
    ENDIF.

    LOOP AT vekp_tab.
      lv_val = sy-tabix.
      ls_changed-hdl_unit_exid = vekp_tab-exidv.
      ls_changed-field_name = 'EXIDV2'.
      ls_changed-field_value = lv_val.

      APPEND ls_changed TO lt_changed.

    ENDLOOP.

    CALL FUNCTION 'HU_HEADER_UPDATE'
      EXPORTING
        it_new_values = lt_changed
      IMPORTING
        et_messages   = lt_messages
      EXCEPTIONS
        not_possible  = 1
        OTHERS        = 2.

    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    ls_object-object = vekp_tab-vpobj.
    ls_object-objkey = vekp_tab-vpobjkey.

    CALL FUNCTION 'HU_POST'
      EXPORTING
        if_synchron = 'X'
        if_commit   = ' '
        is_object   = ls_object
      IMPORTING
        et_messages = lt_messages.

* Änderungen von der Datenbank lesen und in die Tab. xvbplk übertragen
    LOOP AT xvbplk.
      SELECT SINGLE exidv2 FROM vekp INTO xvbplk-exidv2
      WHERE venum = xvbplk-venum.
      IF sy-subrc EQ 0.
        MODIFY xvbplk INDEX sy-tabix.
      ENDIF.
    ENDLOOP.


  ENDIF. "xvbplk[] is initial

ENDFORM.                    "Auto_exidv2
gruß Tron :wink:
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
977
Views
User-Exit oder BAdIn für die Anlage von R/3-Benutzern???
von Stentor » 12.07.2005 09:52 • Verfasst in ABAP® Core
2
Antw.
12710
Views
0
Antw.
643
Views
User Exit bei Anlage neuer Werkssicht MM01
von meister2000 » 23.11.2017 07:47 • Verfasst in ABAP® für Anfänger
0
Antw.
2120
Views
Exit/Badi für Buchungskreisanlage?
von lausek » 21.12.2017 11:59 • Verfasst in Financials
4
Antw.
2497
Views
User Exit bzw. BADI
von Lainer » 07.11.2007 14:42 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 168