CE PLUS - Nota 013023

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: PLI

Data/Hora da Publicação: 03/10/2014 09:42:20

Data/Hora Última Alteração: 03/10/2014 09:42:20

Descrição da Nota: ERRO NOS TEXTOS E ESPECIFICAÇÃO TÉCNICA PLI, PESO DI, GERAÇÃO LI

Sintoma

Erro nos textos e especificação técnica da PLI, peso PLI, geração LI

 

 

Solução

Corrigir tratamento de textos e erros da PLI

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

PRÉ CRÍTICA DA PLI RECLAMA QUE VALOR DA MERCADORIA NÃO FOI PREENCHIDO

TRATAMENTO PARA O PARAMETRO DE NUMERO DE CASAS DECIMAIS PARA O PESO

ERRO NOS TEXTOS DA LI E AO VERIFICAR SISCOMEX DA LI NÃO ATUALIZA TELA

AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI

AJUSTE PREENCHIMENTO ESPECIFICAÇÃO TÉCNICA E VALOR NO LOCAL EMBARQUE

AJUSTES PARA TRANSMISSÃO SUFRAMA PLI

INCLUSÃO DE CAMPOS PARA INFORMAR O FABRICANTE.

NÃO CRIA TEXTOS DA LI ENQUANTO NÃO NAVEGA PELOS ITENS.

ERRO NOS CAMPOS DE ESPECIFICAÇÃO TÉCNICA DA PLI

PERMITIR QUE O USUÁRIO ALTERE O CAMPO ESPECIFICAÇÃO TÉCNICA

PLI ESTA SE PERDENDO AO COMPOR O CAMPO VALOR NO LOCAL DA MERCADORIA

LI - QUANTIDADE UM ESTATÍSTICA

Informações Complementares

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

Nota Número 13023 Data: 29/05/2013 Hora: 15:57:39

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

 

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

Nota Número              : 13023

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00004

Agrupamento              : 00155

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

Referência às notas relacionadas:

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

 

03556  - 00001 - 7.0    - 00001  - ERRO NOS TEXTOS DA LI E AO VERIFICAR SISCOMEX DA LI NÃO ATUALIZA

03820  - 00002 - 7.0    - 00001  - LI - QUANTIDADE UM ESTATÍSTICA

03831  - 00003 - 7.0    - 00001  - NÃO CRIA TEXTOS DA LI ENQUANTO NÃO NAVEGA PELOS ITENS.

08146  - 00004 - 7.0    - 00008  - TRATAMENTO PARA O PARAMETRO DE NUMERO DE CASAS DECIMAIS PARA O PE

10468  - 00005 - 8.0    - 00004  - AJUSTE PREENCHIMENTO ESPECIFICAÇÃO TÉCNICA E VALOR NO LOCAL EMBAR

10492  - 00006 - 8.0    - 00004  - PRÉ CRÍTICA DA PLI RECLAMA QUE VALOR DA MERCADORIA NÃO FOI PREENC

10496  - 00007 - 8.0    - 00004  - PLI ESTA SE PERDENDO AO COMPOR O CAMPO VALOR NO LOCAL DA MERCADOR

12026  - 00008 - 8.0    - 00010  - ERRO NOS CAMPOS DE ESPECIFICAÇÃO TÉCNICA DA PLI

12242  - 00009 - 8.0    - 00011  - PERMITIR QUE O USUÁRIO ALTERE O CAMPO ESPECIFICAÇÃO TÉCNICA

12255  - 00010 - 8.0    - 00011  - AJUSTES PARA TRANSMISSÃO SUFRAMA PLI

12259  - 00011 - 8.0    - 00011  - AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI

12308  - 00012 - 9.0    - 00001  - INCLUSÃO DE CAMPOS PARA INFORMAR O FABRICANTE.

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

ERRO NOS TEXTOS E ESPECIFICAÇÃO TÉCNICA PLI, PESO DI, GERAÇÃO LI

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

Palavras Chave:

TEXTOS E ESPECIFICAÇÃO TECNICA

 

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

Objetos da nota:

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

           load_especificacao,

           load_moeda_det    .

  IF NOT /pws/zycie079a-destaque IS INITIAL.

    SELECT SINGLE * FROM ekpo

           WHERE ebeln EQ /pws/zycie079a-ebeln

             AND ebelp EQ /pws/zycie079a-ebelp.

    SELECT SINGLE * FROM /pws/zycit338

           WHERE matnr EQ ekpo-matnr

             AND codsufra EQ /pws/zycie079a-codsufra.

    IF /pws/zycie079a-espec_tecnica IS INITIAL.

* >> Início da exclusão: MODULE LOAD_ITEM

      PERFORM carrega_espec_tec.

* << Fim da exclusão

* >> Início da inclusão: MODULE LOAD_ITEM

      SELECT SINGLE * FROM /pws/zycit219

      WHERE codigo   EQ /pws/zycie079a-codsufra

        AND ncm      EQ /pws/zycie079a-steuc1

        AND destaque EQ /pws/zycie079a-destaque.

      IF sy-subrc = 0.

        /pws/zycie079a-espec_tecnica = /pws/zycie079a-espec_tecnica =

        /pws/zycit219-descricao.

      ELSE.

        CLEAR   rtexti.

        REFRESH rtexti.

        EXPORT /pws/zycie078 TO MEMORY ID '078'.

        CALL FUNCTION '/PWS/ZYCI_TEXTO_DETALHE_ITEM'

             EXPORTING

                  ebeln          = /pws/zycie079a-ebeln

                  ebelp          = /pws/zycie079a-ebelp

                  codeven        = 'LI'

             TABLES

                  rtext          = rtexti

             EXCEPTIONS

                  item_not_found = 1

                  OTHERS         = 2.

        IF sy-subrc <> 0.

        ENDIF.

        LOOP AT rtexti.

          CONCATENATE /pws/zycie079a-espec_tecnica rtexti-tdline

              INTO /pws/zycie079a-espec_tecnica SEPARATED BY space.

        ENDLOOP.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    IF /pws/zycie079a-ref_fabricante IS INITIAL.

      /pws/zycie079a-ref_fabricante = ekpo-mfrpn.

    ENDIF.

    IF /pws/zycie079a-part_number IS INITIAL.

      /pws/zycie079a-part_number = ekpo-matnr.

    ENDIF.

  ENDIF.

  IF /pws/zycie079a-fabric EQ 2 AND /pws/zycie079a-lifnr IS INITIAL.

    SELECT SINGLE * FROM ekpo

...

 

...

 

MODULE propoe_nrforn OUTPUT.

  IF NOT /pws/zycie079a-lifnr IS INITIAL.

    IF v_frn1 IS INITIAL.

      SELECT SINGLE nrforn FROM /pws/zycit080

      INTO v_frn1

      WHERE ebeln EQ /pws/zycie079a-ebeln

      AND   ebelp EQ /pws/zycie079a-ebelp

      AND   nrseqli EQ /pws/zycie078-nrseqli

* >> Início da exclusão: MODULE PROPOE_NRFORN

      AND   lifnr EQ /pws/zycie079a-lifnr.

* << Fim da exclusão

* >> Início da inclusão: MODULE PROPOE_NRFORN

      AND   lifnr EQ /pws/zycie079a-lifnr

      AND tipoforn EQ 'F'.

* << Fim da inclusão

      IF sy-subrc NE 0 .

        SELECT SINGLE nrforn FROM /pws/zycit080

        INTO v_frn1

        WHERE lifnr EQ /pws/zycie079a-lifnr.            "#EC CI_NOFIRST

      ENDIF.

    ENDIF.

  ELSE.

    CLEAR v_frn1.

  ENDIF.

  IF NOT lfa1-lifnr IS INITIAL.

    IF v_frn2 IS INITIAL.

      SELECT SINGLE nrforn FROM /pws/zycit080

      INTO v_frn2

      WHERE ebeln EQ /pws/zycie079a-ebeln

      AND   ebelp EQ /pws/zycie079a-ebelp

      AND   nrseqli EQ /pws/zycie078-nrseqli

* >> Início da exclusão: MODULE PROPOE_NRFORN

      AND   lifnr EQ lfa1-lifnr.

* << Fim da exclusão

* >> Início da inclusão: MODULE PROPOE_NRFORN

      AND   lifnr EQ lfa1-lifnr

      AND tipoforn EQ 'E'.

* << Fim da inclusão

      IF sy-subrc NE 0 .

        SELECT SINGLE nrforn FROM /pws/zycit080

        INTO v_frn2

        WHERE lifnr EQ lfa1-lifnr.                      "#EC CI_NOFIRST

      ENDIF.

    ENDIF.

  ELSE.

    CLEAR v_frn2.

  ENDIF.

ENDMODULE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

         id                  = 1

         language            = 2

         linesize            = 3

         name                = 4

         object              = 5

         textformat          = 6

         communication       = 7

         OTHERS              = 8.

    ENDIF.

    IF v_field = 'V_ESP338'.

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

      CLEAR: v_txtki, rtexti.

* << Fim da exclusão

      REFRESH: rtexti.

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

      rtexti[] = rtexti338[].

      CLEAR: v_txtki, rtexti338.

      REFRESH: rtexti338.

* << Fim da inclusão

      CONCATENATE /pws/zycie078-nrseqli

                  /pws/zycie079a-ebeln

                  /pws/zycie079a-ebelp

             INTO v_txtki.

      CALL FUNCTION 'READ_TEXT'

           EXPORTING

                client                  = sy-mandt

                id                      = '0338'

                language                = sy-langu

                name                    = v_txtki

                object                  = '/PWS/ZYCI'

           TABLES

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

                lines                   = rtexti

* << Fim da exclusão

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

                lines             = rtexti338

* << Fim da inclusão

           EXCEPTIONS

                id                      = 1

                language                = 2

                name                    = 3

                not_found               = 4

                object                  = 5

                reference_check         = 6

                wrong_access_to_archive = 7

                OTHERS                  = 8.

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

      IF NOT rtexti[] IS INITIAL.

        READ TABLE  rtexti   INDEX 1.

        v_esp338 = rtexti-tdline.

      ELSEIF rtexti[] IS INITIAL AND

* << Fim da exclusão

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

      IF sy-subrc NE 0.

        rtexti338[] = rtexti[].

      ENDIF.

      IF NOT rtexti338[] IS INITIAL.

        READ TABLE  rtexti338   INDEX 1.

        v_esp338 = rtexti338-tdline.

      ELSEIF rtexti338[] IS INITIAL AND

* << Fim da inclusão

             sy-tcode EQ '/PWS/ZYCI020_I'.

        SELECT SINGLE matnr FROM ekpo INTO v_matnr

                       WHERE ebeln = /pws/zycie079a-ebeln

                         AND ebelp = /pws/zycie079a-ebelp.

        SELECT SINGLE * FROM /pws/zycit338 INTO itab_zycit338

        WHERE matnr = v_matnr

          AND codsufra = /pws/zycie079a-codsufra.

        READ TABLE itab_zycit338 INDEX 1.

        CLEAR v_txtki.

        itab_zycit338-mandt = sy-mandt.

...

 

...

        CLEAR: rtexti.

        REFRESH: rtexti.

        CALL FUNCTION 'READ_TEXT'

             EXPORTING

                  client                  = sy-mandt

                  id                      = '0338'

                  language                = sy-langu

                  name                    = v_txtki

                  object                  = '/PWS/ZYCI'

             TABLES

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

                  lines                   = rtexti

* << Fim da exclusão

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

                  lines             = rtexti338

* << Fim da inclusão

             EXCEPTIONS

                  id                      = 1

                  language                = 2

                  name                    = 3

                  not_found               = 4

                  object                  = 5

                  reference_check         = 6

                  wrong_access_to_archive = 7

                  OTHERS                  = 8.

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

        READ TABLE rtexti INDEX 1.

        v_esp338 = rtexti-tdline.

* << Fim da exclusão

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

        READ TABLE rtexti338 INDEX 1.

        v_esp338 = rtexti338-tdline.

* << Fim da inclusão

      ENDIF.

      CLEAR: v_txtki.

      CONCATENATE /pws/zycie078-nrseqli

                  /pws/zycie079a-ebeln

                  /pws/zycie079a-ebelp

             INTO v_txtki.

      wa_thead-tdobject   = '/PWS/ZYCI'.

      wa_thead-tdname     = v_txtki.

      wa_thead-tdid       = '0338'.

      wa_thead-tdspras    = sy-langu.

      wa_thead-tdlinesize = 132.

      CALL FUNCTION 'EDIT_TEXT'

        EXPORTING

          header              = wa_thead

        TABLES

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

         lines             = rtexti

* << Fim da exclusão

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

         lines             = rtexti338

* << Fim da inclusão

       EXCEPTIONS

         id                  = 1

         language            = 2

         linesize            = 3

         name                = 4

         object              = 5

         textformat          = 6

         communication       = 7

         OTHERS              = 8.

    ENDIF.

...

 

...

         TABLES

              content     = itab_tline

         EXCEPTIONS

              line        = 1

              linenumbers = 2

              offset      = 3

              OTHERS      = 4.

  ENDIF.

  IF sy-subrc = 0.

    IF v_field = 'V_ESP338'.

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

      READ TABLE rtexti INDEX 1.

* << Fim da exclusão

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

      READ TABLE rtexti338 INDEX 1.

* << Fim da inclusão

      IF sy-subrc = 0.

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

        v_esp338 = rtexti-tdline.

* << Fim da exclusão

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

        v_esp338 = rtexti338-tdline.

* << Fim da inclusão

      ELSE.

        CLEAR: v_esp338.

      ENDIF.

...

 

...

 

FORM preenche_thead USING    p_wa_thead LIKE wa_thead

                             p_tdid.

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

  IF p_tdid NE '0338' .

* << Fim da inclusão

  p_wa_thead-tdobject   = '/PWS/ITLI'.

  p_wa_thead-tdname     = v_txtki.

  p_wa_thead-tdid       = 'ZTLI'.

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

    p_wa_thead-tdspras    = sy-langu.

    p_wa_thead-tdlinesize = 132.

  ELSE.

    p_wa_thead-tdobject   = '/PWS/ZYCI'.

    p_wa_thead-tdname     = v_txtki.

    p_wa_thead-tdid       = '0338'.

* << Fim da inclusão

  p_wa_thead-tdspras    = sy-langu.

  p_wa_thead-tdlinesize = 132.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

 

...

 

...

                newheader = wa_thead

           TABLES

                lines     = rtexti

           EXCEPTIONS

                id        = 1

                language  = 2

                name      = 3

                object    = 4

                OTHERS    = 5.

    ENDIF.

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

    PERFORM save_338 .

* << Fim da inclusão

  ENDIF.

ENDFORM.

 

...

 

...

        ENDAT.

      ENDLOOP.

      FREE itab_zycit030_aux.

      READ TABLE itab_t006 WITH KEY msehi = itab_itens_aux-gewei.

      IF sy-subrc    EQ  0 AND

         v_existe_bl NE 'S'.

        IF NOT itab_itens_aux-ntgew IS INITIAL AND

           it_zycit079-ntgew IS INITIAL AND

           NOT it_zycit079-qtd_iten IS INITIAL AND NOT

           itab_t006-nennr IS INITIAL.

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

          PERFORM calcula_peso.

          it_zycit079-gewei = 'KG'.

        ELSE.

          CLEAR: it_zycit079_aux.

          READ TABLE it_zycit079_aux WITH KEY ebeln = it_zycit079-ebeln

                                              ebelp = it_zycit079-ebelp.

          IF sy-subrc EQ 0 AND

          NOT itab_itens_aux-ntgew IS INITIAL AND

          NOT itab_t006-nennr IS INITIAL AND

          NOT it_zycit079-qtd_iten IS INITIAL AND

          it_zycit079-qtd_iten NE it_zycit079_aux-qtd_iten.

* << Fim da inclusão

          PERFORM calcula_peso.

          it_zycit079-gewei = 'KG'.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ELSE.

        READ TABLE itab_t006 WITH KEY msehi = itab_itens_aux-meins.

        IF sy-subrc    EQ  0 AND

           v_existe_bl NE 'S'.

...

 

...

      ENDIF.

    ENDIF.

    IF NOT it_zycit079-numli IS INITIAL.

      MESSAGE s015 WITH text-383.

      CONTINUE.

    ENDIF.

    MOVE it_zycit079 TO it_zycit079_del.

    APPEND it_zycit079_del.

    MOVE it_zycit079 TO it_079_del.

    APPEND it_079_del.

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

    PERFORM deleta_textos_pli.

* << Fim da inclusão

    DELETE it_zycit081 WHERE ebeln EQ it_zycit079-ebeln

                         AND ebelp EQ it_zycit079-ebelp.

    DELETE it_anu2 WHERE ebeln EQ it_zycit079-ebeln

                     AND ebelp EQ it_zycit079-ebelp.

    DELETE it_zycit079 INDEX v_idx.

  ENDLOOP.

  IF sy-subrc EQ 0.

    PERFORM verifica_vltotal_local_emb.

  ENDIF.

  IF it_zycit079[] IS INITIAL.

...

 

...

              OTHERS                  = 8.

    IF sy-subrc EQ 0.

      READ TABLE rtexti INDEX 1.

      v_esp = rtexti-tdline.

    ENDIF.

    CLEAR rtexti.

    REFRESH rtexti.

    MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079a.

    PERFORM: load_especificacao,

             concatena_desc.

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

    PERFORM carrega_338.

* << Fim da inclusão

    MODIFY it_zycit079 INDEX v_tabix.

  ENDLOOP.

  IF erro EQ 'X'.

    EXIT.

  ENDIF.

  PERFORM savepli.

ENDFORM.

...

 

...

 

FORM carrega_espec_tec.

  SELECT SINGLE * FROM /pws/zycit219

  WHERE codigo   EQ it_zycit079-codsufra

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

    AND ncm      EQ it_zycit079-ncm

* << Fim da exclusão

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

    AND ncm      EQ it_zycit079-steuc1

* << Fim da inclusão

    AND destaque EQ it_zycit079-destaque.

  IF sy-subrc = 0.

    /pws/zycie079a-espec_tecnica = it_zycit079-espec_tecnica =

    /pws/zycit219-descricao.

  ELSE.

    CLEAR : /pws/zycie079a-espec_tecnica , it_zycit079-espec_tecnica.

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

    CLEAR   rtexti.

    REFRESH rtexti.

    EXPORT /pws/zycie078 TO MEMORY ID '078'.

    CALL FUNCTION '/PWS/ZYCI_TEXTO_DETALHE_ITEM'

         EXPORTING

              ebeln          = it_zycit079-ebeln

              ebelp          = it_zycit079-ebelp

              codeven        = 'LI'

         TABLES

              rtext          = rtexti

         EXCEPTIONS

              item_not_found = 1

              OTHERS         = 2.

    IF sy-subrc <> 0.

      EXIT.

    ENDIF.

    LOOP AT rtexti.

      CONCATENATE it_zycit079-espec_tecnica rtexti-tdline

          INTO it_zycit079-espec_tecnica SEPARATED BY space.

    ENDLOOP.

* << Fim da inclusão

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM deleta_textos_pli.

  CLEAR:   rtexti338.

  REFRESH: rtexti338.

  CONCATENATE /pws/zycie078-nrseqli

              it_zycit079-ebeln

              it_zycit079-ebelp

         INTO v_txtki.

  CALL FUNCTION 'READ_TEXT'

       EXPORTING

            client                  = sy-mandt

            id                      = '0338'

            language                = sy-langu

            name                    = v_txtki

            object                  = '/PWS/ZYCI'

       TABLES

            lines                   = rtexti338

       EXCEPTIONS

            id                      = 1

            language                = 2

            name                    = 3

            not_found               = 4

            object                  = 5

            reference_check         = 6

            wrong_access_to_archive = 7

            OTHERS                  = 8.

  IF sy-subrc EQ 0.

    CALL FUNCTION 'DELETE_TEXT'

         EXPORTING

              id        = '0338'

              language  = sy-langu

              name      = v_txtki

              object    = '/PWS/ZYCI'

         EXCEPTIONS

              not_found = 1

              OTHERS    = 2.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

    READ TABLE rtexti INDEX 1.

    CLEAR rtexti-tdformat.

    v_esp = rtexti-tdline.

    MODIFY rtexti INDEX 1.

    PERFORM save_txt_2.

  ENDIF.

  IF v_esp IS INITIAL.

    READ TABLE rtexti INDEX 1.

    v_esp = rtexti-tdline.

  ENDIF.

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

  CLEAR: v_txtki, rtexti338.

  REFRESH: rtexti338.

  CONCATENATE /pws/zycie078-nrseqli

              /pws/zycie079a-ebeln

              /pws/zycie079a-ebelp

         INTO v_txtki.

* << Fim da exclusão

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

  PERFORM carrega_338.

ENDFORM.

FORM read_text_especif CHANGING p_v_texto.

  READ TABLE itab_stxl INDEX 1.

* << Fim da inclusão

  CALL FUNCTION 'READ_TEXT'

       EXPORTING

            client                  = sy-mandt

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

            id                      = '0338'

            language                = sy-langu

            name                    = v_txtki

            object                  = '/PWS/ZYCI'

       TABLES

            lines                   = rtexti338

       EXCEPTIONS

            id                      = 1

            language                = 2

            name                    = 3

            not_found               = 4

            object                  = 5

            reference_check         = 6

            wrong_access_to_archive = 7

            OTHERS                  = 8.

  IF NOT rtexti338[] IS INITIAL.

    READ TABLE  rtexti338   INDEX 1.

    v_esp338 = rtexti338-tdline.

  ELSEIF rtexti338[] IS INITIAL AND

         sy-tcode EQ '/PWS/ZYCI020_I'.

    SELECT SINGLE matnr FROM ekpo INTO v_matnr

                   WHERE ebeln = /pws/zycie079a-ebeln

                     AND ebelp = /pws/zycie079a-ebelp.

    CLEAR: itab_zycit338.

    REFRESH: itab_zycit338.

    SELECT SINGLE * FROM /pws/zycit338 INTO itab_zycit338

    WHERE matnr = v_matnr

      AND codsufra = /pws/zycie079a-codsufra.

    READ TABLE itab_zycit338 INDEX 1.

    CLEAR v_txtki.

    itab_zycit338-mandt = sy-mandt.

    itab_zycit338-matnr = v_matnr.

    v_txtki = itab_zycit338(25).

    CLEAR: rtexti338  .

    REFRESH: rtexti338  .

    CALL FUNCTION 'READ_TEXT'

         EXPORTING

              client                  = sy-mandt

              id                      = '0338'

              language                = sy-langu

              name                    = v_txtki

              object                  = '/PWS/ZYCI'

* << Fim da exclusão

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

            id                      = itab_stxl-tdid

            language                = itab_stxl-tdspras

            name                    = v_name

            object                  = itab_stxl-tdobject

            archive_handle          = 0

* << Fim da inclusão

         TABLES

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

              lines                   = rtexti338

* << Fim da exclusão

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

            lines                   = rtextesp

* << Fim da inclusão

         EXCEPTIONS

              id                      = 1

              language                = 2

              name                    = 3

              not_found               = 4

              object                  = 5

              reference_check         = 6

              wrong_access_to_archive = 7

              OTHERS                  = 8.

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

    READ TABLE  rtexti338   INDEX 1.

    v_esp338 = rtexti338-tdline.

  ENDIF.

ENDFORM.

FORM read_text_especif CHANGING p_v_texto.

  READ TABLE itab_stxl INDEX 1.

  CALL FUNCTION 'READ_TEXT'

    EXPORTING

      client                        = sy-mandt

      id                            = itab_stxl-tdid

      language                     = itab_stxl-tdspras

      name                          = v_name

      object                        = itab_stxl-tdobject

      archive_handle                = 0

    TABLES

      lines                         = rtextesp

   EXCEPTIONS

     id                            = 1

     language                      = 2

     name                          = 3

     not_found                     = 4

     object                        = 5

     reference_check               = 6

     wrong_access_to_archive       = 7

     OTHERS                        = 8.

* << Fim da exclusão

  IF sy-subrc = 0.

    READ TABLE rtextesp INDEX 1.

    MOVE rtextesp-tdline TO p_v_texto.

  ENDIF.

ENDFORM.

 

...

 

...

            AND   destaque EQ /pws/zycie079a-destaque.

    IF sy-subrc = 0.

      MOVE v_ppb(127) TO texto_t.

      MOVE v_ppb+127 TO texto_t2.

    ELSE.

      IF texto_t IS INITIAL.

        CLEAR texto_t.

      ENDIF.

      IF texto_t2 IS INITIAL.

        CLEAR texto_t2.

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

      ENDIF.

      CLEAR:  rtexti, v_ppb.

      REFRESH rtexti.

      EXPORT /pws/zycie078 TO MEMORY ID '078'.

      CALL FUNCTION '/PWS/ZYCI_TEXTO_DETALHE_ITEM'

           EXPORTING

                ebeln          = /pws/zycie079a-ebeln

                ebelp          = /pws/zycie079a-ebelp

                codeven        = 'LI'

           TABLES

                rtext          = rtexti

           EXCEPTIONS

                item_not_found = 1

                OTHERS         = 2.

      IF sy-subrc <> 0.

        EXIT.

* << Fim da inclusão

      ENDIF.

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

      LOOP AT rtexti.

        CONCATENATE v_ppb rtexti-tdline

            INTO v_ppb SEPARATED BY space.

      ENDLOOP.

      MOVE v_ppb(127) TO texto_t.

      MOVE v_ppb+127 TO texto_t2.

* << Fim da inclusão

    ENDIF.

...

 

...

  DESCRIBE TABLE it_ncm  LINES v_linncm.

  IF v_linncm NE 1.

    SORT it_zycit079_verif BY steuc1  lifnr codsufra.

    MOVE it_zycit079_verif[] TO it_zycit079_ncm2[].

    READ TABLE it_zycit079_ncm2 INDEX 1.

    IF sy-subrc EQ 0.

      v_steuc1 = it_zycit079_ncm2-steuc1.

      v_lifnr  = it_zycit079_ncm2-lifnr.

      v_codsufra = it_zycit079_ncm2-codsufra.

    ENDIF.

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

    LOOP AT it_zycit079_ncm2 WHERE nrli IS initial.

* << Fim da exclusão

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

    LOOP AT it_zycit079_ncm2 WHERE numli IS initial.

* << Fim da inclusão

      v_tabix = sy-tabix.

      it_zycit079_ncm2-numli = /pws/zycie078-nrseqli.

      MODIFY it_zycit079_ncm2 INDEX v_tabix.

      IF v_steuc1 EQ it_zycit079_ncm2-steuc1 AND

           v_lifnr EQ it_zycit079_ncm2-lifnr AND

           v_codsufra EQ it_zycit079_ncm2-codsufra AND

           v_linha <= 78.

        v_linha = v_linha + 1.

        MOVE it_zycit079_ncm2 TO it_zycit079_ncm.

        APPEND it_zycit079_ncm.

...

 

...

        IF sy-subrc = 0.

          it_zycit203-qtd_final = it_zycit203-qtd_final +

                                                it_zycit079-qtd_iten.

          MODIFY it_zycit203 TRANSPORTING qtd_final

                             WHERE codcomp = itab_itens_aux-matnr.

        ENDIF.

      ENDIF.

    ENDIF.

    MOVE it_zycit079 TO it_zycit079_del.

    APPEND it_zycit079_del.

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

    CLEAR it_zycit079-numli.

* << Fim da exclusão

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

    CLEAR: it_zycit079-numli, it_zycit079-nrli.

* << Fim da inclusão

    it_zycit079-transm_it = 'N'.

    UPDATE /pws/zycit079 SET transm_it = 'N'

                        WHERE nrseqli = it_zycit079-nrseqli

                        AND   ebeln   = it_zycit079-ebeln

                        AND   ebelp   = it_zycit079-ebelp.

    MOVE-CORRESPONDING it_zycit079 TO /pws/zycit079.

    PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'

          ' '  '/PWS/SAPMZYCI020' /pws/zycie078-nrseqli.

    MODIFY it_zycit079 INDEX v_tabix.

  ENDLOOP.

...

 

...

 

* >> Início da inclusão:

FORM save_338.

  IF NOT rtexti338[] IS INITIAL .

    PERFORM preenche_thead USING wa_thead '0338'.

    CALL FUNCTION 'SAVE_TEXT'

         EXPORTING

              client    = sy-mandt

              header    = wa_thead

         IMPORTING

              newheader = wa_thead

         TABLES

              lines     = rtexti338[]

         EXCEPTIONS

              id        = 1

              language  = 2

              name      = 3

              object    = 4

              OTHERS    = 5.

  ENDIF.

ENDFORM.

FORM carrega_338.

  CLEAR: v_txtki, rtexti338.

  REFRESH: rtexti338.

  CONCATENATE /pws/zycie078-nrseqli

              it_zycit079-ebeln

              it_zycit079-ebelp

         INTO v_txtki.

  CALL FUNCTION 'READ_TEXT'

       EXPORTING

            client                  = sy-mandt

            id                      = '0338'

            language                = sy-langu

            name                    = v_txtki

            object                  = '/PWS/ZYCI'

       TABLES

            lines                   = rtexti338

       EXCEPTIONS

            id                      = 1

            language                = 2

            name                    = 3

            not_found               = 4

            object                  = 5

            reference_check         = 6

            wrong_access_to_archive = 7

            OTHERS                  = 8.

  IF NOT rtexti338[] IS INITIAL.

    READ TABLE  rtexti338   INDEX 1.

    v_esp338 = rtexti338-tdline.

  ELSEIF rtexti338[] IS INITIAL.

    SELECT SINGLE matnr FROM ekpo INTO v_matnr

                   WHERE ebeln = it_zycit079-ebeln

                     AND ebelp = it_zycit079-ebelp.

    CLEAR: itab_zycit338.

    REFRESH: itab_zycit338.

    SELECT SINGLE * FROM /pws/zycit338 INTO itab_zycit338

    WHERE matnr = v_matnr

      AND codsufra = /pws/zycie079a-codsufra.

    READ TABLE itab_zycit338 INDEX 1.

    CLEAR v_txtki.

    itab_zycit338-mandt = sy-mandt.

    itab_zycit338-matnr = v_matnr.

    v_txtki = itab_zycit338(25).

    CLEAR: rtexti338  .

    REFRESH: rtexti338  .

    CALL FUNCTION 'READ_TEXT'

         EXPORTING

              client                  = sy-mandt

              id                      = '0338'

              language                = sy-langu

              name                    = v_txtki

              object                  = '/PWS/ZYCI'

         TABLES

              lines                   = rtexti338

         EXCEPTIONS

              id                      = 1

              language                = 2

              name                    = 3

              not_found               = 4

              object                  = 5

              reference_check         = 6

              wrong_access_to_archive = 7

              OTHERS                  = 8.

    READ TABLE  rtexti338   INDEX 1.

    v_esp338 = rtexti338-tdline.

    PERFORM save_338.

  ENDIF.

ENDFORM.

* << Fim da inclusão