*&---------------------------------------------------------------------*
*&  Include           /SIE/AD_Z1LF_ZW7UDR1486                          *
*&---------------------------------------------------------------------*
FORM udr1486_data_exchange USING p_a STRUCTURE /siez7/tciosa.
*&---------------------------------------------------------------------*
  p_a-txt1 = g_ivnum.
  p_a-txt2 = g_lgpla.
  p_a-txt3 = g_name.
  p_a-txt4 = g_matnr.
  p_a-txt5 = g_menge_old.
  p_a-txt6 = g_sobkz.
  p_a-txt7 = g_sonum.
  p_a-txt8 = g_bestq.
  p_a-lpar = g_text.
  p_a-par1 = g_lgpla.
  p_a-par2 = g_matnr.
  p_a-par3 = g_status_icon.
  p_a-par4 = g_color.

ENDFORM.                    "udr1486_data_exchange

*&--------------------------------------------------------------------*
*&      Form  486_ai_0100
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->P_A        text
*---------------------------------------------------------------------*
*---OS.slo---*
FORM 486_ai_0100 USING p_a STRUCTURE /siez7/tciosa.
** ----Naten customizingu -----
  PERFORM sub_load_cust USING p_a.
** ----Oven stisknut ESC -----
  PERFORM sub_check_esc USING p_a CHANGING g_rc.
  IF g_rc = 0.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*** ---- Oven przdnho vstupu ----
  IF p_a-inp IS INITIAL OR p_a-inp = space.
    p_a-nextscr = p_a-currscr.
    EXIT.
  ENDIF.
*** ---- Oven stisknut NE ----
  PERFORM sub_check_ne USING p_a
                      CHANGING g_rc.
  IF g_rc =  0.
    p_a-nextrc = 4.
    EXIT.
  ENDIF.

  PERFORM 486_check_pernr USING p_a-inp
                          CHANGING g_rc g_pernr g_name g_text.
  IF g_rc <> 0.
    p_a-nextrc = 2.
    EXIT.
  ELSE.
    p_a-nextrc = 0.
  ENDIF.


ENDFORM.                                                    "486_ai_0100

*---------------------------------------------------------------------*
*       FORM 486_ai_0102                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*---------------------------------------------------------------------*
FORM 486_ai_0102 USING p_a STRUCTURE /siez7/tciosa.
  p_a-nextscr = p_a-prevscr.
  CLEAR g_text.
ENDFORM.                    "486_ai_0102


*&--------------------------------------------------------------------*
*&      Form  486_ai_0120
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->P_A        text
*---------------------------------------------------------------------*
*---INV.slo---*
FORM 486_ai_0120 USING p_a STRUCTURE /siez7/tciosa.
** ----Naten customizingu -----
  PERFORM sub_load_cust USING p_a.
** ----Oven stisknut ESC -----
  PERFORM sub_check_esc USING p_a CHANGING g_rc.
  IF g_rc = 0.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*** ---- Oven przdnho vstupu ----
  IF p_a-inp IS INITIAL OR p_a-inp = space.
    p_a-nextscr = p_a-currscr.
    EXIT.
  ENDIF.
*** ---- Oven stisknut NE ----
  PERFORM sub_check_ne USING p_a
                      CHANGING g_rc.
  IF g_rc =  0.
    p_a-nextrc = 4.
    EXIT.
  ENDIF.
  PERFORM set_ivnum USING p_a-inp p_a-inattr
                      CHANGING g_rc g_text g_ivnum.
  IF g_rc <> 0.
    p_a-nextrc = 2.
    EXIT.
  ELSE.
    p_a-nextrc = 0.
  ENDIF.


ENDFORM.                                                   "486_ai_0120

*---------------------------------------------------------------------*
*       FORM 486_ai_0122                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*---------------------------------------------------------------------*
FORM 486_ai_0122 USING p_a STRUCTURE /siez7/tciosa.
  p_a-nextscr = p_a-prevscr.
  CLEAR g_text.
ENDFORM.                    "486_ai_0122




*&--------------------------------------------------------------------*
*&      Form  486_ai_0150
*&--------------------------------------------------------------------*
*       vbr skladovho msta
*---------------------------------------------------------------------*
*      -->P_A        text
*---------------------------------------------------------------------*
FORM 486_ai_0150 USING p_a STRUCTURE /siez7/tciosa.
** ----Naten customizingu -----
  PERFORM sub_load_cust USING p_a.
** ----Oven stisknut ESC -----
  PERFORM sub_check_esc USING p_a CHANGING g_rc.
  IF g_rc = 0.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*** ---- Oven przdnho vstupu ----
  IF p_a-inp IS INITIAL OR p_a-inp = space.
    p_a-nextscr = p_a-currscr.
    EXIT.
  ENDIF.
*** ---- Oven stisknut NE ----
  PERFORM sub_check_ne USING p_a
                      CHANGING g_rc.
  IF g_rc =  0.
    p_a-nextrc = 4.
    EXIT.
  ENDIF.


  PERFORM set_lgpla USING p_a-inp p_a-inattr
                        CHANGING g_rc g_text g_ivnum g_lgpla.

  READ TABLE gt_linv INTO wa_linv WITH KEY lgpla = g_lgpla.
  sy-tabix = g_index1.

  IF g_rc =  0.
    p_a-nextrc = 0.
    EXIT.
  ELSEIF g_rc = 2.
    p_a-nextrc = 2.
    EXIT.
  ENDIF.

ENDFORM.                                                   "486_ai_0150

*---------------------------------------------------------------------*
*       FORM 486_ai_0152                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*---------------------------------------------------------------------*
FORM 486_ai_0152 USING p_a STRUCTURE /siez7/tciosa.
  p_a-nextscr = p_a-prevscr.
  CLEAR g_text.
ENDFORM.                    "486_ai_0152

*&--------------------------------------------------------------------*
*&      Form  486_ai_0250
*&--------------------------------------------------------------------*
*       vbr materialu
*---------------------------------------------------------------------*
*      -->P_A        text
*---------------------------------------------------------------------*
FORM 486_ai_0250 USING p_a STRUCTURE /siez7/tciosa.

  DATA:  l_matnr TYPE linv-matnr,
         l_index3.

** ----Naten customizingu -----
  PERFORM sub_load_cust USING p_a.
** ----Oven stisknut ESC -----
  PERFORM sub_check_esc USING p_a CHANGING g_rc.
  IF g_rc = 0.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*** ---- Oven przdnho vstupu ----
  IF p_a-inp IS INITIAL OR p_a-inp = space.
    p_a-nextscr = p_a-currscr.
    EXIT.
  ENDIF.
*** ---- Oven stisknut NE ----
  PERFORM sub_check_ne USING p_a
                      CHANGING g_rc.

  g_matnr = p_a-inp.

  IF p_a-inp = '0'.
    p_a-nextscr = p_a-currscr.
    EXIT.
  ENDIF.

  SPLIT g_matnr AT '-' INTO l_index3 l_matnr g_sobkz.
  CLEAR: g_matnr,g_index3.
  g_matnr = l_matnr.
  g_index3 = l_index3.

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = g_matnr
    IMPORTING
      output = g_matnr.


*  SELECT SINGLE * FROM linv
*        WHERE ivnum = g_ivnum AND
*              lgpla = g_lgpla AND
*              sobkz = g_sobkz AND
*              matnr = g_matnr.
*
*  g_lqnum = linv-lqnum.
*  g_sobkz = linv-sobkz.
*  g_sonum = linv-sonum.
*
*
*  IF g_sobkz IS INITIAL.
*    g_sobkz = ' '.
*    g_sonum = ' '.
*  ENDIF.



*------------------------------------
  IF  p_a-inp = 'Prazdne misto'.
    SELECT SINGLE * FROM linv
              WHERE ivnum = g_ivnum AND
                    lgpla = g_lgpla AND
                    matnr <> ' '.



    IF
    sy-subrc = 0.
      g_text = 'Skladov msto neme bt przdn!!!'.
      p_a-nextrc = 2.
      EXIT.
    ENDIF.

    g_status = 1.
    g_matnr = ' '.
    PERFORM 486_save.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*--------------------------------------
*--------------------------------------
  IF p_a-inp = 'Novy inv.soupis'.
    p_a-nextscr = 120.
    EXIT.
  ENDIF.
*--------------------------------------
*--------------------------------------
  IF p_a-inp = 'Jiny material'.

    READ TABLE gt_linv INTO wa_linv WITH KEY lgpla = g_lgpla.
    g_lgtyp = wa_linv-lgtyp.

    CLEAR: g_matnr,g_lqnum,g_menge,g_meins.

    g_status = 3.

    PERFORM 486_save.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*--------------------------------------



  PERFORM check_matnr USING p_a-inp
                      CHANGING g_rc g_text.

  IF g_rc = 2.
    p_a-nextrc = 2.
    EXIT.
  ENDIF.



*  SELECT SINGLE * FROM /sie/ad_z1lf_inv
*           WHERE ivnum = g_ivnum AND
*                 lgpla = g_lgpla AND
*                 matnr = g_matnr.

*  READ TABLE gt_linv INTO wa_linv WITH KEY ivnum = g_ivnum
*                                           lgpla = g_lgpla
*                                           matnr = g_matnr.
*
*

clear: gt_linv3[].

  LOOP AT gt_linv INTO wa_linv3 WHERE ivnum = g_ivnum AND
                                      lgpla = g_lgpla.
    APPEND wa_linv3 to gt_linv3.
  ENDLOOP.



  READ TABLE gt_linv3 INTO wa_linv3 INDEX g_index3.

  g_sonum = wa_linv3-sonum.
  g_sobkz = wa_linv3-sobkz.
  g_lqnum = wa_linv3-lqnum.
  g_bestq = wa_linv3-bestq.
  g_meins = wa_linv3-meins.
  g_lgtyp = wa_linv3-lgtyp.

*  g_index1 = sy-tabix.


*  SELECT SINGLE * FROM linv
*        WHERE ivnum = g_ivnum AND
*              lgpla = g_lgpla AND
*              sonum = g_sonum AND
*              sobkz = g_sobkz AND
*              matnr = g_matnr.
*
*  g_lqnum = linv-lqnum.

  SELECT SINGLE * FROM /sie/ad_z1lf_inv
        WHERE ivnum = g_ivnum AND
              lgpla = g_lgpla AND
              lqnum = g_lqnum AND
              matnr = g_matnr.


  IF sy-subrc = 4.
    CLEAR: g_menge_old.
  ELSE.
    CLEAR : g_text.
    WRITE /sie/ad_z1lf_inv-menge TO g_menge_old.
    SHIFT g_menge_old LEFT DELETING LEADING space.
  ENDIF.




*  MODIFY gt_linv FROM wa_linv INDEX g_index1.




ENDFORM.                                                    "486_ai_0250

*---------------------------------------------------------------------*
*       FORM 486_ai_0252                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*---------------------------------------------------------------------*
FORM 486_ai_0252 USING p_a STRUCTURE /siez7/tciosa.
  p_a-nextscr = p_a-prevscr.
  CLEAR g_text.
ENDFORM.                    "486_ai_0252



*&--------------------------------------------------------------------*
*&      Form  486_ai_0300
*&--------------------------------------------------------------------*
*      zadn mnostv v kvantu
*---------------------------------------------------------------------*
*      -->P_A        text
*---------------------------------------------------------------------*
FORM 486_ai_0300 USING p_a STRUCTURE /siez7/tciosa.
** ----Naten customizingu -----
  PERFORM sub_load_cust USING p_a.
** ----Oven stisknut ESC -----
  PERFORM sub_check_esc USING p_a CHANGING g_rc.
  IF g_rc = 0.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*** ---- Oven przdnho vstupu ----
  IF p_a-inp IS INITIAL OR p_a-inp = space.
    p_a-nextscr = p_a-currscr.
    EXIT.
  ENDIF.
*** ---- Oven stisknut NE ----
  PERFORM sub_check_ne USING p_a
                      CHANGING g_rc.
  IF g_rc =  0.
    p_a-nextrc = 4.
    EXIT.
  ENDIF.

*--------------------------------------
  IF p_a-inp = 'Jiny material'.

    g_status = 3.


    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = g_matnr
      IMPORTING
        output = g_matnr.

    READ TABLE gt_linv2 INTO wa_linv2 WITH KEY  lgpla = g_lgpla
                                                matnr = g_matnr.

    g_index2 = sy-tabix.
    g_matnr = wa_linv2-matnr.
    g_meins = wa_linv2-meins.
    g_lqnum = wa_linv2-lqnum.


    PERFORM 486_save.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*--------------------------------------


*--------------------------------------
  IF p_a-inp = 'Nulove pocitani'.

    g_status = 0.

    READ TABLE gt_linv2 INTO wa_linv2 WITH KEY lgpla = g_lgpla
                                                matnr = g_matnr.

    g_index2 = sy-tabix.
    g_matnr = wa_linv2-matnr.
    g_meins = wa_linv2-meins.
    g_lqnum = wa_linv2-lqnum.
    g_menge = 0.



    PERFORM 486_save.
    p_a-nextrc = 1.
    EXIT.
  ENDIF.
*--------------------------------------
*--------------------------------------
  IF p_a-inp = 'Novy inv.soupis'.
    p_a-nextscr = 120.
    EXIT.
  ENDIF.
*--------------------------------------

  g_menge = p_a-inp.


  IF g_menge = 0.
    g_status = 0.
  ENDIF.

*  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
*    EXPORTING
*      input  = g_matnr
*    IMPORTING
*      output = g_matnr.
*
*  READ TABLE gt_linv2 INTO wa_linv2 WITH KEY lgpla = g_lgpla
*                                             matnr = g_matnr
*                                             lqnum = g_lqnum.
*
*  g_index2 = sy-tabix.
*  g_matnr = wa_linv2-matnr.
*  g_meins = wa_linv2-meins.
**g_lqnum = wa_linv2-lqnum.
*  MODIFY gt_linv2 FROM wa_linv2 INDEX g_index2.

  PERFORM 486_save.

  p_a-nextrc = 0.

ENDFORM.                                                    "486_ai_0300

*---------------------------------------------------------------------*
*       FORM 486_ai_0302                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*---------------------------------------------------------------------*
FORM 486_ai_0302 USING p_a STRUCTURE /siez7/tciosa.
  p_a-nextscr = p_a-prevscr.
  CLEAR g_text.
ENDFORM.                    "486_ai_0302




*---------------------------------------------------------------------*
*       FORM 486_is_9200                                               *
*---------------------------------------------------------------------*
*       tlatkov menu skladovch mst                               *
*---------------------------------------------------------------------*


FORM 486_is_9200 TABLES a_io STRUCTURE /siez7/tciosb
                        a_il STRUCTURE /siez7/tciosb
                  USING p_a STRUCTURE /siez7/tciosa.
  DATA: s_par LIKE /siez7/tciosa.

  CLEAR s_par.
  LOOP AT gt_linv.
    IF gt_linv-lgpla = s_par-par1.
    ELSE.
      s_par-par1 = gt_linv-lgpla.

      LOOP AT a_il.
        CLEAR a_io.
        CALL FUNCTION '/SIEZ7/TCIO_FORMAT'
          EXPORTING
            imp_line = a_il-line
            imp_a    = s_par
          IMPORTING
            exp_line = a_io-line.
        IF NOT a_io-line IS INITIAL.
          a_io-nr = a_il-nr.
          a_io-xrow = a_il-xrow.
          a_io-ycol = a_il-ycol.
          a_io-attr = a_il-attr.
          APPEND a_io.
        ENDIF.
      ENDLOOP.

    ENDIF.

  ENDLOOP.
ENDFORM.                              "486_is_9200



*---------------------------------------------------------------------*
*       FORM 486_is_9201                                              *
*---------------------------------------------------------------------*
*       tlatkov menu kvantu                                        *
*---------------------------------------------------------------------*


FORM 486_is_9201 TABLES a_io STRUCTURE /siez7/tciosb
                        a_il STRUCTURE /siez7/tciosb
                  USING p_a STRUCTURE /siez7/tciosa.
  DATA: s_par LIKE /siez7/tciosa.


  IF gt_linv2[] IS INITIAL.
    EXIT.
  ENDIF.


  LOOP AT gt_linv2 INTO wa_linv2.
    CLEAR: s_par,g_color,g_index3.
    SELECT SINGLE * FROM /sie/ad_z1lf_inv
          WHERE ivnum = wa_linv2-ivnum AND
                lgpla = wa_linv2-lgpla AND
                lqnum = wa_linv2-lqnum AND
                matnr = wa_linv2-matnr.
    IF sy-subrc = 4.
      wa_linv2-status_icon = 'N'.
      wa_linv2-color = '#ff0000'.
    ELSE.
      wa_linv2-status_icon = 'S'.
      wa_linv2-color = '#008000'.
    ENDIF.

    MODIFY gt_linv2 FROM wa_linv2.
    s_par-par3 = wa_linv2-status_icon.
    g_status_icon = wa_linv2-status_icon.
    s_par-par4 = wa_linv2-color.
    g_color = wa_linv2-color.
    g_index3 = sy-tabix.
    SHIFT wa_linv2-matnr LEFT DELETING LEADING '0'.
    CONCATENATE g_index3
                wa_linv2-matnr
                wa_linv2-sobkz
                 INTO s_par-par2
                 SEPARATED BY '-'.

    IF NOT wa_linv2-matnr IS INITIAL.
      LOOP AT a_il.
        CLEAR a_io.
        CALL FUNCTION '/SIEZ7/TCIO_FORMAT'
          EXPORTING
            imp_line = a_il-line
            imp_a    = s_par
          IMPORTING
            exp_line = a_io-line.
        IF NOT a_io-line IS INITIAL.
          a_io-nr = a_il-nr.
          a_io-xrow = a_il-xrow.
          a_io-ycol = a_il-ycol.
          a_io-attr = a_il-attr.
          APPEND a_io.
        ENDIF.
      ENDLOOP.
    ENDIF.
  ENDLOOP.
ENDFORM.                              "486_is_9201

*---------------------------------------------------------------------*
*       FORM sub_check_ano                                            *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*  -->  P_RC                                                          *
*---------------------------------------------------------------------*
FORM sub_check_ano USING p_a STRUCTURE /siez7/tciosa
                   CHANGING p_rc.
  IF p_a-inp = gs_c-esc1.
    p_rc = 0.
  ELSE.
    p_rc = 1.
  ENDIF.
ENDFORM.                    "sub_check_ano
*---------------------------------------------------------------------*
*       FORM sub_check_ne                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_A                                                           *
*  -->  P_RC                                                          *
*---------------------------------------------------------------------*
FORM sub_check_ne USING p_a STRUCTURE /siez7/tciosa
                   CHANGING p_rc.
  IF p_a-inp = gs_c-esc2.
    p_rc = 0.
  ELSE.
    p_rc = 1.
  ENDIF.
ENDFORM.                    "sub_check_ne


*---------------------------------------------------------------------*
FORM 486_check_pernr USING a_pernr
                     CHANGING p_rc p_pernr p_name p_text.
*---------------------------------------------------------------------*
  DATA: wa_pa0002 TYPE pa0002,
        s_name(80).

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = p_pernr
    IMPORTING
      output = p_pernr.


  SELECT SINGLE * INTO wa_pa0002
                  FROM pa0002
                  WHERE pernr = a_pernr
                        AND endda >= sy-datum
                        AND begda <= sy-datum.
  IF sy-subrc <> 0.
    CLEAR: p_pernr, p_name.
    p_rc = 2.
    p_text = 'OS.slo nenalezeno !!'.
    EXIT.
  ENDIF.

  p_pernr = wa_pa0002-pernr.
  CONCATENATE wa_pa0002-nachn
              wa_pa0002-vorna
              INTO s_name SEPARATED BY space.
  p_name = s_name(20).
  p_rc = 0.

ENDFORM.                    "486_check_pernr



*&--------------------------------------------------------------------*
*&      Form  set_ivnum
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->A_INP      text
*      -->A_INATTR   text
*      -->P_RC       text
*      -->P_TEXT     text
*      -->P_IVNUM    text
*      -->P_LGPLA    text
*---------------------------------------------------------------------*
FORM set_ivnum USING a_inp a_inattr
                 CHANGING p_rc p_text p_ivnum.

  DATA: l_ivnum LIKE linv-ivnum.
  CLEAR: l_ivnum.

  p_ivnum = a_inp.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = p_ivnum
    IMPORTING
      output = l_ivnum.
  SELECT SINGLE * FROM link INTO wa_link
                  WHERE ivnum = l_ivnum AND
                        lgnum = 'WM1' AND
                        ivakt = 'X' AND
                        ( istat = 'A' OR
                        istat = 'N' ).

*  g_lgtyp = wa_link-lgtyp.

  IF sy-subrc = 4.
    p_text = 'Inventrn doklad ve skladu WM1 nenalezen!!!'.
    p_rc = 4.
  ELSE.
    p_rc = 0.
    p_text = ''.
  ENDIF.



  SELECT * FROM linv
             INTO CORRESPONDING FIELDS OF TABLE gt_linv
                         WHERE ivnum = l_ivnum.


  CLEAR: p_ivnum.

  p_ivnum = l_ivnum.

  SORT gt_linv BY lgpla.

ENDFORM.                    " check_pernr


*&--------------------------------------------------------------------*
*&      Form  set_lgpla
*&--------------------------------------------------------------------*
*  Kontrola skladovho msta v gt_linp + dohledn kvant do gt_linv2
*---------------------------------------------------------------------*
*      -->A_INP      text
*      -->P_RC       text
*      -->P_TEXT     text
*---------------------------------------------------------------------*
FORM set_lgpla USING a_inp a_inattr
                 CHANGING p_rc p_text p_ivnum p_lgpla.
  p_lgpla = a_inp.


  SELECT * FROM linp INTO TABLE gt_linp
                    WHERE ivnum = p_ivnum AND
                          lgpla = p_lgpla.
  IF sy-subrc <> 0.
    p_text = 'Skladov msto neexistuje!!!'.
    p_rc = 2.
  ENDIF.

*dohledn materil do gt_linv2
  SELECT * FROM linv
           INTO CORRESPONDING FIELDS OF TABLE gt_linv2
                       WHERE ivnum = p_ivnum AND
                             lgpla = p_lgpla.



  IF gt_linv2[] IS INITIAL.
    DELETE gt_linv WHERE lgpla = g_lgpla.
  ENDIF.


ENDFORM.                    " set_lgpla

*&--------------------------------------------------------------------*
*&      Form  check_matnr
*&--------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
*      -->A_INP      text
*      -->P_RC       text
*      -->P_TEXT     text
*---------------------------------------------------------------------*
FORM check_matnr USING a_inp
                 CHANGING p_rc p_text.

  DATA:  l_matnr TYPE linv-matnr,
         l_index3(1).
  CLEAR: l_matnr,g_sobkz,l_index3.

  g_matnr = a_inp.



  IF a_inp <> 'Prazdne misto'.
    g_matnr = a_inp.

    SPLIT g_matnr AT '-' INTO l_index3 l_matnr g_sobkz.
    CLEAR: g_matnr.
    g_matnr = l_matnr.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = g_matnr
      IMPORTING
        output = g_matnr.
  ELSE.
    EXIT.
  ENDIF.


  SELECT SINGLE * FROM mara
                  WHERE matnr = g_matnr.

  READ TABLE gt_linv2 INTO wa_linv2 WITH KEY matnr = g_matnr
                                             lgpla = g_lgpla.

  IF sy-subrc <> 0.
    p_text ='Materil nenalezen!!'.
    p_rc = 2.
  ENDIF.

ENDFORM.               "check_matnr

*&---------------------------------------------------------------------*
*&      Form  486_save
*&---------------------------------------------------------------------*
*       text - uloen hodnot do tabulky zppodv_ndt
*----------------------------------------------------------------------*
*      -->P_G_AUFNR  text
*      -->P_G_VORNR  text
*      <--P_G_RC  text
*      <--P_G_TEXT  text
*      <--P_G_MENGE  text
*----------------------------------------------------------------------*
FORM 486_save.

  DATA: la_100 TYPE /sie/ad_z1lf_inv.

  CLEAR: la_100.

  SELECT SINGLE * FROM /sie/ad_z1lf_inv
        WHERE ivnum = g_ivnum AND
              lgpla = g_lgpla AND
              lgtyp = g_lgtyp AND
              matnr = g_matnr AND
              lqnum = g_lqnum.


  IF sy-subrc = 4.

    la_100-ivnum = g_ivnum.
    la_100-lgpla = g_lgpla.
    la_100-lgtyp = g_lgtyp.
    la_100-lqnum   = g_lqnum.
    la_100-matnr = g_matnr.
    la_100-menge = g_menge.
    la_100-meins = g_meins.
    la_100-date_add = sy-datum.
    la_100-time_add = sy-uzeit.
    la_100-name_add = g_name.
    la_100-status   = g_status.
    MODIFY /sie/ad_z1lf_inv FROM la_100.

  ELSE.
    la_100-ivnum = g_ivnum.
    la_100-lgpla = g_lgpla.
    la_100-lgtyp = g_lgtyp.
    la_100-lqnum = g_lqnum.
    la_100-matnr = g_matnr.
    la_100-menge = g_menge.
    la_100-meins = g_meins.
    la_100-date_add = /sie/ad_z1lf_inv-date_add.
    la_100-time_add = /sie/ad_z1lf_inv-time_add.
    la_100-name_add = /sie/ad_z1lf_inv-name_add.
    la_100-name_change = g_name.
    la_100-time_change = sy-uzeit.
    la_100-date_change = sy-datum.
    la_100-status   = g_status.
    MODIFY /sie/ad_z1lf_inv FROM la_100.
  ENDIF.




  MODIFY /sie/ad_z1lf_inv FROM la_100.

ENDFORM.                                                    " 486_save
