A BAPI BAPI_CIAP_RECORD_CREATE foi disponibilizada para auxiliar na integração de processos adicionais que envolvem criação de fichas CIAP para tomada de crédito de ICMS do imobilizado.
O funcionamento desta BAPI segue o mesmo fluxo de processo de criação de fichas via processo de compra através da transação MIRO, sendo a nota fiscal o fato gerador da criação das fichas.
Da mesma forma que no processo logístico integrado para criação e fichas, as BAdIs abaixo são chamadas para que a ficha possa ser modificada durante o processo de criação:
- BADI_CIAP->GET_CREATION_TYPE
- BADI_CIAP->ALLOW_ACCOUNT_ASSIGNMENT_CAT
- BADI_CIAP->MODIFY_RECORD_CREATION
- BADI_CIAP->GET_INVALID_TAX_GROUPS
- BADI_CIAP->MODIFY_START_CREDIT_LIMIT_DATE
- BADI_CIAP->MODIFY_FIRST_ACC_PERIOD
- BADI_CIAP_EFD->DEFINE_EFD_DATA
Um detalhe importante no processo de criação através da BAPI é que o valor do CFOP do item do material informado não é verificado, por isso um dos campos da interface de entrada que deve ser informado é se a ficha será criada por item ou por unidade.
As regras adicionais de validação informadas no post
https://blogs.sap.com/2016/11/09/ciaptdf-processo-basico-de-criacao-de-fichas/ permanecem sendo verificadas.
A interface de entrada da BAPI possui dois elementos que devem ser preenchidos:
- Estrutura IS_RECORD_CREATE_DATA
- Tabela IT_ASSET_INFO
Na estrutura IS_RECORD_CREATE_DATA devem ser preenchidos os seguintes parâmetros:
- NF_DOCNUM – número interno da nota fiscal do sistema
- NF_ITMNUM – item da nota fiscal informada
- CREATION_TYPE – tipo de criação de ficha (U – unidade; I - item)
- ACCOUNT_ASSIG_CATEGORY – categoria do item, por padrão, podem ser utilizados os valores: A, Q, P, N, F, “ “
*Os campos MAT_DOCUMENT, MAT_DOCUMENT_YEAR e MAT_DOCUMENT_ITEM são obsoletos.
Na tabela IT_ASSET_INFO, devem ser informados os dados dos coletores de custos associados as fichas que serão criadas para que seja possível vincular a ficha ao imobilizado ou ao investimento.
Os seguintes parâmetros devem ser preenchidos:
- Para criação de ficha de imobilizado:
- ASSET_ID – ID do imobilizado proveniente do AA
- ASSET_SUBNUMBER – subnumero do ID principal do imobilizado proveniente do AA
- QUANTITY – quantidade a ser associada a ficha que não deve ser superior ao item da nota fiscal informado
- GLACCOUNT – conta do razão que deve ser associada a ficha, caso nãos seja preenchido, o valor será mapeado do imobilizado ou do investimento
- COST_CENTER – centro de custo associado a ficha
- Para criação de ficha de componente:
- WBS – elemento WBS caso a ficha deva ser vinculada a um objeto de PS
- INTERNAL_ORDER – ordem de investimento caso a ficha seja vinculada a um objeto de CO
- NETWORK_NUMBER – diagrama de rede caso a ficha seja vinculada a um sub objeto de PS
- ACTIVITY_NUMBER – atividade associada ao diagrama de rede
- QUANTITY – quantidade a ser associada a ficha que não deve ser superior ao item da nota fiscal informado
- GLACCOUNT – conta do razão que deve ser associada a ficha, caso nãos seja preenchido, o valor será mapeado do imobilizado ou do investimento
- COST_CENTER – centro de custo associado a ficha
*deve ser preenchido o WBS ou a ordem ou o diagrama de rede e não os três ou combinações entre eles
Caso tenha havido sucesso no processo de criação da ficha, o retorno da BAPI é o ID da ficha criada.
Exemplo 1:
Criação de fichas para imobilizado por item
NF_DOCNUM |
0000445370 |
NF_ITMNUM |
000010 |
CREATION_TYPE |
I |
ACCOUNT_ASSIG_CATEGORY |
A |
ASSET_ID |
ASSET_SUBNUMBER |
QUANTITY |
GLACCOUNT |
COST_CENTER |
20188 |
0 |
5,000 |
12303001 |
1750 |
20187 |
0 |
3,000 |
12303001 |
1750 |
Tabela de retorno da BAPI:
T |
ID |
NUM |
MESSAGE |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D3F472255DD43 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D3F4722561D43 ). |
Foram criadas duas fichas, uma com quantidade 5 relativa ao imobilizado 20188-0 e outra ficha com quantidade 3 relativa ao imobilizado 20187-0.
Exemplo 2:
Criação de fichas para imobilizado por unidade
NF_DOCNUM |
0000445370 |
NF_ITMNUM |
000010 |
CREATION_TYPE |
U |
ACCOUNT_ASSIG_CATEGORY |
A |
ASSET_ID |
ASSET_SUBNUMBER |
QUANTITY |
GLACCOUNT |
COST_CENTER |
20188 |
0 |
5,000 |
12303001 |
1750 |
20187 |
0 |
3,000 |
12303001 |
1750 |
Tabela de retorno da BAPI:
T |
ID |
NUM |
MESSAGE |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF61E03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF65E03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF69E03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF6DE03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF71E03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF75E03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF79E03 ). |
S |
CIAP |
051 |
Record created successfully (ID: 40F2E963DB1A1ED6A88D7E424DF7DE03 ). |
Foram criadas cinco fichas, cada uma com quantidade unitária relativa ao imobilizado 20188-0 e outras 3 fichas com quantidade unitária relativas ao imobilizado 20187-0.
Alexandre Moura
Time de desenvolvimento TDF