Escolar Documentos
Profissional Documentos
Cultura Documentos
configuração –
BBKO
DOCUMENTAÇÃO DE
CONFIGURAÇÃO PARA CIAP
OADB – Definir área de avaliação
OADC – Definir categoria de área
EXEMPLO DEPRECIAÇÃO:
OAYZ – Determinar avaliação de classes do imobilizado
DEPRECIAÇÃO
OAYR
ACSET
****** Dados sobre a EXIT *****
1 - ZCARREGAR_CIAP
log.Position : \FU:AMSP_DEPENDENT_AREAS_GET\SE:END\EI
* Como a área CIAP não é dependente da área '01',
* na rotina acima, a mesma é deletada, não sendo carregada.
CLEAR t_tabwa.
READ TABLE t_tabwa INDEX 1.
IF sy-subrc IS INITIAL.
t_tabwa-afabe = '50'.
APPEND t_tabwa.
t_tabwa-afabe = '60'.
APPEND t_tabwa.
t_tabwa-afabe = '70'.
APPEND t_tabwa.
CLEAR t_tabwa.
ENDIF.
ENDIF.
2 - ZCARREGAR_CIAP_2
log.Position : \FU:APCF_DIFFERENT_AMOUNTS_GET\SE:BEGIN
* Força o carregamento da área '50' na exit.
IF ( sy-tcode EQ 'MIR4' OR
sy-tcode EQ 'MR8M' OR
sy-tcode EQ 'MIRO' ) AND
T_ANEPI[] IS NOT INITIAL.
CLEAR t_anepi-xawbt.
MODIFY t_anepi INDEX sy-tabix TRANSPORTING xawbt.
CLEAR t_anepi.
ENDIF.
READ TABLE t_anepi WITH KEY afabe = '60'
BINARY SEARCH.
IF sy-subrc EQ 0.
CLEAR t_anepi-xawbt.
MODIFY t_anepi INDEX sy-tabix TRANSPORTING xawbt.
CLEAR t_anepi.
ENDIF.
READ TABLE t_anepi WITH KEY afabe = '70'
BINARY SEARCH.
IF sy-subrc EQ 0.
CLEAR t_anepi-xawbt.
MODIFY t_anepi INDEX sy-tabix TRANSPORTING xawbt.
CLEAR t_anepi.
ENDIF.
ENDIF.
3 – implantaçao da EXIT:
Dados pra construção:
*&---------------------------------------------------------------------*
*& Include ZXAPCU05
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
* BBKO CONSULTING *
*----------------------------------------------------------------------*
* Autor......: Guilherme Lahr *
* Data.......: 08.06.2010 *
* Projeto....: CIAP - Bloco G *
* Transação..: Lançamento da fatura na MIRO *
* Descrição : Atualização dos Valores das Áreas de Avaliação *
* 60-PIS e 70-COFINS *
*----------------------------------------------------------------------*
* Histórico das modificações *
*----------------------------------------------------------------------*
* Autor : Data: *
* Observações: *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Tipos *
*----------------------------------------------------------------------*
*TYPES: BEGIN OF y_ekpo,
* ebeln TYPE ekpo-ebeln,
* ebelp TYPE ekpo-ebelp,
* mwskz TYPE ekpo-mwskz,
* effwr TYPE ekpo-effwr,
* END OF y_ekpo,
*
* BEGIN OF y_a003,
* kappl TYPE a003-kappl,
* kschl TYPE a003-kschl,
* aland TYPE a003-aland,
* mwskz TYPE a003-mwskz,
* knumh TYPE a003-knumh,
* END OF y_a003,
*
* BEGIN OF y_konp,
* knumh TYPE konp-knumh,
* kopos TYPE konp-kopos,
* kschl TYPE konp-kschl,
* kbetr TYPE konp-kbetr,
* mwsk1 TYPE konp-mwsk1,
* END OF y_konp,
*
* BEGIN OF y_j1btxic1,
* land1 TYPE j_1btxic1-land1,
* shipfrom TYPE j_1btxic1-shipfrom,
* shipto TYPE j_1btxic1-shipto,
* validfrom TYPE j_1btxic1-validfrom,
* rate TYPE j_1btxic1-rate,
* rate_f TYPE j_1btxic1-rate_f,
* END OF y_j1btxic1.
*----------------------------------------------------------------------*
* Tabelas Internas Globais *
*----------------------------------------------------------------------*
DATA: "tl_a003 TYPE STANDARD TABLE OF y_a003,
* tl_a003_aux TYPE STANDARD TABLE OF y_a003,
* tl_konp TYPE STANDARD TABLE OF y_konp,
* tl_j1btxic1 TYPE STANDARD TABLE OF y_j1btxic1,
tl_accit TYPE STANDARD TABLE OF accit,
tl_ekbe TYPE SORTED TABLE OF ekbe
WITH NON-UNIQUE KEY ebeln ebelp.
* tl_litax TYPE SORTED TABLE OF j_1bnfstx
* WITH NON-UNIQUE KEY itmnum.
*----------------------------------------------------------------------*
* Ranges *
*----------------------------------------------------------------------*
*DATA: r_kschl TYPE RANGE OF a003-kschl.
*----------------------------------------------------------------------*
* Variáveis Globais *
*----------------------------------------------------------------------*
*DATA: vl_iva TYPE ekpo-mwskz,
* vl_liquido TYPE taxcom-wrbtr,
* vl_validade(10) TYPE c,
* vl_imposto TYPE komp-mwsbp,
* vl_linhas TYPE i,
* vl_bukrs_frete_on(1) TYPE c,
* vl_iva_frete_on(1) TYPE c,
* vl_quantidade TYPE ekkn-menge.
*----------------------------------------------------------------------*
* Estrutura *
*----------------------------------------------------------------------*
DATA: st_ekbe LIKE LINE OF tl_ekbe,
st_anepi LIKE LINE OF m_anepi.
* st_accit LIKE LINE OF tl_accit,
* st_j1btxic1 LIKE LINE OF tl_j1btxic1,
* st_j1baj TYPE j_1baj.
*----------------------------------------------------------------------*
* Field Symbols *
*----------------------------------------------------------------------*
FIELD-SYMBOLS: <fs_anepi> LIKE LINE OF m_anepi,
* <fs_a003> LIKE LINE OF tl_a003,
* <fs_konp> LIKE LINE OF tl_konp,
* <fs_kschl> LIKE LINE OF r_kschl,
* <fs_litax> LIKE LINE OF tl_litax,
* <fs_j1btxic1> LIKE LINE OF tl_j1btxic1,
* <fs_ekkn> LIKE LINE OF tl_ekkn,
<fs_accit> LIKE LINE OF tl_accit,
* <fs_rbco> TYPE ANY TABLE,
* <fs_bz> TYPE ANY TABLE,
<fs_table> TYPE ANY TABLE,
* <fs_line> TYPE ANY,
* <fs_campo> TYPE ANY,
<fs_fatura> TYPE ANY.
*----------------------------------------------------------------------*
* Constantes *
*----------------------------------------------------------------------*
CONSTANTS: "c_tx TYPE kappl VALUE 'TX',
c_icm1 TYPE kschl VALUE 'ICM1', "ICMS
c_icm2 TYPE kschl VALUE 'ICM2', "ICMS
c_zcm2 TYPE kschl VALUE 'ZCM2', "ICMS
c_zcm3 TYPE kschl VALUE 'ZCM3', "ICMS
c_icop TYPE kschl VALUE 'ICOP', "Imp. Complementar
c_zcop TYPE kschl VALUE 'ZCOP', "Imp. Complementar
c_zpis TYPE kschl VALUE 'ZPIS', "PIS
c_zpi2 TYPE kschl VALUE 'ZPI2', "PIS
c_zpi3 TYPE kschl VALUE 'ZPI3', "PIS
c_zcon TYPE kschl VALUE 'ZCON', "COFINS
c_zco2 TYPE kschl VALUE 'ZCO2', "COFINS
c_zci2 TYPE kschl VALUE 'ZCI2', "COFINS
c_icox TYPE kschl VALUE 'ICOX',
c_zcox TYPE kschl VALUE 'ZCOX',
* c_i(1) TYPE c VALUE 'I',
* c_eq(2) TYPE c VALUE 'EQ',
* c_br TYPE aland VALUE 'BR',
c_miro TYPE sy-tcode VALUE 'MIRO',
c_mr8m TYPE sy-tcode VALUE 'MR8M',
c_migo TYPE sy-tcode VALUE 'MIGO_GR',
c_50 TYPE afabe_d VALUE '50', "CIAP
c_60 TYPE afabe_d VALUE '60', "PIS
c_70 TYPE afabe_d VALUE '70', "COFINS
* BBKO/Diogo Pimentel - Inicio da Inclusao - 08.10.2010
c_ipsn(4) TYPE c VALUE 'IPSN',
c_icon(4) TYPE c VALUE 'ICON',
c_icoa(4) TYPE c VALUE 'ICOA',
c_ipsa(4) TYPE c VALUE 'IPSA',
* BBKO/Diogo Pimentel - Fim da Inclusao - 08.10.2010
* BBKO/TRRE - Inicio da Inclusao - 14.10.2010
c_zpio(4) TYPE c VALUE 'ZPIO',
c_zcin(4) TYPE c VALUE 'ZCIN'.
* BBKO/TRRE - Fim da Inclusao - 14.10.2010
CASE i_rlambu-tcode.
WHEN c_miro OR
c_mr8m.
CLEAR: st_ekpo.
FREE: m_anepi.
m_anepi[] = t_anepi[].
FREE m_anepi.
m_anepi[] = t_anepi[].
FREE tl_accit.
UNASSIGN <fs_table>.
UNASSIGN <fs_accit>.
READ TABLE tl_accit ASSIGNING <fs_accit> INDEX vl_indice.
IF sy-subrc IS INITIAL.
IF <fs_accit>-ebeln EQ i_rlambu-ebeln AND
<fs_accit>-ebelp EQ i_rlambu-ebelp AND
<fs_accit>-buzid EQ 'W'. "Entrada MIGO
vg_migo = vg_migo + 1.
ENDIF.
ENDIF.
UNASSIGN <fs_accit>.
FREE tl_ekbe.
UNASSIGN <fs_table>.
UNASSIGN <fs_fatura>.
ASSIGN ('(SAPLMR1M)RBKPV-XRECH') TO <fs_fatura>.
UNASSIGN <fs_accit>.
LOOP AT tl_accit ASSIGNING <fs_accit>
FROM sy-tabix.
IF <fs_accit>-taxps NE vl_indice.
EXIT.
ENDIF.
CASE <fs_anepi>-afabe.
WHEN c_50.
IF <fs_accit>-kschl EQ c_icm2 OR
<fs_accit>-kschl EQ c_zcm2 OR
<fs_accit>-kschl EQ c_zcm3 or
<fs_accit>-kschl EQ c_icop or
<fs_accit>-kschl EQ c_zcop.
<fs_anepi>-anbtr = <fs_anepi>-anbtr +
<fs_accit>-pswbt.
ENDIF.
if <fs_accit>-kschl EQ c_icox.
vl_anbtr_icox = <fs_accit>-pswbt.
elseif <fs_accit>-kschl EQ c_zcox.
vl_anbtr_zcox = <fs_accit>-pswbt.
endif.
WHEN c_60.
IF <fs_accit>-kschl EQ c_zpis OR
<fs_accit>-kschl EQ c_zpi2 OR
<fs_accit>-kschl EQ c_zpi3 OR
* BBKO/Diogo Pimentel - Inicio da Inclusao - 08.10.2010
<fs_accit>-kschl EQ c_ipsn or
<fs_accit>-kschl EQ c_zpio OR
<fs_accit>-kschl EQ c_ipsa.
* BBKO/Diogo Pimentel - Fim da Inclusao - 08.10.2010
<fs_anepi>-anbtr = <fs_accit>-pswbt.
EXIT.
ENDIF.
WHEN c_70.
IF <fs_accit>-kschl EQ c_zcon OR
<fs_accit>-kschl EQ c_zco2 OR
<fs_accit>-kschl EQ c_zci2 OR
* BBKO/Diogo Pimentel - Inicio da Inclusao - 08.10.2010
<fs_accit>-kschl EQ c_icon or
<fs_accit>-kschl EQ c_zcin or
<fs_accit>-kschl EQ c_icoa.
* BBKO/Diogo Pimentel - Fim da Inclusao - 08.10.2010
<fs_anepi>-anbtr = <fs_accit>-pswbt.
EXIT.
ENDIF.
ENDCASE.
ENDLOOP.
UNASSIGN <fs_accit>.
CLEAR st_ekbe.
READ TABLE tl_ekbe INTO st_ekbe
WITH TABLE KEY ebeln = i_rlambu-ebeln
ebelp = i_rlambu-ebelp.
WHEN c_mr8m.
IF <fs_fatura> IS ASSIGNED.
IF st_ekbe-shkzg EQ c_h AND
<fs_fatura> IS INITIAL.
<fs_anepi>-anbtr = <fs_anepi>-anbtr * -1.
ENDIF.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
FREE m_anepi.
m_anepi[] = t_anepi[].
UNASSIGN: <fs_anepi>.
LOOP AT m_anepi ASSIGNING <fs_anepi>.
ENDLOOP.
UNASSIGN: <fs_anepi>.
ENDCASE.