CE PLUS - Nota 003556

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

Data/Hora da Publicação: 26/04/2007 00:00:00

Data/Hora Última Alteração: 09/03/2010 09:36:31

Descrição da Nota: ERRO NOS TEXTOS DA LI E AO VERIFICAR SISCOMEX DA LI NÃO ATUALIZA TELA

Sintoma

 

Ao criar uma LI, vincular o pedido de compras, salvar e transmitir para o siscomex, o sistema não

carrega a descrição do material para o orientado. Sistema não carrega todo o texto de pedido do

material para a LI. O texto é maior do que o campo no detalhe do item na LI.

 

Solução

 

Atualizado programa de transmissão de dados de para o siscomex para correta recuperação de registro

de LI e envio de descrições de itens.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 03556 Data: 26/04/2007 Hora: 15:58:50

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

 

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

Nota Número              : 03556

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00164

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

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

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

Palavras Chave:

TEXTOS DA LI - TRANSMISSÃO SISCOMEX DA LI

ATUALIZAÇÃO DA TELA - DATA DE REGISTRO

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

Objetos da nota:

DYNP /PWS/SAPMZYCI020                        0101

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020O01

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI020                        0101

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

    READ TABLE itab_itens_aux WITH KEY ebelp = it_zycit079-ebelp

                                   ebeln = it_zycit079-ebeln.

    v_ncm = itab_itens_aux-j_1bnbm.

  ENDIF.

  MOVE: v_ncm TO /pws/zycie078-steuc1,

        v_ncm TO wa_zycit078-steuc1.

  IF NOT v_exit IS INITIAL.

    EXIT.

  ENDIF.

  LOOP AT it_zycit079.

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

    MOVE-corresponding it_zycit079 TO /pws/zycie079a.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      PERFORM: load_meins,

              load_especificacao,

              load_moeda_det,

              fill_desc.

      IF /pws/zycie078-flagpli EQ 'X'.

        CONCATENATE it_zycit079-nrseqli it_zycit079-ebeln

                    it_zycit079-ebelp INTO v_txtki.

        PERFORM preenche_thead USING wa_thead 'CE01'.

        CALL FUNCTION 'SAVE_TEXT'

...

 

  CONCATENATE /pws/zycie078-steuc1(4) /pws/zycie078-steuc1+5(2)

  /pws/zycie078-steuc1+8(2) INTO v_steuc1.

 

  /pws/zycie078-steuc2 = v_steuc1.

  MODIFY /pws/zycit078 FROM /pws/zycie078.

 

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

  MOVE /pws/zycie078 TO wa_zycit078.

* << Fim da inclusão

 

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

  MOVE-corresponding /pws/zycie078 TO wa_zycit078.

* << Fim da inclusão

 

* fazendo a vinculação

  LOOP AT it_vincula_aux.

    IF /pws/zycie078-tpli EQ 'N'.

      PERFORM vincula_li.

    ELSEIF /pws/zycie078-tpli EQ 'S'.

      PERFORM vincula_lsi.

    ENDIF.

  ENDLOOP.

  CLEAR it_vincula.

  REFRESH it_vincula.

 

  PERFORM: salva_forn   ,

           salva_item   ,

           salva_anu    ,

           salva_anu2   ,

           salva_v_esp  ,

 

....

 

 

FORM salva_forn.

  IF v_tcode EQ '/PWS/ZYCI020_C' OR

     v_tcode EQ '/PWS/ZYCI020_A' OR

     v_tcode EQ '/PWS/ZYCI020_I' OR

     v_tcode EQ '/PWS/ZYCI020_G'.

 

    DELETE FROM /pws/zycit080 WHERE

                       nrseqli = /pws/zycie078-nrseqli.

    COMMIT WORK.

 

    IF /pws/zycie078-fabric EQ '1'.

      MOVE: /pws/zycie078-nrseqli TO /pws/zycie080-nrseqli.

      /pws/zycie080-tipoforn  = 'E'.

 

      MODIFY /pws/zycit080 FROM /pws/zycie080.

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

      MOVE /pws/zycie080 TO wa_zycit080_aux.

* >> Fim da exclusão

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

      MOVE-corresponding /pws/zycie080 TO wa_zycit080_aux.

* >> Fim da inclusão

    ELSEIF /pws/zycie078-fabric EQ '2'.

 

      MOVE: /pws/zycie078-nrseqli TO /pws/zycie080c-nrseqli,

            /pws/zycie078-nrseqli TO /pws/zycie080a-nrseqli.

      /pws/zycie080c-tipoforn  = 'E'.

      /pws/zycie080a-tipoforn = 'F'.

 

      MODIFY /pws/zycit080 FROM /pws/zycie080c.

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

      MOVE /pws/zycie080c TO wa_zycit080_aux4.

* >> Fim da exclusão

 

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

      MOVE-corresponding /pws/zycie080c TO wa_zycit080_aux4.

* >> Fim da inclusão

      IF NOT /pws/zycie080a-lifnr IS INITIAL.

        MODIFY /pws/zycit080 FROM /pws/zycie080a.

        MOVE-corresponding /pws/zycie080a TO wa_zycit080_aux2.

      ENDIF.

 

    ELSEIF /pws/zycie078-fabric EQ '3'.

 

      MOVE: /pws/zycie078-nrseqli TO /pws/zycie080b-nrseqli.

      /pws/zycie080b-tipoforn  = 'E'.

 

      MODIFY /pws/zycit080 FROM /pws/zycie080b.

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

      MOVE /pws/zycie080b TO wa_zycit080_aux3.

* >> Fim da exclusão

 

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

      MOVE-corresponding /pws/zycie080b TO wa_zycit080_aux3.

* >> Fim da inclusão

 

    ENDIF.

    COMMIT WORK.

  ENDIF.

 

ENDFORM.                    " salva_forn

...

 

...

FORM preenche_thead USING    p_wa_thead LIKE wa_thead

                             value(p_tdid).

  p_wa_thead-tdobject   = '/PWS/ITLI'.

  p_wa_thead-tdname     = v_txtki.

  p_wa_thead-tdid       = 'ZTLI'.

  p_wa_thead-tdspras    = sy-langu.

  p_wa_thead-tdlinesize = 132.

ENDFORM.

FORM salva_v_esp.

  PERFORM preenche_thead USING wa_thead 'CE01'.

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

  IF NOT it_zycit079[] IS INITIAL.

* << Fim da inclusão

  IF NOT rtexti[] IS INITIAL.

    CALL FUNCTION 'SAVE_TEXT'

         EXPORTING

              client    = sy-mandt

              header    = wa_thead

         IMPORTING

              newheader = wa_thead

         TABLES

              lines     = rtexti

         EXCEPTIONS

              id        = 1

              language  = 2

              name      = 3

              object    = 4

              OTHERS    = 5.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM load_saldo.

  IF /pws/zycie078 IS INITIAL.

    SELECT * UP TO 1 ROWS FROM /pws/zycbt007

                          WHERE bukrs EQ /pws/zycit001-bukrs.

      MOVE: /pws/zycbt007-bukrs TO /pws/zycie078-bukrs,

            /pws/zycbt007-werks TO /pws/zycie078-werks.

    ENDSELECT.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

  ENDIF.

  IF ( sy-subrc NE 0 )                        OR

     ( wa_zycit136-tp_doc = 'PLI'             AND

       wa_zycet050-path_sisc_pli IS INITIAL ) OR

     ( wa_zycit136-tp_doc NE 'PLI'            AND

       wa_zycet050-path_sisc_imp IS INITIAL ).

    MESSAGE i061 WITH text-308 text-411 text-310.

    EXIT.

  ENDIF.

  SELECT SINGLE * FROM /pws/zycit101 INTO /pws/zycit101.

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

  SELECT SINGLE * FROM /pws/zycit136 INTO wa_zycit136 WHERE

         nrseq = /pws/zycie078-nrseqli AND

         tp_doc = text-113        AND

       ( stasis EQ 'S' OR stasis EQ 'T' OR stasis EQ 'A' ).

  IF /pws/zycie078-tpli = 'N' AND /pws/zycie078-flagpli  EQ space   .

    SELECT SINGLE * FROM /pws/zycit136 INTO wa_zycit136 WHERE

           nrseq = /pws/zycie078-nrseqli AND

           tp_doc = text-113       AND

         ( stasis EQ 'S' OR stasis EQ 'T' OR stasis EQ 'A' ).

  ELSEIF /pws/zycie078-tpli = 'N' AND /pws/zycie078-flagpli EQ 'X'.

    SELECT SINGLE * FROM /pws/zycit136 INTO wa_zycit136 WHERE

           nrseq = /pws/zycie078-nrseqli AND

           tp_doc = text-146        AND

         ( stasis EQ 'S' OR stasis EQ 'T' OR stasis EQ 'A' ).

  ELSEIF /pws/zycie078-tpli = 'S' .

    SELECT SINGLE * FROM /pws/zycit136 INTO wa_zycit136 WHERE

           nrseq = /pws/zycie078-nrseqli AND

           tp_doc = text-114        AND

         ( stasis EQ 'S' OR stasis EQ 'T' OR stasis EQ 'A' ).

  ENDIF.

  IF sy-subrc NE 0.

    CLEAR: wa_zycit136.

    IF /pws/zycie078-tpli = 'N' AND /pws/zycie078-flagpli EQ space    .

      wa_zycit136-tp_doc = text-113.

    ELSEIF /pws/zycie078-tpli = 'N' AND /pws/zycie078-flagpli EQ 'X'.

      wa_zycit136-tp_doc = text-146.

    ELSEIF /pws/zycie078-tpli = 'S' .

      wa_zycit136-tp_doc = text-114.

    ENDIF.

  ENDIF.

  wa_zycit136-nrseq    = /pws/zycie078-nrseqli.

* << Fim da inclusão

  CLEAR: v_param.

  CONCATENATE wa_zycet050-appsvr    ','

              wa_zycet050-sysnr     ','

              sy-mandt              ','

              sy-langu              ','

              /pws/zycit101-nversao ','

              wa_zycet050-router    ','

              INTO v_param.

  MOVE wa_zycit136-tp_doc TO v_tpdoc.

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

  IF wa_zycit136-tp_doc EQ v_tpdoc.

* << Fim da inclusão

  CONCATENATE v_param

              wa_zycit136-tp_doc '_'

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

              wa_zycit136-nrseq  '|'

* << Fim da exclusão

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

                wa_zycit136-nrseq

                '|'

* << Fim da inclusão

              INTO v_param.

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

  ELSE.

    MESSAGE w015 WITH text-149.

    CALL SCREEN '0100'.

  ENDIF.

* << Fim da inclusão

  DATA: v_aux TYPE i.

  CASE wa_zycit136-tp_doc.

    WHEN 'PLI'.

      IF NOT wa_zycet050-path_sisc_pli IS INITIAL.

        v_aux = strlen( wa_zycet050-path_sisc_pli ) - 1.

        IF wa_zycet050-path_sisc_pli+v_aux(1) = '\'.

        CONCATENATE wa_zycet050-path_sisc_pli text-398 INTO v_string_ex.

        ELSE.

          CONCATENATE wa_zycet050-path_sisc_pli text-398

                 INTO v_string_ex SEPARATED BY '\'.

...

 

...

            commandline        = v_param

            program            = v_string_ex

       EXCEPTIONS

            frontend_error     = 1

            no_batch           = 2

            prog_not_found     = 3

            illegal_option     = 4

            gui_refuse_execute = 5

            OTHERS             = 6.

  IF sy-subrc = 0.

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

    SELECT SINGLE nrdi dtreg FROM /pws/zycit078

* << Fim da exclusão

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

    SELECT SINGLE nrli dtreg FROM /pws/zycit078

* << Fim da inclusão

       INTO CORRESPONDING FIELDS OF /pws/zycie078

         WHERE nrseqli = /pws/zycie078-nrseqli.

  ENDIF.

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

  perform refresh_screen.

* << Fim da inclusão

ENDFORM.

FORM comm_extpli.

  PERFORM quest_gravacao.

  IF v_resp_save EQ '2'.

...

 

...

      CALL FUNCTION 'DEQUEUE_EMEKKOE'

           EXPORTING

                mode_ekko = 'E'

                mode_ekpo = 'E'

                mandt     = sy-mandt

                ebeln     = itab_ekpo-ebeln

                ebelp     = itab_ekpo-ebelp.

    ENDLOOP.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form refresh_screen.

  DATA: cont(4) TYPE n.

  WHILE cont < 1000.

    COMMIT WORK.

    SELECT SINGLE * FROM /pws/zycit078 INTO /pws/zycit078

       WHERE nrseqli = /pws/zycie078-nrseqli.

    IF NOT /PWS/ZYCIE078-NRLI IS INITIAL.

      EXIT.

    ENDIF.

    cont = cont + 1.

  ENDWHILE.

  IF sy-subrc = 0 AND NOT /PWS/ZYCIE078-NRLI IS INITIAL.

    /pws/zycie078-nrli  = /pws/zycit078-nrli.

    /pws/zycie078-dtreg = /PWS/ZYCIt078-DTREG .

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

    nextline = v_line.

  ENDIF.

  MOVE: nextline TO currentline,

        v_line   TO totalline  .

  CONCATENATE text-420 currentline text-421 totalline

  INTO v_posi SEPARATED BY space.

ENDMODULE.

MODULE status_custom OUTPUT.

  PERFORM status_custom.

ENDMODULE.

* >> Início da inclusão:

module verify_transm output.

   if /pws/zycie078-nrli is initial and not

      /pws/zycit078-nrli is initial.

      /pws/zycie078-nrli  = /pws/zycit078-nrli.

      /pws/zycie078-dtreg = /pws/zycit078-dtreg.

   endif.

endmodule.

* << Fim da inclusão