Auspacken von HU’s

In diesem Beispielprogramm wird das Auspacken von HU’s demonstriert.

Im folgenden Coding wird eine Position aus einer Handling Unit ausgepackt. Die auszupackenden HU’s müssen vorher gesperrt sein. Das geschieht mit dem Baustein HU_GET_HUS.

Danach werden die Position und die Menge bestimmt, die ausgepackt werden soll. Wenn aus einer geschachtelten HU eine andere HU ausgepackt werden soll, so muss VELIN = 3 sein und es darf keine Menge übergeben werden.

Coding

REPORT zsdhu_unpack_demo.

*** Variablen
DATA:
  gt_items          TYPE hum_hu_item_t,
  gs_item           TYPE vepovb,
  gt_venums         TYPE hum_venum_t,
  gv_venum          TYPE venum,
  gs_unpack_isfrom  TYPE huitem_from,
  gs_unpack_item    TYPE huitem_unpack.

*** Interne Identifikation HU
PARAMETERS: p_venum TYPE venum DEFAULT ‘6658’.

START-OF-SELECTION.
*** HU-Nummer
  APPEND p_venum TO gt_venums.
*** HU muss vor dem Auspacken gelesen werden
  CALL FUNCTION ‘HU_GET_HUS’
    EXPORTING
      if_lock_hus = ‘X’
      it_venum    = gt_venums
    IMPORTING
      et_items    = gt_items
    EXCEPTIONS
      hus_locked  = 1
      no_hu_found = 2
      fatal_error = 3
      OTHERS      = 4.
  IF sy-subrc <> 0.
*** Fehler-Protokoll
    WRITE: / ‘Fehler lesen:’, sy-subrc.
  ELSE.
*** Protokoll: HU wurde gelesen
    WRITE: / ‘HU gelesen’.
*** Init
    CLEAR gs_unpack_item.
*** Auszupackende HU-Nummer
    gs_unpack_isfrom-venum = p_venum.
*** In der HU befindet sich eine Position:
*** Diese soll ausgepackt werden
    READ TABLE gt_items INTO gs_item WITH KEY velin = ‘1’.
*** Typ der Packposition: 1 = Material
    gs_unpack_item-velin        = gs_item-velin.
*** Positionsnummer des Materials
    gs_unpack_item-item_number  = gs_item-vepos.
*** Auszupackende Menge + Einheit
    gs_unpack_item-quantity     = gs_item-vemng.
    gs_unpack_item-meins        = gs_item-vemeh.
*** HU auspacken…
    CALL FUNCTION ‘HU_UNPACK’
      EXPORTING
        is_from       = gs_unpack_isfrom
        is_item       = gs_unpack_item
      EXCEPTIONS
        input_missing = 1
        input_error   = 2
        not_possible  = 3
        not_packed    = 4
        fatal_error   = 5
        OTHERS        = 6.
    IF sy-subrc <> 0.
*** Fehlerprotokoll
      WRITE: / ‘Fehler auspacken:’, sy-subrc.
      STOP.
    ELSE.
*** Protokoll: HU wurde ausgepackt
      WRITE: / ‘HU ausgepackt.’.

*** Sichern der Daten
      CALL FUNCTION ‘HU_POST’
        EXPORTING
          if_synchron    = ‘X’
          if_commit      = ‘X’
          if_no_messages = ‘X’.
    ENDIF.
  ENDIF.

Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)

Leave a Comment