Histórico da Página
...
Observação: A partir da release 12.1.23xx2411.
Objetivo
Criar documentos de entrada no módulo de Ativo Fixo do EMS 5.
...
Nos atributos das tabelas temporárias de entrada e saída:O programa , o programa que irá executar a a api_criar_bem_pat deverá docto_entr deverá conter e criar as seguintes tabelas temporárias:
1) Criação de Bem Patrimonial via APIde Documentos de entrada e itens do documento de entrada
Tabela Temporária | Descrição | Entrada/Saída |
tt_integr_incorp_bem_patinvest_2mga | Conterá as informações das incorporações a serem implantadasdos documentos de entrada e seus itens. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ttattv_num_id_bem_patcod_empresa | integer | >>,>>>,>>9 | Número de Identificação do Bem ao qual a incorporação será vinculada. | Sim | |
ttattv_num_seq_incorp_bem_patcdn_emit | integer | >>,>>>,>>9 | Número da sequência da incorporação do bem. | Sim |
4) Tabela de erros
ttv_cod_nota | |||||
ttv_cod_ser_nota | |||||
ttv_cod_natur_operac | |||||
ttv_cod_estab | |||||
ttv_dat_aquis_bem_pat | |||||
ttv_cod_cta | |||||
ttv_cdn_aux | |||||
ttv_cod_origem | |||||
ttv_des_aux_5 | |||||
ttv_val_aquis_bem_pat | |||||
ttv_val_aquis_fasb_bem_pat | |||||
ttv_val_aquis_fasb_bem_pat | |||||
ttv_cdn_unid_bem | |||||
ttv_cdn_org_bem | |||||
ttv_cdn_ord_manut | |||||
ttv_des_bem_pat | |||||
ttv_des_bem_pat | |||||
ttv_cod_unid_negoc | |||||
tta_num_id_ri_bem_pat | |||||
ttv_gera_bem_quant | |||||
ttv_sequencia | |||||
ttv_cod_moed_fasb | |||||
ttv_dat_fasb |
4) Tabela de erros
Tabela Temporária | Descrição | Entrada/Saída |
tt_log_erros | Conterá as informações das mensagem de erro ocorridas na criação do documento de entrada | |
Tabela Temporária | Descrição | Entrada/Saída |
tt_log_erros_int_inc_bem_pat_1 | Conterá as informações dos movimentos que não foram importados com a respectiva mensagem de erro. | Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução | ||
ttv_row_integr_incorp_bem_pat | rowid | num_seq | integer | >>>,>>9 | Número sequencialROWID da incorporação ao qual o erro está vinculado. | ||
ttv_num_cod_erro | integer | >>>>,>>9 | Número do erro para a incorporação do bem patrimonial com a chave formada pelos atributos acima nesta temp tableNúmero do erro. | ||||
ttv_des_msg_erro | character | x(6050) | Mensagem de erro para a incorporação do bem patrimonial com a chave formada pelos atributos acima nesta temp table. | ||||
ttattv_des_msg_ajuda | character | x(4050) | Mensagem de ajuda referente ao erro para a incorporação do bem patrimonial com a chave formada pelos atributos acima nesta temp tableerro. |
Execução
Leitura e Criação dos Registros
Exemplo do programa para criação dos registros nas temp-tables com os documentos de entrada a serem implantados:def new global shared var v_cod_empres_usuar
as character
format "x(3)":U
label "Empresa"
column-label "Empresa"
no-undo.a serem implantados:
def temp-table tt_log_erros no-undo
field ttv_num_seq as integer format ">>>,>>9" label "Seqüência" column-label "Seq"
field ttv_num_cod_erro erro as as integer format ">>>>,>>9" label "Número" column-label "Número"
field ttv_des_erro erro as character format "x(50)" label "Inconsistência" column-label "Inconsistência"
field ttv_des_ajuda as character format "x(50)" label "Ajuda" column-label "Ajuda"
index tt_id
ttv_num_seq ascending
ttv_num_cod_erro erro ascending
.
/* Begin_Include: i_tt_bem_invest_mga */
def temp-table tt_bem_invest_mga no-undo
&IF '{&emsfin_version}' < '5.07A' &THEN
field ttv_cdn_empresa empresa as Integer format '>>9' label 'Empresa Externa' column-label 'Empresa Ext Inicial'
&ELSE
field ttv_cod_empresa empresa as char format 'x(3)' label 'Empresa Externa' column-label 'Empresa Ext Inicial'
&ENDIF
field ttv_cdn_emit emit as as Integer format '>>>>>>>>9' label 'Emitente' column-label 'Emitente'
field ttv_cod_nota nota as as character format 'x(20)'
field ttv_cod_ser_nota nota as character format 'x(5)' label 'Série Nota' column-label 'Série Nota'
field ttv_cod_natur_operac operac as as character format 'x(6)' label 'Natureza Operação' column-label 'Natureza Operação'
field ttv_cod_estab estab as character format 'x(3)' label 'Estabelecimento' column-label 'Estabelecimento'
field ttv_dat_aquis_bem_pat pat as as date format '99/99/9999' label 'Data Aquisição' column-label 'Data Aquisição'
field ttv_cod_cta cta as as character format 'x(20)'
field ttv_cdn_aux aux as Integer format '>>>,>>9'
field ttv_cod_origem origem as as character format 'x(8)' label 'Origem' column-label 'Origem'
field ttv_des_aux_5 5 as as character format 'x(40)'
field ttv_val_aquis_bem_pat as decimal format '->>,>>>,>>>,>>9.99' decimals 2 initial 0 label 'Aquisição Bem' column-label 'Aquisição Bem'
field ttv_val_aquis_fasb_bem_pat pat as decimal format '>>,>>>,>>>,>>9.99' decimals 2
field ttv_val_aquis_cmi_bem_pat pat as decimal format '>>,>>>,>>>,>>9.99' decimals 2
field ttv_cdn_unid_bem bem as as Integer format '>>>,>>9'
field ttv_cdn_org_bem bem as Integer format '>>>,>>9'
field ttv_cdn_ord_manut manut as Integer format '>>>,>>9'
field ttv_des_bem_pat pat as character format 'x(40)' label 'Descrição Bem Pat' column-label 'Descrição Bem Pat'
field ttv_rec_id_bem_pat_2 2 as &IF "{&ROWID_READY}" = "YES" &THEN rowid &ELSE recid format '>>>>>>9' &ENDIF
field ttv_cod_unid_negoc negoc as character format 'x(3)' label 'Unid Negócio' column-label 'Un Neg'
field tta_num_id_ri_bem_pat pat as integer format '>>>,>>>,>>9' initial 1 label 'Identific Bem MRI' column-label 'ID Bem MRI'
field ttv_gera_bem_quant as logical initial no label "Gerar Bem por Quantidade" column-label "Gerar Bem por Quantidade"
field ttv_sequencia sequencia as integer format '>>9' initial 0 label 'Sequencia' column-label 'Seq'
field ttv_cod_moed_fasb fasb AS as character format 'x(8)'
field ttv_dat_fasb fasb AS DATE format '99/99/9999'
.
/* End_Include: i_tt_bem_invest_mga */ as date format '99/99/9999'.
def var v_handle as handle no-undo.
create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa empresa = "10"
tt_bem_invest_mga.ttv_cod_estab estab = "1"
tt_bem_invest_mga.ttv_dat_aquis_bem_pat = today
tt_bem_invest_mga.ttv_cdn_emit emit = 5
tt_bem_invest_mga.ttv_cod_nota nota = "04062024"
tt_bem_invest_mga.ttv_cod_natur_operac operac = "6181A"
tt_bem_invest_mga.ttv_cod_ser_nota nota = "S"
tt_bem_invest_mga.ttv_val_aquis_bem_pat = 129.99 //VALOR DO BEM
tt_bem_invest_mga.ttv_cdn_unid_bem bem = 5 //QUANTIDADE
tt_bem_invest_mga.ttv_des_bem_pat pat = "Primeiro Bem"
.
create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa empresa = "10"
tt_bem_invest_mga.ttv_cod_estab estab = "1"
tt_bem_invest_mga.ttv_dat_aquis_bem_pat = today
tt_bem_invest_mga.ttv_cdn_emit emit = 5
tt_bem_invest_mga.ttv_cod_nota nota = "04062024"
tt_bem_invest_mga.ttv_cod_natur_operac operac = "6181A"
tt_bem_invest_mga.ttv_cod_ser_nota nota = "S"
tt_bem_invest_mga.ttv_val_aquis_bem_pat = 1.99 //VALOR DO BEM
tt_bem_invest_mga.ttv_cdn_unid_bem bem = 20 //QUANTIDADE
tt_bem_invest_mga.ttv_des_bem_pat pat = "Segundo Bem"
.
run prgfin\fas\fas791za.py persistent set v_hdl_program.
...
for each tt_log_erros no-lock:
message "Seq.: " tt_log_erros.ttv_num_seq skip
"Cod. Erro: " tt_log_erros.ttv_num_cod_erro skip
"Descrição Erro: " tt_log_erros.ttv_des_erro skip
"Ajuda: " tt_log_erros.ttv_des_ajuda skip
view-as alert-box.
end.
...