CE PLUS - Nota 012024

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 09/03/2012 00:00:00

Data/Hora Última Alteração: 25/04/2014 10:46:07

Descrição da Nota: CAMPOS HABILITADOS PARA ALTERAÇÃO QUANDO FATURA POSSUI DI.

Sintoma

Há campos habilitados para alteração quando fatura possui DI.

 

 

Solução

Fechar campos após criação da DI

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

AO CRIAR FATURA SEM MARCAR ITEM, TABELA FICA ERRADA

FECHAR O CAMPO PESO LÍQUIDO NA FATURA APÓS A CRIAÇÃO DA DI OU DSI.

NECESSÁRIO EXIT PARA CÁLCULO DE VALOR REALIZADO NA FATURA

Informações Complementares

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

Nota Número 12024 Data: 09/03/2012 Hora: 14:54:20

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

 

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

Nota Número              : 12024

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00010

Agrupamento              : 00107

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

Referência às notas relacionadas:

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

 

04937  - 00001 - 7.0    - 00003  - NECESSÁRIO EXIT PARA CÁLCULO DE VALOR REALIZADO NA FATURA

11731  - 00002 - 8.0    - 00009  - FECHAR O CAMPO PESO LÍQUIDO NA FATURA APÓS A CRIAÇÃO DA DI OU DSI

11739  - 00003 - 8.0    - 00009  - AO CRIAR FATURA SEM MARCAR ITEM, TABELA FICA ERRADA

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

CAMPOS HABILITADOS PARA ALTERAÇÃO QUANDO FATURA POSSUI DI.

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

Palavras Chave:

CAMPOS ABERTOS - FATURA COM DI - ALTERAÇÃO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI003                        0100

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003O01

 

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

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

 

*Acrescentar AC ao grupo 2 do campo /PWS/ZYCIE001-EMBARCA

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-EMBARCA"

Grupo 2                  AC

 

 

 

*Modificar numeração das colunas da Tabstrip

 

EXCLUIR ÁREA DE SUB-TELA "SS_DED" em tbl.contr./tabstr.

 

EXCLUIR BOTÃO "TAB_DED" em tbl.contr./tabstr.

 

MODIFICAR BOTÃO "TAB_FAT_PARC" em tbl.contr./tabstr.

Coluna                   7

 

MODIFICAR BOTÃO "TAB_IMP" em tbl.contr./tabstr.

Coluna                   9

 

MODIFICAR BOTÃO "TAB_REC" em tbl.contr./tabstr.

Coluna                   8

 

 

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0100

...

  MODULE:  status_0100,

           status_custom_0100,

           set_screen,

           exit_tela.

  FIELD /pws/zycie006-bukrs MODULE authority_empresa.

  CALL SUBSCREEN:

    ss_itens    INCLUDING syst-cprog '0106',

    ss_cabec    INCLUDING syst-cprog '0101',

    ss_porigem  INCLUDING syst-cprog '0102',

    ss_desp     INCLUDING syst-cprog '0107',

* >> Início da exclusão:

    ss_ded      INCLUDING syst-cprog '0109',

* << Fim da exclusão

    ss_banco    INCLUDING syst-cprog '0108',

    ss_fat_parc INCLUDING syst-cprog '0111',

    ss_camb     INCLUDING syst-cprog '0350',

    ss_imp      INCLUDING syst-cprog '0113',

    ss_rec      INCLUDING syst-cprog '0110'.

  CALL SUBSCREEN ss_html  INCLUDING syst-cprog v_tela_help.

PROCESS AFTER INPUT.

  FIELD /pws/zycie006-nrseqce MODULE call_bl.

  FIELD /pws/zycie006-j_1bbranch MODULE trata_filial.

  CALL SUBSCREEN:

     ss_itens,

     ss_cabec,

     ss_porigem,

     ss_desp,

* >> Início da exclusão:

     ss_ded,

* << Fim da exclusão

     ss_banco,

     ss_fat_parc,

     ss_camb,

     ss_imp,

     ss_rec.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

FORM selecionar_itens.

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

  DATA  BEGIN OF itab_zycit003_aux2 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit003.

  DATA  END   OF itab_zycit003_aux2.

* << Fim da inclusão

 

...

 

         /pws/zycit003~nrseq_pgfat /pws/zycit003~waers

         /pws/zycit003~waers_real /pws/zycit003~waers_mov

         /pws/zycit003~waers_dif /pws/zycit003~descfab

         /pws/zycit003~paisfab /pws/zycit003~mtart /pws/zycit003~werks

         /pws/zycit003~lifnr /pws/zycit003~j_1bnbm

         /pws/zycit003~fabric /pws/zycit003~nrseqcacl

         /pws/zycit003~qtd_itencacl /pws/zycit003~indic_obrig

         /pws/zycit003~porigem /pws/zycit003~paquis

         /pws/zycit003~mfrpn /pws/zycit003~lifnrfabr

         /pws/zycit003~flagfabr

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

         /pws/zycit003~matnr

* << Fim da inclusão

         /pws/zycit003~nrseqda

         /pws/zycit003~inco1

FROM ( /pws/zycit003 INNER JOIN /pws/zycit001

    ON /pws/zycit003~nrseq = /pws/zycit001~nrseq )

   INTO CORRESPONDING FIELDS OF TABLE itab_zycit003_aux

   WHERE /pws/zycit003~nrseq IN so_nrseq

     AND /pws/zycit003~ebeln IN so_ebeln

     AND /pws/zycit003~lifnr IN itab_lifnr

     AND /pws/zycit003~waers IN so_waers

     AND /pws/zycit003~nrseq_pgfat EQ space

     AND /pws/zycit001~bukrs EQ pa_bukrs

     AND /pws/zycit003~inco1 IN itab_inco1

     AND /pws/zycit001~j_1bbranch EQ pa_impor.

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

 

  IF sy-subrc EQ 0.

    SELECT * FROM /pws/zycit003

    INTO TABLE itab_zycit003_aux2

    FOR ALL ENTRIES IN itab_zycit003_aux

    WHERE nrseq = itab_zycit003_aux-nrseq

    AND   ebeln = itab_zycit003_aux-ebeln

    AND   ebelp = itab_zycit003_aux-ebelp.

    IF sy-subrc EQ 0.

      LOOP AT itab_zycit003_aux.

        READ TABLE itab_zycit003_aux2 WITH KEY

        nrseq = itab_zycit003_aux-nrseq

        ebeln = itab_zycit003_aux-ebeln

        ebelp = itab_zycit003_aux-ebelp.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING itab_zycit003_aux2 TO itab_zycit003_aux.

          MODIFY itab_zycit003_aux.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

* << Fim da inclusão

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

  READ TABLE itab_zyglt100 WITH KEY zexit = 'FAT012'  BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  IF e_subrc EQ 0.

    IF ( sy-tcode EQ '/PWS/ZYCI003_C' AND

         /pws/zycie006-tpfatura = '01' AND

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

         itab_sele[] IS INITIAL ) .

* << Fim da exclusão

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

         itab_sele[] IS INITIAL    AND

         v_importou EQ 'X' ).

* << Fim da inclusão

      MESSAGE e015 WITH text-218.

    ENDIF.

    IF sy-ucomm = 'ENTE' OR sy-ucomm = 'SAVE'.

      IF /pws/zycie001-regime = '16'.

        IF /pws/zycie006-tpfatura = '01'

        OR /pws/zycie006-tpfatura = '02'

        OR /pws/zycie006-tpfatura = '03'.

          MESSAGE e013 WITH text-167.

        ENDIF.

      ENDIF.

...

 

...

 

FORM atualiza_fornecedor.

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

  IF v_paisfab NE 'X' .

* << Fim da exclusão

    IF v_tpfabr EQ '0'.

      itab_zycit003-lifnrfabr   = /pws/zycie006-lifnrfabr.

      itab_zycit003-descfab     = /pws/zycie006-descfab  .

      itab_zycit003-paisfab     = /pws/zycie006-paisfab.

    ELSE.

      IF sy-dynnr = '0106'.

        itab_zycit003-lifnrfabr   = /pws/zycie003-lifnrfabr.

        itab_zycit003-descfab     = /pws/zycie003-descfab  .

        itab_zycit003-paisfab     = /pws/zycie003-paisfab.

        IF v_tpfabr EQ '3' .

          /pws/zycie003-porigem =  itab_zycit003-porigem    =

          /pws/zycie003-paisfab.

        ENDIF.

      ENDIF.

    ENDIF.

    PERFORM carrega_descr.

    CLEAR v_paisfab.

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

  ENDIF.

* << Fim da exclusão

  IF sy-ucomm EQ 'SAVE' AND

     v_tpfabr EQ '2' AND

     /pws/zycie006-tpfatura   EQ '01'.

    IF /pws/zycie003-descfab   IS INITIAL OR

       /pws/zycie003-paisfab   IS INITIAL.

      IF /pws/zycie003-fabric NE '3'.

        MESSAGE e015 WITH text-205.

      ENDIF.

    ENDIF.

  ENDIF.

...

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

Modificações efetuadas em REPS /PWS/MZYCI003O01

 

...

 

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

  IF NOT /pws/zycie094-nrseqce IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit085

         WHERE nrbl EQ /pws/zycie094-nrseqce.

    IF sy-subrc EQ 0.

      v_di = 'X'.

    ENDIF.

  ENDIF.

* << Fim da inclusão

ENDMODULE.

...

 

...

 

        IF screen-name = 'TAB_REC'.

          IF /pws/zycie006-tpfatura = '11'.

            screen-invisible = '0'.

          ELSE.

            screen-invisible = '1'.

          ENDIF.

        ENDIF.

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

        IF screen-name EQ '/PWS/ZYCIE001-EMBARCA' AND

           v_di = 'X' .

          screen-input = 0.

        ENDIF.

* << Fim da inclusão

        MODIFY SCREEN.

      ENDLOOP.

    WHEN '0102' OR '0105'.

      LOOP AT SCREEN.

        IF v_status_s = 0 OR sy-tcode = '/PWS/ZYCI003_M'.

          screen-input = '0'.

          MODIFY SCREEN.

        ELSEIF v_status_s = 1 AND screen-group1 NE 'OUT'.

          screen-input = '1' .

          MODIFY SCREEN.

        ENDIF.

        IF screen-name = '/PWS/ZYCIE006-WAERS_EMB' AND

           /pws/zycie006-waers_emb IS INITIAL.

          screen-input = '1'.

          MODIFY SCREEN.

        ELSEIF screen-name = '/PWS/ZYCIE006-WAERS_EMB' AND

           NOT /pws/zycie006-waers_emb IS INITIAL.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

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

        IF v_di = 'X' .

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

 

...

 

 

...

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

        IF NOT /pws/zycie006-nrseq_pgfat IS INITIAL AND

           screen-name = '/PWS/ZYCIE006-TPFATURA'.

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

        IF NOT itab_zycit100[] IS INITIAL AND

           screen-name = '/PWS/ZYCIE006-NTGEW'.

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

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

        IF v_di = 'X' .

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

      IF /pws/zycie006-vlmerc IS INITIAL AND

        /pws/zycie006-vlfre IS INITIAL AND

        /pws/zycie006-vlseg IS INITIAL.

        CLEAR /pws/zycie006-vltotal.

      ENDIF.

...

 

...

        LOOP AT tc_banco-cols INTO wa_cols.

          wa_cols-screen-input = '0'.

          MODIFY tc_banco-cols FROM wa_cols.

        ENDLOOP.

      ELSEIF v_status_s = 1.

        LOOP AT tc_banco-cols INTO wa_cols.

          wa_cols-screen-input = '1'.

          IF v_existe_bol = 'X' AND wa_cols-screen-group4 = 'BOL'.

            wa_cols-screen-input = 0.

          ENDIF.

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

          IF v_di EQ 'X' .

            wa_cols-screen-input = 0.

          ENDIF.

* << Fim da inclusão

          MODIFY tc_banco-cols FROM wa_cols.

        ENDLOOP.

      ENDIF.

 

...

 

...

          LOOP AT tc_ded-cols INTO wa_cols.

            wa_cols-screen-input = '0'.

            MODIFY tc_ded-cols FROM wa_cols.

          ENDLOOP.

        ELSE.

          IF v_existe_bol = 'X'.

            LOOP AT tc_ded-cols INTO wa_cols.

              wa_cols-screen-input = 0.

              MODIFY tc_ded-cols FROM wa_cols.

            ENDLOOP.

          ENDIF.

        ENDIF.

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

        IF v_di EQ 'X' .

          LOOP AT tc_ded-cols INTO wa_cols.

            wa_cols-screen-input = 0.

            MODIFY tc_ded-cols FROM wa_cols.

          ENDLOOP.

        ENDIF.

* << Fim da inclusão

      ENDIF.

...

 

...

               wa_cols-screen-name EQ 'V_BANCO' OR

               wa_cols-screen-name EQ 'V_AGENCIA' OR

               wa_cols-screen-name EQ '/PWS/ZYCIE126-CONTA'.

              wa_cols-screen-input = '0'.

            ELSE.

              wa_cols-screen-input = '1'.

            ENDIF.

          ENDIF.

          IF v_existe_bol = 'X' AND wa_cols-screen-group3 = 'BOL'.

            wa_cols-screen-input = 0.

          ENDIF.

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

          IF v_di = 'X' .

            wa_cols-screen-input = '0'.

          ENDIF.

* << Fim da inclusão

          MODIFY tc_cambio-cols FROM wa_cols.

        ENDLOOP.

      ENDIF.

...

 

...

       NOT itab_zycit132-belnr_p IS INITIAL.

      IF NOT itab_zycit003-toinv IS INITIAL .

        IF screen-name EQ 'ITAB_ZYCIT003-TOINV'.

          screen-input = 0.

        ENDIF.

      ENDIF.

    ENDIF.

    IF screen-name = '/PWS/ZYCIE003-PAISFAB' AND

       v_status_s <> 0.

      IF sy-tcode NE '/PWS/ZYCIE003_E'.

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

        IF v_di IS INITIAL.

* << Fim da inclusão

        screen-input = 1.

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

        ELSE.

          screen-input = 0.

        ENDIF.

* << Fim da inclusão

      ELSE.

        screen-input = 0.

      ENDIF.

      IF ( /pws/zycit000-land1 EQ 'PE' AND

...

 

...

 

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

  IF  v_di = 'X' .

    LOOP AT tc_itens-cols INTO wa_cols.

      wa_cols-screen-input = '0'.

      MODIFY tc_itens-cols FROM wa_cols.

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

ENDMODULE.

...

 

...

 

    IF v_status_s NE '1'.

      screen-input = '0' .

    ENDIF.

    IF NOT itab_zycit100[] IS INITIAL AND

       screen-name = '/PWS/ZYCIE003-NTGEW'.

      screen-input = 0.

    ENDIF.

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

    IF  v_di = 'X' .

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

* << Fim da inclusão

    MODIFY SCREEN.

  ENDLOOP.

ENDMODULE.

...

 

...

 

  ENDCASE.

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

  IF v_di = 'X'.

    LOOP AT SCREEN.

      screen-input = 0.

      MODIFY SCREEN.

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

ENDMODULE.

...

 

...

 

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

      IF v_di EQ 'X' .

        screen-input = 0.

      ENDIF.

* << Fim da inclusão

      MODIFY SCREEN.

    ENDLOOP.

  ENDIF.

ENDMODULE.

...

 

...

 

MODULE set_tc_screen_108 OUTPUT.

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

  IF  v_di = 'X' .

    LOOP AT tc_banco-cols INTO wa_cols.

      wa_cols-screen-input = '0'.

      MODIFY tc_banco-cols FROM wa_cols.

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

ENDMODULE.

...