CE PLUS - Nota 004366

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

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

Data/Hora Última Alteração: 09/03/2010 10:14:27

Descrição da Nota: IMPLEMENTAÇÃO DO FUNDAP NA LI

Sintoma

 

Implementação do FUNDAP na LI e ajustes na LI.

 

Solução

 

Novo desenvolvimento no programa da LI para criar o campo Adquirente da Mercadoria para atender às

operações de Importação por Conta e Ordem.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04366 Data: 08/08/2007 Hora: 08:45:39

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

 

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

Nota Número              : 04366

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00013

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

IMPLEMENTAÇÃO DO FUNDAP NA LI

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

Palavras Chave:

FUNDAP - FUNDAPIANA - ADQUIRENTE - CONSIGNATÁRIO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI020                        0100

DYNP /PWS/SAPMZYCI020                        0101

FUNC /PWS/ZYCI_TRANSFER_LI

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020I01

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020TOP

REPS /PWS/MZYCI020X01

REPS /PWS/SAPMZYCI020

 

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

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

 

 

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

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

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_LI

 

...

  DATA: itab_tline LIKE tline OCCURS 10 WITH HEADER LINE.

  DATA: wa_078 LIKE /pws/zycie078,

        wa_079 LIKE /pws/zycie079,

        wa_080 LIKE /pws/zycie080.

  DATA: v_txtpais(20),

        v_txtw(60),

        v_add        TYPE i,

        v_obs0(2100),

        v_obs1(2100),

        v_txtkey     LIKE thead-tdname,

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

        v_idx        LIKE sy-tabix.

* << Fim da exclusão

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

        v_idx        LIKE sy-tabix,

        v_CNPJESTAB LIKE /pws/zycie085-CNPJESTAB.

* << Fim da inclusão

  SELECT * FROM /pws/zycit078 INTO TABLE li_cabec WHERE

         nrseqli = i_nrseqli AND

         tpli    = i_tpli.

  IF sy-subrc EQ 0.

    READ TABLE li_cabec INDEX 1.

    MOVE: li_cabec TO wa_078.

    PERFORM load_pais(/pws/sapmzyci023):

            USING    wa_078-land1

            CHANGING li_cabec-land1 v_txtpais,

            USING    wa_078-lando

            CHANGING li_cabec-lando v_txtpais.

    PERFORM load_waers(/pws/sapmzyci023):

            USING    wa_078-waers

            CHANGING li_cabec-waers v_txtw.

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

      SELECT SINGLE CNPJESTAB

      FROM /pws/zycit085 INTO v_CNPJESTAB

      WHERE NRSEQDI = wa_078-nrseqdi.

      IF NOT v_CNPJESTAB IS INITIAL.

        li_cabec-CNPJ = v_CNPJESTAB.

      ENDIF.

* << Fim da inclusão

    MODIFY li_cabec INDEX 1.

    LOOP AT li_cabec.

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

      IF /pws/zycft007-modncm EQ space.

        CONCATENATE li_cabec-steuc1(4)

              li_cabec-steuc1+5(2)

              li_cabec-steuc1+8(2) INTO

              li_cabec-steuc1.

        MODIFY li_cabec INDEX sy-tabix.

      ELSEIF /pws/zycft007-modncm EQ '2'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

           salva_v_esp  ,

           save_txt     ,

           save_txt_2   ,

           save_pexpam  ,

           save_drawback,

           atual_item   .

  IF okcode = 'CANCEL'.

    UPDATE /pws/zycit079 SET numli = space

                WHERE numli = /pws/zycie078-nrseqli.

  ENDIF.

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

    MODIFY /pws/zycit085 FROM /pws/zycie085.

* << Fim da inclusão

  MESSAGE s017 WITH /pws/zycie078-nrseqli.

  COMMIT WORK.

  CASE v_tcode.

    WHEN '/PWS/ZYCI020_C'.

      v_tcode = '/PWS/ZYCI020_A'.

    WHEN '/PWS/ZYCI020_P'.

      v_tcode = '/PWS/ZYCI020_N'.

    WHEN '/PWS/ZYCI020_I'.

      v_tcode = '/PWS/ZYCI020_G'.

  ENDCASE.

...

 

...

              bukrs             = /pws/zycie078-bukrs

         IMPORTING

              cgc_number        = v_cgc

         EXCEPTIONS

              branch_not_found  = 1

              address_not_found = 2

              company_not_found = 3

              OTHERS            = 4.

    IF sy-subrc EQ 1.

      MESSAGE s015 WITH text-002 /pws/zycie078-werks.

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

    ENDIF.

    IF /pws/zycie085 IS INITIAL.

      SELECT SINGLE *

      FROM /pws/zycit085 INTO /pws/zycie085

      WHERE nrseqdi EQ /pws/zycit100-nrseqdi.

    ENDIF.

    IF NOT /pws/zycie085-opfundap IS INITIAL or

    /PWS/ZYCIE085-CONTROPCB eq '2'.

      IF /pws/zycie085-fundapiana IS INITIAL.

        READ TABLE it_zycit079 INDEX 1.

        SELECT SINGLE a~lifn2

          FROM ekpa AS a INNER JOIN /pws/zycet076 AS b ON

            a~parvw EQ b~codigo_r3

        INTO /pws/zycie085-fundapiana

        WHERE b~codigo_ce EQ 'FD'

          AND a~ebeln EQ it_zycit079-ebeln.

      ENDIF.

      IF v_cnpj_findap IS INITIAL.

        SELECT SINGLE stcd1 name1 FROM lfa1

          INTO (v_cnpj_findap, v_desc_findap)

         WHERE lifnr = /pws/zycie085-fundapiana.

        IF sy-subrc = 0.

          /pws/zycie085-cnpjestab = v_cnpj_findap.

          WRITE v_cnpj_findap TO v_cnpj_findap

           USING EDIT MASK '__.___.___/____-__'.

* << Fim da inclusão

    ENDIF.

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

      ENDIF.

    ELSE.

      CLEAR: v_cnpj_findap, v_desc_findap, /pws/zycie085-fundapiana.

      /pws/zycie085-cnpjestab = v_cgc.

    ENDIF.

* << Fim da inclusão

    WRITE: v_cgc    TO v_cnpj.

    /pws/zycie078-cnpj = v_cgc.

    SELECT SINGLE name

           FROM j_1bbranch

           INTO (v_descr25)

           WHERE bukrs = /pws/zycie078-bukrs

             AND branch = /pws/zycie078-j_1bbranch.

  ENDIF.

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

  /pws/zycie085-cgc = v_cgc.

  PERFORM load_opcb.

* << Fim da inclusão

ENDFORM.

FORM load_urf.

  IF NOT /pws/zycie078-urfdesp IS INITIAL.

    SELECT SINGLE descdesp FROM /pws/zycet132 INTO v_descr

           WHERE codesp = /pws/zycie078-urfdesp.

  ELSE.

    MOVE space TO v_descr.

  ENDIF.

  IF NOT /pws/zycie078-urfent IS INITIAL.

    SELECT SINGLE descdesp FROM /pws/zycet132 INTO v_descr2

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

  PERFORM lock_record.

  IF NOT /pws/zycie078-nrseqlisub IS INITIAL.

    IF v_tcode EQ '/PWS/ZYCI020_A'.

      v_tcode = '/PWS/ZYCI020_E'.

      MESSAGE s015 WITH text-029.

    ELSEIF v_tcode EQ '/PWS/ZYCI020_N'.

      v_tcode = '/PWS/ZYCI020_R'.

      MESSAGE s015 WITH text-030.

    ENDIF.

  ENDIF.

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

      PERFORM LOAD_CNPJ.

* << Fim da inclusão

  IF v_tcode = '/PWS/ZYCI020_A'.

    IF /pws/zycie078-status EQ 'INA'.

      v_tcode = '/PWS/ZYCI020_E'.

      MESSAGE s015 WITH text-043.

      PERFORM authority_empresa.

      CALL SCREEN '0100'.

    ELSE.

      IF /pws/zycie078-status = 'CAN'.

        v_tcode = '/PWS/ZYCI020_E'.

        MESSAGE s015  WITH text-036.

...

 

...

      AND   dtate  >= /pws/zycie078-dtuserc .

    IF sy-subrc EQ 0.

      LOOP AT itab_zycit433.

        rtexti-tdformat = '*'.

        MOVE itab_zycit433-desc_g TO rtexti-tdline  .

        APPEND rtexti.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM texto_dominio USING    p_dominio

                            p_valor

                   CHANGING p_texto.

  CLEAR: p_texto.

  SELECT SINGLE * FROM dd07t INTO dd07t WHERE

         domname    = p_dominio AND

         ddlanguage = 'P' AND

         domvalue_l = p_valor.

  IF sy-subrc EQ 0.

    p_texto = dd07t-ddtext.

  ENDIF.

ENDFORM.

FORM load_opcb.

 PERFORM texto_dominio USING    '/PWS/ZYCID053' /pws/zycie085-contropcb

                                                   CHANGING s_opcb.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020I01

 

...

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                          /pws/zycie078-bukrs

                                          ID 'ACTVT' FIELD '03'.

      IF sy-subrc NE 0.

        MESSAGE e083(f5) WITH /pws/zycie078-bukrs.

      ENDIF.

    ENDIF.

  ENDIF.

ENDMODULE.

MODULE user_command_101 INPUT.

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

  PERFORM load_cnpj.

* << Fim da inclusão

ENDMODULE.

MODULE altera_it_zycit079_500 INPUT.

  MOVE:

        /pws/zycie079-ebeln    TO it_zycit079-ebeln ,

        /pws/zycie079-ebelp    TO it_zycit079-ebelp,

        /pws/zycie079-descr    TO it_zycit079-descr,

        /pws/zycie079-bednr    TO it_zycit079-bednr,

        /pws/zycie079-menge    TO it_zycit079-menge,

        /pws/zycie079-meins    TO it_zycit079-meins,

        /pws/zycie079-netpr    TO it_zycit079-netpr,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

      ENDIF.

      MODIFY SCREEN.

    ENDLOOP.

  ENDIF.

ENDMODULE.

MODULE set_screen_0101 OUTPUT.

  SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie078-bukrs.

  SELECT SINGLE * FROM /pws/zycit000

     WHERE land1 EQ t001-land1.

  LOOP AT SCREEN.

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

    IF screen-name EQ '/PWS/ZYCIE085-CGC'       AND

       /pws/zycie085-contropcb NE '2'.

      screen-input = '0'.

      CLEAR: /PWS/ZYCIE085-CGC.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-CGC'       AND

       /pws/zycie085-contropcb EQ '2'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-FUNDAPIANA'       AND

       /pws/zycie085-contropcb NE '2'.

      screen-input = '0'.

      screen-invisible = '1'.

      CLEAR: /PWS/ZYCIE085-FUNDAPIANA.

      MODIFY SCREEN.

    ENDIF.

* << Fim da inclusão

    IF /pws/zycie078-nrseqlisub IS INITIAL.

      IF screen-group1 EQ 'SB1'.

        screen-invisible = '1'.

      ENDIF.

      MODIFY SCREEN.

    ELSE.

      IF screen-group1 EQ 'SB1'.

        screen-invisible = '0'.

      ENDIF.

      MODIFY SCREEN.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020TOP

 

...

      v_matnrd      LIKE mara-matnr        ,

      v_salvo,

      v_salvo_drawback,

      v_verficado,

      v_steuc2 LIKE /pws/zycit078-steuc2,

      v_steuc_temp1(8),

      v_steuc_temp2(8) ,

      v_steuc_temp3(8),

      v_executou,

      v_incentivo,

* >> Início da inclusão:

      s_opcb(18),

      v_cnpj_findap(18) TYPE c,

      v_desc_findap TYPE lfa1-name1,

* << Fim da inclusão

      v_emp         LIKE /pws/zycbt007-bukrs.

data  v_novo_item.

SELECTION-SCREEN BEGIN OF SCREEN 0300.

PARAMETERS:    pa_bukrs LIKE /pws/zycie078-bukrs  DEFAULT

/pws/zycie078-bukrs.

SELECT-OPTIONS:

                so_ncm   FOR /pws/zycie078-steuc1

                  NO-EXTENSION  NO INTERVALS,

                so_waers FOR /pws/zycie078-waers

                  NO-EXTENSION  NO INTERVALS,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020X01

 

...

        /pws/zycit257,

        /pws/zycit244,

        /pws/zycie244,

        /pws/zycit245,

        /pws/zycit274,

        /pws/zycit218,

        /pws/zycit219,

        /pws/zycit242,

        /pws/zycit338,

        /pws/zycit431,

* >> Início da exclusão:

        /pws/zycie376.

* << Fim da exclusão

* >> Início da inclusão:

        /pws/zycie376,

        /pws/zycie085.

* << Fim da inclusão

DATA: BEGIN OF COMMON PART a.

DATA: BEGIN OF it_code OCCURS 15,

        fcode LIKE rsmpe-func,

      END OF it_code.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

DATA: BEGIN OF it_zycit079 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit079.

DATA: uebto  LIKE ekpo-uebto,

...

 

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCI020