SAP SD Transporte

From SapWiki
Revision as of 18:14, 1 April 2020 by WikiSysop (talk | contribs) (Created page with "==Códigos Varios Transporte== ===Ejemplo 01=== FORM get_data. SELECT * INTO TABLE gt_tvko FROM tvko. SELECT i~fkart p~bukrs p~tdlnr p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Códigos Varios Transporte

Ejemplo 01

FORM get_data.

  SELECT * INTO TABLE gt_tvko FROM tvko.

  SELECT i~fkart
         p~bukrs
         p~tdlnr
         p~exti1
         p~fknum
         p~fkpos
         p~rebel
         p~waers INTO CORRESPONDING FIELDS OF TABLE gt_header FROM vfkk AS i
                                        INNER JOIN vfkp AS p
                                                ON i~fknum = p~fknum
                                            WHERE i~erdat IN s_erdat
                                               AND p~exti1 IN s_exti1
                                               AND p~exti1 <> space
                                               AND p~tdlnr = p_tdlnr.

  SELECT SINGLE name1 INTO g_name1 FROM lfa1 WHERE lifnr = p_tdlnr.

  LOOP AT gt_header INTO wa_data.
    wa_data-name1 = g_name1.

    SELECT SINGLE tknum shtyp route signi vsart bfart vsbed sdabw
                         INTO wa_vttk FROM vttk  WHERE tknum = wa_data-rebel.
    IF sy-subrc = 0.
      wa_data-shtyp = wa_vttk-shtyp.
      wa_data-route = wa_vttk-route.
      wa_data-signi = wa_vttk-signi.
      wa_data-vsart = wa_vttk-vsart.
      wa_data-bfart = wa_vttk-bfart.

      l_domv = wa_data-bfart.

      CALL FUNCTION 'DOMAIN_VALUE_GET'
        EXPORTING
          i_domname  = 'BFART'
          i_domvalue = l_domv
        IMPORTING
          e_ddtext   = l_ddt
        EXCEPTIONS
          not_exist  = 1
          OTHERS     = 2.
      MOVE l_ddt TO wa_data-stext.
      wa_data-vsbed = wa_vttk-vsbed.
      wa_data-sdabw = wa_vttk-sdabw.

      SELECT SINGLE bezei INTO wa_data-bezei FROM  t173t
             WHERE  spras  = sy-langu
             AND    vsart  = wa_data-vsart.

      SELECT SINGLE vtext INTO wa_data-vtext FROM  tvsbt
             WHERE  spras  = sy-langu
             AND    vsbed  = wa_data-vsbed.

      SELECT SINGLE bezei INTO wa_data-bezei2  FROM  tvsakt
             WHERE  spras  = sy-langu
             AND    sdabw  = wa_data-sdabw.

      SELECT * INTO TABLE gt_vttp FROM vttp WHERE tknum = wa_vttk-tknum.

      IF gt_vttp[] IS NOT INITIAL.
        SELECT i~vkorg
               p~vbeln
               p~posnr
               p~matnr INTO TABLE gt_lips FROM likp AS i
                                    INNER JOIN lips AS p
                                            ON i~vbeln = p~vbeln FOR ALL ENTRIES IN gt_vttp
                                         WHERE i~vbeln = gt_vttp-vbeln.

        SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_vfkn FROM vfkn WHERE fknum = wa_data-fknum
                                                                        AND fkpos = wa_data-fkpos.

        LOOP AT gt_lips INTO wa_lips.
          READ TABLE gt_tvko WITH TABLE KEY vkorg = wa_lips-vkorg.
          wa_data-bukrs = gt_tvko-bukrs.

          wa_data-vbeln = wa_lips-vbeln.
          wa_data-posnr = wa_lips-posnr.
          wa_data-matnr = wa_lips-matnr.
          wa_data-netwr_pro = p_monto / 100.

          READ TABLE gt_vfkn INTO wa_vfkn WITH KEY retyp = 'J'   "entrega
                                         fknum = wa_data-fknum
                                         fkpos = wa_data-fkpos
                                         rebel = wa_lips-vbeln
                                         repos = wa_lips-posnr.
          IF sy-subrc = 0.
            wa_data-netwr = wa_vfkn-netwr.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
  ENDLOOP.

ENDFORM.