CE PLUS - Nota 000388

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 02/12/2005 00:00:00

Data/Hora Última Alteração: 18/02/2011 11:39:22

Descrição da Nota: INCLUIR CMPS DIAGRAMA REDE/OPERAÇÃO/PED.COMPRA/ITEM DOC COMPRA, NA CCO

Sintoma

Incluir tratamento para os campos diagrama de rede, operação, pedido de compra, item documento de

compra na classificação contábil do programa da remessa.

 

 

Solução

Inclusão dos campos e o respectivo tratamento nas contabilizações da remessa.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 00388 Data: 02/12/2005 Hora: 14:35:23

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

 

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

Nota Número              : 00388

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00021

Agrupamento              : 00090

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

INCLUIR CMPS DIAGRAMA REDE/OPERAÇÃO/PED.COMPRA/ITEM DOC COMPRA, NA CCO

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

Palavras Chave:

DIAGRAMA DE REDE, OPERAÇÃO, PEDIDO DE COMPRA, ITEM DOCUMENTO DE COMPRA

CLASSIFICAÇÃO CONTÁBIL

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

Objetos da nota:

DYNP /PWS/SAPMZYCA109                        0105

DYNP /PWS/SAPMZYCA109                        0106

FUNC /PWS/ZYCA_TRANSACAO_F_02R

FUNC /PWS/ZYCA_TRANSACAO_F_63R

REPS /PWS/LZYCAGF2F01

REPS /PWS/MZYCA109F01

REPS /PWS/MZYCA109TOP

REPS /PWS/MZYCA110F01

REPS /PWS/SAPMZYCA109

REPT /PWS/SAPLZYCAGF2

TABD /PWS/ZYCBE141

TABD /PWS/ZYCBT141

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA109                        0105

 

Inclusão do campo "Diag. Rede" após campo "Elemento PEP"

 

Campo texto

Nome: /PWS/ZYCBE141-NPLNR

Texto: Diag.rede

Linha: 1

Coluna: 11

Comprimento definido: 15

Comprimento visualizado: 12

Altura: 1

Formato: Char

Do dict. = X

Modific.: 2

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-NPLNR

Linha: 1

Coluna: 11

Comprimento definido: 12

Comprimento visualizado: 12

Altura: 1

Formato: Char

Do dict. = X

Exit convers.: ALPHA

Id parâmetro: NET

Campo entrada = X

Campo saída = X

Input = möglich

Exibição = Fonte equidistante

 

Inclusão do campo "Nº Operação" após campo "Diag. Rede"

 

Campo texto

Nome: /PWS/ZYCBE141-VORNR

Texto: Nº_Operação

Linha: 1

Coluna: 12

Comprimento definido: 11

Comprimento visualizado: 8

Altura: 1

Formato: Char

Do dict. = X

Modific.: F

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-VORNR

Linha: 1

Coluna: 12

Comprimento definido: 4

Comprimento visualizado: 8

Altura: 1

Formato: Char

Do dict. = X

Exit convers.: NUMCV

Id parâmetro: VGN

Campo entrada = X

Campo saída = X

Input = möglich

Exibição = Fonte equidistante

 

Inclusão do campo "Doc.compra" após campo "Fundo"

 

Campo texto

Nome: /PWS/ZYCBE141-EBELN

Texto: Doc.compra

Linha: 1

Coluna: 16

Comprimento definido: 15

Comprimento visualizado: 10

Altura: 1

Formato: Char

Do dict. = X

Modific.: 2

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-EBELN

Linha: 1

Coluna: 16

Comprimento definido: 10

Comprimento visualizado: 10

Altura: 1

Formato: Char

Do dict. = X

Exit convers.: ALPHA

Id parâmetro: BES

Verificar chave externa = X

Campo entrada = X

Campo saída = X

Entradas possíveis = X

Input = möglich

Exibição = Fonte equidistante

 

Inclusão do campo "Nº item pedido compra" após campo "Doc.compra"

 

Campo texto

Nome: /PWS/ZYCBE141-EBELP

Texto: Nº_item_pedido_compra

Linha: 1

Coluna: 17

Comprimento definido: 21

Comprimento visualizado: 8

Altura: 1

Formato: Char

Do dict. = X

Modific.: F

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-EBELP

Linha: 1

Coluna: 17

Comprimento definido: 5

Comprimento visualizado: 8

Altura: 1

Formato: Numc

Do dict. = X

Id parâmetro: BSP

Verificar chave externa = X

Campo entrada = X

Campo saída = X

Entradas possíveis = X

Input = möglich

Exibição = Fonte equidistante

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA109                        0106

 

Inclusão do campo "Diag. Rede" após campo "Elemento PEP"

 

Campo texto

Nome: /PWS/ZYCBE141-NPLNR

Texto: Diag.rede

Linha: 1

Coluna: 11

Comprimento definido: 15

Comprimento visualizado: 12

Altura: 1

Formato: Char

Do dict. = X

Modific.: 2

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-NPLNR

Linha: 1

Coluna: 11

Comprimento definido: 12

Comprimento visualizado: 12

Altura: 1

Formato: Char

Do dict. = X

Exit convers.: ALPHA

Id parâmetro: NET

Campo entrada = X

Campo saída = X

Input = möglich

Exibição = Fonte equidistante

 

Inclusão do campo "Nº Operação" após campo "Diag. Rede"

 

Campo texto

Nome: /PWS/ZYCBE141-VORNR

Texto: Nº_Operação

Linha: 1

Coluna: 12

Comprimento definido: 11

Comprimento visualizado: 8

Altura: 1

Formato: Char

Do dict. = X

Modific.: F

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-VORNR

Linha: 1

Coluna: 12

Comprimento definido: 4

Comprimento visualizado: 8

Altura: 1

Formato: Char

Do dict. = X

Exit convers.: NUMCV

Id parâmetro: VGN

Campo entrada = X

Campo saída = X

Input = möglich

Exibição = Fonte equidistante

 

Inclusão do campo "Doc.compra" após campo "Fundo"

 

Campo texto

Nome: /PWS/ZYCBE141-EBELN

Texto: Doc.compra

Linha: 1

Coluna: 16

Comprimento definido: 15

Comprimento visualizado: 10

Altura: 1

Formato: Char

Do dict. = X

Modific.: 2

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-EBELN

Linha: 1

Coluna: 16

Comprimento definido: 10

Comprimento visualizado: 10

Altura: 1

Formato: Char

Do dict. = X

Exit convers.: ALPHA

Id parâmetro: BES

Verificar chave externa = X

Campo entrada = X

Campo saída = X

Entradas possíveis = X

Input = möglich

Exibição = Fonte equidistante

 

Inclusão do campo "Nº item pedido compra" após campo "Doc.compra"

 

Campo texto

Nome: /PWS/ZYCBE141-EBELP

Texto: Nº_item_pedido_compra

Linha: 1

Coluna: 17

Comprimento definido: 21

Comprimento visualizado: 8

Altura: 1

Formato: Char

Do dict. = X

Modific.: F

 

Campo Entrada/Saída

Nome: /PWS/ZYCBE141-EBELP

Linha: 1

Coluna: 17

Comprimento definido: 5

Comprimento visualizado: 8

Altura: 1

Formato: Numc

Do dict. = X

Id parâmetro: BSP

Verificar chave externa = X

Campo entrada = X

Campo saída = X

Entradas possíveis = X

Input = möglich

Exibição = Fonte equidistante

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_02R

 

FUNCTION /pws/zyca_transacao_f_02r.

 

...

 

*-----------------------------------------------------------------------

* Processamento

*-----------------------------------------------------------------------

 

...

 

* Tela inicial - Dados do cabeçalho - 0100

  WRITE: t_dados-bukrs TO v_bukrs,

         t_dados-bldat TO v_data_doc_char,

         t_dados-budat TO v_data_lanc_char,

         t_dados-kursf TO v_kursf.

 

* Testa se o período é válido e permite que o usuário digite uma nova

* data de lançamento

  v_monat = t_dados-budat+4(2).      "período

  v_gjahr = t_dados-budat+0(4).      "ano

  v_koart = 'CA'.                     "tipo de conta

  PERFORM check_periodo USING    v_koart

                                 v_monat

                                 v_bukrs

                                 v_gjahr

                                 v_konto

                        CHANGING v_data_lanc_char

                                 v_ok.

  CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

  MOVE v_data_lanc_char+6(4) TO v_gjahr.

 

* Tela 100.

  PERFORM bdc_screen USING 'SAPMF05A' '0100'.

 

...

 

  IF t_dados-newbs = '01'.

 

...

 

  ENDIF.

 

* Tela - Entrar com itens débito

  LOOP AT t_credito.

 

...

 

    CLEAR v_database.

    IF v_tabix > 1.

 

...

 

    ENDIF.

 

    IF v_tabix = 1.

 

...

 

      IF t_dados-newbs = '40'.

 

...

 

      ENDIF.

    ENDIF.

 

    SELECT SINGLE * FROM tcurx INTO tcurx

                    WHERE currkey = t_dados-waers.

    IF tcurx-currdec <> 0 OR sy-subrc <> 0.

      WRITE: t_credito-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

    ELSE.

      WRITE: t_credito-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                        CURRENCY t_dados-waers.

    ENDIF.

 

    WRITE: t_credito-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

 

    PERFORM bdc_screen USING 'SAPMF05A' '0300'.

    PERFORM bdc_field  USING:

             'BDC_CURSOR'  'RF05A-NEWKO',

             'BSEG-WRBTR'  v_wrbtr,           "Montante ME

             'BSEG-DMBTR'  v_dmbtr,           "Montante MI

             'BSEG-ZUONR'  t_credito-c_zuonr. "Atribuição

    IF NOT t_credito-c_sgtxt IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-SGTXT'  t_credito-c_sgtxt. "Texto

    ENDIF.

    IF NOT v_database IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-ZFBDT'  v_database.     "Data Base

    ENDIF.

    IF NOT t_dados-brnch IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-BUPLA'  t_dados-brnch.

    ENDIF.

 

* >> Início da inclusão

*   Pedido de compra / No. item doc. compra

    READ TABLE itab_oculto WITH KEY campo = 'BSEG-EBELN'

                                    chave = 'C'.

    IF sy-subrc NE 0 AND NOT t_credito-ebeln IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-EBELN'  t_credito-ebeln.

      PERFORM bdc_field  USING 'BSEG-EBELP'  t_credito-ebelp.

    ENDIF.

* >> Fim da inclusão

 

 

*   verificando registro seguinte

    v_tabix_aux = v_tabix + 1.

    READ TABLE t_credito INTO t_credito_aux INDEX v_tabix_aux.

    IF sy-subrc = 0.

      PERFORM bdc_field  USING:

           'RF05A-NEWBS' t_credito_aux-bschl,    "chave de lancto.

           'RF05A-NEWKO' t_credito_aux-c_newko,  "Conta

           'BDC_OKCODE'  '/00'.

    ELSE.

      PERFORM bdc_field  USING:

           'BDC_OKCODE'  '=BU'.

 

    ENDIF.

*   Determina string de campos de débito

    PERFORM determina_string USING t_credito-bschl

                                   t_dados-bukrs

                                   t_credito-c_newko

                          CHANGING v_string_credito.

    "Verificando se campos obrigatórios estão preenchidos

    FREE itab_oculto.

    PERFORM trata_string_credito3 TABLES t_credito

                                         t_campo

                                         itab_oculto

                                   USING v_string_credito.

 

    PERFORM bdc_screen USING 'SAPLKACB' '0002'.

 

...

 

 

*   Elemento PEP

    READ TABLE itab_oculto WITH KEY

                            campo = 'COBL-PS_PSP_PNR' chave = 'C'.

    IF sy-subrc <> 0.     "Não está oculto

      IF NOT  t_credito-ps_psp_pnr IS INITIAL.

 

...

 

      ENDIF.

      PERFORM bdc_field  USING:

         'COBL-PS_PSP_PNR' t_credito-ps_posid.     "Elemento PEP

 

    ENDIF.

* >> Início da inclusão

*   Diagrama de rede / Operação

    READ TABLE itab_oculto WITH KEY campo = 'COBL-NPLNR' chave = 'C'.

    IF sy-subrc <> 0 AND NOT t_credito-nplnr IS INITIAL.

      PERFORM bdc_field USING 'COBL-NPLNR' t_credito-nplnr.

      PERFORM bdc_field USING 'COBL-VORNR' t_credito-vornr.

    ENDIF.

* >> Fim da inclusão

 

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

 

  ENDLOOP.

 

...

 

* Executa o Call Transaction e monta as mensagens de retorno

  PERFORM  call_transaction TABLES   itab_msg

                                     itab_bdc

                                     t_zycbt032

                                     t_dados

                          USING      v_transacao

                                     v_mode

                                     v_update

                                     v_msgid

                                     v_msgno

                          CHANGING   v_nrmsg.

 

  CLEAR:  itab_bdc,

          itab_msg.

  FREE:   itab_bdc,

          itab_msg.

 

ENDFUNCTION.

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_63R

 

FUNCTION /pws/zyca_transacao_f_63r.

 

...

 

* Tabela interna

 

...

 

*-----------------------------------------------------------------------

* Processamento

*-----------------------------------------------------------------------

 

...

 

* Determina string de campos de credito

  IF t_dados-newbs = '31'.                           "Crédito Fornecedor

 

...

 

  ELSEIF t_dados-newbs = '21'.                       "Débito Fornecedor

 

...

 

  ENDIF.

 

* Tela inicial - Dados do cabeçalho - 0100

  WRITE: t_dados-bukrs   TO v_bukrs,

         t_dados-bldat   TO v_data_doc_char,

         t_dados-budat   TO v_data_lanc_char,

         t_dados-kursf   TO v_kursf.

  IF NOT t_dados-c_valut IS INITIAL.

    WRITE t_dados-c_valut TO v_data_valut.

  ENDIF.

 

...

 

* Tela 100.

  PERFORM bdc_screen USING 'SAPLF040' '0100'.

  PERFORM bdc_field  USING:

         'BKPF-BLDAT'  v_data_doc_char,      "Data documento

         'BKPF-BLART'  t_dados-blart,        "Tipo documento

         'BKPF-BUKRS'  t_dados-bukrs,        "Empresa

         'BKPF-BUDAT'  v_data_lanc_char,     "Data lançamento

         'BKPF-MONAT'  t_dados-budat+4(2),   "Período

         'BKPF-WAERS'  t_dados-waers,        "Moeda

         'BKPF-KURSF'  v_kursf,              "Câmbio

         'BKPF-BKTXT'  t_dados-bktxt,        "Texto cabeçalho

         'RF05V-NEWBS' t_dados-newbs,        "Chv. de lancto.

         'RF05V-NEWKO' t_dados-c_newko,      "Conta Fornecedor

         'BDC_CURSOR'  'RF05V-NEWKO',

         'BDC_OKCODE'  '/00'.

  IF NOT t_dados-xblnr IS INITIAL.

    PERFORM bdc_field  USING 'BKPF-XBLNR'  t_dados-xblnr.   "Referência

 

  ENDIF.

 

* Se o fornecedor possui IRF trata a tela.

  SELECT SINGLE * FROM lfbw

         WHERE lifnr     EQ t_dados-c_newko

         AND   bukrs     EQ t_dados-bukrs

         AND   wt_subjct EQ 'X'.

  IF sy-subrc EQ 0 AND v_tabix = 1.

*   Tela de para Informar o IRF

    PERFORM bdc_screen USING 'SAPLFWTD' '0100'.

    PERFORM bdc_field USING  'BDC_OKCODE' '/00'.

  ENDIF.

 

  IF t_dados-newbs = '31' OR

     t_dados-newbs = '21' OR

     t_dados-newbs = '40'.

    SELECT SINGLE * FROM tcurx INTO tcurx WHERE currkey = t_dados-waers.

    IF tcurx-currdec <> 0 OR sy-subrc <> 0.

      WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

    ELSE.

      WRITE: t_dados-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                      CURRENCY t_dados-waers.

    ENDIF.

  ENDIF.

 

* Tela - Entrar com itens débito

  LOOP AT t_debito.

 

...

 

    IF v_tabix > 1.

 

...

    ENDIF.

 

    IF v_tabix = 1.

 

...

 

      IF t_dados-newbs = '31' OR t_dados-newbs = '21'.

        PERFORM bdc_screen USING 'SAPLF040' '0302'.

        PERFORM bdc_field  USING:

           'BSEG-ZTERM'  t_dados-zterm,     "Cod pagto

           'BSEG-WRBTR'  v_wrbtr,           "Montante

           'BSEG-DMBTR'  v_dmbtr,           "Montante MI

           'BSEG-ZUONR'  t_dados-c_zuonr,   "Atribuição

           'BSEG-SKFBT'  v_base_char,       "Base desconto

           'RF05V-NEWBS' t_debito-bschl,    "chave de lancto.

           'RF05V-NEWKO' t_debito-d_newko,  "Conta

           'BDC_CURSOR'  'RF05V-NEWKO',

           'BDC_OKCODE'  '/00'.

 

...

 

      ELSEIF t_dados-newbs = '50' OR t_dados-newbs = '40'.

 

        PERFORM bdc_screen USING 'SAPLF040' '0300'.

        PERFORM bdc_field  USING:

           'BSEG-WRBTR'  v_wrbtr,           "Montante

           'BSEG-ZUONR'  t_dados-c_zuonr,   "Atribuição

           'RF05V-NEWBS' t_debito-bschl,    "chave de lancto.

           'RF05V-NEWKO' t_debito-d_newko,  "Conta

           'BDC_CURSOR'  'RF05V-NEWKO',

           'BDC_OKCODE'  '/00'.

 

...

 

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

 

      ENDIF.

    ENDIF.

 

 

    IF t_debito-bschl = '40' OR t_debito-bschl = '50'.

 

...

 

    ELSEIF t_debito-bschl = '29'.

 

...

 

    ENDIF.

 

    PERFORM bdc_field  USING:

             'BDC_CURSOR'  'RF05V-NEWKO',

             'BSEG-WRBTR'  v_wrbtr,           "Montante ME

             'BSEG-DMBTR'  v_dmbtr,           "Montante MI

             'BSEG-ZUONR'  t_debito-d_zuonr.  "Atribuição

 

    IF t_debito-bschl = '50'.

      v_deb_cred = 'C'.

    ELSE.

      v_deb_cred = 'D'.

    ENDIF.

 

    READ TABLE itab_oculto WITH KEY campo = 'BSEG-SGTXT'

                                    chave = v_deb_cred.

    IF sy-subrc NE 0 AND NOT t_debito-c_sgtxt IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-SGTXT'  t_debito-c_sgtxt.

    ENDIF.

 

    READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'

                                    chave = v_deb_cred.

    IF sy-subrc NE 0 AND NOT v_database IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-ZFBDT' v_database.   "Data Base

    ENDIF.

 

    READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'

                                    chave = v_deb_cred.

    IF sy-subrc NE 0 AND NOT t_dados-brnch IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-BUPLA'  t_dados-brnch.

    ENDIF.

 

 

* >> Início da inclusão

*   Pedido de compra / No. item doc. compra

    READ TABLE itab_oculto WITH KEY campo = 'BSEG-EBELN'

                                    chave = v_deb_cred.

    IF sy-subrc NE 0 AND NOT t_debito-ebeln IS INITIAL.

      PERFORM bdc_field  USING 'BSEG-EBELN'  t_debito-ebeln.

      PERFORM bdc_field  USING 'BSEG-EBELP'  t_debito-ebelp.

    ENDIF.

* >> Fim da inclusão269885 - Fim

 

 

*   verificando registro seguinte

    v_tabix_aux = v_tabix + 1.

    READ TABLE t_debito INTO t_debito_aux INDEX v_tabix_aux.

    IF sy-subrc = 0.

 

...

 

    ELSE.

 

...

 

    ENDIF.

 

    IF t_debito-bschl = '40' OR t_debito-bschl = '50'.

 

      PERFORM bdc_screen USING 'SAPLKACB' '0002'.

 

...

 

*     Elemento PEP

      READ TABLE itab_oculto WITH KEY

                              campo = 'COBL-PS_PSP_PNR'

                              chave = v_deb_cred.

      IF sy-subrc <> 0.     "Não está oculto

 

...

 

      ENDIF.

 

* Ch. 267160 - 01/11/2005 - Início

* Diagrama Rede

      READ TABLE itab_oculto WITH KEY campo = 'COBL-NPLNR'

                                      chave = v_deb_cred.

      IF sy-subrc <> 0 AND NOT t_debito-nplnr IS INITIAL.

        PERFORM bdc_field USING 'COBL-NPLNR' t_debito-nplnr.

* >> Início da inclusão

        PERFORM bdc_field USING 'COBL-VORNR' t_debito-vornr. "269885

* >> Fim da inclusão

      ENDIF.

 

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

    ENDIF.

 

  ENDLOOP.

 

...

 

* Executa o Call Transaction e monta as mensagens de retorno

  PERFORM  call_transaction TABLES   itab_msg

                                   itab_bdc

                                   t_zycbt032

                                   t_dados

                          USING    v_transacao

                                   v_mode

                                   v_update

                                   v_msgid

                                   v_msgno

                          CHANGING v_nrmsg.

 

  CLEAR:  itab_bdc,

          itab_msg.

  FREE:   itab_bdc,

          itab_msg.

 

ENDFUNCTION.

 

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

Modificações efetuadas em REPS /PWS/LZYCAGF2F01

 

...

  ELSEIF v_string+4(1) = '-'.

    p_itab_oculto-campo = 'BSEG-ZFBDT'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

  ENDIF.

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

  IF v_string+18(1) = '+'.

    IF p_t_dados-nplnr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-NPLNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'BSEG-NPLNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'COBL-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'BSEG-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_dados-nplnr.

            MODIFY p_t_dados TRANSPORTING nplnr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-nplnr.

          MODIFY p_t_dados TRANSPORTING nplnr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_dados-vornr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-VORNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'RF05A-VORNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'COBL-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'RF05A-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_dados-vornr.

            MODIFY p_t_dados TRANSPORTING vornr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-vornr.

          MODIFY p_t_dados TRANSPORTING vornr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+18(1) = '-'.

    p_itab_oculto-campo = 'COBL-NPLNR'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-NPLNR'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'COBL-VORNR'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'RF05A-VORNR'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

  ENDIF.

  IF v_string+16(1) = '+'.

    IF p_t_dados-ebeln = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELN'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_dados-mandt.

        p_t_campo-campo = 'BSEG-EBELN'.

        p_t_campo-descricao = text-048.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-ebeln.

          MODIFY p_t_dados TRANSPORTING ebeln.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_dados-ebelp = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELP'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_dados-mandt.

        p_t_campo-campo = 'BSEG-EBELP'.

        p_t_campo-descricao = text-049.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-ebelp.

          MODIFY p_t_dados TRANSPORTING ebelp.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+16(1) = '-'.

    p_itab_oculto-campo = 'BSEG-EBELN'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-EBELP'.

    p_itab_oculto-chave = 'D'.

    APPEND p_itab_oculto.

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM trata_string_debito2 TABLES  p_t_contas STRUCTURE /pws/zycbe035

                                  p_t_campo STRUCTURE /pws/zycbt034

                                  p_itab_oculto LIKE itab_oculto[]

                         USING    value(p_string).

...

 

...

      ENDIF.

    ENDIF.

  ELSEIF v_string+4(1) = '-'.

    p_itab_oculto-campo = 'BSEG-ZFBDT'.

    p_itab_oculto-chave = 'D'.

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

    APPEND p_itab_oculto.

  ENDIF.

  IF v_string+18(1) = '+'.

    IF p_t_contas-nplnr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-NPLNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'BSEG-NPLNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'COBL-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'BSEG-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_contas-nplnr.

            MODIFY p_t_contas TRANSPORTING nplnr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-nplnr.

          MODIFY p_t_contas TRANSPORTING nplnr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_contas-vornr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-VORNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'RF05A-VORNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'COBL-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'RF05A-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_contas-vornr.

            MODIFY p_t_contas TRANSPORTING vornr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-vornr.

          MODIFY p_t_contas TRANSPORTING vornr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+18(1) = '-'.

    p_itab_oculto-campo = 'COBL-NPLNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-NPLNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'COBL-VORNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'RF05A-VORNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

  IF v_string+16(1) = '+'.

    IF p_t_contas-ebeln = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELN'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_contas-mandt.

        p_t_campo-campo = 'BSEG-EBELN'.

        p_t_campo-descricao = text-048.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-ebeln.

          MODIFY p_t_contas TRANSPORTING ebeln.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_contas-ebelp = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELP'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_contas-mandt.

        p_t_campo-campo = 'BSEG-EBELP'.

        p_t_campo-descricao = text-049.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-ebelp.

          MODIFY p_t_contas TRANSPORTING ebelp.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+16(1) = '-'.

    p_itab_oculto-campo = 'BSEG-EBELN'.

    p_itab_oculto-chave = 'C'.

* << Fim da inclusão

    APPEND p_itab_oculto.

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

    p_itab_oculto-campo = 'BSEG-EBELP'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM trata_string_credito TABLES   p_t_dados STRUCTURE /pws/zycbe033

                                   p_t_campo STRUCTURE /pws/zycbt034

                                   p_itab_oculto LIKE itab_oculto[]

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+4(1) = '-'.

    p_itab_oculto-campo = 'BSEG-ZFBDT'.

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

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

  IF v_string+18(1) = '+'.

    IF p_t_dados-nplnr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-NPLNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'BSEG-NPLNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'COBL-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'BSEG-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_dados-nplnr.

            MODIFY p_t_dados TRANSPORTING nplnr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-nplnr.

          MODIFY p_t_dados TRANSPORTING nplnr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_dados-vornr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-VORNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'RF05A-VORNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'COBL-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'RF05A-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_dados-vornr.

            MODIFY p_t_dados TRANSPORTING vornr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-vornr.

          MODIFY p_t_dados TRANSPORTING vornr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+18(1) = '-'.

    p_itab_oculto-campo = 'COBL-NPLNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-NPLNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'COBL-VORNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'RF05A-VORNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

  IF v_string+16(1) = '+'.

    IF p_t_dados-ebeln = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELN'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_dados-mandt.

        p_t_campo-campo = 'BSEG-EBELN'.

        p_t_campo-descricao = text-048.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-ebeln.

          MODIFY p_t_dados TRANSPORTING ebeln.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_dados-ebelp = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELP'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_dados-mandt.

        p_t_campo-campo = 'BSEG-EBELP'.

        p_t_campo-descricao = text-049.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_dados-ebelp.

          MODIFY p_t_dados TRANSPORTING ebelp.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+16(1) = '-'.

    p_itab_oculto-campo = 'BSEG-EBELN'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-EBELP'.

* << Fim da inclusão

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

ENDFORM.

FORM  call_transaction TABLES   p_itab_msg   LIKE itab_msg[]

...

 

...

        endif.

      endif.

    endif.

  elseif v_string+11(1) = '-'.

    p_itab_oculto-campo = 'COBL-PS_PSP_PNR'.

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

    p_itab_oculto-chave = 'C'.

    append p_itab_oculto.

  endif.

  IF v_string+18(1) = '+'.

    IF p_t_contas-nplnr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-NPLNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'BSEG-NPLNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'COBL-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'BSEG-NPLNR'.

          p_t_campo-descricao = text-046.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_contas-nplnr.

            MODIFY p_t_contas TRANSPORTING nplnr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-nplnr.

          MODIFY p_t_contas TRANSPORTING nplnr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_contas-vornr = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-VORNR'.

      IF sy-subrc <> 0.

        READ TABLE p_t_campo WITH KEY campo = 'RF05A-VORNR'.

        IF sy-subrc <> 0.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'COBL-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          p_t_campo-mandt = p_t_contas-mandt.

          p_t_campo-campo = 'RF05A-VORNR'.

          p_t_campo-descricao = text-047.

          APPEND p_t_campo.

          RAISE campo_em_branco.

        ELSE.

          IF ( p_t_campo-conteudo = space ).

            RAISE campo_em_branco.

          ELSE.

            MOVE p_t_campo-conteudo TO p_t_contas-vornr.

            MODIFY p_t_contas TRANSPORTING vornr.

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-vornr.

          MODIFY p_t_contas TRANSPORTING vornr.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+18(1) = '-'.

    p_itab_oculto-campo = 'COBL-NPLNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-NPLNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'COBL-VORNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'RF05A-VORNR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

  IF v_string+16(1) = '+'.

    IF p_t_contas-ebeln = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELN'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_contas-mandt.

        p_t_campo-campo = 'BSEG-EBELN'.

        p_t_campo-descricao = text-048.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-ebeln.

          MODIFY p_t_contas TRANSPORTING ebeln.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_t_contas-ebelp = space.

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'BSEG-EBELP'.

      IF sy-subrc <> 0.

        p_t_campo-mandt = p_t_contas-mandt.

        p_t_campo-campo = 'BSEG-EBELP'.

        p_t_campo-descricao = text-049.

        APPEND p_t_campo.

        RAISE campo_em_branco.

      ELSE.

        IF ( p_t_campo-conteudo = space ).

          RAISE campo_em_branco.

        ELSE.

          MOVE p_t_campo-conteudo TO p_t_contas-ebelp.

          MODIFY p_t_contas TRANSPORTING ebelp.

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+16(1) = '-'.

    p_itab_oculto-campo = 'BSEG-EBELN'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-EBELP'.

* << Fim da inclusão

    p_itab_oculto-chave = 'C'.

    append p_itab_oculto.

  endif.

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/MZYCA109F01

 

Include /PWS/MZYCA109F01

 

...

    itab_zycbe035-d_gsber    = /pws/zycbe124-gsber.

    itab_zycbe035-c_gsber    = /pws/zycbe124-gsber.

    itab_zycbe035-d_fictr    = itab_zycbt141-fictr.

    itab_zycbe035-c_fictr    = itab_zycbt141-fictr.

    itab_zycbe035-d_newko    = itab_zycbt141-saknr1.

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

    itab_zycbe035-nplnr      = itab_zycbt141-nplnr.

    itab_zycbe035-vornr      = itab_zycbt141-vornr.

    itab_zycbe035-ebeln      = itab_zycbt141-ebeln.

    itab_zycbe035-ebelp      = itab_zycbt141-ebelp.

* << Fim da inclusão

    IF p_tpimp = 'PRINCIPAL'.

      CLEAR v_vlirrf.

      READ TABLE itab_zycat025 WITH KEY tpimp = 'IRRF'.

      IF sy-subrc = 0 AND itab_zycat025-dedfat = 'X'.

        LOOP AT itab_zycbt141_i WHERE tpimp = 'IRRF'.

...

 

...

    itab_zycbe035-d_gsber    = /pws/zycbe124-gsber.

    itab_zycbe035-c_gsber    = /pws/zycbe124-gsber.

    itab_zycbe035-d_fictr    = itab_zycbt141-fictr.

    itab_zycbe035-c_fictr    = itab_zycbt141-fictr.

    itab_zycbe035-ps_posid   = itab_zycbt141-ps_posid.

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

    itab_zycbe035-nplnr      = itab_zycbt141-nplnr.

    itab_zycbe035-vornr      = itab_zycbt141-vornr.

    itab_zycbe035-ebeln      = itab_zycbt141-ebeln.

    itab_zycbe035-ebelp      = itab_zycbt141-ebelp.

* << Fim da inclusão

    LOOP AT itab_zyglt321.

      CASE itab_zyglt321-cpor3.

        WHEN 'SGTXT'.

          IF itab_zyglt321-cpocb = 'NRFAT'.

            itab_zycbe033-c_sgtxt = /pws/zycbe124-nrfat.

...

 

...

      itab_zycbt141-nplnr      = itab_bseg_aux-nplnr.

      itab_zycbt141-matnr      = itab_bseg_aux-matnr.

      itab_zycbt141-geber      = itab_bseg_aux-geber.

      itab_zycbt141-ebeln      = itab_bseg_aux-ebeln.

      itab_zycbt141-vlremessa  = /pws/zycbt124-vlme / v_reg.

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

      itab_zycbt141-ebelp      = itab_bseg_aux-ebelp.

      SELECT SINGLE * FROM afko WHERE aufnr = itab_bseg_aux-nplnr.

      IF sy-subrc = 0.

        SELECT SINGLE * FROM afvc WHERE aufpl = afko-aufpl

                                    AND aplzl = itab_bseg_aux-aplzl.

        IF sy-subrc = 0.

          itab_zycbt141-vornr = afvc-vornr.

        ENDIF.

      ENDIF.

* << Fim da inclusão

      v_tot = v_tot + itab_zycbt141-vlremessa.

      IF v_tabix = v_reg.

        IF v_tot > /pws/zycbt124-vlme.

          v_dif = v_tot - /pws/zycbt124-vlme.

          itab_zycbt141-vlremessa = itab_zycbt141-vlremessa - v_dif.

...

 

...

        /pws/zycbe141-matnr     TO p_itab_zycbt141-matnr    ,

        /pws/zycbe141-kdauf     TO p_itab_zycbt141-kdauf    ,

        /pws/zycbe141-geber     TO p_itab_zycbt141-geber    ,

        /pws/zycbe141-ebeln     TO p_itab_zycbt141-ebeln    ,

        /pws/zycbe141-cod_area  TO p_itab_zycbt141-cod_area ,

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

        /pws/zycbe141-vornr     TO p_itab_zycbt141-vornr    ,

        /pws/zycbe141-ebelp     TO p_itab_zycbt141-ebelp    ,

* << Fim da inclusão

        mark                    TO p_itab_zycbt141-mark     .

  MODIFY p_itab_zycbt141

    INDEX p_indice.

  IF sy-subrc NE 0 AND sy-ucomm NE 'DEL_L'.

    APPEND p_itab_zycbt141.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCA109TOP

 

Include /PWS/MZYCA109TOP

 

...

  /pws/zyglt321,

  rm06b,

  t16fe,

  j_1bbranch,

  adrc,

* >> Início da exclusão:

  tcurx.

* << Fim da exclusão

* >> Início da inclusão:

  tcurx,

  afko,

  afvc.

* << Fim da inclusão

DATA:

     wa_zycbt031a LIKE /pws/zycbe031,

     wa_zycbt011  LIKE /pws/zycbt011,

     wa_vbfa      LIKE vbfa,

     wa_bkpf      LIKE bkpf,

...

 

...

DATA: BEGIN OF itab_nome_campo OCCURS 0,

         nome_campo_tela(35) TYPE c,

         modif,

       END OF itab_nome_campo.

CONTROLS:

...

 

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

Modificações efetuadas em REPS /PWS/MZYCA110F01

 

Contexto: FORM lancamento_multiplo USING p_tpimp

                                         p_recontabiliza

                                         p_recuperar.

 

...

 

  LOOP AT itab_zycbt141 WHERE tpimp = p_tpimp.

 

...

 

    itab_zycbe035-d_gsber    = wa_zycbt124-gsber.       "Divisão

    itab_zycbe035-c_gsber    = wa_zycbt124-gsber.       "Divisão

    itab_zycbe035-d_fictr    = itab_zycbt141-fictr.     "Item

    itab_zycbe035-c_fictr    = itab_zycbt141-fictr.     "Item

 

* >> Início da Inclusão

* 269885 - Início

*   Diagrama de rede / Operação

    itab_zycbe035-nplnr      = itab_zycbt141-nplnr.

    itab_zycbe035-vornr      = itab_zycbt141-vornr.

*   Pedido de compra / No. item doc. compra

    itab_zycbe035-ebeln      = itab_zycbt141-ebeln.

    itab_zycbe035-ebelp      = itab_zycbt141-ebelp.

* 269885 - Fim

* >> Fim da Inclusão

 

*   Verifica se tem IRRF deduzido do Principal

    IF p_tpimp = 'PRINCIPAL'.

      CLEAR v_vlirrf.

      READ TABLE itab_zycat025 WITH KEY tpimp = 'IRRF'

                                        nrseq = itab_zycbt141-nrseq.

...

 

ENDIF.

 

*   Calcula Valor MI

    itab_zycbe035-dmbtr  = ( itab_zycbe035-wrbtr *

                             itab_dados_tc-vlmi ) / itab_dados_tc-vlme.

 

...

 

ENDLOOP.

 

ENDFORM.                    " lancamento_multiplo

 

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

Modificações efetuadas em TABD /PWS/ZYCBE141

 

Estrutura /pws/zycbe141

VORNR      VORNR        CHAR     4

EBELP      EBELP        NUMC     5  (chave externa EKPO)

 

Conexão ajuda p/pesq.c/campo

Nome de campo      NPLNR

Nome ajuda pesq.   COBL_EX_AUKO

     Par.AjPesq TabConexão    Cpo.conexão ajuda p/pesquisa

     AUFNR      /PWS/ZYCBE141 NPLNR

 

 

Nome de campo      VORNR

Nome ajuda pesq.   COBL_EX_NPACT

     Par.AjPesq TabConexão    Cpo.conexão ajuda p/pesquisa

     AUFNR      /PWS/ZYCBE141 AUFNR

     VORNR      /PWS/ZYCBE141 VORNR

 

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

Modificações efetuadas em TABD /PWS/ZYCBT141

 

Tabela /pws/zycbt141

Inclusão dos campos:

VORNR          VORNR       CHAR     4

EBELP          EBELP       NUMC     5  (chave externa EKPO)

EBELP          EBELP       NUMC     5  (chave externa EKPO)