CE PLUS - Nota 000567

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 02/01/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:07:15

Descrição da Nota: TRATAMENTO DE INCOTERM PELA TABELA /PWS/ZYCIT031

Sintoma

Necessário fazer o tratamento de vários incoterms do pedido por grupo, paramentrizado na

/PWS/ZYCIT031. Tratamento para quando os pedidos tem incoterms diferentes.

 

 

Solução

Fazer a verificação na tabela /PWS/ZYCIT031 ao selecionar itens .

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 00567 Data: 02/01/2006 Hora: 10:33:35

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

 

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

Nota Número              : 00567

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00094

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

TRATAMENTO DE INCOTERM PELA TABELA /PWS/ZYCIT031

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

Palavras Chave:

VÁRIOS INCOTERMS - CONSOLIDAÇÃO DE CARGA

AGRUPAMENTO DE INCOTERMS

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001TOP

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

...

           sign(1)   TYPE c,

           option(2) TYPE c,

           low       LIKE /pws/zycie001-inco1,

           high      LIKE /pws/zycie001-inco1,

         END OF itab_inco1.

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

  DATA: v_inco1a LIKE /pws/zycie001-inco1.

* << Fim da inclusão

  IF NOT so_inco1 IS INITIAL.

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

    CLEAR: itab_zycit031. REFRESH: itab_zycit031.

* << Fim da exclusão

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

    CLEAR: itab_zycit031, v_inco1a.

    REFRESH: itab_zycit031.

* << Fim da inclusão

    SELECT * FROM /pws/zycit031

      INTO TABLE itab_zycit031

      WHERE inco1_ci IN so_inco1.

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

    IF sy-subrc EQ 0.

      LOOP AT itab_zycit031.

        itab_inco1-sign = 'I'.

        itab_inco1-option = 'EQ'.

        itab_inco1-low = itab_zycit031-inco1.

        itab_inco1-high = ' '.

        APPEND itab_inco1.

      ENDLOOP.

    ELSE.

      SELECT SINGLE inco1_ci FROM /pws/zycit031

        INTO v_inco1a WHERE inco1 IN so_inco1.

      IF sy-subrc EQ 0.

        SELECT * FROM /pws/zycit031

          INTO TABLE itab_zycit031

          WHERE inco1_ci EQ v_inco1a.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      LOOP AT itab_zycit031.

        itab_inco1-sign = 'I'.

        itab_inco1-option = 'EQ'.

        itab_inco1-low = itab_zycit031-inco1.

        itab_inco1-high = ' '.

        APPEND itab_inco1.

      ENDLOOP.

    ENDIF.

  ENDIF.

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

    ENDIF.

  ENDIF.

* << Fim da inclusão

  IF itab_zycit011[] IS INITIAL.

    SELECT ekko~bukrs ekko~waers ekko~lifnr ekko~aedat

           ekko~inco1 ekko~ebeln

           ekpo~ebelp ekpo~werks ekpo~bednr ekpo~menge

           ekpo~ktmng ekpo~bstyp

...

 

...

  IF sy-subrc NE 0.

    MESSAGE e015 WITH text-248.

    EXIT.

  ENDIF.

  IF  so_inco1 IS INITIAL.

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

    CLEAR: itab_itens,itab_zycit031.

* << Fim da exclusão

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

    CLEAR: itab_itens, itab_zycit031, v_inco1a.

* << Fim da inclusão

    REFRESH: itab_zycit031.

    READ TABLE itab_itens INDEX 1.

    SELECT * FROM /pws/zycit031

      INTO TABLE itab_zycit031

      WHERE inco1_ci EQ itab_itens-inco1.

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

    IF sy-subrc EQ 0.

      CLEAR itab_itens.

      LOOP AT itab_itens.

        READ TABLE itab_zycit031 WITH KEY inco1 = itab_itens-inco1.

        IF sy-subrc NE 0.

          DELETE itab_itens.

        ENDIF.

      ENDLOOP.

      CLEAR itab_itens.

    ELSE.

      SELECT SINGLE inco1_ci FROM /pws/zycit031

        INTO v_inco1a WHERE inco1 EQ itab_itens-inco1.

      IF sy-subrc EQ 0.

        SELECT * FROM /pws/zycit031

          INTO TABLE itab_zycit031

          WHERE inco1_ci EQ v_inco1a.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      CLEAR itab_itens.

      LOOP AT itab_itens.

        READ TABLE itab_zycit031 WITH KEY inco1 = itab_itens-inco1.

        IF sy-subrc NE 0.

          DELETE itab_itens.

        ENDIF.

      ENDLOOP.

      CLEAR itab_itens.

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

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  CALL CUSTOMER-FUNCTION '002'

     EXPORTING

        nremba          = /pws/zycie001-nrseq

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001TOP

 

...

DATA: itab_zycit100 LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

DATA: itab_zycit094 LIKE /pws/zycit094 OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit031 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit031.

DATA: END OF itab_zycit031.

* << Fim da inclusão

DATA: BEGIN OF wa093,

            bukrs      LIKE /pws/zycie093-bukrs,

            meiotransp LIKE /pws/zycie093-meiotransp,

            paemb      LIKE /pws/zycie093-paemb     ,

            paispae    LIKE /pws/zycie093-paispae   ,

...

 

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

  /pws/zycie085-vlfobr = s_fbvr.

ENDFORM.

FORM adic_list.

  CLEAR:   it_adi[], /pws/zycie100a, itab_itb.

  REFRESH: it_adi[].

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

  data: begin of itab_inco occurs 0.

  data: ebeln like ekko-ebeln,

        inco1 like ekko-inco1.

  data end of itab_inco.

  if not itab_it[] is initial.

    select ebeln inco1 from ekko into table itab_inco

    for all entries in itab_it

    where ebeln eq itab_it-ebeln.

  endif.

  loop at itab_it.

    read table itab_inco with key ebeln = itab_it-ebeln.

    if sy-subrc eq 0.

       itab_it-inco_item = itab_inco-inco1.

    endif.

    modify itab_it.

  endloop.

* << Fim da inclusão

  PERFORM data_sort.

  IF itab_zycit001-flag_adicao EQ 'X'.

      v_adic = 0.

  else.

      v_adic = 1.

...

 

...

       itab_it-tribipi       NE itab_itb-tribipi       OR

       itab_it-advalicms     NE itab_itb-advalicms     OR

       itab_it-vlantid       NE itab_itb-vlantid       OR

       itab_it-meinsantid    NE itab_itb-meinsantid    OR

       itab_it-qtdeantid     NE itab_itb-qtdeantid     OR

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

       itab_it-codcambial    NE itab_itb-codcambial .

* << Fim da exclusão

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

       itab_it-codcambial    NE itab_itb-codcambial    or

       itab_it-inco_item     NE itab_itb-inco_item   .

* << Fim da inclusão

      PERFORM adic_next.

    ELSE.

      IF itab_zycit001-flag_adicao EQ 'X'.

        PERFORM adic_next.

      ENDIF.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

       waersbem      dttaxbem    antidrate     extarif_al     tipo_al

       orgemiss_al   numero_al   anoemiss_al   ii_extarif     ii_tipo

       ii_orgemiss   ii_numero   ii_anoemiss   ipi_extarif    ipi_tipo

       ipi_orgemiss  ipi_numero  ipi_anoemiss  ad_extarif     ad_tipo

       ad_orgemiss   ad_numero   ad_anoemiss   aladi          tribipi

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

       advalicms     vlantid     meinsantid    qtdeantid.

* << Fim da exclusão

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

       advalicms     vlantid     meinsantid    qtdeantid

       inco_item.

* << Fim da inclusão

ENDFORM.

FORM fill_desp.

  SELECT mandt nrseq tpdesp descr waers vldp FROM /pws/zycit049

         INTO TABLE itab_zycit049

         WHERE nrseq EQ /pws/zycie085-nrseqdi.

...

 

...

  LOOP AT itab_zycit124b.

    MOVE itab_zycit124b TO itab_zycit124.

    APPEND itab_zycit124.

  ENDLOOP.

  MODIFY /pws/zycit121 FROM TABLE itab_zycit121.

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

  MODIFY /pws/zycit124 FROM TABLE itab_zycit124.

* << Fim da inclusão

ENDFORM.

FORM salva_fatura.

  DATA: v_belnr_p LIKE /pws/zycie006-belnr_p,

        itab_132 LIKE /pws/zycie132 OCCURS 10 WITH HEADER LINE.

  DATA: BEGIN OF itab_zycbt117 OCCURS 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

...

        ipi_recolher  LIKE /pws/zycie085-vlfob,

        ad_devido     LIKE /pws/zycie085-vlfob,

        ad_recolher   LIKE /pws/zycie085-vlfob,

        vlfobr        LIKE /pws/zycie100a-vlfre,

        codcambial    like /pws/zycie006-codcambial,

* >> Início da inclusão:

        inco_item     like /pws/zycit001-inco1,

* << Fim da inclusão

        mark,

END OF itab_it.

DATA: BEGIN OF itab_zycit049 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycie049.

DATA:   tipo      LIKE /pws/zycit019-tipo,

...