Utilizando API

Discussão em 'Progress 4GL' iniciado por psangalo, Novembro 4, 2010.

  1. psangalo

    psangalo Sem Pontuação

    Pessoal boa tarde..

    Estou utilizando uma API para validação de alguns campos no EMS505.

    Meu programa lê a planilha de entrada...tudo 100%...
    Porém está se perdendo no laço para seguir no próximo ativo e rodar a API.

    Como posso trata-la melhor?


    input from c:\transf.csv convert source "iso8859-1".
    repeat:
    import delimiter ";"
    v-empresa
    v-conta-pat
    v-bem-pat
    v-seq-pat
    v-unid-negoc
    v-estab
    v-conta-ant
    v-conta-nova no-error.


    FIND FIRST bem_pat WHERE cod_empresa = v-empresa
    AND bem_pat.cod_cta_pat = v-conta-pat
    AND num_bem_pat = v-bem-pat
    AND num_seq_bem_pat = v-seq-pat
    AND cod_unid_negoc = v-unid-negoc
    AND cod_estab = v-estab
    AND cod_ccusto_respons = v-conta-ant
    AND cod_ccusto_respons <> v-conta-nova NO-ERROR.

    if avail bem_pat THEN
    do:

    create tt_movto_bem_pat_api_b.

    IF AVAIL tt_movto_bem_pat_api_b THEN DO:
    Assign
    tt_movto_bem_pat_api_b.tta_cod_empresa = v-empresa
    tt_movto_bem_pat_api_b.tta_cod_cta_pat = v-conta-pat
    tt_movto_bem_pat_api_b.tta_num_bem_pat = v-bem-pat
    tt_movto_bem_pat_api_b.tta_num_seq_bem_pat = v-seq-pat
    tt_movto_bem_pat_api_b.tta_dat_movto_bem_pat = TODAY
    tt_movto_bem_pat_api_b.tta_ind_trans_calc_bem_pat = "Baixa"
    tt_movto_bem_pat_api_b.tta_ind_orig_calc_bem_pat = "Transferência"
    tt_movto_bem_pat_api_b.ttv_ind_tip_movto_bem_pat = "Por Percentual"
    tt_movto_bem_pat_api_b.tta_cod_motiv_desmob = "TR"
    tt_movto_bem_pat_api_b.tta_cod_cenar_ctbl = "Fiscal"
    tt_movto_bem_pat_api_b.tta_cod_indic_econ = "Real"
    tt_movto_bem_pat_api_b.tta_val_fatur_desmob = 0
    tt_movto_bem_pat_api_b.tta_val_origin_movto_bem_pat = 0
    tt_movto_bem_pat_api_b.tta_val_perc_movto_bem_pat = 0
    tt_movto_bem_pat_api_b.tta_qtd_movto_bem_pat = 0
    tt_movto_bem_pat_api_b.tta_cod_plano_ccusto = "GERAL"
    tt_movto_bem_pat_api_b.tta_cod_ccusto_respons = v-conta-nova
    tt_movto_bem_pat_api_b.tta_cod_unid_negoc = v-unid-negoc
    tt_movto_bem_pat_api_b.tta_cod_estab = v-estab
    tt_movto_bem_pat_api_b.ttv_ind_sit_movto_bem_pat = ""
    tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat = ""
    tt_movto_bem_pat_api_b.tta_num_pessoa_jurid = 0
    tt_movto_bem_pat_api_b.tta_cod_ender_entreg = ""
    tt_movto_bem_pat_api_b.tta_cod_localiz = "" .


    run prgfin/fas/fas737zb.py persistent set v_hdl_api_bem_pat_bxa_transf (Input 01) /* prg_api_criacao_movto_bem_pat*/.
    run pi_api_criacao_movto_bem_pat in v_hdl_api_bem_pat_bxa_transf (input ind_tratam_erro,input-output table tt_movto_bem_pat_api_b ).
    if valid-handle( v_hdl_api_bem_pat_bxa_transf )
    then do:
    delete procedure v_hdl_api_bem_pat_bxa_transf.
    assign v_hdl_api_bem_pat_bxa_transf = ?.
    end.

    NEXT.

    for each tt_movto_bem_pat_api_b
    where tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat <> "":
    disp tt_movto_bem_pat_api_b.tta_cod_empresa
    tt_movto_bem_pat_api_b.tta_cod_cta_pat
    tt_movto_bem_pat_api_b.tta_num_bem_pat
    tt_movto_bem_pat_api_b.tta_num_seq_bem_pat
    tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat skip.
    end.

    END.
    END.
    END.

Compartilhe esta Página