CE PLUS - Nota 012259

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: PLI

Data/Hora da Publicação: 28/02/2014 10:04:43

Data/Hora Última Alteração: 28/02/2014 10:04:43

Descrição da Nota: AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI

Sintoma

Ajustes para tratamento de transmissão PLI

 

 

Solução

Ajustado programa para ajustar transferencia de dados para o Siscomex (casos de USO Proprio) e

fechamento de campos da LI e PLI quando já registradas.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES PARA TRANSMISSÃO SUFRAMA PLI

Informações Complementares

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

Nota Número 12259 Data: 31/05/2012 Hora: 15:52:00

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

 

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

Nota Número              : 12259

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00011

Agrupamento              : 00116

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

Referência às notas relacionadas:

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

 

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

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

AJUSTES PARA TRATAMENTO DE TRANSMISSÃO PLI

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

Palavras Chave:

TRANSMISSÃO - PLI - SUFRAMA

 

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

Objetos da nota:

FUNC /PWS/ZYCI_TRANSFER_PLI

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020O01

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_PLI

 

...

 

    LOOP AT li_itens.

      v_tabix = sy-tabix.

      READ TABLE li_itens_add WITH KEY nrseqli =  li_itens-nrseqli

                                       ebeln   =  li_itens-ebeln

                                       ebelp   =  li_itens-ebelp.

      IF sy-subrc EQ 0.

        li_itens-txt_curto = li_itens-espec_tecnica.

        li_itens-espec_tecnica = li_itens_add-txt_curto.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI

        li_itens-umdesc  = li_itens-meins .

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI

        IF li_itens-txt_curto IS INITIAL and

           li_cabec-APLICPLI eq '2'.

          li_itens-txt_curto = li_itens-espec_tecnica .

        ENDIF.

    SELECT SINGLE descr FROM /pws/zyglt204 INTO li_itens-umdesc

        WHERE msehi EQ li_itens-meins .

* << Fim da inclusão

        MODIFY li_itens INDEX v_tabix.

      ENDIF.

    ENDLOOP.

    IF NOT li_itens[] IS INITIAL.

      SELECT * FROM /pws/zycit080 INTO TABLE it_fornec

      FOR ALL ENTRIES IN li_itens

      WHERE nrseqli EQ li_itens-nrseqli.

    ENDIF.

 

...

 

...

        li_mercad-text1 = v_obs+0(253).

        li_mercad-text2 = v_obs+253(253).

      ENDIF.

      li_mercad-fabric = li_itens-fabric.

      li_mercad-codsufra = li_itens-codsufra.

      IF li_mercad-fabric EQ '1'.

        READ TABLE li_forn_a WITH KEY nrseqli = li_itens-nrseqli

                                      ebeln   = li_itens-ebeln

                                      ebelp   = li_itens-ebelp.

        IF sy-subrc EQ 0.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI

          li_mercad-cd_fabric = li_forn_a-nrforn.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_PLI

          CLEAR li_mercad-cd_fabric .

* << Fim da inclusão

          li_mercad-cd_fornec = li_forn_a-nrforn.

          li_mercad-cd_pais_orig = li_forn_a-landa.

        ENDIF.

      ELSEIF li_mercad-fabric EQ '2'.

        READ TABLE li_forn_a WITH KEY nrseqli = li_itens-nrseqli

                                      ebeln   = li_itens-ebeln

                                      ebelp   = li_itens-ebelp.

        IF sy-subrc EQ 0.

          li_mercad-cd_fornec = li_forn_a-nrforn.

          li_mercad-cd_pais_orig = li_forn_a-landa.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

 

  CASE sy-dynnr.

    WHEN '0109'.

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

      LOOP AT SCREEN.

        IF screen-name EQ '%#AUTOTEXT002'.

          IF ( sy-tcode EQ '/PWS/ZYCI020_C' OR

             sy-tcode EQ '/PWS/ZYCI020_A' ) AND

           ( NOT v_nrpli IS INITIAL OR

             NOT v_dtreg IS INITIAL ) .

            screen-input = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

      ENDLOOP.

* << Fim da inclusão

      CLEAR v_ncm.

      LOOP AT tc_item-cols INTO wa_cols.

        IF wa_cols-screen-name EQ '/PWS/ZYCIE376-NRSEQD'.

          IF v_nvinc NE 'X'.

            wa_cols-invisible = 1.

          ELSE.

            wa_cols-invisible = 0.

          ENDIF.

          MODIFY tc_item-cols FROM wa_cols.

        ELSEIF wa_cols-screen-name EQ '/PWS/ZYCIE079-STEUC1'.

...

 

...

          wa_cols-screen-input = 0.

          MODIFY tc_item-cols FROM wa_cols.

        ENDIF.

      ENDLOOP.

    WHEN '0120' .

      IF ( not v_nrpli IS INITIAL AND

           not v_dtreg IS INITIAL ) .

        top_editmode = '1'.

        CALL METHOD editor2->set_readonly_mode EXPORTING

              readonly_mode = top_editmode.

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

      ENDIF.

    WHEN '0502' .

      LOOP AT SCREEN.

        IF screen-name EQ 'BTN_DLIT'.

          IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR

             sy-tcode EQ '/PWS/ZYCI020_I' ) AND

           ( NOT v_nrpli IS INITIAL OR

             NOT v_dtreg IS INITIAL ) .

            screen-input = '0'.

            MODIFY SCREEN.

* << Fim da inclusão

      ENDIF.

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

        ENDIF.

      ENDLOOP.

* << Fim da inclusão

ENDCASE.

ENDFORM.

...

 

...

    CLEAR v_texto.

    IF ( /pws/zycie078-fabricante = '1' OR

         /pws/zycie078-fabricante = '2' )

    AND it_zycit079-lifnr IS INITIAL.

      CONCATENATE text-367 text-372 it_zycit079-ebeln '/'

                  it_zycit079-ebelp text-375 INTO v_texto

                  SEPARATED BY space.

      PERFORM monta_it_precritica USING

              v_texto  '@0A@'  ''  text-331.

    ENDIF.

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

    IF NOT /pws/zycie078-aplicpli EQ '2'.

* << Fim da inclusão

    IF it_zycit079-destaque IS INITIAL

    AND NOT it_zycit079-matnr IS INITIAL.

      CONCATENATE text-371 text-372 it_zycit079-ebeln text-373

                  it_zycit079-ebelp INTO v_texto SEPARATED BY space.

      PERFORM monta_it_precritica USING

              v_texto  '@0A@'  '' text-331.

    ENDIF.

    CLEAR v_texto.

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

    ENDIF.

* << Fim da inclusão

    SPLIT it_zycit079-steuc1 AT '.'

                                    INTO v_steuc_temp1 v_steuc_temp2

          v_steuc_temp3.

    SHIFT v_steuc_temp1 LEFT  DELETING LEADING  space.

    SHIFT v_steuc_temp2 LEFT  DELETING LEADING  space.

    SHIFT v_steuc_temp3 LEFT  DELETING LEADING  space.

    CONCATENATE v_steuc_temp1 v_steuc_temp2 v_steuc_temp3 INTO

                                                    v_steuc2.

    IF NOT it_zycit079-matnr IS INITIAL.

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

      IF NOT /pws/zycie078-aplicpli EQ '2'.

* << Fim da inclusão

        SELECT  * FROM /pws/zycit219 INTO TABLE itab_zycit219

                WHERE codigo = it_zycit079-codsufra

                AND ncm  = it_zycit079-steuc1

                AND   destaque = it_zycit079-destaque.

        READ TABLE itab_zycit219 INDEX 1.

        IF sy-subrc NE 0.

          CONCATENATE text-377 it_zycit079-ebeln '/' it_zycit079-ebelp

                      text-378 INTO v_texto SEPARATED BY space.

          PERFORM monta_it_precritica USING

                  v_texto  '@0A@'  ''  text-331.

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

        ENDIF.

* << Fim da inclusão

        ENDIF.

    ENDIF.

  ENDLOOP.

  SORT it_zycit079 BY nrseq ebeln ebelp.

 

...

 

...

 

 

  LOOP AT it_zycit079 WHERE steuc1 IS initial.

    PERFORM monta_it_precritica USING

                     text-337  ''  it_zycit079-steuc1 ''.

    EXIT.

  ENDLOOP.

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

  IF NOT /pws/zycie078-aplicpli EQ '2'.

* << Fim da inclusão

    READ TABLE it_zycit079 WITH KEY zum = ''.

    IF sy-subrc = 0.

      PERFORM monta_it_precritica USING

                       text-340  ''  it_zycit079-zum ''.

    ELSE.

      PERFORM monta_it_precritica USING

                       text-340  ''  it_zycit079-zum ''.

    ENDIF.

    READ TABLE it_zycit079 WITH KEY qtdest = ''.

    IF sy-subrc = 0.

      PERFORM monta_it_precritica USING

                       text-341  ''  it_zycit079-qtdest ''.

    ELSE.

      PERFORM monta_it_precritica USING

                       text-341  ''  it_zycit079-qtdest ''.

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

    ENDIF.

* << Fim da inclusão

    ENDIF.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

  CHECK sy-ucomm NE 'MKTD'.

  CHECK sy-ucomm NE 'DKTD'.

  IF ( sy-tcode EQ '/PWS/ZYCI020_G' OR

  sy-tcode EQ '/PWS/ZYCI020_I') .

    SELECT SINGLE nrpli dtreg FROM /pws/zycit078

    INTO (v_nrpli, v_dtreg)

    WHERE nrseqli = /pws/zycie078-nrseqli.

  ELSEIF ( sy-tcode EQ '/PWS/ZYCI020_C' OR

          sy-tcode EQ '/PWS/ZYCI020_A')  AND

          NOT /pws/zycie078-numpli IS INITIAL.

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

    SELECT SINGLE nrpli dtreg FROM /pws/zycit078

* << Fim da exclusão

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

    SELECT SINGLE nrli dtreg FROM /pws/zycit078

* << Fim da inclusão

    INTO (v_nrpli, v_dtreg)

    WHERE nrseqli = /pws/zycie078-nrseqli.

  ENDIF.

  IF flag_emp IS INITIAL.

    GET PARAMETER ID 'BUK' FIELD v_emp.

    flag_emp = 'X'.

  ENDIF.

  IF v_tcode EQ '/PWS/ZYCI020_C' OR

     v_tcode EQ '/PWS/ZYCI020_P'.

    CLEAR v_linhas.

...