CE PLUS - Nota 004409

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Comissão de Agente

Data/Hora da Publicação: 14/08/2007 00:00:00

Data/Hora Última Alteração: 21/02/2011 17:59:13

Descrição da Nota: REMOÇÃO DE TRATAMENTO OBSOLETO DE ORDENS

Sintoma

Possíveis inconsistências no tratamento das ordens, entre o novo embarque e a comissão de agente.

 

 

Solução

Remoção do tratamento próprio e utilização dos itens já tratados pelo embarque.

 

==> Ao aplicar esta nota, aplicar também a nota 4520.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DOCUMENTOS DE EMBARQUE

ERROS/WARNINGS CODE INSPECTOR/VERIFICAÇÃ AMPLIADA NA COMISSÃO DE AGENTE

Informações Complementares

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

Nota Número 04409 Data: 14/08/2007 Hora: 08:03:44

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

 

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

Nota Número              : 04409

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00008

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

03549  - 00001 - 7.0    - 00001  - DOCUMENTOS DE EMBARQUE

04389  - 00002 - 7.0    - 00002  - ERROS/WARNINGS CODE INSPECTOR/VERIFICAÇÃ AMPLIADA NA COMISSÃO DE

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

REMOÇÃO DE TRATAMENTO OBSOLETO DE ORDENS

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

Palavras Chave:

REMOÇÃO TRATAMENTO ORDENS

 

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

Objetos da nota:

REPS /PWS/MZYCE017F01

REPS /PWS/MZYCE017TOP

REPS /PWS/MZYCE017X01

REPT /PWS/SAPMZYCE017

 

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

Modificações efetuadas em REPS /PWS/MZYCE017F01

 

...

    SELECT * FROM /pws/zycit224 INTO TABLE itab_zycit224

          WHERE codmod = 'X' AND

                origem = 'CA' AND

                land1 = t001-land1.

  ELSE.

    LOOP AT itab_zycet013 WHERE belnr NE space.

    ENDLOOP.

    IF sy-subrc NE 0.

      REFRESH: itab_zycet013.

      CLEAR: itab_zycet013.

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

      IF itab_saida IS INITIAL.

        PERFORM trata_ordem.

      ENDIF.

* << Fim da exclusão

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

      LOOP AT itab_zycet002.

* << Fim da inclusão

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

      LOOP AT itab_saida.

        READ TABLE itab_zycet020 WITH KEY auart = itab_saida-auart.

        IF sy-subrc EQ 0.

          IF itab_zycet020-tipodoc = 'OD' OR

             itab_zycet020-tipodoc = 'DR' OR

             itab_saida-shkzg      = 'X'.

            itab_saida-vlme    = abs( itab_saida-vlme ) * ( -1 ).

            itab_saida-vlcomis = abs( itab_saida-vlcomis ) * ( -1 ).

          ENDIF.

        ENDIF.

       READ TABLE itab_zycet002 WITH KEY vbeln_vf = itab_saida-vbeln_vf

                                            posnr    = itab_saida-posnr.

        IF sy-subrc = 0.

* << Fim da exclusão

          MOVE: itab_zycet002-nrseq     TO itab_zycet013-nrseq,

                itab_zycet002-gsber     TO itab_zycet013-gsber,

                itab_zycet002-prctr     TO itab_zycet013-prctr,

                itab_zycet002-waers     TO itab_zycet013-waers.

          MOVE: itab_zycet002-nrseq     TO it013_aux-nrseq,

                itab_zycet002-gsber     TO it013_aux-gsber.

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

        READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.

        IF sy-subrc EQ 0.

          IF itab_zycet020-tipodoc = 'OD' OR

             itab_zycet020-tipodoc = 'DR' OR

             itab_zycet002-shkzg   = 'X'.

            itab_zycet013-vlme     = abs( itab_zycet002-vlme ).

            itab_zycet013-vlagente = abs( itab_zycet002-vlagente ).

            MULTIPLY:

              itab_zycet013-vlme BY -1,

              itab_zycet013-vlagente BY -1.

          ELSE.

            itab_zycet013-vlme     = itab_zycet002-vlme.

            itab_zycet013-vlagente = itab_zycet002-vlagente.

* << Fim da inclusão

        ENDIF.

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

        ELSE.

* << Fim da inclusão

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

        MOVE: itab_saida-vlme         TO itab_zycet013-vlme,

              itab_saida-vlcomis      TO itab_zycet013-vlagente.

* << Fim da exclusão

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

          MESSAGE a001

            WITH

              'Documento'(004)

              itab_zycet002-auart

              'não parametrizado em /pws/zycet020.'(005).

* << Fim da inclusão

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

        MOVE: itab_saida-vlme         TO it013_aux-vlme,

              itab_saida-vlcomis      TO it013_aux-vlagente.

* << Fim da exclusão

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

        ENDIF.

        it013_aux-vlme     = itab_zycet013-vlme.

        it013_aux-vlagente = itab_zycet013-vlagente.

* << Fim da inclusão

        COLLECT itab_zycet013.

        COLLECT it013_aux.

      ENDLOOP.

      DELETE itab_zycet013 WHERE vlme IS initial.

      DELETE it013_aux WHERE vlme IS initial.

      LOOP AT it013_aux.

        v_index = sy-tabix.

        CLEAR v_percent.

        IF NOT /pws/zycee313-vlme_fob IS INITIAL.

          v_percent = ( it013_aux-vlme / /pws/zycee313-vlme_fob ).

...

 

...

             FROM /pws/zycet010

             INTO itab_zycet010-belnr_ir

             WHERE nrseq = /pws/zycee001-nrseq.

      APPEND itab_zycet010.

    ENDIF.

    LOOP AT itab_zycet013 WHERE belnr NE space.

    ENDLOOP.

    IF sy-subrc NE 0.

      REFRESH: itab_zycet013.

      CLEAR: itab_zycet013.

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

      LOOP AT itab_zycet010.

        LOOP AT itab_zycet002.

* << Fim da inclusão

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

      IF NOT itab_zycet010[] IS INITIAL AND

             itab_saida IS INITIAL.

        PERFORM trata_ordem.

* << Fim da exclusão

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

          READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.

          IF sy-subrc EQ 0.

            itab_zycet013 = abs( itab_zycet002-vlfob ).

            IF itab_zycet002-shkzg EQ 'X'.

              itab_zycet013-vlme     = itab_zycet002-vlme * ( -1 ).

              itab_zycet013-vlagente = itab_zycet002-vlagente * ( -1 ).

* << Fim da inclusão

      ENDIF.

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

          ELSE.

            MESSAGE a001

              WITH

                'Documento'(004)

                itab_zycet002-auart

                'não parametrizado em /pws/zycet020.'(005).

* << Fim da inclusão

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

      LOOP AT itab_zycet010.

        LOOP AT itab_saida.

          READ TABLE itab_zycet020 WITH KEY auart = itab_saida-auart.

          READ TABLE itab_zycet002

                     WITH KEY vbeln_vf = itab_saida-vbeln_vf

                              posnr    = itab_saida-posnr.

          CHECK sy-subrc EQ 0.

          itab_saida-vlme      = abs( itab_zycet002-vlfob ).

          IF itab_saida-shkzg EQ 'X'.

            itab_saida-vlme    = itab_saida-vlme    * ( -1 ).

            itab_saida-vlcomis = itab_saida-vlcomis * ( -1 ).

* << Fim da exclusão

          ENDIF.

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

          MOVE: itab_zycet002-nrseq     TO itab_zycet013-nrseq,

                itab_zycet002-gsber     TO itab_zycet013-gsber,

                itab_zycet002-prctr     TO itab_zycet013-prctr,

                itab_zycet002-waers     TO itab_zycet013-waers.

          MOVE: itab_saida-vlme     TO itab_zycet013-vlme,

                itab_zycet010-lifnr TO itab_zycet013-lifnr,

                itab_saida-vlcomis  TO itab_zycet013-vlagente.

* << Fim da exclusão

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

          MOVE:

            itab_zycet002-nrseq    TO itab_zycet013-nrseq,

            itab_zycet002-gsber    TO itab_zycet013-gsber,

            itab_zycet002-prctr    TO itab_zycet013-prctr,

            itab_zycet002-waers    TO itab_zycet013-waers,

            itab_zycet002-vlme     TO itab_zycet013-vlme,

            itab_zycet010-lifnr    TO itab_zycet013-lifnr,

            itab_zycet002-vlagente TO itab_zycet013-vlagente.

* << Fim da inclusão

          COLLECT itab_zycet013.

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

        ENDLOOP.

* << Fim da inclusão

        ENDLOOP.

        DELETE itab_zycet013 WHERE vlme IS initial.

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

      ENDLOOP.

* << Fim da exclusão

      CLEAR /pws/zycee313-vlme_fob.

...

 

...

    itab_zycbe035-c_zuonr = /pws/zycee001-nrseq.

    itab_zycbe035-d_newko = v_contal.

    itab_zycbe035-d_gsber = it013_aux-gsber.

    itab_zycbe035-d_prctr = itab_zycet013_ant-prctr.

    itab_zycbe035-wrbtr = itab_zycet013_ant-vlme.

    itab_zycbe035-d_kostl = v_kostl.

    APPEND itab_zycbe035.

    CLEAR  itab_zycbe035.

  ENDLOOP.

ENDFORM.

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

FORM trata_ordem.

  DATA: nrseq LIKE /pws/zycee085-nrseq.

  CLEAR: itab_zycee085, itab_saida.

  REFRESH: itab_zycee085, itab_saida.

  LOOP AT itab_zycet002.

    /pws/zycee001-nrseq = itab_zycet002-nrseq.

    nrseq = nrseq + 1.

    itab_zycee085-nrseq = nrseq.

    SHIFT itab_zycee085-nrseq RIGHT DELETING TRAILING space.

    UNPACK  itab_zycee085-nrseq   TO itab_zycee085-nrseq.

    MOVE : itab_zycet002-mandt    TO itab_zycee085-mandt,

           itab_zycet002-vgbel    TO itab_zycee085-vbeln_va,

           itab_zycet002-vbeln_vf TO itab_zycee085-vbeln_vf,

           itab_zycet002-posnr    TO itab_zycee085-posnr,

           itab_zycet002-vgpos    TO itab_zycee085-aupos,

           itab_zycet002-ntgew    TO itab_zycee085-ntgew,

           itab_zycet002-brgew    TO itab_zycee085-brgew,

           itab_zycet002-shkzg    TO itab_zycee085-shkzg,

           itab_zycet002-nfnum    TO itab_zycee085-nfnum,

           itab_zycet002-auart    TO itab_zycee085-auart,

           itab_zycet002-fkart    TO itab_zycee085-fkart,

           itab_zycet002-waers    TO itab_zycee085-waers,

           itab_zycet002-gewei    TO itab_zycee085-gewei,

           itab_zycet002-inco1    TO itab_zycee085-inco1,

           itab_zycet002-fkimg    TO itab_zycee085-fkimg,

           itab_zycet002-vrkme    TO itab_zycee085-vrkme,

           itab_zycet002-vlme     TO itab_zycee085-vlme,

           itab_zycet002-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'

       EXPORTING

            nrseq   = /pws/zycee001-nrseq

       TABLES

            t_saida = itab_saida.

  FREE MEMORY ID 'ODOC'.

  DELETE itab_saida WHERE vlme = space.

ENDFORM.

* << Fim da exclusão

FORM busca_taxa USING    p_dtbl

                CHANGING p_taxa.

  DATA v_taxa         LIKE /pws/zycet002-kurrf.

  READ TABLE itab_zyglt100 WITH KEY zexit = 'COM007' BINARY SEARCH.

  IF sy-subrc = 0

      AND NOT itab_zyglt100-programa IS INITIAL

      AND NOT itab_zyglt100-formulario IS INITIAL.

    PERFORM (itab_zyglt100-formulario)

        IN PROGRAM (itab_zyglt100-programa)

        IF FOUND.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE017TOP

 

...

DATA: END OF it013_aux.

DATA itab_zycet010_ant LIKE /pws/zycet010.

DATA: BEGIN OF itab_zycet010_aux OCCURS 20 .

        INCLUDE STRUCTURE /pws/zycet010.

DATA:    mark(1).

DATA: END OF itab_zycet010_aux.

DATA: BEGIN OF itab_zycet010_del OCCURS 0 .

        INCLUDE STRUCTURE /pws/zycet010.

DATA:    mark(1).

DATA: END OF itab_zycet010_del.

* >> Início da exclusão:

DATA : BEGIN OF itab_saida OCCURS 10.

        INCLUDE STRUCTURE /pws/zycee085.

DATA : END OF itab_saida.

DATA : BEGIN OF itab_zycee085 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycee085.

DATA : END   OF itab_zycee085.

* << Fim da exclusão

DATA: BEGIN OF t_bupla OCCURS 0,

        bupla  LIKE bseg-bupla,

      END OF t_bupla.

DATA : BEGIN OF itab_agente OCCURS 10,

          codigo_r3   LIKE /pws/zycet076-codigo_r3,

          kunnr       LIKE vbpa-kunnr,

          lifnr       LIKE vbpa-lifnr,

          percent     LIKE /pws/zycet091-percentagem,

       END OF itab_agente.

DATA: BEGIN OF itab_fornecedor OCCURS 0,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE017X01

 

...

DATA: BEGIN OF itab_zycet156 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycet156.

* >> Início da exclusão:

DATA: END OF itab_zycet156.

* << Fim da exclusão

* >> Início da inclusão:

DATA: END OF itab_zycet156.                                 "#EC NEEDED

* << Fim da inclusão

DATA: END OF COMMON PART.

...

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCE017

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 004

 

Texto: (9 caracteres)

"Documento"

 

Comprimento máximo: 9

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 005

 

Texto: (35 caracteres)

"não parametrizado em /pws/zycet020."

 

Comprimento máximo: 35