CE PLUS - Nota 004995

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Relatórios

Data/Hora da Publicação: 16/10/2007 00:00:00

Data/Hora Última Alteração: 04/03/2010 11:07:28

Descrição da Nota: INCLUSÃO DO PEDIDO DE COMPRA NO RELATORIO FOLLOW UP DE EXPORTAÇÃO

Sintoma

 

DA - Relatório Follow Up de Exportação não continha Pedido de Compra

 

Solução

 

Inclusão do Pedido de Compra no Relatório Follow Up de Exportação

Versões Tratadas

7.0

Informações Complementares

 

----------------------------------------------------------------------------------------------------

Nota Número 04995 Data: 16/10/2007 Hora: 10:29:04

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 04995

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

Texto Rápido:

INCLUSÃO DO PEDIDO DE COMPRA NO RELATORIO FOLLOW UP DE EXPORTAÇÃO

----------------------------------------------------------------------------------------------------

Palavras Chave:

INCLUSÃO PEDIDO DE COMPRA RELATORIO REPORT FOLLOW UP DE EXPORTAÇÃO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/ZYCER213

REPT /PWS/ZYCER213

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCER213

 

...

INCLUDE /pws/z_rel_alv.

TABLES: /pws/zycet001,

        /pws/zycet002,

        /pws/zycet003,

        /pws/zycet047,

        adrc,

        j_1bnfdoc,

        vbak,

        vbap,

        vbpa,

* >> Início da exclusão:

        vbkd.

* << Fim da exclusão

* >> Início da inclusão:

        vbkd,

        ekko.

* << Fim da inclusão

DATA: BEGIN OF itab_notas OCCURS 0,

        docnum       LIKE j_1bnflin-docnum,

        itmnum       LIKE j_1bnflin-itmnum,

        reftyp       LIKE j_1bnflin-reftyp,

        refkey       LIKE j_1bnflin-refkey,

        refitm       LIKE j_1bnflin-refitm,

        nfnum        LIKE j_1bnfdoc-nfnum,

        docdat       LIKE j_1bnfdoc-docdat,

        vbeln_vf     LIKE /pws/zycet002-vbeln_vf,

        vbeln_va     LIKE /pws/zycet002-vbeln_va,

...

 

...

        vbeln        LIKE vbrp-vbeln,

        posnr        LIKE vbrp-posnr,

        kursk        LIKE vbrp-kursk,

        netwr        LIKE vbrp-netwr,

        exnum        LIKE vbrk-exnum,

        fkart        LIKE vbrk-fkart,

        inco1        LIKE vbrk-inco1,

        bukrs        LIKE vbrk-bukrs,

        waerk        LIKE vbrk-waerk,

      END OF itab_fatura.

* >> Início da inclusão:

DATA: BEGIN OF itab_fatura1 OCCURS 0,

        vbeln        LIKE vbrp-vbeln,

        posnr        LIKE vbrp-posnr,

        kursk        LIKE vbrp-kursk,

        netwr        LIKE vbrp-netwr,

        exnum        LIKE vbrk-exnum,

        fkart        LIKE vbrk-fkart,

        inco1        LIKE vbrk-inco1,

        bukrs        LIKE vbrk-bukrs,

        waerk        LIKE vbrk-waerk,

      END OF itab_fatura1.

* << Fim da inclusão

DATA: BEGIN OF itab_ordem OCCURS 0,

        mandt        LIKE vbap-mandt,

        vbeln        LIKE vbap-vbeln,

        posnr        LIKE vbap-posnr,

        vkgrp        LIKE vbak-vkgrp,

        erdat        LIKE vbak-erdat,

        auart        LIKE vbak-auart,

        werks        LIKE vbap-werks,

        ntgew        LIKE vbap-ntgew,

        brgew        LIKE vbap-brgew,

...

 

...

        kwmeng       LIKE vbap-kwmeng,

        vbeln_vl     LIKE /pws/zycet002-vbeln_vl,

        vbeln_vf     LIKE /pws/zycet002-vbeln_vf,

        posnl        LIKE /pws/zycet002-posnl,

        posnf        LIKE /pws/zycet002-posnr,

        refkey       LIKE j_1bnflin-refkey,

        vlcomis      LIKE /pws/zycee085-vlcomis,

        vldesconto   LIKE /pws/zycee085-vldesconto,

        objky        LIKE nast-objky,

      END OF itab_ordem.

* >> Início da inclusão:

DATA: BEGIN OF itab_pedido OCCURS 0,

      mandt       TYPE ekpo-mandt,

      ebeln       TYPE ekpo-ebeln,

      ebelp       TYPE ekpo-ebelp,

      aedat       TYPE ekko-aedat,

      werks       TYPE ekpo-werks,

      ntgew       TYPE ekpo-ntgew,

      brgew       TYPE ekpo-brgew,

      retpo       TYPE ekpo-retpo,

      gewei       TYPE ekpo-gewei,

      meins       TYPE ekpo-meins,

      netpr       TYPE ekpo-netpr,

      waers       TYPE ekko-waers,

      menge       TYPE ekpo-menge,

      vbeln_vl    TYPE /pws/zycet002-vbeln_vl,

      vbeln_vf    TYPE /pws/zycet002-vbeln_vf,

      posnl       TYPE /pws/zycet002-posnl,

      posnf       TYPE /pws/zycet002-posnr,

      refkey      TYPE j_1bnflin-refkey,

      vlcomis     TYPE /pws/zycee085-vlcomis,

      vldesconto  TYPE /pws/zycee085-vldesconto,

      objky       TYPE nast-objky,

      vbeln       TYPE vbap-vbeln,

END OF itab_pedido.

* << Fim da inclusão

DATA: BEGIN OF itab_vbkd OCCURS 0,

        vbeln        LIKE vbkd-vbeln,

        bstkd        LIKE vbkd-bstkd,

        bstdk        LIKE vbkd-bstdk,

      END OF itab_vbkd.

DATA: BEGIN OF itab_import OCCURS 0,

        vbeln        LIKE vbpa-vbeln,

        kunnr        LIKE vbpa-kunnr,

        parvw        LIKE vbpa-parvw,

        adrnr        LIKE vbpa-adrnr,

        country      LIKE adrc-country,

        name1        LIKE kna1-name1,

* >> Início da inclusão:

        ebeln        LIKE ekko-ebeln,

* << Fim da inclusão

      END OF itab_import.

* >> Início da inclusão:

DATA: BEGIN OF itab_import1 OCCURS 0,

        ebeln TYPE ekpo-ebeln ,

        kunnr TYPE ekpo-kunnr,

        adrnr TYPE ekpo-adrnr,

        country TYPE adrc-country,

        name1 TYPE kna1-name1,

      END OF itab_import1.

DATA: BEGIN OF itab_receb OCCURS 0,

        kunnr TYPE kna1-kunnr,

        name1 TYPE kna1-name1,

      END   OF itab_receb.

* << Fim da inclusão

DATA: BEGIN OF itab_vbpa OCCURS 0,

        vbeln        LIKE vbpa-vbeln,

        kunnr        LIKE vbpa-kunnr,

        parvw        LIKE vbpa-parvw,

        name1        LIKE kna1-name1,

      END OF itab_vbpa.

DATA: BEGIN OF itab_likp OCCURS 0,

        vbeln        LIKE likp-vbeln,

        bldat        LIKE likp-bldat,

        btgew        LIKE likp-btgew,

        gewei        LIKE likp-gewei,

        exnum        LIKE likp-exnum,

      END OF itab_likp.

* >> Início da inclusão:

DATA: BEGIN OF itab_likp1 OCCURS 0,

        vbeln        LIKE likp-vbeln,

        bldat        LIKE likp-bldat,

        btgew        LIKE likp-btgew,

        gewei        LIKE likp-gewei,

        exnum        LIKE likp-exnum,

        kunnr        LIKE likp-kunnr,

      END OF itab_likp1.

* << Fim da inclusão

DATA: BEGIN OF itab_eikp OCCURS 0,

        exnum        LIKE eikp-exnum,

        aland        LIKE eikp-aland,

        zolla        LIKE eikp-zolla,

        bezei        LIKE t615t-bezei,

      END OF itab_eikp.

* >> Início da inclusão:

DATA: BEGIN OF itab_eikp1 OCCURS 0,

        exnum        LIKE eikp-exnum,

        aland        LIKE eikp-aland,

        zolla        LIKE eikp-zolla,

        bezei        LIKE t615t-bezei,

      END OF itab_eikp1.

* << Fim da inclusão

DATA: BEGIN OF itab_lips OCCURS 0,

        vbeln        LIKE lips-vbeln,

        posnr        LIKE lips-posnr,

        lfimg        LIKE lips-lfimg,

        vrkme        LIKE lips-vrkme,

        brgew        LIKE lips-brgew,

        gewei        LIKE lips-gewei,

      END OF itab_lips.

* >> Início da inclusão:

DATA: BEGIN OF itab_lips1 OCCURS 0,

        vbeln        LIKE lips-vbeln,

        posnr        LIKE lips-posnr,

        lfimg        LIKE lips-lfimg,

        vrkme        LIKE lips-vrkme,

        brgew        LIKE lips-brgew,

        gewei        LIKE lips-gewei,

      END OF itab_lips1.

* << Fim da inclusão

DATA: BEGIN OF itab_vbep OCCURS 0,

        vbeln        LIKE vbep-vbeln,

        posnr        LIKE vbep-posnr,

        etenr        LIKE vbep-etenr,

        edatu        LIKE vbep-edatu,

      END OF itab_vbep.

DATA: BEGIN OF itab_embarque OCCURS 0,

        mandt        LIKE /pws/zycet002-mandt,

        nrseq        LIKE /pws/zycet001-nrseq,

        nremb        LIKE /pws/zycet001-nremb,

...

 

...

        auart        LIKE /pws/zycet002-auart,

        gewei        LIKE /pws/zycet002-gewei,

        fkimg        LIKE /pws/zycet002-fkimg,

        vrkme        LIKE /pws/zycet002-vrkme,

        fkart        LIKE /pws/zycet002-fkart,

        bukrs        LIKE /pws/zycet002-bukrs,

        vlme         LIKE /pws/zycet002-vlme,

        steuc        LIKE /pws/zycet002-steuc,

        land1        LIKE /pws/zycet002-land1,

        dtincl       LIKE /pws/zycet001-dtincl,

* >> Início da inclusão:

        ebeln        LIKE /pws/zycet002-ebeln,

        ebelp        LIKE /pws/zycet002-ebelp,

* << Fim da inclusão

        vlcomis      LIKE /pws/zycee085-vlcomis,

        vldesconto   LIKE /pws/zycee085-vldesconto,

      END OF itab_embarque.

DATA: BEGIN OF itab_t604f OCCURS 0,

        land1         LIKE t604f-land1,

        steuc         LIKE t604f-steuc,

        /pws/anuencia LIKE t604f-/pws/anuencia,

      END OF itab_t604f.

DATA: BEGIN OF itab_zycet003 OCCURS 0,

        nrseq        LIKE /pws/zycet003-nrseq,

...

 

...

        icon_7(10)    TYPE c,

        dtaverb       LIKE /pws/zycet001-dtaverb,

        icon_8(10)    TYPE c,

        dtdoc         LIKE /pws/zycet001-dtdoc,

        nrcour        LIKE /pws/zycet046-nrcour,

        icon_9(10)    TYPE c,

        dtenvcamb     LIKE /pws/zycet001-dtenvcamb,

        dtrec         LIKE /pws/zycet046-dtrec,

        dpch          LIKE /pws/zycet046-dpch,

        analista      LIKE /pws/zycet100-analista,

* >> Início da inclusão:

        ebeln         LIKE /pws/zycet002-ebeln,

* << Fim da inclusão

      END OF itab_relat.

DATA : BEGIN OF itab_zycee085 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycee085.

DATA : END   OF itab_zycee085.

DATA : BEGIN OF itab_saida OCCURS 10.

        INCLUDE STRUCTURE /pws/zycee085.

DATA : END OF itab_saida.

DATA : wa_vbco6 LIKE vbco6 OCCURS 1 WITH HEADER LINE.

DATA : BEGIN OF itab_vbfa_aux OCCURS 20.

        INCLUDE STRUCTURE vbfa.

...

 

...

                 s_dtprev FOR /pws/zycet001-dtprev,

                 s_dtbl   FOR /pws/zycet047-dtbl,

                 s_dtemb  FOR /pws/zycet001-dtemb,

                 s_viatr  FOR /pws/zycet001-viatrans,

                 s_import FOR vbpa-kunnr,

                 s_padest FOR adrc-country,

                 s_vkgrp  FOR vbak-vkgrp,

                 s_werks  FOR vbap-werks,

                 s_bstkd  FOR vbkd-bstkd

                   MATCHCODE OBJECT /pws/zycea282,

* >> Início da inclusão:

                 s_ebeln  FOR ekko-ebeln,

* << Fim da inclusão

                 s_nfnum  FOR j_1bnfdoc-nfnum

                   MATCHCODE OBJECT /pws/zycea283,

                 s_docdat FOR j_1bnfdoc-docdat,

                 s_nrre   FOR /pws/zycet003-nrre

                   MATCHCODE OBJECT /pws/zycea284,

                 s_dtdde  FOR /pws/zycet001-nrsd

                   MATCHCODE OBJECT /pws/zycea285,

                 s_vbeln  FOR vbak-vbeln

                   MATCHCODE OBJECT ash_vmva.

SELECTION-SCREEN END OF BLOCK b1.

...

 

...

    MESSAGE i008.

  ENDIF.

END-OF-SELECTION.

FORM seleciona_dados.

  IF NOT s_nrseq  IS INITIAL OR

     NOT s_nremb  IS INITIAL OR

     NOT s_dtprev IS INITIAL OR

     NOT s_dtemb  IS INITIAL OR

     NOT s_viatr  IS INITIAL OR

     NOT s_dtdde  IS INITIAL OR

* >> Início da exclusão: FORM SELECIONA_DADOS

     NOT s_werks  IS INITIAL .

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_DADOS

     NOT s_werks  IS INITIAL OR

     NOT s_ebeln  IS INITIAL.

* << Fim da inclusão

    PERFORM seleciona_embarque.

  ELSEIF NOT s_vkgrp  IS INITIAL OR

         NOT s_vbeln  IS INITIAL OR

         NOT s_bstkd  IS INITIAL OR

         NOT s_import IS INITIAL OR

         NOT s_padest IS INITIAL.

    PERFORM seleciona_ordem.

  ELSEIF NOT s_nfnum  IS INITIAL OR

         NOT s_docdat IS INITIAL.

    PERFORM seleciona_nota.

...

 

...

  ENDIF.

ENDFORM.

FORM seleciona_embarque.

  SELECT a~mandt    a~nrseq    a~nremb     a~nrsd  a~canal   a~navio

         a~dtprev   a~dtaverb  a~dtenvcamb a~dtdoc a~dtcruze a~dtemb

         a~viatrans a~portdest a~despach

         b~vbeln_va b~vbeln_vl b~vbeln_vf b~aupos b~posnl b~posnr

         b~waers    b~inco1    b~docnum   b~nfnum b~werks b~vkgrp

         b~matnr    b~ntgew    b~brgew    b~shkzg b~auart b~gewei

         b~fkimg    b~vrkme    b~fkart    b~bukrs b~vlme b~steuc

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

         b~land1    a~dtincl

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

         b~land1    a~dtincl   b~ebeln    b~ebelp

* << Fim da inclusão

         FROM /pws/zycet001 AS a INNER JOIN /pws/zycet002 AS b

                                 ON a~nrseq = b~nrseq

         INTO TABLE itab_embarque

         WHERE a~nrseq    IN s_nrseq

           AND a~nremb    IN s_nremb

           AND a~nrsd     IN s_dtdde

           AND a~dtprev   IN s_dtprev

           AND a~dtemb    IN s_dtemb

           AND a~viatrans IN s_viatr

           AND b~vbeln_va IN s_vbeln

           AND b~nfnum    IN s_nfnum

           AND b~werks    IN s_werks

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

           AND b~vkgrp    IN s_vkgrp.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

           AND b~vkgrp    IN s_vkgrp

           AND b~ebeln    IN s_ebeln.

* << Fim da inclusão

  IF NOT itab_embarque[] IS INITIAL.

    SELECT nrseq nrre dtlibanu

           FROM /pws/zycet003

           INTO TABLE itab_zycet003

           FOR ALL ENTRIES IN itab_embarque

            WHERE nrseq EQ itab_embarque-nrseq

             AND nrre  IN s_nrre.

    IF NOT s_nrre IS INITIAL.

      IF NOT itab_zycet003[] IS INITIAL.

        LOOP AT itab_embarque.

...

 

...

          IF sy-subrc NE 0.

            DELETE itab_embarque INDEX v_index.

          ENDIF.

        ENDLOOP.

      ELSE.

        REFRESH itab_embarque.

      ENDIF.

    ENDIF.

  ENDIF.

  PERFORM seleciona_ordem_emb.

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

  PERFORM seleciona_pedido_compra.

* << Fim da inclusão

ENDFORM.

FORM seleciona_ordem.

  SELECT vbap~mandt vbap~vbeln vbap~posnr

         vbak~vkgrp vbak~erdat vbak~auart

         vbap~werks vbap~ntgew vbap~brgew vbap~shkzg vbap~gewei

         vbap~vrkme vbap~netwr vbap~waerk vbap~kwmeng

         FROM vbak INNER JOIN vbap

                   ON vbak~vbeln = vbap~vbeln

         INTO table itab_ordem

         WHERE vbap~vbeln IN s_vbeln

...

 

...

           WHERE vbeln EQ itab_likp-vbeln.

  ENDIF.

  IF NOT v_f24 IS INITIAL.

    SELECT vbeln posnr etenr edatu

           FROM vbep

           INTO TABLE itab_vbep

           FOR ALL ENTRIES IN itab_ordem

           WHERE vbeln EQ itab_ordem-vbeln

             AND posnr EQ itab_ordem-posnr.

  ENDIF.

* >> Início da exclusão: FORM SELECIONA_DADOS_ORDEM

  SELECT *

         FROM /pws/zycet031

         INTO TABLE itab_zycet031

         WHERE codmod EQ 'E'

           AND codint EQ 'DE213'

           AND spras  EQ p_spras.

* << Fim da exclusão

  IF NOT v_f24 IS INITIAL.

    SELECT objky datvr

           FROM nast

           INTO TABLE itab_nast

           FOR ALL ENTRIES IN itab_ordem

           WHERE objky EQ itab_ordem-objky.

  ENDIF.

ENDFORM.

FORM seleciona_dados_embarque.

  SELECT nrseq despach tipo name1

...

 

...

           itab_embarque-inco1    TO itab_zycee085-inco1,

           itab_embarque-bukrs    TO itab_zycee085-bukrs.

    APPEND itab_zycee085.

    CLEAR itab_zycee085.

  ENDLOOP.

  EXPORT itab_zycee085 TO MEMORY ID 'ODOC'.

  CALL FUNCTION '/PWS/ZYCE_TRATA_ORDEM'

       TABLES

            t_saida = itab_saida.

  FREE MEMORY ID 'ODOC'.

* >> Início da exclusão: FORM TRATA_ORDEM_EMB

  DELETE itab_saida WHERE ( vlme = space AND vfob = space ) OR

                          (  ntgew = space AND brgew = space ).

* << Fim da exclusão

* >> Início da inclusão: FORM TRATA_ORDEM_EMB

  DELETE itab_saida WHERE ( vlme = space AND vfob = space ).

* << Fim da inclusão

  IF NOT itab_saida[] IS INITIAL.

    LOOP AT itab_embarque.

      v_index = sy-tabix.

      READ TABLE itab_saida WITH KEY vbeln_va = itab_embarque-vbeln_va

                                     vbeln_vf = itab_embarque-vbeln_vf

                                     vbeln_vl = itab_embarque-vbeln_vl

                                     posnl    = itab_embarque-posnl

                                     posnr    = itab_embarque-posnr

                                     aupos    = itab_embarque-aupos.

      IF sy-subrc EQ 0.

...

 

...

    READ TABLE itab_vbep WITH KEY vbeln = itab_ordem-vbeln

                                  posnr = itab_ordem-posnr.

    IF sy-subrc EQ 0.

      MOVE: itab_vbep-edatu TO itab_relat-dt_eta.

    ENDIF.

    READ TABLE itab_nast WITH KEY objky = itab_ordem-objky.

    IF sy-subrc EQ 0.

      MOVE: itab_nast-datvr TO itab_relat-dt_analise.

    ENDIF.

    PERFORM red_flags.

* >> Início da inclusão: FORM PROCESSA_DADOS

    COLLECT itab_relat.

  ENDLOOP.

  LOOP AT itab_pedido.

    CLEAR: itab_relat.

    CLEAR itab_embarque.

    v_index = sy-tabix.

    READ TABLE itab_embarque WITH KEY ebeln = itab_pedido-ebeln

                                      posnr = itab_pedido-ebelp.

    MOVE: itab_pedido-ebeln       TO itab_relat-ebeln,

          itab_pedido-vbeln       TO itab_relat-vbeln_va,

          itab_pedido-vbeln_vl    TO itab_relat-vbeln_vl,

          itab_pedido-aedat       TO itab_relat-erdat,

          itab_embarque-werks     TO itab_relat-werks,

          itab_embarque-nrseq     TO itab_relat-nrseq,

          itab_embarque-nremb     TO itab_relat-nremb,

          itab_embarque-viatrans  TO itab_relat-viatrans,

          itab_embarque-portdest  TO itab_relat-portdest,

          itab_embarque-nrsd      TO itab_relat-nrsd,

          itab_embarque-dtprev    TO itab_relat-dtprev,

          itab_embarque-dtemb     TO itab_relat-dtemb,

          itab_embarque-dtcruze   TO itab_relat-dtcruze,

          itab_embarque-dtaverb   TO itab_relat-dtaverb,

          itab_embarque-dtdoc     TO itab_relat-dtdoc,

          itab_embarque-dtenvcamb TO itab_relat-dtenvcamb,

          itab_embarque-waers     TO itab_relat-waers,

          itab_embarque-inco1     TO itab_relat-inco1,

          itab_embarque-vlme      TO itab_relat-netwr,

          itab_embarque-vlcomis   TO itab_relat-vlcomis,

          itab_embarque-vldesconto TO itab_relat-vldesconto,

          itab_embarque-dtincl     TO itab_relat-dt_eiv.

    CASE itab_embarque-canal.

      WHEN 'VD'.

        itab_relat-canal = 'Verde'.

      WHEN 'AM'.

        itab_relat-canal = 'Amarelo'.

      WHEN 'VM'.

        itab_relat-canal = 'Vermelho'.

      WHEN 'CZ'.

        itab_relat-canal = 'Cinza'.

    ENDCASE.

    READ TABLE itab_fatura1 WITH KEY vbeln = itab_pedido-vbeln_vf

                                    posnr = itab_pedido-posnf.

    IF sy-subrc EQ 0.

      IF itab_fatura1-waerk EQ 'BRL'.

        itab_relat-vlnota = itab_fatura1-kursk * itab_fatura1-netwr.

      ELSE.

        itab_relat-vlnota = itab_fatura1-netwr.

      ENDIF.

    ENDIF.

    READ TABLE itab_notas WITH KEY refkey = itab_pedido-refkey

                                   refitm = itab_pedido-posnf.

    IF sy-subrc EQ 0.

      MOVE: itab_notas-nfnum    TO itab_relat-nfnum,

            itab_notas-docdat   TO itab_relat-docdat.

    ENDIF.

    READ TABLE itab_import1 WITH KEY ebeln = itab_pedido-ebeln.

    IF sy-subrc EQ 0.

      MOVE: itab_import1-name1    TO itab_relat-importador,

            itab_import1-country  TO itab_relat-country.

    ENDIF.

    READ TABLE itab_likp1 WITH KEY vbeln = itab_pedido-vbeln_vl.

    IF sy-subrc EQ 0.

      MOVE: itab_likp1-bldat   TO itab_relat-bldat.

      READ TABLE itab_receb WITH KEY kunnr = itab_likp1-kunnr.

      IF sy-subrc = 0.

        MOVE: itab_receb-name1   TO itab_relat-recebedor.

      ENDIF.

      READ TABLE itab_eikp1 WITH KEY exnum = itab_likp1-exnum.

      IF sy-subrc EQ 0.

        MOVE: itab_eikp1-bezei   TO itab_relat-zolla.

      ENDIF.

      LOOP AT itab_lips1 WHERE vbeln = itab_pedido-vbeln_vl

                          AND posnr = itab_pedido-posnl.

        MOVE: itab_lips1-vrkme TO itab_relat-vrkme,

              itab_lips1-lfimg TO itab_relat-lfimg,

              itab_lips1-brgew TO itab_relat-btgew,

              itab_likp1-gewei TO itab_relat-gewei.

      ENDLOOP.

    ENDIF.

    READ TABLE itab_embarque WITH KEY ebeln = itab_pedido-ebeln

                                      vbeln_vl = itab_pedido-vbeln_vl

                                      vbeln_vf = itab_pedido-vbeln_vf

                                      ebelp    = itab_pedido-ebelp

                                      posnl    = itab_pedido-posnl

                                      posnr    = itab_pedido-posnf.

    IF sy-subrc EQ 0.

      READ TABLE itab_zycet100 WITH KEY nrseq = itab_embarque-nrseq.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet100-nrinsp     TO itab_relat-nrinsp,

              itab_zycet100-dtleg      TO itab_relat-dtleg,

              itab_zycet100-empinsp    TO itab_relat-empinsp,

              itab_zycet100-data_insp  TO itab_relat-data_insp,

              itab_zycet100-dtconemb   TO itab_relat-dtconemb,

              itab_zycet100-analista   TO itab_relat-analista.

      ENDIF.

      READ TABLE itab_zycet262 WITH KEY nrseq = itab_embarque-nrseq.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet262-dtchegf    TO itab_relat-dtchegf.

      ENDIF.

      CLEAR itab_armador.

      READ TABLE itab_armador

                 WITH KEY nrseq = itab_embarque-nrseq.

      CLEAR itab_lfa1.

      READ TABLE itab_lfa1

                 WITH KEY lifnr = itab_armador-armador.

      MOVE itab_lfa1-name1           TO itab_relat-emptrans.

      MOVE itab_armador-dtconsolida  TO itab_relat-dtconsolida.

      MOVE itab_armador-dtfumigacao  TO itab_relat-dtinspecao.

      IF itab_embarque-viatrans EQ c_ma.

        MOVE itab_armador-dt_dead_line TO itab_relat-dataentr.

      ENDIF.

      CLEAR itab_relat-navio.

      IF itab_embarque-viatrans EQ c_rd.

        itab_relat-navio = itab_armador-nome_tr.

      ENDIF.

      READ TABLE itab_zycet015 WITH KEY nrseq   = itab_embarque-nrseq

                                        tipo    = 'DES'.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet015-name1      TO itab_relat-despachante.

      ENDIF.

      READ TABLE itab_zycet047 WITH KEY nrseq = itab_embarque-nrseq.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet047-tipcar      TO itab_relat-tipcar,

              itab_zycet047-dtlibconemb TO itab_relat-dtlibconemb,

              itab_zycet047-dtbl        TO itab_relat-dtbl.

      ENDIF.

      CLEAR itab_relat-nrbl.

      IF itab_embarque-viatrans EQ c_rd OR

         itab_embarque-viatrans EQ c_ma.

        itab_relat-nrbl = itab_zycet047-nrbl.

      ELSEIF itab_embarque-viatrans EQ c_ta.

        itab_relat-nrbl = itab_zycet047-house.

      ENDIF.

      READ TABLE itab_zycet046 WITH KEY nrseq = itab_embarque-nrseq.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet046-nrcour     TO itab_relat-nrcour,

              itab_zycet046-dtrec      TO itab_relat-dtrec,

              itab_zycet046-dpch       TO itab_relat-dpch.

        IF itab_embarque-viatrans EQ c_ma.

          MOVE itab_armador-nome_tr TO itab_relat-nome_tr.

        ELSEIF itab_embarque-viatrans EQ c_rd OR

               itab_embarque-viatrans EQ c_ta.

          CLEAR itab_zycet103.

          READ TABLE itab_zycet103 WITH KEY

                                   nrseqtr = itab_zycet046-nrseqcg.

          MOVE itab_zycet103-readtexta TO itab_relat-nome_tr.

        ENDIF.

        READ TABLE itab_zycet102 WITH KEY

                                 nrseqtr   = itab_zycet046-nrseqcg

                                 nrrota_tr = itab_zycet046-nrrota_tr.

        IF sy-subrc EQ 0.

          MOVE: itab_zycet102-dtdesembaraco TO itab_relat-dtdesembaraco.

        ENDIF.

        CLEAR itab_zycet124.

        READ TABLE itab_zycet124 WITH KEY

                   nrseq = itab_embarque-nrseq.

        itab_relat-tpcont = itab_zycet124-categoria.

      ENDIF.

      READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq

                                        repid = text-005.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet068-data_emis  TO itab_relat-dt_eie.

      ENDIF.

      READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq

                                        repid = text-006.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet068-data_emis  TO itab_relat-dt_1o1.

      ENDIF.

      READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq

                                        repid = text-007.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet068-data_emis  TO itab_relat-dt_efa.

      ENDIF.

      READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq

                                        repid = text-008.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet068-data_emis  TO itab_relat-dt_epl.

      ENDIF.

      READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq

                                        repid = text-009.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet068-data_emis  TO itab_relat-dt_seg.

      ENDIF.

      READ TABLE itab_zycet183 WITH KEY nrseq  = itab_embarque-nrseq

                                        tp_doc = text-011.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet183-dtlog   TO itab_relat-dt_re.

      ENDIF.

      READ TABLE itab_zycet183 WITH KEY nrseq  = itab_embarque-nrseq

                                        tp_doc = text-012.

      IF sy-subrc EQ 0.

        MOVE: itab_zycet183-dtlog   TO itab_relat-dt_sd.

      ELSE.

        READ TABLE itab_zycet183 WITH KEY nrseq  = itab_embarque-nrseq

                                            tp_doc = text-013.

        IF sy-subrc EQ 0.

          MOVE: itab_zycet183-dtlog   TO itab_relat-dt_sd.

        ENDIF.

      ENDIF.

    ENDIF.

    IF itab_relat-netwr      IS INITIAL.

      MOVE: itab_pedido-netpr TO itab_relat-netwr.

    ENDIF.

    IF itab_relat-vlcomis    IS INITIAL.

      MOVE: itab_pedido-vlcomis TO itab_relat-vlcomis.

    ENDIF.

    IF itab_relat-vldesconto IS INITIAL.

      MOVE: itab_pedido-vldesconto TO itab_relat-vldesconto.

    ENDIF.

    READ TABLE itab_vbep WITH KEY vbeln = itab_ordem-vbeln

                                  posnr = itab_ordem-posnr.

    IF sy-subrc EQ 0.

      MOVE: itab_vbep-edatu TO itab_relat-dt_eta.

    ENDIF.

    READ TABLE itab_nast WITH KEY objky = itab_ordem-objky.

    IF sy-subrc EQ 0.

      MOVE: itab_nast-datvr TO itab_relat-dt_analise.

    ENDIF.

    PERFORM red_flags.

* << Fim da inclusão

    COLLECT itab_relat.

  ENDLOOP.

  SORT itab_relat BY nrseq

                     vbeln_vl

                     werks.

  DELETE ADJACENT DUPLICATES FROM itab_relat.

  itab_zycet003_aux[] = itab_zycet003[].

  LOOP AT itab_relat.

    READ TABLE itab_zycet003_aux WITH KEY nrseq = itab_relat-nrseq.

    IF sy-subrc EQ 0.

...

 

...

              INTO v_key

              SEPARATED BY space.

  ls_line-typ  = 'S'.

  ls_line-info  = v_key.

  APPEND ls_line TO p_gt_list_top_of_page.

ENDFORM.

FORM f_fieldcat_fill.

  DATA: v_inteiro TYPE i.

  CLEAR i_fieldcat.

  CLEAR itab_zycet031.

* >> Início da exclusão: FORM F_FIELDCAT_FILL

  READ TABLE itab_zycet031 WITH KEY id = '0001'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'BSTKD'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 17.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

* << Fim da exclusão

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  SELECT *

       FROM /pws/zycet031

       INTO TABLE itab_zycet031

       WHERE codmod EQ 'E'

         AND codint EQ 'DE213'

         AND spras  EQ p_spras.

* << Fim da inclusão

* >> Início da exclusão: FORM F_FIELDCAT_FILL

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0002'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'BSTDK'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 20.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0003'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DTRECPED'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 33.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0004'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'COUNTRY'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 10.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0005'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'VKGRP'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 17.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0006'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'IMPORTADOR'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 10.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

* << Fim da exclusão

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0007'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'RECEBEDOR'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 10.

...

 

...

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DTEMBSOL'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 22.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  afield-no_out        = 'X'.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0009'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DESPACHANTE'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

...

 

...

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DTSOLOV'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 21.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  afield-no_out        = 'X'.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0012'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'VBELN_VA'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 15.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0001'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'EBELN'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 17.

* << Fim da inclusão

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0013'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'ERDAT'.

  afield-seltext_s     = itab_zycet031-name.

...

 

...

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DTLIBVEN'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 23.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  afield-no_out        = 'X'.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0015'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DTSOLREM'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 26.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  afield-no_out        = 'X'.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0016'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'VBELN_VL'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

...

 

...

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'DTLIBEMB'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

  afield-outputlen     = 25.

  afield-sp_group      = 'A'.

  afield-just          = 'C'.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  afield-no_out        = 'X'.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  CLEAR itab_zycet031.

  READ TABLE itab_zycet031 WITH KEY id = '0024'.

  CLEAR afield.

  v_inteiro            = v_inteiro + 5.

  afield-col_pos       = v_inteiro.

  afield-fieldname     = 'NFNUM'.

  afield-seltext_s     = itab_zycet031-name.

  afield-seltext_m     = itab_zycet031-name.

  afield-seltext_l     = itab_zycet031-name.

...

 

...

            t_data         = itab_relat.

ENDFORM.

FORM pf_status_alv USING extab TYPE kkblo_t_extab.

  SET PF-STATUS 'ALV'.

ENDFORM.

FORM user_command_alv  USING ucomm LIKE sy-ucomm

                           selfield TYPE slis_selfield.

  DATA: v_campo(20),

        v_valor(20),

        v_export(15).

* >> Início da inclusão: FORM USER_COMMAND_ALV

  DATA: wa_relatorio LIKE itab_relat.

  IF ucomm = 'BEAN'.

    CASE selfield-fieldname.

      WHEN 'NRSEQ'.

        wa_relatorio-nrseq = selfield-value.

* << Fim da inclusão

* >> Início da exclusão: FORM USER_COMMAND_ALV

  CASE ucomm.

    WHEN 'BEAN'.

      v_export = 'EMB_REL'.

      EXPORT v_export  TO  MEMORY ID '/PWS/ZYCEID'.

      READ TABLE itab_relat INDEX selfield-tabindex.

      IF sy-subrc = 0.

        v_valor = itab_relat-nrseq.

        REPLACE '1-' WITH ' ' INTO selfield-sel_tab_field.

        CONDENSE selfield-sel_tab_field NO-GAPS.

        feld = selfield-sel_tab_field.

        v_campo = feld.

        GET CURSOR FIELD v_campo VALUE itab_relat-nrseq.

        EXPORT v_valor TO MEMORY ID '/PWS/ZYCEP001'.

        SET PARAMETER ID '/PWS/ZYCEP001' FIELD v_valor.

        CALL TRANSACTION '/PWS/ZYCE003_E' AND SKIP FIRST SCREEN.

        CLEAR feld.

* << Fim da exclusão

* >> Início da inclusão: FORM USER_COMMAND_ALV

        CHECK NOT wa_relatorio-nrseq IS INITIAL.

        CALL FUNCTION '/PWS/ZYCE_DRILL_DOWN_EMBARQUE'

             EXPORTING

                  nrseq = wa_relatorio-nrseq.

      WHEN 'EBELN'.

        wa_relatorio-ebeln = selfield-value.

        CHECK NOT wa_relatorio-ebeln IS INITIAL.

        CALL FUNCTION '/PWS/ZYCE_DRILL_DOWN_PED_COMPR'

             EXPORTING

                  ebeln = wa_relatorio-ebeln.

      WHEN 'VBELN_VA'.

        wa_relatorio-vbeln_va = selfield-value.

        CHECK NOT wa_relatorio-vbeln_va IS INITIAL.

        CALL FUNCTION '/PWS/ZYCE_DRILL_DOWN_ORDEM'

             EXPORTING

                  vbeln = wa_relatorio-vbeln_va.

    ENDCASE.

* << Fim da inclusão

      ENDIF.

* >> Início da exclusão: FORM USER_COMMAND_ALV

    WHEN 'BACK'.

      LEAVE TO SCREEN 0.

    WHEN OTHERS.

      LEAVE PROGRAM.

  ENDCASE.

* << Fim da exclusão

ENDFORM.

FORM top_of_page_alv.

...

 

...

          IF sy-subrc NE 0.

            DELETE itab_embarque INDEX v_index.

          ENDIF.

        ENDLOOP.

      ELSE.

        REFRESH itab_embarque.

      ENDIF.

    ENDIF.

  ENDIF.

  PERFORM seleciona_ordem_emb.

* >> Início da inclusão: FORM SELECIONA_DTBL

  PERFORM seleciona_pedido_compra.

* << Fim da inclusão

ENDFORM.

FORM seleciona_ordem_emb.

  IF NOT itab_embarque[] IS INITIAL.

    SELECT vbeln bstkd bstdk

           FROM vbkd

           INTO TABLE itab_vbkd

           FOR ALL ENTRIES IN itab_embarque

           WHERE vbeln EQ itab_embarque-vbeln_va

             AND bstkd IN s_bstkd.

    IF NOT s_bstkd IS INITIAL.

...

 

...

          IF sy-subrc NE 0.

            DELETE itab_embarque INDEX v_index.

          ENDIF.

        ENDLOOP.

      ELSE.

        REFRESH itab_embarque.

      ENDIF.

    ENDIF.

  ENDIF.

  PERFORM seleciona_ordem_emb.

* >> Início da inclusão: FORM SELECIONA_RE

  PERFORM seleciona_pedido_compra.

* << Fim da inclusão

ENDFORM.

FORM f4_for_variant CHANGING p_disvariant TYPE disvariant

                             p_variant TYPE disvariant-variant.

  DATA: local_variant TYPE disvariant,

        exit.

  p_disvariant-report = sy-repid.

  p_disvariant-username = sy-uname.

  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

       EXPORTING

            is_variant         = p_disvariant

...

 

...

      CLEAR: p_disvariant,

             p_variant,

             p_text.

    ENDIF.

  ELSE.

    CLEAR: p_disvariant,

           p_variant,

           p_text.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM seleciona_pedido_compra.

  IF NOT itab_embarque[] IS INITIAL.

    SELECT ekpo~mandt ekpo~ebeln ekpo~ebelp

            ekko~aedat ekpo~werks ekpo~ntgew ekpo~brgew ekpo~retpo

            ekpo~gewei ekpo~meins ekpo~netpr ekko~waers ekpo~menge

            FROM ekko INNER JOIN ekpo

                      ON ekko~ebeln = ekpo~ebeln

            INTO TABLE itab_pedido

            FOR ALL ENTRIES IN itab_embarque

            WHERE ekko~ebeln = itab_embarque-ebeln.

  ENDIF.

  LOOP AT itab_pedido.

    CLEAR itab_embarque.

    v_index = sy-tabix.

    READ TABLE itab_embarque WITH KEY ebeln = itab_pedido-ebeln

                                      posnr = itab_pedido-ebelp.

    MOVE: itab_embarque-vbeln_va  TO itab_pedido-vbeln,

          itab_embarque-vbeln_vl  TO itab_pedido-vbeln_vl,

          itab_embarque-vbeln_vf  TO itab_pedido-vbeln_vf,

          itab_embarque-vbeln_vf  TO itab_pedido-refkey,

          itab_embarque-posnl     TO itab_pedido-posnl,

          itab_embarque-posnr     TO itab_pedido-posnf,

          itab_embarque-vbeln_vl  TO itab_pedido-objky.

    MODIFY itab_pedido INDEX v_index.

  ENDLOOP.

  IF NOT itab_pedido[] IS INITIAL.

    SELECT vbeln bldat btgew gewei exnum kunnr

           FROM likp

           INTO TABLE itab_likp1

           FOR ALL ENTRIES IN itab_pedido

           WHERE vbeln EQ itab_pedido-vbeln_vl.

    SELECT ekpo~ebeln ekpo~kunnr ekpo~adrnr

           adrc~country

           kna1~name1

           FROM ekpo INNER JOIN adrc

                     ON ekpo~adrnr = adrc~addrnumber

                     INNER JOIN kna1

                     ON ekpo~kunnr = kna1~kunnr

           INTO TABLE itab_import1

           FOR ALL ENTRIES IN itab_pedido

           WHERE ekpo~ebeln   EQ itab_pedido-ebeln.

    SELECT vbrp~vbeln vbrp~posnr vbrp~kursk vbrp~netwr

           vbrk~exnum vbrk~fkart vbrk~inco1 vbrk~bukrs

           vbrk~waerk

           FROM vbrk INNER JOIN vbrp

                     ON vbrk~vbeln = vbrp~vbeln

           INTO TABLE itab_fatura1

           FOR ALL ENTRIES IN itab_pedido

           WHERE vbrp~vbeln EQ itab_pedido-vbeln_vf

             AND vbrp~posnr EQ itab_pedido-posnf.

  ENDIF.

  IF NOT itab_likp1[] IS INITIAL.

    SELECT kunnr name1

      FROM kna1

      INTO TABLE itab_receb

      FOR ALL ENTRIES IN itab_likp1

      WHERE kunnr EQ itab_likp1-kunnr.

    SELECT a~exnum  a~aland a~zolla b~bezei

           FROM eikp AS a

           INNER JOIN t615t AS b

           ON b~land1 = a~aland AND

              b~zolla = a~zolla

           INTO TABLE itab_eikp1

           FOR ALL ENTRIES IN itab_likp1

           WHERE exnum EQ itab_likp1-exnum.

    SELECT vbeln posnr lfimg vrkme brgew gewei

           FROM lips

           INTO TABLE itab_lips1

           FOR ALL ENTRIES IN itab_likp1

           WHERE vbeln EQ itab_likp1-vbeln.

  ENDIF.

  IF NOT itab_embarque[] IS INITIAL.

    SELECT nrseq nrre dtlibanu

           FROM /pws/zycet003

           INTO TABLE itab_zycet003

           FOR ALL ENTRIES IN itab_embarque

           WHERE nrseq EQ itab_embarque-nrseq.

    SELECT nrseq matnr nrbl dtbl house dtlibconemb tipcar

           FROM /pws/zycet047

           INTO TABLE itab_zycet047

           FOR ALL ENTRIES IN itab_embarque

           WHERE nrseq EQ itab_embarque-nrseq

             AND matnr EQ itab_embarque-matnr.

    PERFORM seleciona_dados_embarque.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPT /PWS/ZYCER213

 

------------------------------------------------------------------------

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): S_EBELN

 

Texto: (24 caracteres)

"Pedido de Compra"

 

Referência ao Dictionary: NÃO

 

------------------------------------------------------------------------

Modificado texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): S_VBELN

 

Texto: (22 caracteres)

"Ordem de Venda"

 

Referência ao Dictionary: NÃO