CE PLUS - Nota 007585

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Associação Ordem de Pagamento

Data/Hora da Publicação: 17/11/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 16:24:04

Descrição da Nota: ASSOCIAÇÃO DE ORDENS DE PAGAMENTO - PRIMEIRA TELA DE REMESSA VAZIA

Sintoma

No programa de Associação de Ordens de Pagamento - a segunda tela não deveria entrar sem antes estar

preenchida a primeira tela com os dados da remessa.

 

 

Solução

Colocar a consistencia correta para a segunda tela entrar somente quando a primeira tela estiver

preenchida com os dados corretos da remessa

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CB - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA

Informações Complementares

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

Nota Número 07585 Data: 17/11/2008 Hora: 10:58:00

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

 

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

Nota Número              : 07585

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00074

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

Referência às notas relacionadas:

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

 

06029  - 00001 - 7.0    - 00004  - CB - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA

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

ASSOCIAÇÃO DE ORDENS DE PAGAMENTO - PRIMEIRA TELA DE REMESSA VAZIA

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

Palavras Chave:

ASSOCIAÇÃO DE ORDENS DE PAGAMENTO - PRIMEIRA TELA DE REMESSA VAZIA

NÃO DEVERIA IR PRA SEGUNDA TELA

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

Objetos da nota:

DYNP /PWS/SAPMZYCB035                        0001

REPS /PWS/MZYCB035F01

REPS /PWS/MZYCB035F02

REPS /PWS/MZYCB035I01

REPS /PWS/MZYCB035O01

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB035                        0001

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001

PROCESS BEFORE OUTPUT.

  MODULE screen.

PROCESS AFTER INPUT.

  CHAIN.

    FIELD: /pws/zycbe227a-nrinvoic,

      /pws/zycbe227a-nrparcf,

      /pws/zycbe227a-gsberf.

    MODULE consiste_embarque.

  ENDCHAIN.

* >> Início da exclusão:

  FIELD /pws/zycbe229a-nrseq MODULE consiste_remessa.

  FIELD /pws/zycbe227a-dtassoc MODULE consiste_dtassoc.

* << Fim da exclusão

* >> Início da inclusão:

CHAIN.

  FIELD: btn_remessa,

        /pws/zycbe229a-nrseq,

        /pws/zycbe227a-dtassoc MODULE consiste_campos ON CHAIN-REQUEST .

ENDCHAIN.

* << Fim da inclusão

  MODULE user_command.

  MODULE user_command_exit AT EXIT-COMMAND.

PROCESS ON VALUE-REQUEST.

  FIELD:

    /pws/zycbe227a-nrinvoic MODULE ajuda_fatura,

    /pws/zycbe229a-nrseq    MODULE ajuda_remessa,

    /pws/zycbe227a-dtassoc  MODULE ajuda_dtassoc.

 

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

Modificações efetuadas em REPS /PWS/MZYCB035F01

 

...

    READ TABLE itab_drilldown

      WITH TABLE KEY field = p_wa_screen-name

      TRANSPORTING NO FIELDS.

    IF sy-subrc = 0.

      screen-intensified = '1'.

    ENDIF.

  ENDFORM.

  FORM loop_at_screen_0001.

    LOOP AT SCREEN.

      IF ( btn_embarque = 'X' AND screen-group3 = 'R' ) OR

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

         ( btn_remessa = 'X' AND screen-group3 = 'E' ).

* << Fim da exclusão

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

         ( btn_remessa = 'X' AND screen-group3 = 'E'  ) OR

         ( btn_embarque = 'X' AND screen-group3 = 'I' ).

* << Fim da inclusão

        screen-input = '0'.

      ENDIF.

      IF sy-tcode = c_transacao_c.

        IF screen-group3 CA 'I'.

          screen-active    = '0'.

          screen-invisible = '1'.

        ENDIF.

      ENDIF.

      MODIFY SCREEN.

    ENDLOOP.

...

 

...

        ENDIF.

        UNASSIGN <fs_mark>.

      ENDIF.

    ENDLOOP.

  ENDFORM.

  FORM ajuda_fatura.

    CONSTANTS:

      c_tabname      TYPE dfies-tabname   VALUE '/PWS/ZYCBE227A',"#EC *

      c_fieldname    TYPE dfies-fieldname VALUE 'NRINVOIC', "#EC *

      c_searchhelp_c TYPE shlpname        VALUE '/PWS/ZYCBA276',

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

      c_searchhelp_a TYPE shlpname  VALUE '/PWS/ZYCBA278'."#EC *

* << Fim da exclusão

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

      c_searchhelp_a TYPE shlpname  VALUE '/PWS/ZYCBA278'.  "#EC *

* << Fim da inclusão

    DATA:

      v_searchhelp(14) TYPE c,

      wa_fatura        TYPE t_s_fatura,

      record_tab       TYPE STANDARD TABLE OF seahlpres,

      itab_dynpread    TYPE t_t_dynpread,

      v_pos1           TYPE i,

      v_pos2           TYPE i,

      v_pos3           TYPE i.

    FIELD-SYMBOLS:

      <fs_searchhelp> TYPE shlpname,

...

 

...

          wa_fatura-nrinvoic = /pws/zycbe227a-nrinvoic.

          wa_fatura-nrparcf  = /pws/zycbe227a-nrparcf.

          wa_fatura-gsberf   = /pws/zycbe227a-gsberf.

          v_dtassoc          = /pws/zycbe227a-dtassoc.

          PERFORM verifica_commodities

            USING wa_fatura.

          CHECK sy-subrc NE 0.

        ELSE.

          CLEAR wa_fatura.

          wa_controle-processo = c_flag_remessa.

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

            IF sy-tcode eq c_transacao_c .

              if not /pws/zycbe229a-nrseq is initial.

* << Fim da inclusão

          v_nrseq   = /pws/zycbe229a-nrseq.

          v_dtassoc = /pws/zycbe227a-dtassoc.

          CLEAR /pws/zycbe227a.

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

            else.

              MESSAGE i061

              WITH

              'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).

              LEAVE TO SCREEN '0001'.

            endif.

          ELSEIF sy-tcode ne c_transacao_c.

          IF NOT /pws/zycbe229a-nrseq IS INITIAL AND

             NOT /pws/zycbe227a-dtassoc IS INITIAL.

              v_nrseq   = /pws/zycbe229a-nrseq.

              v_dtassoc = /pws/zycbe227a-dtassoc.

              CLEAR /pws/zycbe227a.

          ELSE.

              MESSAGE i061

              WITH

              'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).

              LEAVE TO SCREEN '0001'.

          ENDIF.

         endif.

* << Fim da inclusão

        ENDIF.

        FREE itab_zycbt228a.

        PERFORM seleciona_dados

          USING wa_fatura v_nrseq v_dtassoc.

        IF NOT wa_zycbt017 IS INITIAL.

          ASSIGN wa_zycbt017-bukrs TO <fs_bukrs>.

        ELSEIF NOT wa_zycbt124 IS INITIAL.

          ASSIGN wa_zycbt124-bukrs TO <fs_bukrs>.

        ENDIF.

        IF <fs_bukrs> IS ASSIGNED.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB035F02

 

...

FORM consiste_dtassoc

  USING

    value(p_nrinvoic) TYPE /pws/zycbe227a-nrinvoic

    value(p_nrparcf)  TYPE /pws/zycbe227a-nrparcf

    value(p_gsberf)   TYPE /pws/zycbe227a-gsberf

    value(p_nrseq)    TYPE /pws/zycbe229a-nrseq

    value(p_dtassoc)  TYPE /pws/zycbe227a-dtassoc.

  DATA:

    wa_fatura   TYPE t_s_fatura,

    v_nao_existe(1) TYPE c.

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

  IF p_dtassoc IS INITIAL.

    MESSAGE e061

      WITH 'Favor entrar com'(m19) 'a data de'(m20) 'associação'(m17).

  ELSE.

* << Fim da exclusão

    wa_fatura-nrinvoic = p_nrinvoic.

    wa_fatura-nrparcf  = p_nrparcf.

    wa_fatura-gsberf   = p_gsberf.

    PERFORM verifica_associacao

      USING

        wa_fatura

        p_nrseq

        p_dtassoc

      CHANGING v_nao_existe.

    IF v_nao_existe = 'X' AND ok_code <> 'NOVO'.

      MESSAGE e061

        WITH 'Não existe'(m16) 'associação'(m17) 'nesta data.'(m18).

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDFORM.

FORM consiste_embarque

  USING

    value(p_nrinvoic) TYPE /pws/zycbe227a-nrinvoic

    value(p_nrparcf)  TYPE /pws/zycbe227a-nrparcf

    value(p_gsberf)   TYPE /pws/zycbe227a-gsberf.

  DATA:

    wa_fatura       TYPE t_s_fatura,

    v_nao_existe(1) TYPE c.

...

 

...

      CHANGING v_nao_existe.

    IF v_nao_existe = 'X'.

      MESSAGE e015

        WITH 'O embarque'(m11) 'não possui saldo a associar.'(m13).

    ENDIF.

  ENDIF.

ENDFORM.

FORM consiste_remessa USING value(p_nrseq) TYPE /pws/zycbe229a-nrseq.

  DATA

    v_nao_existe(1) TYPE c.

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

  IF p_nrseq IS INITIAL.

    MESSAGE e061

      WITH 'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).

  ELSE.

* << Fim da exclusão

    PERFORM verifica_remessa

      USING p_nrseq

      CHANGING v_nao_existe.

    IF v_nao_existe = 'X'.

      MESSAGE e015

        WITH 'A remessa'(m10) 'não possui saldo a associar.'(m13).

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB035I01

 

...

      /pws/zycbe227a-gsberf.

ENDMODULE.

MODULE consiste_remessa INPUT.

  CHECK btn_remessa = 'X' AND ok_code = 'ENTE'.

  PERFORM consiste_remessa

    USING /pws/zycbe229a-nrseq.

ENDMODULE.

MODULE atualiza_saldos INPUT.

  PERFORM atualiza_saldos.

ENDMODULE.

* >> Início da inclusão:

MODULE consiste_campos INPUT.

  CHECK btn_remessa = 'X' .

  IF   /pws/zycbe229a-nrseq IS INITIAL .

    IF NOT  /pws/zycbe227a-dtassoc IS INITIAL .

      MESSAGE e061

       WITH 'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).

    ENDIF.

  ENDIF.

  IF  /pws/zycbe227a-dtassoc IS INITIAL.

    IF   NOT /pws/zycbe229a-nrseq IS INITIAL  .

      IF sy-tcode NE c_transacao_c.

        MESSAGE e061

        WITH 'Favor entrar com'(m19) 'a data de'(m20) 'associação'(m17).

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT  /pws/zycbe227a-dtassoc IS INITIAL AND

     NOT  /pws/zycbe229a-nrseq   IS INITIAL  .

    PERFORM consiste_remessa

     USING /pws/zycbe229a-nrseq.

    PERFORM consiste_dtassoc

    USING

      /pws/zycbe227a-nrinvoic

      /pws/zycbe227a-nrparcf

      /pws/zycbe227a-gsberf

      /pws/zycbe229a-nrseq

      /pws/zycbe227a-dtassoc.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB035O01