Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 09/11/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:19:27
Descrição da Nota: LANÇAMENTO DE CENTRO DE LUCRO
Sintoma
Lançamento de Centro de Lucro em contabilizações de embarque de importação.
Solução
Novo tratamento para lançamento de centro de lucro nas contabilizações
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05187 Data: 09/11/2007 Hora: 17:16:45
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05187
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00020
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05156 - 00001 - 7.0 - 00003 - NO BI DA PRESTAÇÃO DE CONTAS NÃO ENVIA BANCO PARCEIRO.
----------------------------------------------------------------------------------------------------
LANÇAMENTO DE CENTRO DE LUCRO
----------------------------------------------------------------------------------------------------
Palavras Chave:
LANÇAMENTO - CENTRO DE LUCRO - CONTABILIZAÇÕES - EMBARQUE
IMPORTAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_CENTRO_LUCRO
FUNC /PWS/ZYCI_TRANSACAO_F47_A
REPS /PWS/LZYCIGF2F01
REPS /PWS/LZYCIGF2UXX
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI007F02
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI012F01
REPS /PWS/MZYCI012TOP
REPS /PWS/MZYCI013F01
REPS /PWS/MZYCI017F02
REPS /PWS/MZYCI017TOP
REPS /PWS/MZYCI037F01
REPS /PWS/MZYCI070F05
REPS /PWS/MZYCI074F01
REPS /PWS/MZYCI074TOP
REPS /PWS/MZYCI075F02
REPS /PWS/MZYCI076F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_CENTRO_LUCRO
*A seguinte função foi criada
*Características
Grupo de funções /PWS/ZYCIGF2
Texto breve Busca Centro de Lucro
Módulo de função normal
Início Imediato
*Importação
Nome Parâmetro Atributo Tipo referência
EBELN TYPE EBELN
EBELP TYPE EBELP
*Exportação
Nome Parâmetro Atributo Tipo referência
EBELN TYPE EBELN
EBELP TYPE EBELP
*Texto fonte
FUNCTION /pws/zyci_centro_lucro.
*"----------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" REFERENCE(EBELN) TYPE EBELN
*" REFERENCE(EBELP) TYPE EBELP
*" EXPORTING
*" REFERENCE(CENTRO_LUCRO) TYPE PRCTR
*"----------------------------------------------------------------------
DATA: t_ekpo LIKE ekpo OCCURS 0 WITH HEADER LINE.
DATA: t_ekkn LIKE ekkn OCCURS 0 WITH HEADER LINE.
SELECT * INTO TABLE t_ekpo FROM ekpo
WHERE ebeln EQ ebeln AND
ebelp EQ ebelp.
READ TABLE t_ekpo INDEX 1.
SELECT * INTO TABLE t_ekkn FROM ekkn
WHERE ebeln EQ ebeln AND
ebelp EQ ebelp.
READ TABLE t_ekkn INDEX 1.
IF t_ekpo-knttp IS INITIAL AND t_ekpo-j_1bmatuse NE '3'.
SELECT SINGLE prctr FROM marc INTO centro_lucro
WHERE matnr EQ t_ekpo-matnr AND
werks EQ t_ekpo-werks.
ELSEIF t_ekpo-knttp = 'K' AND t_ekpo-j_1bmatuse NE '3'.
SELECT SINGLE prctr FROM csks INTO centro_lucro
WHERE kostl EQ t_ekkn-kostl
AND kokrs EQ t_ekkn-kokrs.
ELSEIF t_ekpo-knttp = 'F' AND t_ekpo-j_1bmatuse NE '3'.
SELECT SINGLE prctr FROM aufk INTO centro_lucro
WHERE aufnr EQ t_ekkn-aufnr.
ELSEIF t_ekpo-knttp EQ 'A'.
centro_lucro = t_ekkn-prctr.
ELSEIF t_ekpo-knttp EQ 'P'.
SELECT SINGLE prctr INTO centro_lucro FROM aufk
WHERE aufnr EQ t_ekkn-nplnr.
ELSEIF t_ekpo-knttp EQ 'Q'.
SELECT SINGLE prctr INTO centro_lucro FROM prps
WHERE posid EQ t_ekkn-ps_psp_pnr.
ELSEIF t_ekpo-knttp EQ 'E'.
SELECT SINGLE ko_prctr INTO centro_lucro FROM ekpo
WHERE ebeln EQ ebeln AND
ebelp EQ ebelp.
ENDIF.
IF centro_lucro IS INITIAL.
centro_lucro = t_ekkn-prctr.
ENDIF.
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F47_A
...
t_divisao-d_valut TO v_data_val_char,
t_divisao-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_divisao-zfbdt TO v_data_venc_char.
PERFORM bdc_screen USING 'SAPMF05A' '0304'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'RF05A-XMWST' t_dados-xmwst.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_data_venc_char,
'BSEG-ZLSPR' t_dados-zlspr,
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F47_A
'BSEG-PRCTR' T_DADOS-D_PRCTR,
* << Fim da inclusão
'BSEG-ZLSCH' t_dados-zlsch.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING
'BSEG-BUPLA' t_dados-brnch.
ENDIF.
IF NOT t_dados-ebeln IS INITIAL.
PERFORM bdc_field USING:
'BSEG-EBELN' t_dados-ebeln,
'BSEG-EBELP' t_dados-ebelp.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2F01
...
itab_contas-mandt = sy-mandt.
itab_contas-tabela = '/PWS/ZYCIT044'.
IF vl_variacao > 0.
itab_contas-bschl = '40'.
ELSEIF vl_variacao < 0.
itab_contas-bschl = '50'.
ELSE .
v_erro_f05 = 'S'.
ENDIF.
itab_contas-c_kostl = itab_contas-d_kostl = itab_di_aux-kostl.
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
if /pws/zycit000-FLAG_RECLASS = 'X'.
* << Fim da inclusão
itab_contas-c_prctr = itab_contas-d_prctr = itab_di_aux-prctr.
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
if not itab_contas-d_prctr is initial.
clear: itab_contas-d_kostl, itab_contas-C_kostl.
endif.
endif.
* << Fim da inclusão
itab_contas-d_newko = itab_bsis_aux-hkont.
APPEND itab_contas.
CLEAR itab_contas.
endloop.
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
CLEAR v_variacao.
LOOP AT itab_di_aux WHERE
hkont = itab_matuse_aux2-hkont.
v_cont = v_cont - 1 .
IF v_cont = 0.
itab_contas-wrbtr = p_valor - v_variacao.
ELSE.
IF /pws/zycit031-inco1_ci = 'FOB'.
itab_contas-wrbtr =
p_valor * ( itab_di_aux-vlfob / vl_total ).
ELSEIF /pws/zycit031-inco1_ci = 'C&F'.
itab_contas-wrbtr =
p_valor * ( ( itab_di_aux-vlfob + itab_di_aux-vlfre +
itab_di_aux-vlfren ) / vl_total ).
ELSEIF /pws/zycit031-inco1_ci = 'CIF'.
itab_contas-wrbtr = p_valor * ( ( itab_di_aux-vlfob +
itab_di_aux-vlfre + itab_di_aux-vlfren + itab_di_aux-vlseg ) /
vl_total ).
ENDIF.
v_variacao = v_variacao + itab_contas-wrbtr.
ENDIF.
* << Fim da inclusão
itab_contas-tcode = 'F-05'.
itab_contas-mandt = sy-mandt.
itab_contas-tabela = '/PWS/ZYCIT044'.
* >> Início da exclusão: FORM MOVE_LANCTOS_F05
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
IF /pws/zycit000-clucro_ia NE space.
itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
itab_contas-c_kostl = itab_contas-d_kostl = itab_di_aux-kostl.
if /pws/zycit000-FLAG_RECLASS = 'X'.
itab_contas-c_prctr = itab_contas-d_prctr = itab_di_aux-prctr.
if not itab_contas-d_prctr is initial.
clear: itab_contas-d_kostl, itab_contas-C_kostl.
endif.
* << Fim da inclusão
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = itab_matuse_aux2-hkont
IMPORTING
output = v_conta.
CLEAR itab_cta. REFRESH itab_cta.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycie085-bukrs
...
...
rules_not_found = 2
OTHERS = 3.
READ TABLE itab_cta INDEX 1.
IF vl_variacao > 0.
itab_contas-bschl = '50'.
itab_contas-d_newko = itab_cta-konth.
ELSE.
itab_contas-bschl = '40'.
itab_contas-d_newko = itab_cta-konts.
ENDIF.
* >> Início da exclusão: FORM MOVE_LANCTOS_F05
itab_contas-wrbtr = abs( vl_variacao ).
* << Fim da exclusão
APPEND itab_contas.
CLEAR itab_contas.
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
ENDLOOP.
* << Fim da inclusão
ENDFORM.
...
...
...
END OF itab_marc.
DATA: BEGIN OF itab_csks OCCURS 0,
kostl LIKE csks-kostl,
kokrs LIKE csks-kokrs,
prctr LIKE csks-prctr,
END OF itab_csks.
DATA: BEGIN OF itab_aufk OCCURS 0,
aufnr LIKE aufk-aufnr,
prctr LIKE aufk-prctr,
END OF itab_aufk.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
itab_di-prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
EXPORTING
ebeln = itab_matuse-ebeln
ebelp = itab_matuse-ebelp
IMPORTING
centro_lucro = itab_di-prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
itab_di-prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_di-prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM carrega_exits
CHANGING
zyglt100 LIKE itab_zyglt100[].
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'D'
i_func = '/PWS/LZYCIGF5U05'
TABLES
itab_zyglt100 = zyglt100
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2UXX
...
INCLUDE /PWS/LZYCIGF2U02.
INCLUDE /PWS/LZYCIGF2U06.
INCLUDE /PWS/LZYCIGF2U10.
INCLUDE /PWS/LZYCIGF2U17.
INCLUDE /PWS/LZYCIGF2U18.
INCLUDE /PWS/LZYCIGF2U19.
INCLUDE /PWS/LZYCIGF2U20.
INCLUDE /PWS/LZYCIGF2U25.
INCLUDE /PWS/LZYCIGF2U41.
INCLUDE /PWS/LZYCIGF2U42.
* >> Início da inclusão:
INCLUDE /PWS/LZYCIGF2U43.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
LOOP AT itab_zycit036_s.
IF itab_zycit036_s-origem EQ 'FAT'.
itab_zycit036_s-congelamov = 'X'.
MODIFY itab_zycit036_s.
MODIFY /pws/zycit036 FROM itab_zycit036_s.
ENDIF.
ENDLOOP.
ENDFORM.
FORM verifica_centro_l.
CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
itab_zycbt035_aux-d_prctr = itab_marc-prctr.
itab_zycbt035_aux-c_prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
IMPORTING
centro_lucro = itab_zycbt035_aux-d_prctr.
itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
itab_zycbt035_aux-d_prctr = itab_csks-prctr.
itab_zycbt035_aux-c_prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_zycbt035_aux-d_prctr = itab_aufk-prctr.
itab_zycbt035_aux-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM visualiza_rateio.
DATA: v_programa LIKE /pws/zycit036-origem VALUE 'FAT',
v_parametro LIKE /pws/zycit003-descr,
v_erro_tax.
DATA: v_vinserv TYPE /pws/zycit006-vinserv.
IF /pws/zycie006-tpfatura EQ 04 .
v_vinserv = /pws/zycie006-vinserv.
EXPORT v_vinserv TO MEMORY ID 'VINSERV'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007F02
...
ENDIF.
it_zycbe035-chave = text-016.
it_zycbe035-wrbtr = abs( it_lanca_aux2-lancamento ).
it_zycbe035-d_gsber = it_lanca_aux2-gsber.
it_zycbe035-c_gsber = it_lanca_aux2-gsber.
IF /pws/zycit000-clucro_ia = 'X'.
READ TABLE it_ekpo WITH KEY ebeln = it_lanca_aux2-ebeln
ebelp = it_lanca_aux2-ebelp.
READ TABLE itab_ekkn WITH KEY ebeln = it_lanca_aux2-ebeln
ebelp = it_lanca_aux2-ebelp.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
PERFORM verifica_centro_l.
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
PERFORM verifica_centro_l USING it_lanca_aux2-ebeln
it_lanca_aux2-ebelp.
* << Fim da inclusão
ENDIF.
CLEAR: v_zuonr, v_nradto1, v_xblnr, it_zycbe033-xblnr.
CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'
EXPORTING
v_nrseq = /pws/zycie026-nrseq
v_codeven = '010P'
v_ktosl = it_zycbe035-ktosl
v_nfserv = /pws/zycie026-nfserv
v_nrpres = /pws/zycie026-nrpres
IMPORTING
...
...
it_zycbe035-c_gsber = it_lanca_aux3-gsber.
it_zycbe035-d_prctr = it_lanca_aux3-prctr.
IF t001-land1 EQ 'AR' .
it_zycbe035-iva = it_lanca_aux3-iva .
ENDIF.
IF /pws/zycit000-clucro_ia = 'X'.
READ TABLE it_ekpo WITH KEY ebeln = it_lanca_aux3-ebeln
ebelp = it_lanca_aux3-ebelp.
READ TABLE itab_ekkn WITH KEY ebeln = it_lanca_aux3-ebeln
ebelp = it_lanca_aux3-ebelp.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
PERFORM verifica_centro_l2.
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
PERFORM verifica_centro_l USING it_lanca_aux3-ebeln
it_lanca_aux3-ebelp.
* << Fim da inclusão
ENDIF.
CLEAR: v_zuonr, v_nradto1, v_xblnr, it_zycbe033-xblnr.
CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'
EXPORTING
v_nrseq = /pws/zycie026-nrseq
v_codeven = '010P'
v_ktosl = it_zycbe035-ktosl
v_nfserv = /pws/zycie026-nfserv
v_nrpres = /pws/zycie026-nrpres
IMPORTING
...
...
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
FORM salva_estrategia.
IF v_lib EQ 'X'.
MOVE: sy-uname TO /pws/zycie026-bname.
MOVE '2' TO /pws/zycie026-frgzu.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
FORM verifica_centro_l.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
FORM verifica_centro_l USING p_ebeln p_ebelp.
* << Fim da inclusão
CLEAR: it_zycbe035-d_prctr, it_zycbe035-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF it_lanca_aux2-knttp IS INITIAL AND it_lanca_aux2-matuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr AND
werks EQ it_ekpo-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = p_ebeln
ebelp = p_ebelp
IMPORTING
centro_lucro = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
it_zycbe035-d_prctr = itab_marc-prctr.
it_zycbe035-c_prctr = itab_marc-prctr.
ELSEIF it_lanca_aux2-knttp = 'K' AND it_lanca_aux2-matuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
it_zycbe035-c_prctr = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
it_zycbe035-d_prctr = itab_csks-prctr.
it_zycbe035-c_prctr = itab_csks-prctr.
ELSEIF it_lanca_aux2-knttp = 'F' AND it_lanca_aux2-matuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
it_zycbe035-d_prctr = itab_aufk-prctr.
it_zycbe035-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM seek_account_number TABLES p_cta STRUCTURE /pws/zygle316
USING p_bukrs
p_ktosl
p_werks
p_bklas
p_codaux1 LIKE /pws/zyglt316-codaux1
p_codaux2
p_codaux3.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
IF sy-subrc NE 0.
CLEAR: itab_zycit036_aux3-vlmov, itab_zycit036_aux3-vldif.
MODIFY itab_zycit036_aux3 INDEX v_index.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
FORM verifica_centro_l.
CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
itab_zycbt035_aux-d_prctr = itab_marc-prctr.
itab_zycbt035_aux-c_prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = itab_zycit003_custo-ebeln
ebelp = itab_zycit003_custo-ebelp
IMPORTING
centro_lucro = itab_zycbt035_aux-d_prctr.
itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
itab_zycbt035_aux-d_prctr = itab_csks-prctr.
itab_zycbt035_aux-c_prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_zycbt035_aux-d_prctr = itab_aufk-prctr.
itab_zycbt035_aux-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
...
...
FORM mult_lancamentos.
DATA: v_montante LIKE /pws/zycbe035-wrbtr,
v_indice LIKE sy-tabix,
v_tabix LIKE sy-tabix,
* >> Início da exclusão: FORM MULT_LANCAMENTOS
v_wrbtr LIKE /pws/zycbe035-wrbtr.
* << Fim da exclusão
* >> Início da inclusão: FORM MULT_LANCAMENTOS
v_wrbtr LIKE /pws/zycbe035-wrbtr,
v_prctr LIKE /pws/zycbe035-c_prctr.
* << Fim da inclusão
IF /pws/zycie001 IS INITIAL.
SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycie001
WHERE nrseq = /pws/zycie001-nrseq.
ENDIF.
SELECT a~nrseq b~ebeln b~ebelp b~matnr c~bklas a~werks
INTO TABLE itab_itens_contas
FROM /pws/zycit003 AS a
INNER JOIN ekpo AS b ON a~ebeln = b~ebeln
AND a~ebelp = b~ebelp
INNER JOIN mbew AS c ON b~matnr = c~matnr
...
...
CLEAR itab_zycit003.
READ TABLE itab_zycit003 WITH KEY
ebeln = itab_zycit003_custo-ebeln
ebelp = itab_zycit003_custo-ebelp.
CLEAR itab_itens_contas.
READ TABLE itab_itens_contas WITH KEY
ebeln = itab_zycit003_custo-ebeln
ebelp = itab_zycit003_custo-ebelp.
READ TABLE itab_ekkn WITH KEY ebeln = itab_zycit003_custo-ebeln
ebelp = itab_zycit003_custo-ebelp.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
CLEAR: v_prctr.
* << Fim da inclusão
IF NOT itab_ekkn[] IS INITIAL AND sy-subrc = 0.
CLEAR v_wrbtr.
LOOP AT itab_ekkn WHERE ebeln = itab_zycit003_custo-ebeln
AND ebelp = itab_zycit003_custo-ebelp.
v_tabix = sy-tabix.
itab_zycbt035_aux-ebeln = itab_zycit003_custo-ebeln.
itab_zycbt035_aux-ebelp = itab_zycit003_custo-ebelp.
itab_zycbt035_aux-matnr = itab_itens_contas-matnr.
IF itab_zycbt035_aux-menge NE itab_zycit003-qtd_iten.
itab_zycbt035_aux-menge = itab_zycit003-qtd_iten.
...
...
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '70'.
CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO
itab_zycbt035_aux-newko.
READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1
anln2 = itab_ekkn-anln2.
IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.
itab_zycbt035_aux-lei102 = 'X'.
ENDIF.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
v_prctr = itab_zycbt035_aux-c_prctr.
* << Fim da inclusão
CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,
itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
APPEND itab_zycbt035_aux.
.
CLEAR: itab_zycbt035_aux-lei102.
ELSE.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '40'.
itab_zycbt035_aux-sinal = '+'.
APPEND itab_zycbt035_aux.
ENDIF.
itab_zycbt035_aux-bschl = '50'.
CLEAR: itab_zycbt035_aux-newko,
itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_kostl,
itab_zycbt035_aux-d_fipos, itab_zycbt035_aux-d_fictr,
itab_zycbt035_aux-ps_psp_pnr.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
IF itab_zycbt035_aux-c_prctr IS INITIAL.
itab_zycbt035_aux-c_prctr = v_prctr.
itab_zycbt035_aux-d_prctr = v_prctr.
ENDIF.
* << Fim da inclusão
APPEND itab_zycbt035_aux.
ELSEIF itab_zycbt035_aux-wrbtr LT 0 AND
NOT itab_matuse-knttp IS INITIAL.
IF NOT /pws/zycit000-classif_cont IS INITIAL AND
/pws/zycit000-classif_cont EQ itab_matuse-knttp.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '75'.
CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO
itab_zycbt035_aux-newko.
READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1
anln2 = itab_ekkn-anln2.
IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.
itab_zycbt035_aux-lei102 = 'X'.
ENDIF.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
v_prctr = itab_zycbt035_aux-c_prctr.
* << Fim da inclusão
CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,
itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
APPEND itab_zycbt035_aux.
CLEAR: itab_zycbt035_aux-lei102.
ELSE.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '50'.
itab_zycbt035_aux-sinal = '-'.
APPEND itab_zycbt035_aux.
ENDIF.
itab_zycbt035_aux-bschl = '40'.
CLEAR: itab_zycbt035_aux-newko,
itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_kostl,
itab_zycbt035_aux-d_fipos, itab_zycbt035_aux-d_fictr,
itab_zycbt035_aux-ps_psp_pnr.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
IF itab_zycbt035_aux-c_prctr IS INITIAL.
itab_zycbt035_aux-c_prctr = v_prctr.
itab_zycbt035_aux-d_prctr = v_prctr.
ENDIF.
* << Fim da inclusão
APPEND itab_zycbt035_aux.
ENDIF.
ENDLOOP.
ELSE.
itab_zycbt035_aux-ebeln = itab_zycit003_custo-ebeln.
itab_zycbt035_aux-ebelp = itab_zycit003_custo-ebelp.
itab_zycbt035_aux-matnr = itab_itens_contas-matnr.
IF itab_zycbt035_aux-menge NE itab_zycit003-qtd_iten.
itab_zycbt035_aux-menge = itab_zycit003-qtd_iten.
PERFORM carrega_um USING itab_itens_contas-matnr
...
...
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '70'.
CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO
itab_zycbt035_aux-newko.
READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1
anln2 = itab_ekkn-anln2.
IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.
itab_zycbt035_aux-lei102 = 'X'.
ENDIF.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
v_prctr = itab_zycbt035_aux-c_prctr.
* << Fim da inclusão
CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,
itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
APPEND itab_zycbt035_aux.
CLEAR: itab_zycbt035_aux-lei102.
ELSE.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '40'.
itab_zycbt035_aux-sinal = '+'.
APPEND itab_zycbt035_aux.
ENDIF.
itab_zycbt035_aux-bschl = '50'.
CLEAR: itab_zycbt035_aux-newko,
itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_fipos,
itab_zycbt035_aux-d_fictr, itab_zycbt035_aux-ps_psp_pnr.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
IF itab_zycbt035_aux-c_prctr IS INITIAL.
itab_zycbt035_aux-c_prctr = v_prctr.
itab_zycbt035_aux-d_prctr = v_prctr.
ENDIF.
* << Fim da inclusão
APPEND itab_zycbt035_aux.
ELSEIF itab_zycbt035_aux-wrbtr LT 0 AND
NOT itab_matuse-knttp IS INITIAL.
IF NOT /pws/zycit000-classif_cont IS INITIAL AND
/pws/zycit000-classif_cont EQ itab_matuse-knttp.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '75'.
CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO
itab_zycbt035_aux-newko.
READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1
anln2 = itab_ekkn-anln2.
IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.
itab_zycbt035_aux-lei102 = 'X'.
ENDIF.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
v_prctr = itab_zycbt035_aux-c_prctr.
* << Fim da inclusão
CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,
itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
APPEND itab_zycbt035_aux.
CLEAR: itab_zycbt035_aux-lei102.
ELSE.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '50'.
itab_zycbt035_aux-sinal = '-'.
APPEND itab_zycbt035_aux.
ENDIF.
itab_zycbt035_aux-bschl = '40'.
CLEAR: itab_zycbt035_aux-newko,
itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_fipos,
itab_zycbt035_aux-d_fictr, itab_zycbt035_aux-ps_psp_pnr.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
IF itab_zycbt035_aux-c_prctr IS INITIAL.
itab_zycbt035_aux-c_prctr = v_prctr.
itab_zycbt035_aux-d_prctr = v_prctr.
ENDIF.
* << Fim da inclusão
APPEND itab_zycbt035_aux.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR: itab_zycbt035_aux.
MODIFY itab_zycbt035_aux TRANSPORTING d_gsber c_gsber lei102
WHERE lei102 = 'X'.
FREE itab_zycbt035.
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY sinal matuse bklas d_gsber bschl d_newko
d_kostl d_prctr d_fipos d_fictr ps_psp_pnr.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI010'
'CUS008'.
* << Fim da inclusão
LOOP AT itab_zycbt035_aux.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'CUS008'.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa).
ENDIF.
* << Fim da inclusão
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
...
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI012F01
...
CONCATENATE /pws/zycie008-nrseq /pws/zycie008-despach
it_relat_aux-matuse
INTO v_cpochv.
it_zycbe035-cpochv = v_cpochv.
it_zycbe035-d_gsber = it_relat_aux-gsber.
it_zycbe035-zfbdt = /pws/zycie008-dtvencto.
it_zycbe035-wrbtr = it_zycbe035-wrbtr
+ ABS( it_relat_aux-result ).
ENDLOOP.
it_zycbe035-d_zuonr = /pws/zycie008-nradto.
* >> Início da inclusão: FORM PREENCHE_TRANSACAO
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.
SELECT SINGLE *
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
* << Fim da inclusão
APPEND it_zycbe035.
ELSE.
LOOP AT it_relat_aux WHERE matuse = it_cabec-matuse.
it_zycbe035-tcode = text-014.
it_zycbe035-tabela = text-010.
CONCATENATE /pws/zycie008-nrseq /pws/zycie008-despach
it_relat_aux-matuse
INTO v_cpochv.
it_zycbe035-cpochv = v_cpochv.
it_zycbe035-d_gsber = it_relat_aux-gsber.
it_zycbe035-zfbdt = /pws/zycie008-dtvencto.
it_zycbe035-wrbtr = it_zycbe035-wrbtr +
ABS( it_relat_aux-result ).
ENDLOOP.
it_zycbe035-d_zuonr = /pws/zycie008-nradto.
it_zycbe035-d_sgtxt = v_sgtxt.
it_zycbe035-c_sgtxt = v_sgtxt.
* >> Início da inclusão: FORM PREENCHE_TRANSACAO
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.
SELECT SINGLE *
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
* << Fim da inclusão
APPEND it_zycbe035.
ENDIF.
PERFORM call_transaction_f47.
PERFORM limpa_tabelas.
ENDLOOP.
PERFORM limpa_tabelas_2.
v_modo_bi = ''.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI012'
'ADT005'.
...
...
it_zycit008-totalme =
/pws/zycit008-totalme =
/pws/zycie008-totalme = v_vldp * /pws/zycie008-valor.
UPDATE /pws/zycit008 SET vlmi = /pws/zycie008-vlmi
totalme = /pws/zycie008-totalme
WHERE nradto EQ /pws/zycie008-nradto.
modify it_zycit008 transporting vlmi totalme
where nradto EQ /pws/zycie008-nradto.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM verifica_centro_l.
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = it_zycit003-ebeln
ebelp = it_zycit003-ebelp
IMPORTING
centro_lucro = it_zycbe033-d_prctr.
modify it_zycbe033 index 1.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI012TOP
PROGRAM /PWS/SAPMZYCI012 MESSAGE-ID /PWS/ZYCIM.
INCLUDE: /PWS/MZYCI012OO,
/pws/zygl_bot ,
/pws/mzyci012x01.
* >> Início da inclusão:
TABLES: /pws/zycie043a,
/pws/zycit000.
* << Fim da inclusão
DATA: GV_SUBSCREEN_0050 TYPE SY-DYNNR VALUE '0051',
GV_SUBSCREEN_0100_1 TYPE SY-DYNNR,
GV_SUBSCREEN_0300_2 TYPE SY-DYNNR.
CONSTANTS: BEGIN OF GC_SUBSCREEN,
PROG TYPE SY-DYNNR VALUE '0300',
HELP TYPE SY-DYNNR VALUE '0053',
END OF GC_SUBSCREEN.
DATA: GV_HTML_HELP TYPE REF TO CL_GUI_HTML_VIEWER.
DATA: GV_HELP_SHOW TYPE BOOLEAN VALUE ' '.
CONTROLS: TC1 TYPE TABLEVIEW USING SCREEN 0200,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI013F01
...
it_zycit270-embarca = it_tbcontrol-embarca.
it_zycit270-compl = text-029.
it_zycit270-nrseqemb = it_tbcontrol-nrseq.
it_zycit270-tcode = sy-tcode.
it_zycit270-dtestorno = sy-datlo.
APPEND it_zycit270.
ENDIF.
ENDFORM.
FORM verifica_centro_l.
CLEAR: it_zycbe035-d_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF it_ekpo-knttp IS INITIAL AND it_ekpo-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr AND
werks EQ it_ekpo-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr.
ENDIF.
it_zycbe035-d_prctr = itab_marc-prctr.
it_zycbe035-c_prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = it_zycit003-ebeln
ebelp = it_zycit003-ebelp
IMPORTING
centro_lucro = it_zycbe035-d_prctr.
it_zycbe035-c_prctr = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF it_ekpo-knttp = 'K' AND it_ekpo-j_1bmatuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
it_zycbe035-d_prctr = itab_csks-prctr.
it_zycbe035-c_prctr = itab_csks-prctr.
ELSEIF it_ekpo-knttp = 'F' AND it_ekpo-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
it_zycbe035-d_prctr = itab_aufk-prctr.
it_zycbe035-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM determina_estrategia.
CLEAR /pws/zycie008-vlmi.
LOOP AT it_tbcontrol.
IF NOT it_tbcontrol-vldp IS INITIAL.
/pws/zycie008-vlmi = /pws/zycie008-vlmi + it_tbcontrol-vldp.
ENDIF.
ENDLOOP.
MOVE /pws/zycie008-vlmi TO v_totdep.
CLEAR t_contas.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
codaux3 = p_codaux3
TABLES
account = p_cta
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
ENDFORM.
FORM verifica_centro_l.
CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
itab_zycbt035_aux-d_prctr = itab_marc-prctr.
itab_zycbt035_aux-c_prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
IMPORTING
centro_lucro = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
itab_zycbt035_aux-d_prctr = itab_csks-prctr.
itab_zycbt035_aux-c_prctr = itab_csks-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_zycbt035_aux-d_prctr = itab_aufk-prctr.
itab_zycbt035_aux-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM visualiza_rateio.
DATA: v_programa LIKE /pws/zycit036-origem VALUE 'REC'.
CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'
EXPORTING
v_programa = v_programa
v_visualiza = v_visualiza
v_bukrs = /pws/zycie041-bukrs
IMPORTING
v_resposta = v_resposta
...
...
CLEAR itab_zycit003.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_global-nrseq
ebeln = itab_global-ebeln
ebelp = itab_global-ebelp.
CLEAR itab_ekkn.
READ TABLE itab_ekkn WITH KEY ebeln = itab_global-ebeln
ebelp = itab_global-ebelp.
CLEAR itab_matuse.
READ TABLE itab_matuse WITH KEY ebeln = itab_global-ebeln
ebelp = itab_global-ebelp.
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
IF /pws/zycit000-clucro_ia = 'X'.
* << Fim da inclusão
CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
IMPORTING
centro_lucro = itab_zycbt035_aux-d_prctr.
itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS
itab_zycbt035_aux-d_prctr = itab_marc-prctr.
itab_zycbt035_aux-c_prctr = itab_marc-prctr.
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
itab_zycbt035_aux-d_prctr = itab_csks-prctr.
itab_zycbt035_aux-c_prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_zycbt035_aux-d_prctr = itab_aufk-prctr.
itab_zycbt035_aux-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse.
itab_zycbt035_aux-werks = itab_zycit003-werks.
itab_zycbt035_aux-d_gsber = itab_zycit003-gsber.
IF NOT itab_zycit100-vlpis IS INITIAL.
CLEAR itab_zycit398.
READ TABLE itab_zycit398 WITH KEY tpnf = itab_global-tpnf
tributos = 'PIS'.
itab_zycbt035_aux-lei102 = itab_zycit398-lei102.
itab_zycbt035_aux-imposto = 'PIS'.
itab_zycbt035_aux-debcred = itab_zycit398-creditar.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017TOP
...
DATA: BEGIN OF itab_atrib OCCURS 0.
DATA: buzei LIKE bseg-buzei,
bschl LIKE bseg-bschl.
DATA: END OF itab_atrib.
DATA: it_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE,
it_msg TYPE msg_struc OCCURS 10 WITH HEADER LINE.
DATA: it_zycit270 LIKE /pws/zycit270 OCCURS 0 WITH HEADER LINE,
itab_zycit223_aux2 LIKE /pws/zycit223 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zycbt035_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
* >> Início da exclusão:
DATA knttp LIKE ekpo-knttp.
* << Fim da exclusão
* >> Início da inclusão:
DATA knttp LIKE ekpo-knttp.
* << Fim da inclusão
DATA: END OF itab_zycbt035_aux.
DATA: BEGIN OF itab_zycbt035_aux2 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA knttp LIKE ekpo-knttp.
DATA: END OF itab_zycbt035_aux2.
DATA: BEGIN OF itab_contas_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA: END OF itab_contas_aux.
DATA BEGIN OF itab_zycit005 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit005.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI037TOP
...
* >> Início da exclusão:
DATA: BEGIN OF itab_itens_contas OCCURS 0.
DATA: nrseq LIKE /pws/zycit001-nrseq,
ebeln LIKE /pws/zycit003-ebeln,
ebelp LIKE /pws/zycit003-ebelp,
matnr LIKE ekpo-matnr,
bklas LIKE mbew-bklas,
werks LIKE /pws/zycit003-werks,
konts LIKE t030-konts,
konth LIKE t030-konth.
DATA: END OF itab_itens_contas.
* << Fim da exclusão
...
...
* >> Início da exclusão:
DATA: BEGIN OF itab_zycbt035_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA knttp LIKE ekpo-knttp.
DATA: END OF itab_zycbt035_aux.
DATA: BEGIN OF itab_zycbt035_aux2 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA knttp LIKE ekpo-knttp.
DATA: END OF itab_zycbt035_aux2.
* << Fim da exclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI037X01
...
* >> Início da inclusão:
DATA: BEGIN OF itab_zycbt035_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA knttp LIKE ekpo-knttp.
DATA: END OF itab_zycbt035_aux.
DATA: BEGIN OF itab_zycbt035_aux2 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA knttp LIKE ekpo-knttp.
DATA: END OF itab_zycbt035_aux2.
DATA: BEGIN OF itab_itens_contas OCCURS 0.
DATA: nrseq LIKE /pws/zycit001-nrseq,
ebeln LIKE /pws/zycit003-ebeln,
ebelp LIKE /pws/zycit003-ebelp,
matnr LIKE ekpo-matnr,
bklas LIKE mbew-bklas,
werks LIKE /pws/zycit003-werks,
konts LIKE t030-konts,
konth LIKE t030-konth.
DATA: END OF itab_itens_contas.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI037F01
...
DATA: BEGIN OF it_003aux OCCURS 0,
nrseq LIKE /pws/zycie003-nrseq,
ebeln LIKE /pws/zycie003-ebeln,
ebelp LIKE /pws/zycie003-ebelp,
gsber LIKE /pws/zycie003-gsber,
vlitem LIKE /pws/zycie003-netpr,
* >> Início da inclusão: FORM PREENCHE_T_CONTAS_BI
prctr LIKE /pws/zycie003-prctr,
* << Fim da inclusão
END OF it_003aux.
DATA: it_003aux2 LIKE it_003aux OCCURS 0 WITH HEADER LINE.
IF v_subrc IS INITIAL.
LOOP AT itab_zycit003.
READ TABLE itab_ekpo WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
LOOP AT itab_matuse_aux1 WHERE matuse = itab_ekpo-matuse.
IF itab_matuse_aux1-conta_r =
...
...
v_soma = v_soma + ( itab_zycit003-netpr *
itab_zycit003-qtd_iten ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
SORT it_003aux BY gsber.
LOOP AT it_003aux.
it_003aux2-gsber = it_003aux-gsber.
it_003aux2-vlitem = it_003aux-vlitem.
* >> Início da inclusão: FORM PREENCHE_T_CONTAS_BI
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT SINGLE *
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l USING it_003aux-ebeln
it_003aux-ebelp
CHANGING it_003aux2-prctr.
ENDIF.
* << Fim da inclusão
COLLECT it_003aux2.
ENDLOOP.
CLEAR: itab_matuse_aux2.
READ TABLE itab_matuse_aux2 WITH KEY conta_r = itab_bsis_aux-hkont.
DESCRIBE TABLE it_003aux2 LINES v_line.
v_sign = sign( v_sdo_tmp ).
LOOP AT it_003aux2.
* >> Início da inclusão: FORM PREENCHE_T_CONTAS_BI
itab_zycbe035-c_prctr = it_003aux2-prctr.
itab_zycbe035-d_prctr = it_003aux2-prctr.
* << Fim da inclusão
itab_zycbe035-mandt = sy-mandt.
itab_zycbe035-tcode = text-054.
itab_zycbe035-tabela = text-053.
itab_zycbe035-cpochv = itab_bsis_aux-hkont.
itab_zycbe035-d_gsber = it_003aux2-gsber.
IF sy-tabix = v_line.
v_value = v_sdo_tmp - v_saldo.
ELSE.
v_value = ( it_003aux2-vlitem / v_soma ) * v_sdo_tmp.
v_saldo = v_saldo + v_value.
...
...
AND ebelp = itab_zycit003_custo-ebelp.
ENDIF.
CLEAR: itab_classe_aval ,
itab_param_classe.
REFRESH: itab_classe_aval ,
itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
SELECT matnr bwkey bwtar bklas FROM mbew INTO TABLE itab_classe_aval
FOR ALL ENTRIES IN itab_matuse
WHERE matnr EQ itab_matuse-matnr
* >> Início da exclusão: FORM MULT_LANCAMENTOS
AND bwtar EQ itab_matuse-bwtar.
* << Fim da exclusão
* >> Início da inclusão: FORM MULT_LANCAMENTOS
AND bwtar EQ itab_matuse-bwtar
.
* << Fim da inclusão
ENDIF.
IF NOT itab_classe_aval[] IS INITIAL.
SELECT * FROM /pws/zycit135 INTO TABLE itab_param_classe
FOR ALL ENTRIES IN itab_classe_aval
WHERE bklas EQ itab_classe_aval-bklas.
ENDIF.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie001-bukrs.
SELECT SINGLE classif_cont FROM /pws/zycit000
INTO /pws/zycit000-classif_cont
WHERE land1 EQ t001-land1.
...
...
space TO itab_zycbt035_aux-bklas .
ENDIF.
IF itab_matuse-knttp EQ 'N'.
MOVE: itab_ekkn-nplnr TO itab_zycbt035_aux-nplnr.
SELECT SINGLE vornr FROM afvc
INTO itab_zycbt035_aux-vornr
WHERE aufpl EQ itab_ekkn-aufpl
AND aplzl EQ itab_ekkn-aplzl.
ENDIF.
IF /pws/zycit000-clucro_ia = 'X'.
* >> Início da exclusão: FORM MULT_LANCAMENTOS
PERFORM verifica_centro_l.
* << Fim da exclusão
* >> Início da inclusão: FORM MULT_LANCAMENTOS
PERFORM verifica_centro_l USING itab_zycit003_custo-ebeln
itab_zycit003_custo-ebelp
CHANGING itab_zycbt035_aux-d_prctr.
itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
ENDIF.
DESCRIBE TABLE itab_ekkn LINES v_indice.
CLEAR itab_zycit003.
READ TABLE itab_zycit003 WITH KEY
ebeln = itab_zycit003_custo-ebeln
ebelp = itab_zycit003_custo-ebelp.
CLEAR itab_itens_contas.
READ TABLE itab_itens_contas WITH KEY
ebeln = itab_zycit003_custo-ebeln
ebelp = itab_zycit003_custo-ebelp.
...
...
IF NOT /pws/zycit000-classif_cont IS INITIAL AND
/pws/zycit000-classif_cont EQ itab_matuse-knttp.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '70'.
CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO
itab_zycbt035_aux-newko.
READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1
anln2 = itab_ekkn-anln2.
IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.
* >> Início da exclusão: FORM MULT_LANCAMENTOS
CLEAR: itab_zycbt035_aux-d_gsber, itab_zycbt035_aux-c_gsber.
* << Fim da exclusão
* >> Início da inclusão: FORM MULT_LANCAMENTOS
CLEAR: itab_zycbt035_aux-d_gsber,
itab_zycbt035_aux-c_gsber.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt035_aux.
.
ELSE.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '40'.
itab_zycbt035_aux-sinal = '+'.
APPEND itab_zycbt035_aux.
ENDIF.
...
...
IF NOT /pws/zycit000-classif_cont IS INITIAL AND
/pws/zycit000-classif_cont EQ itab_matuse-knttp.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '75'.
CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO
itab_zycbt035_aux-newko.
READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1
anln2 = itab_ekkn-anln2.
IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.
* >> Início da exclusão: FORM MULT_LANCAMENTOS
CLEAR: itab_zycbt035_aux-d_gsber, itab_zycbt035_aux-c_gsber.
* << Fim da exclusão
* >> Início da inclusão: FORM MULT_LANCAMENTOS
CLEAR: itab_zycbt035_aux-d_gsber,
itab_zycbt035_aux-c_gsber.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt035_aux.
ELSE.
itab_zycbt035_aux-newko =
itab_zycbt035_aux-d_newko = itab_ekkn-sakto.
itab_zycbt035_aux-bschl = '50'.
itab_zycbt035_aux-sinal = '-'.
APPEND itab_zycbt035_aux.
ENDIF.
itab_zycbt035_aux-bschl = '40'.
...
...
itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_fipos,
itab_zycbt035_aux-d_fictr, itab_zycbt035_aux-ps_psp_pnr.
APPEND itab_zycbt035_aux.
ENDIF.
ENDIF.
ENDLOOP.
FREE itab_zycbt035.
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY sinal matuse bklas d_gsber bschl d_newko
d_kostl d_prctr d_fipos d_fictr ps_psp_pnr.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI037'
'CUS008'.
* << Fim da inclusão
LOOP AT itab_zycbt035_aux.
* >> Início da inclusão: FORM MULT_LANCAMENTOS
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'CUS008'.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa).
ENDIF.
* << Fim da inclusão
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
...
...
AT END OF hkont.
PERFORM preenche_t_contas_bi.
IF NOT v_belnr IS INITIAL.
REFRESH itab_zycbe035.
ENDIF.
PERFORM executa_batch_input.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
FORM verifica_centro_l.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
FORM verifica_centro_l USING p_ebeln p_ebelp CHANGING p_prctr.
* << Fim da inclusão
CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = p_ebeln
ebelp = p_ebelp
IMPORTING
centro_lucro = p_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
itab_zycbt035_aux-d_prctr = itab_marc-prctr.
itab_zycbt035_aux-c_prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
itab_zycbt035_aux-d_prctr = itab_csks-prctr.
itab_zycbt035_aux-c_prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_zycbt035_aux-d_prctr = itab_aufk-prctr.
itab_zycbt035_aux-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F05
...
END OF itab_marc.
DATA: BEGIN OF itab_csks OCCURS 0,
kostl LIKE csks-kostl,
kokrs LIKE csks-kokrs,
prctr LIKE csks-prctr,
END OF itab_csks.
DATA: BEGIN OF itab_aufk OCCURS 0,
aufnr LIKE aufk-aufnr,
prctr LIKE aufk-prctr,
END OF itab_aufk.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
itab_di-prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = itab_matuse-ebeln
ebelp = itab_matuse-ebelp
IMPORTING
centro_lucro = itab_di-prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn_aux-kostl
AND kokrs EQ itab_ekkn_aux-kokrs.
itab_di-prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn_aux-aufnr.
itab_di-prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI074F01
...
SELECT SINGLE ps_psp_pnr FROM ekkn
INTO it_zycbe033-ps_psp_pnr
WHERE ebeln EQ it_zycit443-ebeln
AND ebelp EQ it_zycit443-ebelp.
ENDIF.
ENDIF.
CALL CUSTOMER-FUNCTION '001'
TABLES
itab_zycit443 = it_zycit443
it_zycbe033 = it_zycbe033.
* >> Início da inclusão: FORM PREENCHE_TRANSACAO
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.
SELECT SINGLE *
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
* << Fim da inclusão
APPEND it_zycbe033.
IF it_cabec-matuse = '3'.
LOOP AT it_relat_aux WHERE matuse = it_cabec-matuse.
it_zycbe035-tcode = text-014.
it_zycbe035-tabela = text-010.
CONCATENATE /pws/zycie465-nrseq /pws/zycie465-despach
it_relat_aux-matuse
INTO v_cpochv.
it_zycbe035-cpochv = v_cpochv.
it_zycbe035-d_gsber = it_relat_aux-gsber.
...
...
text = itab_zyglt376-text
quickinfo = itab_zyglt376-info.
ENDLOOP.
CREATE OBJECT v_submenu.
CALL METHOD v_submenu->add_function
EXPORTING fcode = itab_zyglt376-fcode
text = itab_zyglt376-text.
SET HANDLER evt_receiver_e->on_function_selected
FOR toolbar.
ENDFORM.
* >> Início da inclusão:
FORM verifica_centro_l.
READ TABLE it_zycit443 WITH KEY nrseq = it_cabec-nrseq.
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = it_zycit443-ebeln
ebelp = it_zycit443-ebelp
IMPORTING
centro_lucro = it_zycbe033-d_prctr.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI074TOP
PROGRAM /pws/sapmzyci074 MESSAGE-ID /pws/zycim.
INCLUDE: /pws/mzyci074oo,
/pws/zygl_bot ,
/pws/mzyci074x01.
* >> Início da inclusão:
Tables: /pws/zycie043a,
/pws/zycit000.
* << Fim da inclusão
DATA: gv_subscreen_0050 TYPE sy-dynnr VALUE '0051',
gv_subscreen_0100_1 TYPE sy-dynnr,
gv_subscreen_0300_2 TYPE sy-dynnr.
CONSTANTS: BEGIN OF gc_subscreen,
prog TYPE sy-dynnr VALUE '0300',
help TYPE sy-dynnr VALUE '0053',
END OF gc_subscreen.
DATA: gv_html_help TYPE REF TO cl_gui_html_viewer.
DATA: gv_help_show TYPE boolean VALUE ' '.
CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 0200,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI075F02
...
FORM verifica_centro_l.
CLEAR: it_zycbe035-d_prctr, it_zycbe035-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF it_lanca_aux2-knttp IS INITIAL AND it_lanca_aux2-matuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr AND
werks EQ it_ekpo-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = it_lanca_aux2-ebeln
ebelp = it_lanca_aux2-ebelp
IMPORTING
centro_lucro = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
it_zycbe035-d_prctr = itab_marc-prctr.
it_zycbe035-c_prctr = itab_marc-prctr.
ELSEIF it_lanca_aux2-knttp = 'K' AND it_lanca_aux2-matuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
it_zycbe035-c_prctr = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
it_zycbe035-d_prctr = itab_csks-prctr.
it_zycbe035-c_prctr = itab_csks-prctr.
ELSEIF it_lanca_aux2-knttp = 'F' AND it_lanca_aux2-matuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
it_zycbe035-d_prctr = itab_aufk-prctr.
it_zycbe035-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM seek_account_number TABLES p_cta STRUCTURE /pws/zygle316
USING p_bukrs
p_ktosl
p_werks
p_bklas
p_codaux1 LIKE /pws/zyglt316-codaux1
p_codaux2
p_codaux3.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
...
...
ENDLOOP.
READ TABLE itab_t059fb INDEX 2.
v_valorcf = ( v_wrbtrcf * itab_t059fb-qsatz ) / 100.
ENDIF.
ELSE.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_centro_l2.
CLEAR: it_zycbe035-d_prctr, it_zycbe035-c_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L2
IF it_lanca_aux3-knttp IS INITIAL AND it_lanca_aux3-matuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr AND
werks EQ it_ekpo-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L2
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = it_lanca_aux3-ebeln
ebelp = it_lanca_aux3-ebelp
IMPORTING
centro_lucro = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L2
it_zycbe035-d_prctr = itab_marc-prctr.
it_zycbe035-c_prctr = itab_marc-prctr.
ELSEIF it_lanca_aux3-knttp = 'K' AND it_lanca_aux3-matuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L2
it_zycbe035-c_prctr = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L2
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
it_zycbe035-d_prctr = itab_csks-prctr.
it_zycbe035-c_prctr = itab_csks-prctr.
ELSEIF it_lanca_aux3-knttp = 'F' AND it_lanca_aux3-matuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
it_zycbe035-d_prctr = itab_aufk-prctr.
it_zycbe035-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI076F01
...
it_zycit270-embarca = it_tbcontrol-embarca.
it_zycit270-compl = text-029.
it_zycit270-nrseqemb = it_tbcontrol-nrseq.
it_zycit270-tcode = sy-tcode.
it_zycit270-dtestorno = sy-datum.
APPEND it_zycit270.
ENDIF.
ENDFORM.
FORM verifica_centro_l.
CLEAR: it_zycbe035-d_prctr.
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
IF it_ekpo-knttp IS INITIAL AND it_ekpo-j_1bmatuse NE '3'.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr AND
werks EQ it_ekpo-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ it_ekpo-matnr.
ENDIF.
it_zycbe035-d_prctr = itab_marc-prctr.
it_zycbe035-c_prctr = itab_marc-prctr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CENTRO_L
CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'
EXPORTING
ebeln = it_zycit443-ebeln
ebelp = it_zycit443-ebelp
IMPORTING
centro_lucro = it_zycbe035-d_prctr.
it_zycbe035-c_prctr = it_zycbe035-d_prctr.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_CENTRO_L
ELSEIF it_ekpo-knttp = 'K' AND it_ekpo-j_1bmatuse NE '3'.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
it_zycbe035-d_prctr = itab_csks-prctr.
it_zycbe035-c_prctr = itab_csks-prctr.
ELSEIF it_ekpo-knttp = 'F' AND it_ekpo-j_1bmatuse NE '3'.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
it_zycbe035-d_prctr = itab_aufk-prctr.
it_zycbe035-c_prctr = itab_aufk-prctr.
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM determina_estrategia.
CLEAR /pws/zycie465-vlmi.
LOOP AT it_tbcontrol.
IF NOT it_tbcontrol-vldp IS INITIAL.
/pws/zycie465-vlmi = /pws/zycie465-vlmi + it_tbcontrol-vldp.
ENDIF.
ENDLOOP.
MOVE /pws/zycie465-vlmi TO v_totdep.
CLEAR t_contas.
...