CE PLUS - Nota 011403

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 22/08/2011 00:00:00

Data/Hora Última Alteração: 30/07/2012 13:40:04

Descrição da Nota: INBOUND DELIVERY - DESENVOLVIMENTO ADICIONAL

Sintoma

Quando o pedido possui controle de confirmação não é possível fazer o recebimento físico (MIGO)

através do Pw.Ce.

 

 

Solução

Ajuste no recebimento físico (MIGO) para incluir o inbound delivery.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

VERIFICA CATEGORIA DE CERTIFICADO NO PEDIDO DE COMPRA

TRATAMENTO DE CAMPOS DE VENDA NA MR22

Informações Complementares

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

Nota Número 11403 Data: 22/08/2011 Hora: 13:32:41

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

 

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

Nota Número              : 11403

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00008

Agrupamento              : 00083

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

Referência às notas relacionadas:

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

 

11355  - 00001 - 8.0    - 00008  - TRATAMENTO DE CAMPOS DE VENDA NA MR22

11356  - 00002 - 8.0    - 00008  - VERIFICA CATEGORIA DE CERTIFICADO NO PEDIDO DE COMPRA

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

INBOUND DELIVERY - DESENVOLVIMENTO ADICIONAL

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

Palavras Chave:

INBOUND DELIVERY - RECEBIMENTO - FORNECIMENTO

 

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

Objetos da nota:

CUAD /PWS/SAPMZYCI017

CUAD /PWS/SAPMZYCI080

DYNP /PWS/SAPMZYCI017                        0114

DYNP /PWS/SAPMZYCI080                        0114

FUNC /PWS/ZYCI_INBOUND

FUNC /PWS/ZYCI_INBOUND_DELIVERY

FUNC /PWS/ZYCI_TRANSACAO_MIGO

REPS /PWS/LZYCIGF2UXX

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI017I01

REPS /PWS/MZYCI017O01

REPS /PWS/MZYCI017OO

REPS /PWS/MZYCI017TOP

REPS /PWS/MZYCI017X01

REPS /PWS/MZYCI080F01

REPS /PWS/MZYCI080I01

REPS /PWS/MZYCI080O01

REPS /PWS/MZYCI080TOP

REPS /PWS/MZYCI080X01

REPT /PWS/SAPLZYCIGF2

REPT /PWS/SAPMZYCI017

REPT /PWS/SAPMZYCI080

TABL /PWS/ZYCIE511

TABL /PWS/ZYCIT511

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCI017

 

CRIAR O BOTÃO INBOUND DELIVERY NOS STATUS 0100 E 0200

STATUS: 0100 E 0200

 

CRIAR UM BOTÃO NA BARRA DE BOTÕES: INBOUND

 

Código de função        INBOUND

Texto de função         Inbound Delivery

Nome de ícone           ICON_DELIVERY

 

TECLAS DE FUNÇÃO:

Shift-F12                      INBOUND    Inbound Delivery

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCI080

 

CRIAR O BOTÃO INBOUND DELIVERY NO STATUS 0200

STATUS: 0200

 

CRIAR UM BOTÃO NA BARRA DE BOTÕES: INBOUND

 

Código de função        INBOUND

Texto de função         Inbound Delivery

Nome de ícone           ICON_DELIVERY

 

TECLAS DE FUNÇÃO:

Shift-F12                      INBOUND    Inbound Delivery

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI017                        0114

 

INCLUIR CX.DIÁLOGO 0114

Descrição                Inbound Delivery

Tela seguinte            0114

Altura atual (linhas)    15

Largura atual (colunas)  24

 

INCLUIR CONTROLE DE TABELA "TC_INB"

Altura                   13

Comprimento Visível      20

Linha                    1

Coluna                   2

 

INCLUIR TEXTO "/PWS/ZYCIE511-INBOUND_DELIVERY" em tbl.contr./tabstr.

Altura                   12

Comprimento Visível      15

Linha                    1

Coluna                   1

Formato                  CHAR

Texto                    Fornecimento

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE511-INBOUND_DELIVERY" em tbl.contr./tabst

Altura                   12

Comprimento Visível      10

Linha                    1

Coluna                   1

Formato                  CHAR

Linhas mínimas           10

Texto                    __________

Código função

 

INCLUIR BOTÃO "%#AUTOTEXT001"

Altura                   6

Comprimento Visível      10

Linha                    14

Coluna                   2

Formato                  CHAR

Texto                    @2L@

Código função            OKAY

 

INCLUIR BOTÃO "%#AUTOTEXT002"

Altura                   6

Comprimento Visível      11

Linha                    14

Coluna                   9

Formato                  CHAR

Texto                    @0W@

Código função            CANCEL

 

INCLUIR BOTÃO "%#AUTOTEXT003"

Altura                   6

Comprimento Visível      11

Linha                    14

Coluna                   16

Formato                  CHAR

Texto                    @11@

Código função            DEL

 

INCLUIR OKCODE ""

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0114

* >> Início da inclusão:

PROCESS BEFORE OUTPUT.

  MODULE status_0114.

  LOOP AT itab_zycit511 WITH CONTROL tc_inb

     CURSOR tc_inb-current_line.

    MODULE alimenta_zycie511.

  ENDLOOP.

PROCESS AFTER INPUT.

  LOOP AT itab_zycit511.

    MODULE alimenta_itab_zycit511.

  ENDLOOP.

  MODULE user_command_0114.

* << Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI080                        0114

 

INCLUIR CX.DIÁLOGO 0114

Descrição                Inbound Delivery

Tela seguinte            0114

Altura atual (linhas)    15

Largura atual (colunas)  24

 

INCLUIR CONTROLE DE TABELA "TC_INB"

Altura                   13

Comprimento Visível      20

Linha                    1

Coluna                   2

 

INCLUIR TEXTO "/PWS/ZYCIE511-INBOUND_DELIVERY" em tbl.contr./tabstr.

Altura                   12

Comprimento Visível      15

Linha                    1

Coluna                   1

Formato                  CHAR

Texto                    Fornecimento

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE511-INBOUND_DELIVERY" em tbl.contr./tabst

Altura                   12

Comprimento Visível      10

Linha                    1

Coluna                   1

Formato                  CHAR

Linhas mínimas           10

Texto                    __________

Código função

 

INCLUIR BOTÃO "%#AUTOTEXT001"

Altura                   6

Comprimento Visível      10

Linha                    14

Coluna                   2

Formato                  CHAR

Texto                    @2L@

Código função            OKAY

 

INCLUIR BOTÃO "%#AUTOTEXT002"

Altura                   6

Comprimento Visível      11

Linha                    14

Coluna                   9

Formato                  CHAR

Texto                    @0W@

Código função            CANCEL

 

INCLUIR BOTÃO "%#AUTOTEXT003"

Altura                   6

Comprimento Visível      11

Linha                    14

Coluna                   16

Formato                  CHAR

Texto                    @11@

Código função            DEL

 

INCLUIR OKCODE ""

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0114

* >> Início da inclusão:

PROCESS BEFORE OUTPUT.

  MODULE status_0114.

  LOOP AT itab_zycit511 WITH CONTROL tc_inb

     CURSOR tc_inb-current_line.

    MODULE alimenta_zycie511.

  ENDLOOP.

PROCESS AFTER INPUT.

  LOOP AT itab_zycit511.

    MODULE alimenta_itab_zycit511.

  ENDLOOP.

  MODULE user_command_0114.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_INBOUND

 

CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCI_INBOUND

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCIGF2

TEXTO BREVE: Inbound Delivery

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

     (X) - INÍCIO IMEDIATO

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA

INBOUND TYPE CHAR1

 

TABELAS:

NOME PARAM.   ATRIB.

T_EKPO LIKE EKPO

 

* >> Início da inclusão:

FUNCTION /pws/zyci_inbound.

  DATA: BEGIN OF lt_ekpo OCCURS 0,

          ebeln TYPE ekpo-ebeln,

          ebelp TYPE ekpo-ebelp,

          bstae TYPE ekpo-bstae,

        END OF lt_ekpo.

  DATA: BEGIN OF lt_t163g OCCURS 0,

          bstae TYPE t163g-bstae,

          blfdn TYPE t163g-blfdn,

          wezuo TYPE t163g-wezuo,

        END OF lt_t163g.

  CLEAR: inbound, lt_ekpo[], lt_ekpo, lt_t163g[], lt_t163g.

  IF NOT t_ekpo[] IS INITIAL.

    SELECT ebeln ebelp bstae

       FROM ekpo

       INTO TABLE lt_ekpo

       FOR ALL ENTRIES IN t_ekpo

       WHERE ebeln = t_ekpo-ebeln

         AND ebelp = t_ekpo-ebelp.

    DELETE lt_ekpo WHERE bstae = '    '.

    IF NOT lt_ekpo[] IS INITIAL.

      SELECT bstae blfdn wezuo

        FROM t163g

        INTO TABLE lt_t163g

        FOR ALL ENTRIES IN lt_ekpo

        WHERE bstae = lt_ekpo-bstae.

      DELETE lt_t163g WHERE wezuo = ' '.

      IF NOT lt_t163g[] IS INITIAL.

        inbound = 'X'.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_INBOUND_DELIVERY

 

CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCI_INBOUND_DELIVERY

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCIGF2

TEXTO BREVE: Validação do Inbound Delivery

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

     (X) - INÍCIO IMEDIATO

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA

NF_REMESSA TYPE CHAR1

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL

T_ZYCIT042 LIKE /PWS/ZYCIT042       X

T_ZYCIT044 LIKE /PWS/ZYCIT044       X

T_ZYCIT511 LIKE /PWS/ZYCIT511

T_EKES        LIKE EKES                X

T_ZYCIT032 LIKE /PWS/ZYCIT032       X

 

 

* >> Início da inclusão:

FUNCTION /pws/zyci_inbound_delivery.

  DATA: lv_menge    TYPE ekes-menge,

        lv_qtd_iten TYPE /pws/zycit042-qtd_iten.

  DATA: BEGIN OF lt_ekpo OCCURS 0,

          ebeln TYPE ekpo-ebeln,

          ebelp TYPE ekpo-ebelp,

          bstae TYPE ekpo-bstae,

        END OF lt_ekpo.

  DATA: BEGIN OF lt_t163g OCCURS 0,

          bstae TYPE t163g-bstae,

          blfdn TYPE t163g-blfdn,

          wezuo TYPE t163g-wezuo,

        END OF lt_t163g.

  CLEAR: t_ekes, t_ekes[], lv_menge, lv_qtd_iten, lt_ekpo, lt_ekpo[],

         lt_t163g, lt_t163g[], t_zycit032, t_zycit032[].

  IF nf_remessa IS INITIAL.

    SELECT ebeln ebelp bstae

       FROM ekpo

       INTO TABLE lt_ekpo

       FOR ALL ENTRIES IN t_zycit042

       WHERE ebeln = t_zycit042-ebeln

         AND ebelp = t_zycit042-ebelp.

  ELSE.

    SELECT ebeln ebelp bstae

       FROM ekpo

       INTO TABLE lt_ekpo

       FOR ALL ENTRIES IN t_zycit044

       WHERE ebeln = t_zycit044-ebeln

         AND ebelp = t_zycit044-ebelp.

  ENDIF.

  READ TABLE lt_ekpo WITH KEY bstae = '    '.

  IF sy-subrc EQ 0.

    CONCATENATE text-061 text-062 INTO t_zycit032-msg

                                                  SEPARATED BY space.

    APPEND t_zycit032.

    EXIT.

  ENDIF.

  DELETE lt_ekpo WHERE bstae = '    '.

  IF NOT lt_ekpo[] IS INITIAL.

    SELECT bstae blfdn wezuo

      FROM t163g

      INTO TABLE lt_t163g

      FOR ALL ENTRIES IN lt_ekpo

      WHERE bstae = lt_ekpo-bstae.

    READ TABLE lt_t163g WITH KEY wezuo = ' '.

    IF sy-subrc EQ 0.

      CONCATENATE text-063 text-062 INTO t_zycit032-msg

                                                    SEPARATED BY space.

      APPEND t_zycit032.

      EXIT.

    ENDIF.

  ENDIF.

  IF NOT t_zycit032[] IS INITIAL.

    EXIT.

  ENDIF.

  IF nf_remessa IS INITIAL.

    SELECT * FROM ekes INTO TABLE t_ekes

       FOR ALL ENTRIES IN t_zycit042

       WHERE ebeln = t_zycit042-ebeln

         AND ebelp = t_zycit042-ebelp.

  ELSE.

    SELECT * FROM ekes INTO TABLE t_ekes

       FOR ALL ENTRIES IN t_zycit044

       WHERE ebeln = t_zycit044-ebeln

         AND ebelp = t_zycit044-ebelp.

  ENDIF.

  LOOP AT t_zycit511.

    READ TABLE t_ekes WITH KEY vbeln = t_zycit511-inbound_delivery.

    IF sy-subrc NE 0.

      CONCATENATE text-060 t_zycit511-inbound_delivery

                                 INTO t_zycit032-msg

                                 SEPARATED BY space.

      APPEND t_zycit032.

    ENDIF.

  ENDLOOP.

  IF NOT t_zycit032[] IS INITIAL.

    EXIT.

  ENDIF.

  CLEAR: t_ekes, t_ekes[].

  SELECT * FROM ekes INTO TABLE t_ekes

     FOR ALL ENTRIES IN t_zycit511

     WHERE vbeln = t_zycit511-inbound_delivery.

  DELETE t_ekes WHERE dabmg <> '0.000'.

  IF nf_remessa IS INITIAL.

    LOOP AT t_zycit042.

      CLEAR: lv_menge, lv_qtd_iten.

      lv_qtd_iten = t_zycit042-qtd_iten.

      LOOP AT t_ekes WHERE ebeln = t_zycit042-ebeln

                       AND ebelp = t_zycit042-ebelp.

        lv_menge = lv_menge + t_ekes-menge.

      ENDLOOP.

      IF lv_menge <> lv_qtd_iten.

        t_zycit032-msg = text-059.

        APPEND t_zycit032.

        EXIT.

      ENDIF.

    ENDLOOP.

  ELSE.

    LOOP AT t_zycit044.

      CLEAR: lv_menge, lv_qtd_iten.

      lv_qtd_iten = t_zycit044-qtd_item.

      LOOP AT t_ekes WHERE ebeln = t_zycit044-ebeln

                       AND ebelp = t_zycit044-ebelp.

        lv_menge = lv_menge + t_ekes-menge.

      ENDLOOP.

      IF lv_menge <> lv_qtd_iten.

        t_zycit032-msg = text-059.

        APPEND t_zycit032.

        EXIT.

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_MIGO

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCI_TRANSACAO_MIGO

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB.   TIPO REFERÊNCIA   OPCIONAL    TRANSF.

INBOUND       TYPE     CHAR1             X           X

 

...

    v_data_doc_char(10)  TYPE c,

    v_data_lanc_char(10) TYPE c,

    v_time(8)            TYPE c,

    v_anzgeb(7)         TYPE c,

    v_gebeh(03)          TYPE c,

    v_vfdat(08)          TYPE c,

    v_hsdat(08)          TYPE c,

    v_ok                 TYPE c.

  DATA: v_land1 LIKE t001-land1.

  DATA: v_active_popup TYPE esdus-active.

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

  DATA: BEGIN OF lt_ekes OCCURS 0,

          vbeln TYPE ekes-vbeln,

        END OF lt_ekes.

  CLEAR: lt_ekes, lt_ekes[].

* << Fim da inclusão

  CLEAR v_ok.

  READ TABLE t_dados INDEX 1.

  IF sy-subrc EQ 0.

    SELECT SINGLE land1 FROM t001 INTO v_land1

      WHERE bukrs = t_dados-bukrs .

    SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000

      WHERE land1 = t001-land1

      AND   oil   = 'X'.

  ENDIF.

  IF sy-subrc = 0.

...

 

...

  ENDIF.

  LOOP AT t_dados.

    CHECK t_dados-tcode = 'MIGO'.

    CHECK NOT t_zycit031[] IS INITIAL.

    v_transacao = 'MIGO'.

    PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

    PERFORM bdc_field  USING: 'BDC_CURSOR' 'GODYNPRO-ACTION',

                              'GODYNPRO-ACTION' 'A01',

                              'BDC_OKCODE'      '=MIGO_OK_ACTION'.

    PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

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

    IF inbound EQ 'X'.

* << Fim da inclusão

    PERFORM bdc_field  USING: 'BDC_CURSOR' 'GODYNPRO-REFDOC',

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

                                'GODYNPRO-REFDOC' 'R04',

                                'BDC_OKCODE'      '=MIGO_OK_REFDOC'.

    ELSE.

      PERFORM bdc_field  USING: 'BDC_CURSOR' 'GODYNPRO-REFDOC',

* << Fim da inclusão

                              'GODYNPRO-REFDOC' 'R01',

                              'BDC_OKCODE'      '=MIGO_OK_REFDOC'.

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

    ENDIF.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

    IF NOT t_dados-bwartwe IS INITIAL.

      PERFORM bdc_field  USING: 'GODEFAULT_TV-BWART' t_dados-bwartwe.

    ENDIF.

    PERFORM bdc_field  USING: 'BDC_OKCODE' '=MIGO_OK_HEADER_OPEN'.

    IF NOT t_dados-bwartwe IS INITIAL.

      CLEAR: v_active_popup.

      SELECT SINGLE active FROM esdus INTO v_active_popup

      WHERE uname   = sy-uname

        AND action  = 'MIGO_TIPS'

...

 

...

           'GOHEAD-BKTXT'    t_dados-bktxt,

           'GOHEAD-LFSNR'    t_dados-lfsnr,

           'GOHEAD-BLDAT'    v_data_doc_char,

           'GOHEAD-BUDAT'    v_data_lanc_char.

    IF NOT t_dados-xabln IS INITIAL.

      PERFORM bdc_field  USING:

           'GOHEAD-XABLN'    t_dados-xabln.

    ENDIF.

    PERFORM bdc_field  USING:

           'BDC_OKCODE'      '=OK_GO'.

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

    IF inbound EQ 'X'.

      LOOP AT t_zycit031.

        lt_ekes-vbeln = t_zycit031-vbeln.

        APPEND lt_ekes.

      ENDLOOP.

      SORT lt_ekes.

      DELETE ADJACENT DUPLICATES FROM lt_ekes.

      LOOP AT lt_ekes.

        PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

        PERFORM bdc_field USING:

            'BDC_OKCODE'                 '=OK_GO',

            'BDC_CURSOR'                 'GODYNPRO-INBOUND_DELIVERY',

            'GODYNPRO-INBOUND_DELIVERY'  lt_ekes-vbeln.

        IF v_ok = 'S'.

          PERFORM bdc_field USING:

           'GOHEAD-OIB_BLTIME'   v_time.

        ENDIF.

      ENDLOOP.

    ELSE.

* << Fim da inclusão

    LOOP AT t_zycit031 WHERE tcode  = t_dados-tcode

                         AND tabela = t_dados-tabela

                         AND cpochv = t_dados-cpochv.

      PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

      PERFORM bdc_field USING:

          'BDC_OKCODE'          '=OK_GO',

          'BDC_CURSOR'          'GODYNPRO-PO_NUMBER',

          'GODYNPRO-PO_NUMBER'  t_zycit031-ebeln,

          'GODYNPRO-PO_ITEM'    t_zycit031-ebelp.

      IF v_ok = 'S'.

        PERFORM bdc_field USING:

         'GOHEAD-OIB_BLTIME'   v_time.

      ENDIF.

    ENDLOOP.

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

    ENDIF.

* << Fim da inclusão

    DESCRIBE TABLE t_zycit031 LINES v_nline.

    v_srows = sy-srows.

    IF v_srows < 15.

      v_srows = 15.

    ENDIF.

    v_srows = v_srows - 13.

    CLEAR v_nreg.

    PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

    PERFORM bdc_field USING  'BDC_CURSOR' 'GOITEM-TAKE_IT(01)'.

    LOOP AT t_zycit031 WHERE tcode  = t_dados-tcode

...

 

...

    ENDLOOP.

    CLEAR v_indice.

    PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

    PERFORM bdc_field  USING 'BDC_OKCODE' '=MIGO_OK_DETAIL_OPEN'.

    LOOP AT t_zycit031 WHERE tcode  = t_dados-tcode

                         AND tabela = t_dados-tabela

                         AND cpochv = t_dados-cpochv.

      ADD 1 TO v_nreg.

      ADD 1 TO v_indice.

      PERFORM bdc_screen USING  'SAPLMIGO'   '0001'.

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

      IF inbound EQ 'X'.

      PERFORM bdc_field USING: 'BDC_CURSOR' 'GODYNPRO-INBOUND_DELIVERY',

                                                  'BDC_OKCODE' '=OK_GO'.

      ELSE.

* << Fim da inclusão

      PERFORM bdc_field USING:  'BDC_CURSOR' 'GODYNPRO-PO_NUMBER',

                                'BDC_OKCODE' '=OK_GO'.

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

      ENDIF.

* << Fim da inclusão

      PERFORM bdc_screen USING  'SAPLMIGO'   '0001'.

      PERFORM bdc_field USING:  'BDC_CURSOR' 'GODYNPRO-DETAIL_ZEILE',

                                'GODYNPRO-DETAIL_ZEILE' v_indice,

                                'BDC_OKCODE' '=OK_GO'.

      LOOP AT t_zycit505 WHERE ebeln EQ t_zycit031-ebeln

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2UXX

 

...

* >> Início da inclusão:

INCLUDE /PWS/LZYCIGF2U54.

INCLUDE /PWS/LZYCIGF2U55.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

FORM chamar_nfremessa.

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

  DATA: lt_ekpo TYPE ekpo OCCURS 0 WITH HEADER LINE.

  CLEAR: v_inbound.

* << Fim da inclusão

...

 

...

          ENDIF.

        ENDON.

      ENDLOOP.

      SELECT * FROM /pws/zycit003

        INTO TABLE itab_zycit003

        FOR ALL ENTRIES IN itab_zycit044

        WHERE nrseq = itab_zycit044-nrseq

          AND ebeln = itab_zycit044-ebeln

          AND ebelp = itab_zycit044-ebelp.

    ENDIF.

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

    LOOP AT itab_zycit044.

      lt_ekpo-ebeln = itab_zycit044-ebeln.

      lt_ekpo-ebelp = itab_zycit044-ebelp.

      APPEND lt_ekpo.

    ENDLOOP.

    CLEAR: lt_ekpo.

    CALL FUNCTION '/PWS/ZYCI_INBOUND'

         IMPORTING

              inbound = v_inbound

         TABLES

              t_ekpo  = lt_ekpo.

* << Fim da inclusão

    SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.

    SELECT SINGLE *

      FROM /pws/zycit000

      INTO wa_zycit000

      WHERE land1 EQ t001-land1.

    gc_subscreen-prog = '0200'.

    PERFORM lock_record.

    CALL SCREEN  '0050'.

    PERFORM unlock_pedido.

  ELSE.

    MESSAGE s015 WITH text-013.

  ENDIF.

ENDFORM.

...

 

...

FORM chamar_nfglobal.

  DATA: v_nrseq LIKE /pws/zycit041-nrseq.

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

  DATA: lt_ekpo TYPE ekpo OCCURS 0 WITH HEADER LINE.

  CLEAR: v_inbound.

* << Fim da inclusão

...

 

...

                      subser = itab_zycit042-subser

              WHERE nrseq    = itab_zycit042-nrseq AND

                    nrseqnf  = itab_zycit042-nrseqnf AND

                    ebeln    = itab_zycit042-ebeln AND

                    ebelp    = itab_zycit042-ebelp AND

                    nfglobal = itab_zycit042-nfglobal.

          ENDIF.

        ENDON.

      ENDLOOP.

    ENDIF.

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

    LOOP AT itab_zycit042.

      lt_ekpo-ebeln = itab_zycit042-ebeln.

      lt_ekpo-ebelp = itab_zycit042-ebelp.

      APPEND lt_ekpo.

    ENDLOOP.

    CLEAR: lt_ekpo.

    CALL FUNCTION '/PWS/ZYCI_INBOUND'

         IMPORTING

              inbound = v_inbound

         TABLES

              t_ekpo  = lt_ekpo.

* << Fim da inclusão

    SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.

    SELECT SINGLE *

      FROM /pws/zycit000

      INTO wa_zycit000

      WHERE land1 EQ t001-land1.

    gv_subscreen_0050 = '0100'.

    gc_subscreen-prog = '0100'.

    PERFORM lock_pedido.

    PERFORM lock_record.

    CALL SCREEN  '0050'.

    PERFORM unlock_pedido.

  ELSE.

    MESSAGE s015 WITH text-013.

  ENDIF.

ENDFORM.

...

 

...

FORM executar_evento.

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

  DATA: lv_erro.

  CLEAR: lv_erro.

* << Fim da inclusão

  CASE okcode.

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

    WHEN 'INBOUND'.

      CLEAR: itab_zycit511[], itab_zycit511.

      IF v_existe_nfr NE 'S'.

        SELECT * FROM /pws/zycit511

           INTO TABLE itab_zycit511

           WHERE nrseqnf   = /pws/zycie041-nrseq

             AND nrseq     = /pws/zycit001-nrseq

             AND nfglobal  = /pws/zycie041-nfglobal

             AND docnum    = /pws/zycie041-docnum.

      ELSE.

        SELECT * FROM /pws/zycit511

           INTO TABLE itab_zycit511

           WHERE nrseqnf   = /pws/zycie043-nrseq

             AND nrseq     = /pws/zycit001-nrseq

             AND nfglobal  = /pws/zycie043-nfglobal

             AND nfremessa = /pws/zycie043-nfremessa

             AND docnum    = /pws/zycie043-docnum.

      ENDIF.

      CALL SCREEN '0114' STARTING AT 10 2.

* << Fim da inclusão

...

 

...

      CALL METHOD html_control->go_forward.

    WHEN 'P-'.

      tc_itens_nfg-top_line = tc_itens_nfg-top_line - 7.

    WHEN 'P--'.

     tc_itens_nfg-top_line = tc_itens_nfg-top_line - tc_itens_nfg-lines.

    WHEN 'P+'.

      tc_itens_nfg-top_line = tc_itens_nfg-top_line + 7.

    WHEN 'P++'.

     tc_itens_nfg-top_line = tc_itens_nfg-top_line + tc_itens_nfg-lines.

    WHEN 'RECEB'.

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

      IF v_inbound EQ 'X'.

        PERFORM verifica_inbound CHANGING lv_erro.

        IF lv_erro EQ 'X'.

          EXIT.

        ENDIF.

      ENDIF.

* << Fim da inclusão

...

 

...

        AND ebelp = itab_itens_nf-ebelp.

  ENDIF.

  IF NOT itab_itens_nf[] IS INITIAL.

    SELECT ebeln ebelp zgtyp FROM ekpo

      INTO TABLE itab_cert

       FOR ALL ENTRIES IN itab_itens_nf

      WHERE ebeln EQ itab_itens_nf-ebeln

        AND ebelp EQ itab_itens_nf-ebelp.

  ENDIF.

  FREE itab_zycit031.

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

  IF v_inbound EQ 'X'.

    LOOP AT itab_ekes.

      READ TABLE itab_itens_nf WITH KEY ebeln = itab_ekes-ebeln

                                        ebelp = itab_ekes-ebelp.

      itab_zycit031-tcode  = itab_zycie033-tcode.

      itab_zycit031-tabela = itab_zycie033-tabela.

      itab_zycit031-cpochv = itab_zycie033-cpochv.

      itab_zycit031-ebeln  = itab_itens_nf-ebeln.

      itab_zycit031-ebelp  = itab_itens_nf-ebelp.

      itab_zycit031-lgort  = itab_itens_nf-lgort.

      itab_zycit031-vbeln  = itab_ekes-vbeln.

      itab_zycit031-menge  = itab_ekes-menge.

      CLEAR: itab_cert, v_cert_ativ.

      READ TABLE itab_cert

            WITH KEY ebeln = itab_itens_nf-ebeln

                     ebelp = itab_itens_nf-ebelp.

      IF sy-subrc EQ 0 AND NOT itab_cert-zgtyp IS INITIAL.

        CALL FUNCTION 'QBCK_MIGO_CERT_REL_CHECK'

             EXPORTING

                  i_tq05_zgtyp  = itab_cert-zgtyp

             IMPORTING

                  e_cert_active = v_cert_ativ

             EXCEPTIONS

                  OTHERS        = 1.

        IF sy-subrc EQ 0 AND v_cert_ativ EQ 'X'.

          itab_zycit031-answer = 'J'.

        ENDIF.

      ENDIF.

      IF NOT itab_serie[] IS INITIAL.

        CLEAR itab_serie.

        READ TABLE itab_serie WITH KEY ebeln = itab_itens_nf-ebeln

                                       ebelp = itab_itens_nf-ebelp.

        IF NOT itab_serie-sernp IS INITIAL.

          itab_zycit031-sernp = 'X'.

        ENDIF.

      ENDIF.

      APPEND itab_zycit031.

      CLEAR itab_zycit031.

    ENDLOOP.

  ELSE.

* << Fim da inclusão

  LOOP AT itab_itens_nf.

    itab_zycit031-tcode  = itab_zycie033-tcode.

    itab_zycit031-tabela = itab_zycie033-tabela.

    itab_zycit031-cpochv = itab_zycie033-cpochv.

    itab_zycit031-ebeln  = itab_itens_nf-ebeln.

    itab_zycit031-ebelp  = itab_itens_nf-ebelp.

    itab_zycit031-menge  = itab_itens_nf-qtd_item.

    itab_zycit031-lgort  = itab_itens_nf-lgort.

    CLEAR: itab_cert, v_cert_ativ.

    READ TABLE itab_cert

...

 

...

      CLEAR itab_serie.

      READ TABLE itab_serie WITH KEY ebeln = itab_itens_nf-ebeln

                                     ebelp = itab_itens_nf-ebelp.

      IF NOT itab_serie-sernp IS INITIAL.

        itab_zycit031-sernp = 'X'.

      ENDIF.

    ENDIF.

    APPEND itab_zycit031.

    CLEAR itab_zycit031.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

  IF v_existe_nfr NE 'S'.

    IF NOT itab_itens_nf[] IS INITIAL.

      SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223

         FOR ALL ENTRIES IN itab_itens_nf

         WHERE nrseq     = itab_itens_nf-nrseq    AND

               nrseqnf   = itab_itens_nf-nrseqnf  AND

               nfglobal  = itab_itens_nf-nfglobal AND

               ebelp     = itab_itens_nf-ebelp    AND

               ebeln     = itab_itens_nf-ebeln    AND

               nfremessa = space.

...

 

...

        itab_zycit031_aux-lgort  = itab_zycit031-lgort .

        APPEND itab_zycit031_aux.

      ENDLOOP.

    ENDLOOP.

    LOOP AT itab_zycit031_aux.

      MOVE itab_zycit031_aux TO itab_zycit031.

      APPEND itab_zycit031.

    ENDLOOP.

  ENDIF.

  v_merc = 'X'.

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

  IF v_inbound EQ 'X'.

    v_merc = '1'.

  ENDIF.

* << Fim da inclusão

  SET PARAMETER ID '/PWS/ZYCIP005' FIELD v_merc.

  CALL CUSTOMER-FUNCTION '003'

    EXPORTING

      nrseq    = itab_itens_nf-nrseq

    TABLES

      itab     = itab_zycit031.

  LOOP AT itab_zycit504.

    itab_zycit505-matnr = itab_zycit504-matnr.

    itab_zycit505-ebeln = itab_zycit504-ebeln.

    itab_zycit505-ebelp = itab_zycit504-ebelp.

...

 

...

                                        IF FOUND     .

      IF e_subrc EQ '8'.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  IF e_subrc = 0.

    CALL FUNCTION '/PWS/ZYCI_TRANSACAO_MIGO'

         EXPORTING

              v_modo          = v_modo_bi

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

              inbound         = v_inbound

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycie033

              t_campo         = itab_zycit034

              t_zycit032      = itab_zycit032

              t_zycit031      = itab_zycit031

              t_zycit505      = itab_zycit505

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 3.

  ENDIF.

...

 

...

* >> Início da inclusão:

FORM verifica_inbound CHANGING p_erro.

  CLEAR: itab_zycit511[], itab_zycit511, itab_ekes, itab_ekes[].

  IF v_existe_nfr NE 'S'.

    SELECT * FROM /pws/zycit511

       INTO TABLE itab_zycit511

       WHERE nrseqnf   = /pws/zycie041-nrseq

         AND nrseq     = /pws/zycit001-nrseq

         AND nfglobal  = /pws/zycie041-nfglobal

         AND docnum    = /pws/zycie041-docnum.

  ELSE.

    SELECT * FROM /pws/zycit511

       INTO TABLE itab_zycit511

       WHERE nrseqnf   = /pws/zycie043-nrseq

         AND nrseq     = /pws/zycit001-nrseq

         AND nfglobal  = /pws/zycie043-nfglobal

         AND nfremessa = /pws/zycie043-nfremessa

         AND docnum    = /pws/zycie043-docnum.

  ENDIF.

  IF NOT itab_zycit511[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCI_INBOUND_DELIVERY'

         EXPORTING

              nf_remessa = v_existe_nfr

         TABLES

              t_zycit042 = itab_zycit042

              t_zycit044 = itab_zycit044

              t_zycit511 = itab_zycit511

              t_ekes     = itab_ekes

              t_zycit032 = itab_zycit032.

    IF NOT itab_zycit032[] IS INITIAL.

      p_erro = 'X'.

      CLEAR okcode.

      LOOP AT itab_zycit032.

        MESSAGE i015 WITH itab_zycit032-msg+0(50)

                          itab_zycit032-msg+50(50).

      ENDLOOP.

    ENDIF.

  ELSE.

    p_erro = 'X'.

    CLEAR okcode.

    MESSAGE e015 WITH text-277.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI017I01

 

...

* >> Início da inclusão:

MODULE user_command_0114 INPUT.

  DELETE itab_zycit511 WHERE inbound_delivery = '          '.

  IF sy-ucomm EQ 'CANCEL'.

    LEAVE TO SCREEN 0.

  ELSEIF sy-ucomm EQ 'OKAY'.

    IF NOT itab_zycit511[] IS INITIAL.

      READ TABLE itab_zycit511 INDEX 1.

      DELETE FROM /pws/zycit511 WHERE nrseqnf = itab_zycit511-nrseqnf

                                AND nrseq     = itab_zycit511-nrseq

                                AND nfglobal  = itab_zycit511-nfglobal

                                AND nfremessa = itab_zycit511-nfremessa

                                AND docnum    = itab_zycit511-docnum.

      MODIFY /pws/zycit511 FROM TABLE itab_zycit511.

      COMMIT WORK AND WAIT.

      LEAVE TO SCREEN 0.

    ENDIF.

  ELSEIF sy-ucomm EQ 'DEL'.

    IF NOT itab_zycit511[] IS INITIAL.

      READ TABLE itab_zycit511 INDEX 1.

      DELETE FROM /pws/zycit511 WHERE nrseqnf = itab_zycit511-nrseqnf

                                AND nrseq     = itab_zycit511-nrseq

                                AND nfglobal  = itab_zycit511-nfglobal

                                AND nfremessa = itab_zycit511-nfremessa

                                AND docnum    = itab_zycit511-docnum.

      COMMIT WORK AND WAIT.

      CLEAR: itab_zycit511, itab_zycit511[].

      LEAVE TO SCREEN 0.

    ENDIF.

  ENDIF.

ENDMODULE.

MODULE alimenta_itab_zycit511 INPUT.

  itab_zycit511-inbound_delivery = /pws/zycie511-inbound_delivery.

  IF v_existe_nfr NE 'S'.

    itab_zycit511-nrseqnf   = /pws/zycie041-nrseq.

    itab_zycit511-nrseq     = /pws/zycit001-nrseq.

    itab_zycit511-nfglobal  = /pws/zycie041-nfglobal.

    itab_zycit511-docnum    = /pws/zycie041-docnum.

  ELSE.

    itab_zycit511-nrseqnf   = /pws/zycie043-nrseq.

    itab_zycit511-nrseq     = /pws/zycit001-nrseq.

    itab_zycit511-nfglobal  = /pws/zycie043-nfglobal.

    itab_zycit511-nfremessa = /pws/zycie043-nfremessa.

    itab_zycit511-docnum    = /pws/zycie043-docnum.

  ENDIF.

  MODIFY itab_zycit511 INDEX tc_inb-current_line.

  IF sy-subrc NE 0.

    APPEND itab_zycit511.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI017O01

 

...

          it_code-fcode = 'SERIE'. APPEND it_code.

        ENDIF.

        it_code-fcode = 'REPL'. APPEND it_code.

        it_code-fcode = 'LOTE'. APPEND it_code.

        it_code-fcode = 'ESTOR'. APPEND it_code.

        it_code-fcode = 'RECEB'. APPEND it_code.

        SET PF-STATUS '0200' EXCLUDING it_code.

        SET TITLEBAR '0200'.

      ELSE.

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

        IF NOT /pws/zycie043-belnr_mr1m IS INITIAL.

          itab_pf_status-fcode = 'INBOUND'.

          APPEND itab_pf_status.

        ELSEIF v_inbound IS INITIAL.

          itab_pf_status-fcode = 'INBOUND'.

          APPEND itab_pf_status.

        ENDIF.

* << Fim da inclusão

...

 

...

        ENDIF.

        READ TABLE itab_zycit044 WITH KEY serie = 'X'.

        IF sy-subrc NE 0.

          itab_pf_status-fcode = 'SERIE'. APPEND itab_pf_status.

        ENDIF.

        SET PF-STATUS '0200' EXCLUDING itab_pf_status .

        SET TITLEBAR '0200_A'.

      ENDIF.

      gv_subscreen_0050 = '0200'.

    WHEN '0100'.

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

      IF NOT /pws/zycie041-belnr_mr1m IS INITIAL.

        itab_pf_status-fcode = 'INBOUND'.

        APPEND itab_pf_status.

      ELSEIF v_inbound IS INITIAL.

        itab_pf_status-fcode = 'INBOUND'.

        APPEND itab_pf_status.

      ENDIF.

* << Fim da inclusão

...

 

...

* >> Início da inclusão:

MODULE status_0114 OUTPUT.

  DESCRIBE TABLE itab_zycit511 LINES tc_inb-lines.

  ADD 11 TO tc_inb-lines.

  SET PF-STATUS '0114'.

  SET TITLEBAR '114'.

ENDMODULE.

MODULE alimenta_zycie511 OUTPUT.

  /pws/zycie511-nrseqnf          = itab_zycit511-nrseqnf.

  /pws/zycie511-nrseq            = itab_zycit511-nrseq.

  /pws/zycie511-nfglobal         = itab_zycit511-nfglobal.

  /pws/zycie511-nfremessa        = itab_zycit511-nfremessa.

  /pws/zycie511-docnum           = itab_zycit511-docnum.

  /pws/zycie511-inbound_delivery = itab_zycit511-inbound_delivery.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI017TOP

 

...

CONTROLS:

* >> Início da inclusão:

  tc_inb       TYPE TABLEVIEW USING SCREEN '0114',

* << Fim da inclusão

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI017X01

 

TABLES:

* >> Início da inclusão:

  /pws/zycit511,

  /pws/zycie511,

* << Fim da inclusão

...

 

...

* >> Início da inclusão:

DATA: itab_zycit511 LIKE /pws/zycit511 OCCURS 0 WITH HEADER LINE,

      itab_ekes     LIKE ekes          OCCURS 0 WITH HEADER LINE.

DATA: v_inbound.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/MZYCI080F01

 

...

FORM nfiscal_remessa.

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

  DATA: lt_ekpo TYPE ekpo OCCURS 0 WITH HEADER LINE.

  CLEAR: v_inbound.

* << Fim da inclusão

...

 

...

    INTO TABLE itab_zycit043_lista

    WHERE nrseq     EQ /pws/zycie043-nrseq

      AND nfglobal  EQ /pws/zycie043-nfglobal

      AND docnumnfg EQ /pws/zycie043-docnumnfg

      AND cancel    EQ space.

  MOVE /pws/zycie043 TO /pws/zycie043a.

  IF sy-subrc NE 0.

    PERFORM find_nrseqc_nfr.

    v_status_s_nfr = 1.

    PERFORM seleciona_itens_nfr.

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

    IF NOT itab_zycit044[] IS INITIAL.

      LOOP AT itab_zycit044.

        /pws/zycit001-nrseq = itab_zycit044-nrseq.

        lt_ekpo-ebeln = itab_zycit044-ebeln.

        lt_ekpo-ebelp = itab_zycit044-ebelp.

        APPEND lt_ekpo.

      ENDLOOP.

      CLEAR: lt_ekpo.

      CALL FUNCTION '/PWS/ZYCI_INBOUND'

           IMPORTING

                inbound = v_inbound

           TABLES

                t_ekpo  = lt_ekpo.

    ENDIF.

* << Fim da inclusão

...

 

...

    SELECT a~ebeln a~ebelp a~matnr b~sernp

     FROM ( ekpo AS a INNER JOIN marc AS b

          ON a~matnr EQ b~matnr )

      INTO TABLE itab_serie

      FOR ALL ENTRIES IN itab_zycit044

      WHERE ebeln = itab_zycit044-ebeln

        AND ebelp = itab_zycit044-ebelp.

  ENDIF.

  CLEAR: v_erro.

  FREE itab_zycit031.

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

  IF v_inbound EQ 'X'.

    LOOP AT itab_ekes.

      READ TABLE itab_zycit044 WITH KEY ebeln = itab_ekes-ebeln

                                        ebelp = itab_ekes-ebelp.

      READ TABLE itab_zycit223_s WITH KEY ebeln = itab_zycit044-ebeln

                                          ebelp = itab_zycit044-ebelp.

      IF sy-subrc NE 0 AND itab_zycit044-lote_ob EQ 'X'.

        MESSAGE i015 WITH text-104

                itab_zycit044-ebeln itab_zycit044-ebelp.

        v_erro = 'X'.

        EXIT.

      ENDIF.

      itab_zycit031-tcode  = itab_zycie033-tcode.

      itab_zycit031-tabela = itab_zycie033-tabela.

      itab_zycit031-cpochv = itab_zycie033-cpochv.

      itab_zycit031-ebeln  = itab_zycit044-ebeln.

      itab_zycit031-ebelp  = itab_zycit044-ebelp.

      itab_zycit031-lgort  = itab_zycit044-lgort.

      itab_zycit031-vbeln  = itab_ekes-vbeln.

      itab_zycit031-menge  = itab_ekes-menge.

      IF NOT itab_serie[] IS INITIAL.

        CLEAR itab_serie.

        READ TABLE itab_serie WITH KEY ebeln = itab_zycit044-ebeln

                                       ebelp = itab_zycit044-ebelp.

        IF NOT itab_serie-sernp IS INITIAL.

          itab_zycit031-sernp = 'X'.

        ENDIF.

      ENDIF.

      APPEND itab_zycit031.

      CLEAR itab_zycit031.

    ENDLOOP.

  ELSE.

* << Fim da inclusão

  LOOP AT itab_zycit044.

    READ TABLE itab_zycit223_s WITH KEY ebeln = itab_zycit044-ebeln

                                        ebelp = itab_zycit044-ebelp.

    IF sy-subrc NE 0 AND itab_zycit044-lote_ob EQ 'X'.

      MESSAGE i015 WITH text-104

              itab_zycit044-ebeln itab_zycit044-ebelp.

      v_erro = 'X'.

      EXIT.

    ENDIF.

    itab_zycit031-tcode  = itab_zycie033-tcode.

...

 

...

      CLEAR itab_serie.

      READ TABLE itab_serie WITH KEY ebeln = itab_zycit044-ebeln

                                     ebelp = itab_zycit044-ebelp.

      IF NOT itab_serie-sernp IS INITIAL.

        itab_zycit031-sernp = 'X'.

      ENDIF.

    ENDIF.

    APPEND itab_zycit031.

    CLEAR itab_zycit031.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

  IF v_erro EQ 'X'.

    CLEAR: v_erro.

    EXIT.

  ENDIF.

...

 

...

          (itab_zyglt100-programa) IF FOUND.

      IF e_subrc EQ 8.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  IF e_subrc EQ 0.

    CALL FUNCTION '/PWS/ZYCI_TRANSACAO_MIGO'

         EXPORTING

              v_modo          = v_modo_bi

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

              inbound         = v_inbound

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycie033

              t_campo         = itab_zycit034

              t_zycit032      = itab_zycit032

              t_zycit031      = itab_zycit031

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 3.

  ENDIF.

  IF sy-subrc = 0 OR e_subrc = 4.

...

 

...

* >> Início da inclusão:

FORM verifica_inbound CHANGING p_erro.

  CLEAR: itab_zycit511[], itab_zycit511, itab_ekes, itab_ekes[].

  IF NOT itab_zycit044[] IS INITIAL.

    SELECT * FROM /pws/zycit511

       INTO TABLE itab_zycit511

       FOR ALL ENTRIES IN itab_zycit044

       WHERE nrseqnf   = itab_zycit044-nrseqnf

         AND nrseq     = itab_zycit044-nrseq

         AND nfglobal  = itab_zycit044-nfglobal

         AND nfremessa = itab_zycit044-nfremessa

         AND docnum    = itab_zycit044-docnum.

  ENDIF.

  IF NOT itab_zycit511[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCI_INBOUND_DELIVERY'

         EXPORTING

              nf_remessa = 'X'

         TABLES

              t_zycit044 = itab_zycit044

              t_zycit511 = itab_zycit511

              t_ekes     = itab_ekes

              t_zycit032 = itab_zycit032.

    IF NOT itab_zycit032[] IS INITIAL.

      p_erro = 'X'.

      CLEAR okcode.

      LOOP AT itab_zycit032.

        MESSAGE i015 WITH itab_zycit032-msg+0(50)

                          itab_zycit032-msg+50(50).

      ENDLOOP.

    ENDIF.

  ELSE.

    p_erro = 'X'.

    CLEAR okcode.

    MESSAGE e015 WITH text-277.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI080I01

 

...

MODULE user_command_0200 INPUT.

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

  DATA: lv_erro.

* << Fim da inclusão

  DATA: BEGIN OF itab_fornec OCCURS 0,

        lifnr TYPE lfa1-lifnr,

        END OF itab_fornec.

  DATA: BEGIN OF itab_zycit044_c OCCURS 0.

          INCLUDE STRUCTURE itab_zycit044.

  DATA: END OF itab_zycit044_c.

  DATA v_contab TYPE c.

  DATA: v_flag2, v_fat, v_errodb.

  DATA:v_cont1 TYPE n.

  e_subrc = 0.

...

 

...

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

      IF e_subrc NE 0.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  IF sy-tcode EQ '/PWS/ZYCI080_C' OR sy-tcode EQ '/PWS/ZYCI080_A'.

    CASE okcode.

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

      WHEN 'INBOUND'.

        CLEAR: itab_zycit511[], itab_zycit511.

        IF NOT itab_zycit044[] IS INITIAL.

          SELECT * FROM /pws/zycit511

             INTO TABLE itab_zycit511

             FOR ALL ENTRIES IN itab_zycit044

             WHERE nrseqnf   = itab_zycit044-nrseqnf

               AND nrseq     = itab_zycit044-nrseq

               AND nfglobal  = itab_zycit044-nfglobal

               AND nfremessa = itab_zycit044-nfremessa

               AND docnum    = itab_zycit044-docnum.

        ENDIF.

        CALL SCREEN '0114' STARTING AT 10 2.

* << Fim da inclusão

      WHEN 'ENTER'.

        LOOP AT itab_zycit044.

          READ TABLE itab_zycit044_aux WITH KEY

                               ebeln    = itab_zycit044-ebeln

                               ebelp    = itab_zycit044-ebelp.

          IF itab_zycit044-qtd_item IS INITIAL     AND

             itab_zycit044-noinitial NE 'X' AND itab_zycit044-saldo > 0.

            itab_zycit044-qtd_item = itab_zycit044-saldo .

            itab_zycit044-noinitial = 'X'.

            itab_zycit044-saldo = 0.

...

 

...

                  usuario  = sy-uname

                  func     = 'NFR'

             IMPORTING

                  autoriza = v_autoriza.

        IF v_autoriza  = 'X'.

          PERFORM modo_batch_input.

        ELSE.

          MESSAGE w013 WITH text-094 text-095.

        ENDIF.

      WHEN 'CRIARNFR'.

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

        IF v_inbound EQ 'X'.

          CLEAR: lv_erro.

          PERFORM verifica_inbound CHANGING lv_erro.

          IF lv_erro EQ 'X'.

            EXIT.

          ENDIF.

        ENDIF.

* << Fim da inclusão

        IF /pws/zycie043-transpnac IS INITIAL.

          SELECT SINGLE * FROM /pws/zyglt217

          WHERE arbgb EQ '/PWS/ZYCIM'

          AND   msgnr EQ '111'.

          IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '111'.

          ENDIF.

        ENDIF.

        PERFORM cria_nota_fiscal_r.

        CLEAR v_contab.

...

 

...

* >> Início da inclusão:

MODULE alimenta_itab_zycit511 INPUT.

  itab_zycit511-inbound_delivery = /pws/zycie511-inbound_delivery.

  itab_zycit511-nrseqnf   = /pws/zycie043-nrseq.

  itab_zycit511-nrseq     = /pws/zycit001-nrseq.

  itab_zycit511-nfglobal  = /pws/zycie043-nfglobal.

  itab_zycit511-nfremessa = /pws/zycie043-nfremessa.

  itab_zycit511-docnum    = /pws/zycie043-docnum.

  MODIFY itab_zycit511 INDEX tc_inb-current_line.

  IF sy-subrc NE 0.

    APPEND itab_zycit511.

  ENDIF.

ENDMODULE.

MODULE user_command_0114 INPUT.

  DELETE itab_zycit511 WHERE inbound_delivery = '          '.

  IF sy-ucomm EQ 'CANCEL'.

    LEAVE TO SCREEN 0.

  ELSEIF sy-ucomm EQ 'OKAY'.

    IF NOT itab_zycit511[] IS INITIAL.

      READ TABLE itab_zycit511 INDEX 1.

      DELETE FROM /pws/zycit511 WHERE nrseqnf = itab_zycit511-nrseqnf

                                AND nrseq     = itab_zycit511-nrseq

                                AND nfglobal  = itab_zycit511-nfglobal

                                AND nfremessa = itab_zycit511-nfremessa

                                AND docnum    = itab_zycit511-docnum.

      MODIFY /pws/zycit511 FROM TABLE itab_zycit511.

      COMMIT WORK AND WAIT.

      LEAVE TO SCREEN 0.

    ENDIF.

  ELSEIF sy-ucomm EQ 'DEL'.

    IF NOT itab_zycit511[] IS INITIAL.

      READ TABLE itab_zycit511 INDEX 1.

      DELETE FROM /pws/zycit511 WHERE nrseqnf = itab_zycit511-nrseqnf

                                AND nrseq     = itab_zycit511-nrseq

                                AND nfglobal  = itab_zycit511-nfglobal

                                AND nfremessa = itab_zycit511-nfremessa

                                AND docnum    = itab_zycit511-docnum.

      COMMIT WORK AND WAIT.

      CLEAR: itab_zycit511, itab_zycit511[].

      LEAVE TO SCREEN 0.

    ENDIF.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI080O01

 

...

    itab_pf_status-fcode = 'CANCR'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CRIARNFR'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'DELE'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'MARC'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'DESM'.

    APPEND itab_pf_status.

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

    itab_pf_status-fcode = 'INBOUND'.

    APPEND itab_pf_status.

* << Fim da inclusão

  ELSE.

    IF /pws/zycie043-mblnr_mb01 IS INITIAL.

      itab_pf_status-fcode = 'CANCR'.

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

      APPEND itab_pf_status.

      IF v_inbound EQ ' '.

        itab_pf_status-fcode = 'INBOUND'.

* << Fim da inclusão

      APPEND itab_pf_status.

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

      ENDIF.

* << Fim da inclusão

    ELSE.

      itab_pf_status-fcode = 'MARC'.

      APPEND itab_pf_status.

      itab_pf_status-fcode = 'DESM'.

      APPEND itab_pf_status.

      itab_pf_status-fcode = 'DELE'.

      APPEND itab_pf_status.

      itab_pf_status-fcode = 'CRIARNFR'.

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

      APPEND itab_pf_status.

      itab_pf_status-fcode = 'INBOUND'.

* << Fim da inclusão

      APPEND itab_pf_status.

    ENDIF.

  ENDIF.

  IF v_status_s_nfr = 1.

    SET PF-STATUS '0200' EXCLUDING itab_pf_status.

    SET TITLEBAR '200C'.

  ELSEIF v_status_s_nfr = 0.

    itab_pf_status-fcode = 'SAVE'.

    APPEND itab_pf_status.

    SET PF-STATUS '0200' EXCLUDING itab_pf_status.

...

 

...

* >> Início da inclusão:

MODULE status_0114 OUTPUT.

  DESCRIBE TABLE itab_zycit511 LINES tc_inb-lines.

  ADD 11 TO tc_inb-lines.

  SET PF-STATUS '0114'.

  SET TITLEBAR '114'.

ENDMODULE.

MODULE alimenta_zycie511 OUTPUT.

  /pws/zycie511-nrseqnf          = itab_zycit511-nrseqnf.

  /pws/zycie511-nrseq            = itab_zycit511-nrseq.

  /pws/zycie511-nfglobal         = itab_zycit511-nfglobal.

  /pws/zycie511-nfremessa        = itab_zycit511-nfremessa.

  /pws/zycie511-docnum           = itab_zycit511-docnum.

  /pws/zycie511-inbound_delivery = itab_zycit511-inbound_delivery.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI080TOP

 

...

controls:

* >> Início da inclusão:

  tc_inb       TYPE TABLEVIEW USING SCREEN '0114',

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI080X01

 

TABLES:

* >> Início da inclusão:

        /pws/zycit511,

        /pws/zycie511,

* << Fim da inclusão

...

 

...

* >> Início da inclusão:

DATA: itab_zycit511 LIKE /pws/zycit511 OCCURS 0 WITH HEADER LINE,

      itab_ekes     LIKE ekes          OCCURS 0 WITH HEADER LINE.

DATA: v_inbound.

* << Fim da inclusão

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPT /PWS/SAPLZYCIGF2

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 059

 

Texto: (50 caracteres)

"Qtde do INBOUND não corresponde com a qtde da NOTA"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 059

 

Texto: (51 caracteres)

"Cantidad Entrante no coincide con la cantidad NOTA."

 

Comprimento máximo: 51

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 060

 

Texto: (22 caracteres)

"Inbound não permitido:"

 

Comprimento máximo: 22

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 060

 

Texto: (22 caracteres)

"Entrante no se permite"

 

Comprimento máximo: 22

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 061

 

Texto: (44 caracteres)

"Exitem itens com e sem Chave de Confirmação."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 061

 

Texto: (42 caracteres)

"Artículos con y sin confirmación de tecla."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 062

 

Texto: (33 caracteres)

"Impossível realizar o Rec.Físico."

 

Comprimento máximo: 33

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 062

 

Texto: (33 caracteres)

"No se puede realizar la Recep.Fis"

 

Comprimento máximo: 33

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 063

 

Texto: (58 caracteres)

"Itens com diferentes Atributos para Entrada de Mercadoria."

 

Comprimento máximo: 58

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 063

 

Texto: (47 caracteres)

"Elementos con atributos diferentes para las EM."

 

Comprimento máximo: 58

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI017

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 277

 

Texto: (28 caracteres)

"Informar o Inbound Delivery."

 

Comprimento máximo: 28

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI080

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 277

 

Texto: (24 caracteres)

"Inform Inbound Delivery."

 

Comprimento máximo: 28

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 277

 

Texto: (28 caracteres)

"Informar o Inbound Delivery."

 

Comprimento máximo: 28

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 277

 

Texto: (26 caracteres)

"Informar Entrega Entrante."

 

Comprimento máximo: 28

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIE511

 

 

CRIAR ESTRUTURA: /PWS/ZYCIE511

DESCRIÇÃO BREVE: Inbound Delivery

 

COMPONENTES NOVOS

COMPONENTE:     TP. COMP:

.INCLUDE        /PWS/ZYCIT511

 

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

Modificações efetuadas em TABL /PWS/ZYCIT511

 

 

CRIAR TABELA TRANSPARENTE: /PWS/ZYCIT511

DESCRIÇÃO BREVE: Inbound Delivery

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela transparente

CLASSE DE ENTREGA:   A - Tabela de aplicação (dados mestre e de movimento)

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

 

CAMPOS:             TP. CAMPO       CH: INI: TAB.VERIF.:

MANDT             MANDT            X   X    T000

NRSEQNF      /PWS/ZYCIL001    X   X

NRSEQ             /PWS/ZYCIL001    X   X    /PWS/ZYCIT001

NFGLOBAL      /PWS/ZYCIL105    X   X    /PWS/ZYCIT041

NFREMESSA      /PWS/ZYCIL107    X   X    /PWS/ZYCIT043

DOCNUM             J_1BDOCNUM       X   X    J_1BNFDOC

INBOUND_DELIVERY    VBELN_VL         X   X    VBUK

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL1

CATEGOR. TAMANHO: 3

 

(X) - AR. BUFFER NÃO PERMITIDO

(X) - AR. BUFFER NÃO PERMITIDO

(X) - AR. BUFFER NÃO PERMITIDO

(X) - AR. BUFFER NÃO PERMITIDO

(X) - AR. BUFFER NÃO PERMITIDO