CE PLUS - Nota 002236

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: PLI

Data/Hora da Publicação: 09/10/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:59:27

Descrição da Nota: SALDO PLI, BALANCE ORDER NA PLI E NO EMBARQUE

Sintoma

O sistema não está considerando a mesma informação para o saldo do pedido no embarque e na PLI, ao

alterar a quantidade do schedule e do pedido de compra ficava negativo o saldo na PLI.

 

 

Solução

Atualizar o saldo sempre que entra no pedido de compra.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02236 Data: 09/10/2006 Hora: 14:51:07

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

 

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

Nota Número              : 02236

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00134

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

SALDO PLI, BALANCE ORDER NA PLI E NO EMBARQUE

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

Palavras Chave:

PLI - SALDO

 

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

Objetos da nota:

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020I01

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020X01

REPT /PWS/SAPMZYCI020

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

      FROM /pws/zycit092

      INTO TABLE it_zycit092

      FOR ALL ENTRIES IN itab_itens

      WHERE ebeln EQ itab_itens-ebeln

        AND ebelp EQ itab_itens-ebelp.

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

    PERFORM carrega_saldo.

    perform lock_pedido.

* << Fim da inclusão

  ENDIF.

  CLEAR itab_itens.

  READ TABLE itab_itens INDEX 1 .

  MOVE: itab_itens-lifnr TO v_lifnr,

        itab_itens-waers TO v_waers,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

    ELSE.

      IF sy-dynnr EQ '0001'.

        LEAVE PROGRAM.

      ELSE.

        PERFORM unlock_record.

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

        PERFORM unlock_pedido.

* << Fim da inclusão

        v_tcode = sy-tcode.

        LEAVE TO SCREEN '0001'.

      ENDIF.

    ENDIF.

  ENDIF.

...

 

...

    p_subrc = 4.

  ELSE.

    p_subrc = 0.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM carrega_dados.

  IF v_tcode EQ '/PWS/ZYCI020_A' OR

     v_tcode EQ '/PWS/ZYCI020_E'.

    SELECT SINGLE * FROM /pws/zycit078

                    INTO /pws/zycie078

           WHERE nrseqli EQ /pws/zycie078-nrseqli

             AND tpli    EQ 'N'

             AND flagpli NE 'X'.

    IF sy-subrc NE 0.

      MESSAGE w015 WITH text-001.

      EXIT.

    ENDIF.

    IF NOT /pws/zycie078-nrseqd IS INITIAL.

      v_salvo_drawback = 'S'.

      IF it_log[] IS INITIAL.

        v_verficado = 'S'.

      ENDIF.

    ELSE.

      CLEAR v_salvo_drawback.

    ENDIF.

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

      CLEAR /pws/zycie078-tpni.

    ENDIF.

    MOVE: /pws/zycie078 TO wa_zycit078.

    v_cgc = /pws/zycie078-cnpj.

    WRITE: v_cgc    TO v_cnpj.

    PERFORM: mask,

             mask2.

    SELECT *

     FROM /pws/zycit079

     INTO TABLE it_zycit079

     WHERE nrseqli EQ /pws/zycie078-nrseqli

       AND tpli    = 'N'.

    CLEAR: /pws/zycie078-ntgew.

    LOOP AT it_zycit079.

      /pws/zycie078-ntgew = /pws/zycie078-ntgew + it_zycit079-ntgew.

    ENDLOOP.

    PERFORM verifica_vinculacao.

    IF NOT it_zycit079[] IS INITIAL.

      SELECT *

        FROM /pws/zycit092

        INTO TABLE it_zycit092

        FOR ALL ENTRIES IN it_zycit079

        WHERE ebeln EQ it_zycit079-ebeln

          AND ebelp EQ it_zycit079-ebelp.

      PERFORM carrega_saldo.

      PERFORM lock_pedido.

    ENDIF.

    LOOP AT it_zycit079.

      READ TABLE it_zycit092 WITH KEY ebeln = it_zycit079-ebeln

                                        ebelp = it_zycit079-ebelp.

      IF sy-subrc EQ 0.

        MOVE: it_zycit092-slqtde TO it_zycit079-slqtde,

              it_zycit092-menge  TO it_zycit079-menge.

        MODIFY it_zycit079.

      ENDIF.

    ENDLOOP.

    MOVE it_zycit079[] TO it_zycit079_aux2[].

    IF NOT /pws/zycie078-nrseqd IS INITIAL.

      MOVE it_zycit079[] TO it_zycit079_aux4[].

    ENDIF.

    LOOP AT it_zycit079.

      MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.

    ENDLOOP.

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

      SELECT SINGLE * FROM  /pws/zycit080

                      INTO  /pws/zycie080

                      WHERE nrseqli  = /pws/zycie078-nrseqli

                        AND tipoforn = 'E'.

      IF sy-subrc EQ 0.

        MOVE: /pws/zycie080       TO wa_zycit080_aux,

              /pws/zycie080-lifnr TO v_forn.

      ENDIF.

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

      SELECT SINGLE * FROM  /pws/zycit080

                      INTO  /pws/zycie080c

                      WHERE nrseqli  = /pws/zycie078-nrseqli

                        AND tipoforn = 'E'.

      IF sy-subrc EQ 0.

        MOVE: /pws/zycie080c       TO wa_zycit080_aux4,

              /pws/zycie080c-lifnr TO v_forn..

      ENDIF.

      SELECT SINGLE * FROM  /pws/zycit080

                      INTO  /pws/zycie080a

                      WHERE nrseqli  = /pws/zycie078-nrseqli

                        AND tipoforn = 'F'.

      IF sy-subrc EQ 0.

        MOVE: /pws/zycie080a       TO wa_zycit080_aux2,

              /pws/zycie080a-lifnr TO v_forn2.

      ENDIF.

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

      SELECT SINGLE * FROM  /pws/zycit080

                      INTO  /pws/zycie080b

                      WHERE nrseqli  = /pws/zycie078-nrseqli

                        AND tipoforn = 'E'.

      IF sy-subrc EQ 0.

        MOVE: /pws/zycie080b       TO wa_zycit080_aux3,

              /pws/zycie080b-lifnr TO v_forn.

      ENDIF.

    ENDIF.

    SELECT * FROM /pws/zycit081

             INTO TABLE it_zycit081

             WHERE nrseqli EQ /pws/zycie078-nrseqli

               AND tpli    EQ 'N'.

    MOVE it_zycit081[] TO it_zycit081_aux[].

    LOOP AT it_zycit081.

      MOVE-CORRESPONDING it_zycit081 TO /pws/zycie081.

    ENDLOOP.

    SELECT * FROM /pws/zycit109

             INTO TABLE it_anu2

             WHERE nrseqli EQ /pws/zycie078-nrseqli

               AND tpli    EQ 'N'..

    MOVE it_anu2[] TO it_anu2_aux[].

    LOOP AT it_anu2.

      MOVE-CORRESPONDING it_anu2 TO /pws/zycie109.

    ENDLOOP.

    PERFORM carrega_compl_salvo_001.

  ELSEIF  v_tcode EQ '/PWS/ZYCI020_N' OR

          v_tcode EQ '/PWS/ZYCI020_R'.

    SELECT SINGLE * FROM /pws/zycit078

                    INTO /pws/zycie078

           WHERE nrseqli = /pws/zycie078-nrseqli

             AND tpli    = 'S'.

    IF sy-subrc NE 0.

      MESSAGE w015 WITH text-001.

      EXIT.

    ENDIF.

    MOVE: /pws/zycie078 TO wa_zycit078.

    v_cgc = /pws/zycie078-cnpj.

    WRITE: v_cgc    TO v_cnpj.

    SELECT *

     FROM /pws/zycit079

     INTO TABLE it_zycit079

     WHERE nrseqli EQ /pws/zycie078-nrseqli

       AND tpli    = 'S'.

    IF NOT it_zycit079[] IS INITIAL.

      SELECT * FROM /pws/zycit092

        INTO TABLE it_zycit092

        FOR ALL ENTRIES IN it_zycit079

        WHERE ebeln EQ it_zycit079-ebeln

          AND ebelp EQ it_zycit079-ebelp.

      PERFORM carrega_saldo.

      PERFORM lock_pedido.

    ENDIF.

    LOOP AT it_zycit079.

      READ TABLE it_zycit092 WITH KEY ebeln = it_zycit079-ebeln

                                        ebelp = it_zycit079-ebelp.

      MOVE: it_zycit092-slqtde TO it_zycit079-slqtde,

            it_zycit092-menge  TO it_zycit079-menge.

      MODIFY it_zycit079.

    ENDLOOP.

    MOVE it_zycit079[] TO it_zycit079_aux2[].

    LOOP AT it_zycit079.

      MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.

    ENDLOOP.

    SELECT * FROM /pws/zycit081

             INTO TABLE it_zycit081

             WHERE nrseqli EQ /pws/zycie078-nrseqli

               AND tpli    = 'S'.

    MOVE it_zycit081[] TO it_zycit081_aux[].

    LOOP AT it_zycit081.

      MOVE-CORRESPONDING it_zycit081 TO /pws/zycie081.

    ENDLOOP.

    SELECT * FROM /pws/zycit109

             INTO TABLE it_anu2

             WHERE nrseqli EQ /pws/zycie078-nrseqli

               AND tpli    EQ 'S'.

    MOVE it_anu2[] TO it_anu2_aux[].

    LOOP AT it_anu2.

      MOVE-CORRESPONDING it_anu2 TO /pws/zycie109.

    ENDLOOP.

    PERFORM carrega_compl.

  ENDIF.

  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.

  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.

        PERFORM authority_empresa.

        CALL SCREEN '0100'.

      ELSE.

        PERFORM authority_empresa.

        CALL SCREEN '0100'.

      ENDIF.

    ENDIF.

  ELSEIF v_tcode = '/PWS/ZYCI020_E'.

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

      MESSAGE s015  WITH text-036.

    ENDIF.

    PERFORM authority_empresa.

    CALL SCREEN '0100'.

  ELSEIF v_tcode = '/PWS/ZYCI020_N'.

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

      v_tcode = '/PWS/ZYCI020_R'.

      MESSAGE s015 WITH text-044.

      PERFORM authority_empresa.

      CALL SCREEN '0400'.

    ELSE.

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

        v_tcode = '/PWS/ZYCI020_R'.

        MESSAGE s015 WITH text-037.

        PERFORM authority_empresa.

        CALL SCREEN '0400'.

      ELSE.

        PERFORM authority_empresa.

        CALL SCREEN '0400'.

      ENDIF.

    ENDIF.

  ELSEIF v_tcode EQ '/PWS/ZYCI020_R'.

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

      MESSAGE s015 WITH text-037.

    ENDIF.

    PERFORM authority_empresa.

    CALL SCREEN '0400'.

  ENDIF.

ENDFORM.

FORM carrega_saldo.

  CLEAR   : itab_ekpo.

  REFRESH : itab_ekpo.

  IF NOT it_zycit092[] IS INITIAL.

    DATA: v_qtdemb TYPE /pws/zycit079-qtd_iten,

          v_slqtde TYPE /pws/zycit092-slqtde  .

    DATA: BEGIN OF itab_zycit079_util OCCURS 0.

            INCLUDE STRUCTURE /pws/zycit079.

    DATA: END OF itab_zycit079_util.

    SELECT ebeln ebelp menge bstyp FROM ekpo

    INTO TABLE itab_ekpo

    FOR ALL ENTRIES IN it_zycit092

    WHERE ebeln EQ it_zycit092-ebeln

      AND ebelp EQ it_zycit092-ebelp.

    SELECT * FROM /pws/zycit079

    INTO TABLE itab_zycit079_util

      FOR ALL ENTRIES IN it_zycit092

      WHERE ebeln EQ it_zycit092-ebeln

        AND ebelp EQ it_zycit092-ebelp

      AND nrseqli NE /pws/zycie078-nrseqli.

  ENDIF.

  LOOP AT it_zycit092.

    CLEAR: itab_ekpo, itab_zycit079_util.

    READ TABLE itab_ekpo WITH KEY ebeln = it_zycit092-ebeln

                                  ebelp = it_zycit092-ebelp.

    IF sy-subrc EQ 0.

      CLEAR v_qtdemb.

      LOOP AT itab_zycit079_util WHERE ebeln EQ it_zycit092-ebeln

                                 AND   ebelp EQ it_zycit092-ebelp.

        v_qtdemb = v_qtdemb + itab_zycit079_util-qtd_iten.

      ENDLOOP.

    ENDIF.

    v_slqtde = itab_ekpo-menge - v_qtdemb.

      it_zycit092-slqtde = v_slqtde.

      UPDATE /pws/zycit092 SET slqtde  = it_zycit092-slqtde

                               menge   = itab_ekpo-menge

                         WHERE ebeln   = it_zycit092-ebeln

                           AND ebelp   = it_zycit092-ebelp .

    MODIFY it_zycit092.

  ENDLOOP.

ENDFORM.

FORM lock_pedido.

  data: v_msg .

  IF v_tcode NE '/PWS/ZYCI020_E' OR

     v_tcode EQ '/PWS/ZYCI020_L' OR

     v_tcode EQ '/PWS/ZYCI020_R' .

    LOOP AT itab_ekpo.

      CALL FUNCTION 'ENQUEUE_EMEKKOE'

           EXPORTING

                mode_ekko      = 'E'

                mode_ekpo      = 'E'

                mandt          = sy-mandt

                ebeln          = itab_ekpo-ebeln

                ebelp          = itab_ekpo-ebelp

                _wait          = ' '

           EXCEPTIONS

                foreign_lock   = 1

                system_failure = 2

                OTHERS         = 3.

      IF sy-subrc EQ '1'.

        IF v_tcode EQ '/PWS/ZYCI020_C'  OR

           v_tcode EQ '/PWS/ZYCI020_A'.

          v_msg = 'X'.

          v_tcode = '/PWS/ZYCI020_E'.

        ELSEIF v_tcode EQ '/PWS/ZYCI020_I'  OR

           v_tcode EQ '/PWS/ZYCI020_G'.

          v_msg = 'X'.

          v_tcode = '/PWS/ZYCI020_L'.

        ELSEIF v_tcode EQ '/PWS/ZYCI020_P'  OR

           v_tcode EQ '/PWS/ZYCI020_N'.

          v_msg = 'X'.

          v_tcode = '/PWS/ZYCI020_R'.

        ENDIF.

      ENDIF.

    ENDLOOP.

    if v_msg = 'X'.

       message I015 with text-443 text-444.

    endif.

    CLEAR   : itab_ekpo.

    REFRESH : itab_ekpo.

  ENDIF.

ENDFORM.

FORM unlock_pedido.

  IF v_tcode NE '/PWS/ZYCI020_E' OR

     v_tcode EQ '/PWS/ZYCI020_L' OR

     v_tcode EQ '/PWS/ZYCI020_R' .

    LOOP AT it_zycit079.

      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.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020I01

 

...

MODULE user_command_0001 INPUT.

  WRITE /pws/zycie078-nrseqli TO /pws/zycie078-nrseqli RIGHT-JUSTIFIED.

  OVERLAY /pws/zycie078-nrseqli WITH '0000000000'.

  CASE okcode.

    WHEN 'ENTE'.

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

      IF v_tcode EQ '/PWS/ZYCI020_A' OR

         v_tcode EQ '/PWS/ZYCI020_E'.

* << Fim da exclusão

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

      PERFORM CARREGA_DADOS.

* << Fim da inclusão

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

        SELECT SINGLE * FROM /pws/zycit078

                        INTO /pws/zycie078

               WHERE nrseqli EQ /pws/zycie078-nrseqli

                 AND tpli    EQ 'N'

                 AND flagpli NE 'X'.

        IF sy-subrc NE 0.

          MESSAGE w015 WITH text-001.

          EXIT.

        ENDIF.

        IF NOT /pws/zycie078-nrseqd IS INITIAL.

          v_salvo_drawback = 'S'.

          IF it_log[] IS INITIAL.

            v_verficado = 'S'.

          ENDIF.

        ELSE.

          CLEAR v_salvo_drawback.

        ENDIF.

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

          CLEAR /pws/zycie078-tpni.

        ENDIF.

        MOVE: /pws/zycie078 TO wa_zycit078.

        v_cgc = /pws/zycie078-cnpj.

        WRITE: v_cgc    TO v_cnpj.

        PERFORM: mask,

                 mask2.

        SELECT *

         FROM /pws/zycit079

         INTO TABLE it_zycit079

         WHERE nrseqli EQ /pws/zycie078-nrseqli

           AND tpli    = 'N'.

        CLEAR: /pws/zycie078-ntgew.

        LOOP AT it_zycit079.

          /pws/zycie078-ntgew = /pws/zycie078-ntgew + it_zycit079-ntgew.

        ENDLOOP.

        PERFORM verifica_vinculacao.

        IF NOT it_zycit079[] IS INITIAL.

          SELECT *

            FROM /pws/zycit092

            INTO TABLE it_zycit092

            FOR ALL ENTRIES IN it_zycit079

            WHERE ebeln EQ it_zycit079-ebeln

              AND ebelp EQ it_zycit079-ebelp.

        ENDIF.

        LOOP AT it_zycit079.

          READ TABLE it_zycit092 WITH KEY ebeln = it_zycit079-ebeln

                                            ebelp = it_zycit079-ebelp.

          IF sy-subrc EQ 0.

            MOVE: it_zycit092-slqtde TO it_zycit079-slqtde,

                  it_zycit092-menge  TO it_zycit079-menge.

            MODIFY it_zycit079.

          ENDIF.

        ENDLOOP.

        MOVE it_zycit079[] TO it_zycit079_aux2[].

        IF NOT /pws/zycie078-nrseqd IS INITIAL.

          MOVE it_zycit079[] TO it_zycit079_aux4[].

        ENDIF.

        LOOP AT it_zycit079.

          MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.

        ENDLOOP.

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

          SELECT SINGLE * FROM  /pws/zycit080

                          INTO  /pws/zycie080

                          WHERE nrseqli  = /pws/zycie078-nrseqli

                            AND tipoforn = 'E'.

          IF sy-subrc EQ 0.

            MOVE: /pws/zycie080       TO wa_zycit080_aux,

                  /pws/zycie080-lifnr TO v_forn.

          ENDIF.

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

          SELECT SINGLE * FROM  /pws/zycit080

                          INTO  /pws/zycie080c

                          WHERE nrseqli  = /pws/zycie078-nrseqli

                            AND tipoforn = 'E'.

          IF sy-subrc EQ 0.

            MOVE: /pws/zycie080c       TO wa_zycit080_aux4,

                  /pws/zycie080c-lifnr TO v_forn..

          ENDIF.

          SELECT SINGLE * FROM  /pws/zycit080

                          INTO  /pws/zycie080a

                          WHERE nrseqli  = /pws/zycie078-nrseqli

                            AND tipoforn = 'F'.

          IF sy-subrc EQ 0.

            MOVE: /pws/zycie080a       TO wa_zycit080_aux2,

                  /pws/zycie080a-lifnr TO v_forn2.

          ENDIF.

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

          SELECT SINGLE * FROM  /pws/zycit080

                          INTO  /pws/zycie080b

                          WHERE nrseqli  = /pws/zycie078-nrseqli

                            AND tipoforn = 'E'.

          IF sy-subrc EQ 0.

            MOVE: /pws/zycie080b       TO wa_zycit080_aux3,

                  /pws/zycie080b-lifnr TO v_forn.

          ENDIF.

        ENDIF.

        SELECT * FROM /pws/zycit081

                 INTO TABLE it_zycit081

                 WHERE nrseqli EQ /pws/zycie078-nrseqli

                   AND tpli    EQ 'N'.

        MOVE it_zycit081[] TO it_zycit081_aux[].

        LOOP AT it_zycit081.

          MOVE-CORRESPONDING it_zycit081 TO /pws/zycie081.

        ENDLOOP.

        SELECT * FROM /pws/zycit109

                 INTO TABLE it_anu2

                 WHERE nrseqli EQ /pws/zycie078-nrseqli

                   AND tpli    EQ 'N'..

        MOVE it_anu2[] TO it_anu2_aux[].

        LOOP AT it_anu2.

          MOVE-CORRESPONDING it_anu2 TO /pws/zycie109.

        ENDLOOP.

        PERFORM carrega_compl_salvo_001.

      ELSEIF  v_tcode EQ '/PWS/ZYCI020_N' OR

              v_tcode EQ '/PWS/ZYCI020_R'.

        SELECT SINGLE * FROM /pws/zycit078

                        INTO /pws/zycie078

               WHERE nrseqli = /pws/zycie078-nrseqli

                 AND tpli    = 'S'.

        IF sy-subrc NE 0.

          MESSAGE w015 WITH text-001.

          EXIT.

        ENDIF.

        MOVE: /pws/zycie078 TO wa_zycit078.

        v_cgc = /pws/zycie078-cnpj.

        WRITE: v_cgc    TO v_cnpj.

        SELECT *

         FROM /pws/zycit079

         INTO TABLE it_zycit079

         WHERE nrseqli EQ /pws/zycie078-nrseqli

           AND tpli    = 'S'.

        IF NOT it_zycit079[] IS INITIAL.

          SELECT * FROM /pws/zycit092

            INTO TABLE it_zycit092

            FOR ALL ENTRIES IN it_zycit079

            WHERE ebeln EQ it_zycit079-ebeln

              AND ebelp EQ it_zycit079-ebelp.

        ENDIF.

        LOOP AT it_zycit079.

          READ TABLE it_zycit092 WITH KEY ebeln = it_zycit079-ebeln

                                            ebelp = it_zycit079-ebelp.

          MOVE: it_zycit092-slqtde TO it_zycit079-slqtde,

                it_zycit092-menge  TO it_zycit079-menge.

          MODIFY it_zycit079.

        ENDLOOP.

        MOVE it_zycit079[] TO it_zycit079_aux2[].

        LOOP AT it_zycit079.

          MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.

        ENDLOOP.

        SELECT * FROM /pws/zycit081

                 INTO TABLE it_zycit081

                 WHERE nrseqli EQ /pws/zycie078-nrseqli

                   AND tpli    = 'S'.

        MOVE it_zycit081[] TO it_zycit081_aux[].

        LOOP AT it_zycit081.

          MOVE-CORRESPONDING it_zycit081 TO /pws/zycie081.

        ENDLOOP.

        SELECT * FROM /pws/zycit109

                 INTO TABLE it_anu2

                 WHERE nrseqli EQ /pws/zycie078-nrseqli

                   AND tpli    EQ 'S'.

        MOVE it_anu2[] TO it_anu2_aux[].

        LOOP AT it_anu2.

          MOVE-CORRESPONDING it_anu2 TO /pws/zycie109.

        ENDLOOP.

        PERFORM carrega_compl.

      ENDIF.

      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.

      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.

            PERFORM authority_empresa.

            CALL SCREEN '0100'.

          ELSE.

            PERFORM authority_empresa.

            CALL SCREEN '0100'.

          ENDIF.

        ENDIF.

      ELSEIF v_tcode = '/PWS/ZYCI020_E'.

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

          MESSAGE s015  WITH text-036.

        ENDIF.

        PERFORM authority_empresa.

        CALL SCREEN '0100'.

      ELSEIF v_tcode = '/PWS/ZYCI020_N'.

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

          v_tcode = '/PWS/ZYCI020_R'.

          MESSAGE s015 WITH text-044.

          PERFORM authority_empresa.

          CALL SCREEN '0400'.

        ELSE.

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

            v_tcode = '/PWS/ZYCI020_R'.

            MESSAGE s015 WITH text-037.

            PERFORM authority_empresa.

            CALL SCREEN '0400'.

          ELSE.

            PERFORM authority_empresa.

            CALL SCREEN '0400'.

          ENDIF.

        ENDIF.

      ELSEIF v_tcode EQ '/PWS/ZYCI020_R'.

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

          MESSAGE s015 WITH text-037.

        ENDIF.

        PERFORM authority_empresa.

        CALL SCREEN '0400'.

      ENDIF.

* << Fim da exclusão

    WHEN 'BACK' OR 'EXIT'.

      LEAVE PROGRAM.

  ENDCASE.

ENDMODULE.

MODULE altera_it_zycit079 INPUT.

...

 

...

        IF NOT editcontainer2 IS INITIAL.

          CLEAR: editor2.

          CALL METHOD editcontainer2->free.

        ENDIF.

        PERFORM unlock_record.

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

        perform unlock_pedido.

* << Fim da inclusão

        LEAVE PROGRAM.

      ENDIF.

  ENDCASE.

ENDMODULE.

MODULE user_command_0200 INPUT.

...

 

...

        SELECT * FROM /pws/zycit092

          INTO TABLE it_zycit092

          FOR ALL ENTRIES IN it_zycit079

          WHERE ebeln EQ it_zycit079-ebeln

            AND ebelp EQ it_zycit079-ebelp.

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

    PERFORM carrega_saldo.

    perform lock_pedido.

* << Fim da inclusão

      ENDIF.

      LOOP AT it_zycit079.

        READ TABLE it_zycit092 WITH KEY ebeln = it_zycit079-ebeln

                                          ebelp = it_zycit079-ebelp.

        IF sy-subrc EQ 0.

...

 

...

              IF NOT editcontainer2 IS INITIAL.

                CLEAR: editor2.

                CALL METHOD editcontainer2->free.

              ENDIF.

              PERFORM unlock_record.

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

              perform unlock_pedido.

* << Fim da inclusão

              LEAVE TO SCREEN '0002'.

            ENDIF.

          ENDIF.

        ENDIF.

        CLEAR v_resp_save.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

      FROM /pws/zycit092

      INTO TABLE it_zycit092

      FOR ALL ENTRIES IN it_zycit079

      WHERE ebeln EQ it_zycit079-ebeln

        AND ebelp EQ it_zycit079-ebelp.

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

    PERFORM carrega_saldo.

    perform lock_pedido.

* << Fim da inclusão

  ENDIF.

  PERFORM: load_saldo,

           load_urf,

           load_pais,

           load_user,

...

 

...

      FROM /pws/zycit092

      INTO TABLE it_zycit092

      FOR ALL ENTRIES IN it_zycit079

      WHERE ebeln EQ it_zycit079-ebeln

        AND ebelp EQ it_zycit079-ebelp.

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

    PERFORM carrega_saldo.

    perform lock_pedido.

* << Fim da inclusão

  ENDIF.

  PERFORM: load_saldo,

           load_cnpj,

           load_user,

           load_read_txt,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020X01

 

...

        /pws/zycit219,

        /pws/zycit242,

        /pws/zycit338,

        /pws/zycit431,

        /pws/zycie376.

* >> Início da inclusão:

DATA: BEGIN OF COMMON PART a.

* << Fim da inclusão

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.

...

 

...

       END OF it_precritica          .

DATA: itab_zycit263 LIKE /pws/zycit263 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_steuc OCCURS 0,

        steuc  LIKE /pws/zycit079-steuc1,

      END OF itab_steuc.

* >> Início da inclusão:

data: begin of itab_ekpo occurs 0.

data:   ebeln type ekpo-ebeln,

        ebelp type ekpo-ebelp,

        menge type ekpo-menge,

        bstyp type ekpo-bstyp.

data: end of itab_ekpo.

DATA: END OF COMMON PART.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI020

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 443

 

Texto: (31 caracteres)

"The order is already been used."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 443

 

Texto: (32 caracteres)

"Pedido já está sendo processado!"

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 444

 

Texto: (24 caracteres)

"Only allowed exhibition."

 

Comprimento máximo: 27

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 444

 

Texto: (27 caracteres)

"Permitida somente exibição."

 

Comprimento máximo: 27