CE PLUS - Nota 006611

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

Data/Hora da Publicação: 21/05/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 10:02:45

Descrição da Nota: ALTERAÇÃO PARA UTILIZAR NOVA FUNÇÃO PARA BUSCAR TEXTOS

Sintoma

Ajustado programa de LI para utilizar nova a função /PWS/ZYCI_TEXTO_DETALHE_ITEM para buscar os

textos.

 

 

Solução

Ajustado programa de LI para utilizar nova a função /PWS/ZYCI_TEXTO_DETALHE_ITEM para buscar os

textos.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DESENVOLVIMENTO DE FUNÇÃO PARA TRATAR TEXTOS DESCRITIVOS DI/LI

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

O SISTEMA NAO RECUPERA TEXTOS DO PEDIDO DE COMPRA

AO PARAMETRIZAR ORIGEM DE INFORECORD, NAO CARREGA TEXTO LI

Informações Complementares

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

Nota Número 06611 Data: 21/05/2008 Hora: 15:37:31

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

 

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

Nota Número              : 06611

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00048

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

Referência às notas relacionadas:

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

 

02850  - 00002 - 6.0    - 00026  - O SISTEMA NAO RECUPERA TEXTOS DO PEDIDO DE COMPRA

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

06559  - 00004 - 7.0    - 00005  - AO PARAMETRIZAR ORIGEM DE INFORECORD, NAO CARREGA TEXTO LI

06593  - 00001 - 7.0    - 00005  - DESENVOLVIMENTO DE FUNÇÃO PARA TRATAR TEXTOS DESCRITIVOS DI/LI

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

ALTERAÇÃO PARA UTILIZAR NOVA FUNÇÃO PARA BUSCAR TEXTOS

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

Palavras Chave:

FUNÇÃO - TEXTOS - LI

/PWS/SAPMZYCI020

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

Objetos da nota:

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

           v_tcode EQ '/PWS/ZYCI020_I' OR

           v_tcode EQ '/PWS/ZYCI020_P'.

          SELECT SINGLE * FROM /pws/zycit078

                   WHERE nrseqli EQ /pws/zycie078-nrseqli.

          IF sy-subrc NE 0.

            LOOP AT it_zycit079.

              CLEAR v_txtki.

              CONCATENATE it_zycit079-nrseqli it_zycit079-ebeln

                          it_zycit079-ebelp INTO v_txtki.

              IF v_tcode EQ '/PWS/ZYCI020_C'  .

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

                IF v_salvo EQ 'S'.

* << Fim da exclusão

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

                CALL FUNCTION 'READ_TEXT'

                     EXPORTING

                          client                  = sy-mandt

                          id                      = 'ZTLI'

                          language                = sy-langu

                          name                    = v_txtki

                          object                  = '/PWS/ITLI'

                     TABLES

                          lines                   = itab_tline

                     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.

* << Fim da inclusão

                  CALL FUNCTION 'DELETE_TEXT'

                       EXPORTING

                            id       = 'ZTLI'

                            language = sy-langu

                            name     = v_txtki

                            object   = '/PWS/ITLI'.

                ENDIF.

              ENDIF.

            ENDLOOP.

          ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

            object                  = 5

            reference_check         = 6

            wrong_access_to_archive = 7

            OTHERS                  = 8.

  IF sy-subrc = 0.

    READ TABLE rtexti INDEX 1.

  ENDIF.

  IF rtexti IS INITIAL.

    CLEAR   rtexti.

    REFRESH rtexti.

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

    IF itab_zycit229[] IS INITIAL.

      SELECT * FROM /pws/zycit229 INTO TABLE itab_zycit229

         WHERE codeven EQ 'LI'.

    ENDIF.

    SORT itab_zycit229 BY codseq.

    READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln

                                ebelp = it_zycit079-ebelp.

    DATA: v_spras LIKE ekko-spras.

    LOOP AT itab_zycit229.

      CLEAR: v_name, v_texto, itab_makt, itab_stxl, v_spras.

      FREE: itab_makt, itab_stxl.

      IF itab_zycit229-spras NE space.

        v_spras = itab_zycit229-spras.

      ELSE.

        SELECT SINGLE spras FROM ekko INTO v_spras

          WHERE ebeln = /pws/zycie079a-ebeln.

      ENDIF.

      IF itab_zycit229-txtdesc = '01'.

        SELECT SINGLE * FROM makt INTO itab_makt

                       WHERE matnr = it_ekpo-matnr

                         AND spras   = v_spras.

        IF sy-subrc = 0.

          rtexti-tdformat = '*'.

          rtexti-tdline   = itab_makt-maktx.

          APPEND rtexti.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '02'.

        SELECT SINGLE * FROM stxl INTO itab_stxl

                       WHERE relid = 'TX' AND

                             tdobject = 'MATERIAL' AND

                             tdname    = it_ekpo-matnr AND

                             tdid      = 'BEST' AND

                             tdspras   = v_spras.

        IF sy-subrc = 0.

          v_name = it_ekpo-matnr.

          PERFORM read_text_especif CHANGING v_texto.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '03'.

        SELECT SINGLE * FROM stxl INTO itab_stxl

                       WHERE relid = 'TX' AND

                             tdobject = 'MATERIAL' AND

                             tdname    = it_ekpo-matnr AND

                             tdid      = 'GRUN' AND

                             tdspras   = v_spras.

        IF sy-subrc = 0.

          v_name = it_ekpo-matnr.

          PERFORM read_text_especif CHANGING v_texto.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '04'.

        CONCATENATE it_zycit079-ebeln it_zycit079-ebelp INTO v_name.

        IF NOT v_name IS INITIAL AND v_name NE '00000'.

          SELECT SINGLE * FROM stxl INTO itab_stxl

                          WHERE relid = 'TX' AND

                                tdobject = 'EKPO' AND

                                tdname    = v_name AND

                                tdid      = 'F01' AND

                                tdspras   = v_spras.

          IF sy-subrc = 0.

            PERFORM read_text_especif CHANGING v_texto.

          ENDIF.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '05'.

        SELECT SINGLE * FROM stxl INTO itab_stxl

                       WHERE relid = 'TX' AND

                             tdobject = 'MATERIAL' AND

                             tdname    = it_ekpo-matnr AND

                             tdid      = 'BEST' AND

                             tdspras   = v_spras.

        IF sy-subrc = 0.

          v_name = it_ekpo-matnr.

          PERFORM read_text_especif CHANGING v_texto.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '06'.

        CONCATENATE it_zycit079-ebeln it_zycit079-ebelp INTO v_name.

        IF NOT v_name IS INITIAL AND v_name NE '00000'.

          SELECT SINGLE * FROM stxl INTO itab_stxl

                              WHERE relid    = 'TX' AND

                               tdobject = 'EKPO' AND

                               tdname    = v_name AND

                               tdid      = 'F04' AND

                               tdspras   = v_spras AND

                               srtf2     = 0.

          IF sy-subrc = 0.

            PERFORM read_text_especif CHANGING v_texto.

          ENDIF.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '07'.

        CONCATENATE it_zycit079-ebeln it_zycit079-ebelp INTO v_name.

        IF NOT v_name IS INITIAL AND v_name NE '00000'.

          SELECT SINGLE * FROM stxl INTO itab_stxl

                       WHERE relid    = 'TX' AND

                               tdobject = 'EKPO' AND

                               tdname    = v_name AND

                               tdid      = 'F05' AND

                               tdspras   = v_spras AND

                               srtf2     = 0.

          IF sy-subrc = 0.

            PERFORM read_text_especif CHANGING v_texto.

          ELSE.

            v_name = it_ekpo-infnr.

            SELECT SINGLE * FROM stxl INTO itab_stxl

                         WHERE relid    = 'TX' AND

                               tdobject = 'EINA' AND

                               tdname   = v_name AND

                               tdid     = 'AT' AND

                               tdspras  = v_spras AND

                               srtf2    = 0.

            IF sy-subrc IS INITIAL.

              PERFORM read_text_especif CHANGING v_texto.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '09'.

        SELECT SINGLE werks FROM ekpo  INTO v_werks WHERE

            ebeln = it_zycit079-ebeln AND

            ebelp = it_zycit079-ebelp.

        IF sy-subrc EQ 0.

          SELECT SINGLE name1 FROM t001w INTO v_name WHERE

                  werks = v_werks.

          IF sy-subrc EQ 0.

            rtexti-tdformat = '*'.

            CONCATENATE text-169 v_name

                INTO rtexti-tdline SEPARATED BY space.

            APPEND rtexti.

          ENDIF.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '10'.

        SELECT SINGLE werks FROM ekpo  INTO v_werks WHERE

            ebeln = it_zycit079-ebeln AND

            ebelp = it_zycit079-ebelp.

        IF sy-subrc EQ 0.

          SELECT SINGLE stras ort01 regio FROM t001w INTO wa_ender

          WHERE  werks = v_werks.

          IF sy-subrc EQ 0.

            rtexti-tdformat = '*'.

            CONCATENATE text-170  wa_ender-stras wa_ender-ort01

                        wa_ender-regio

                INTO rtexti-tdline SEPARATED BY space.

            APPEND rtexti.

          ENDIF.

        ENDIF.

      ELSEIF itab_zycit229-txtdesc = '11'.

        rtexti-tdformat = '*'.

        CONCATENATE text-172 it_zycit079-ebeln

                    INTO rtexti-tdline SEPARATED BY space.

        APPEND rtexti.

      ELSEIF itab_zycit229-txtdesc = '12'.

        rtexti-tdformat = '*'.

        CONCATENATE text-171 it_zycit079-ebelp

                    INTO rtexti-tdline SEPARATED BY space.

        APPEND rtexti.

        ELSEIF itab_zycit229-txtdesc = '13'.

            v_name = it_ekpo-infnr.

            SELECT SINGLE * FROM stxl INTO itab_stxl

                         WHERE relid    = 'TX' AND

                               tdobject = 'EINA' AND

                               tdname   = v_name AND

                               tdid     = 'AT' AND

                               tdspras  = v_spras AND

                               srtf2    = 0.

            IF sy-subrc IS INITIAL.

              PERFORM read_text_especif CHANGING v_texto.

            ENDIF.

      ELSEIF itab_zycit229-txtdesc = '14'.

        SELECT SINGLE matnr FROM ekpo INTO v_matnr

                       WHERE ebeln = /PWS/ZYCIE079A-ebeln

                         AND ebelp = /PWS/ZYCIE079A-ebelp.

        SELECT SINGLE * FROM makt INTO itab_makt

                       WHERE matnr = v_matnr

                         AND spras   = v_spras.

       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYCI_TEXTO_DETALHE_ITEM'

* << Fim da inclusão

           EXPORTING

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

              input  = itab_makt-matnr

           IMPORTING

              output = v_mat.

        IF sy-subrc = 0.

          rtexti-tdformat = '*'.

          CONCATENATE 'P/N:' v_mat

                    INTO rtexti-tdline SEPARATED BY space.

          APPEND rtexti.

        ENDIF.

* << Fim da exclusão

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

        ebeln                = it_zycit079-ebeln

        ebelp                = it_zycit079-ebelp

        codeven              = 'LI'

      TABLES

        rtext                = rtexti

              .

    IF sy-subrc <> 0.

* << Fim da inclusão

      ENDIF.

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

    ENDLOOP.

* << Fim da exclusão

    IF NOT /pws/zycie078-nrseqd  IS INITIAL.

      PERFORM verifica_generico.

    ENDIF.

    READ TABLE rtexti INDEX 1.

    CLEAR rtexti-tdformat.

    v_esp = rtexti-tdline.

...