Você está na página 1de 19

DATA: idetails

xdetails

TYPE abap_compdescr_tab,
TYPE abap_compdescr.

DATA: ref_table_des

TYPE REF TO cl_abap_structdescr.

" Dados da mensagem


LOOP AT idetails INTO xdetails.
CONCATENATE p_estrutura '-' xdetails-name INTO vl_campo.
ASSIGN (vl_campo) TO <fs_valor>.
IF sy-subrc = 0.
CASE xdetails-name.
WHEN 'AGCREDTD'.
<fs_valor> = p_but0bk-bankl+4(4).
WHEN 'AGDEBTD'.
<fs_valor> = p_t012-bankl+4(4).
WHEN 'ANOMESCOMPTC13'.
<fs_valor> = p_bseg-zzanomes13.
WHEN 'CANPGTO'.
<fs_valor> = '1'.
WHEN 'CHASEL'.
WHEN 'CNPJ_CPF'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CNPJ_CPFCED'.
<fs_valor> = p_pessoa-cnpj_cpf_cre.
WHEN 'CNPJ_CPFCLICRED1'.
<fs_valor> = p_pessoa-cnpj_cpf_cre.
WHEN 'CNPJ_CPFCLICRED2'.
WHEN 'CNPJ_CPFCLIDEBTD'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CNPJ_CPFCTRAPART'.
WHEN 'CNPJ_CPFREMET'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CNPJ_CPFSACD'.

<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CODDEVTRANSF'.
<fs_valor> = p_bseg-zzcoddevtr.
WHEN 'CODGPS'.
<fs_valor> = p_bseg-zzcodgps.
WHEN 'CODIDENTDLIQUID'.
<fs_valor> = p_bseg-zzcodidliq.
WHEN 'CODIDENTDTES'.
<fs_valor> = p_bseg-zzcodidtes.
WHEN 'CODIDENTDTRANSF'.
<fs_valor> = p_bseg-zzidtran.
WHEN 'CODMSG'.
<fs_valor> = p_codmsg.
WHEN 'CODOPSEL'.
WHEN 'CODRECEITATES'.
<fs_valor> = p_bseg-zzcodretes.
WHEN 'CODRECOLHTTES'.
<fs_valor> = p_bseg-zzcodrctes.
WHEN 'CODUNIDDGEST'.
<fs_valor> = p_bseg-zzcodunges.
WHEN 'CTCED'.
<fs_valor> = p_bseg-zzctced.
WHEN 'CTCES'.
<fs_valor> = p_bseg-zzctces.
WHEN 'CTCREDTD'.
<fs_valor> = p_but0bk-bankn.
WHEN 'CTDEBTD'.
WHEN 'DESCATV'.
WHEN 'DTAGENDT'.
WHEN 'DTARREC'.

WHEN 'DTHRSIT'.
WHEN 'DTINILIQUIDCOMPR'.
WHEN 'DTLIQUID'.
<fs_valor> = p_bseg-zzdtliq.
WHEN 'DTMOVTO'.
<fs_valor> = p_doccomp-budat.
WHEN 'DTOP'.
<fs_valor> = p_bseg-zfbdt.
WHEN 'DTOPOR'.
WHEN 'DTOPRET'.
WHEN 'DTREF'.
<fs_valor> = p_bseg-zzdtref.
WHEN 'DTVENC'.
<fs_valor> = p_bseg-zzdtvenc.
WHEN 'FINLDDCORRESP'.
<fs_valor> = cl_finlddcorresp.
WHEN 'FINLDDIF'.
<fs_valor> = p_bseg-zzfinal.
WHEN 'HIST'.
<fs_valor> = p_bseg-zzhist.
WHEN 'HRAGENDT'.
WHEN 'IDENTCDEP'.
<fs_valor> = p_bseg-zzidentdep.
WHEN 'IDENTDCONTRIBT'.
<fs_valor> = p_bseg-zzidecontr.
WHEN 'IDENTDTITSEL'.
<fs_valor> = p_bseg-zziditsel.
WHEN 'IFLIQDANT'.
WHEN 'ISPBIF'.
<fs_valor> = p_banco-ispb_deb.

WHEN 'ISPBIFCREDTD'.
<fs_valor> = p_banco-ispb_cre.
WHEN 'ISPBIFDEBTD'.
<fs_valor> = p_banco-ispb_deb.
WHEN 'ISPBLDL'.
<fs_valor> = p_banco-ispb_cre.
WHEN 'ISPBLTR'.
<fs_valor> = p_banco-ispb_cre.
WHEN 'ISPBPART'.
<fs_valor> = p_banco-ispb_deb.
WHEN 'LDL0004_RESULTLIQD'.
ASSIGN (vl_campo) TO <fs_subvalor>.
CALL FUNCTION 'ZFI_F_BUSCA_LIQ_LDL0004'
EXPORTING
i_ldlorig = zfi_e_ldl0004-numctrlldlor
IMPORTING
e_result = zztt_ldl0004_resultliqd.
*

APPEND zfi_e_ldl0004_resultliqd TO <fs_subvalor>.


<fs_subvalor> = zztt_ldl0004_resultliqd.
WHEN 'LDL0014_DEP'.
ASSIGN (vl_campo) TO <fs_subvalor>.
CALL FUNCTION 'ZFI_F_BUSCA_LIQ_LDL0014'
EXPORTING
i_ldlorig = zfi_e_ldl0014-numctrlldlor
IMPORTING
e_result = zztt_ldl0014_dep.

APPEND zfi_e_ldl0004_resultliqd TO <fs_subvalor>.


<fs_subvalor> = zztt_ldl0014_dep.
WHEN 'NIVELPREF'.
WHEN 'NOM'.
<fs_valor> = p_pessoa-nomclidebt.
WHEN 'NOMCLICREDT1'.
<fs_valor> = p_pessoa-nomclicred.
WHEN 'NOMCLICREDT2'.
WHEN 'NOMCLIDEBTD'.

<fs_valor> = p_pessoa-nomclidebt.
WHEN 'NOMCONTRIBT'.
<fs_valor> = p_bseg-zznomcontr.
WHEN 'NOMREMET'.
<fs_valor> = p_pessoa-nomclidebt.
WHEN 'NUMCODBARRAS'.
<fs_valor> = p_banco-barcode(44).
WHEN 'NUMCONTRTOOPCRED'.
WHEN 'NUMCTRLIF'.
CLEAR wa_bseg_key.
MOVE-CORRESPONDING p_bseg TO wa_bseg_key.
CALL FUNCTION 'ZFI_F_GERA_NUMCTRLIF'
EXPORTING
i_modulo
= p_frmpagspb-modulo+4(1)
i_bseg_key = wa_bseg_key
IMPORTING
e_numctrlif = vl_numctrlif.
<fs_valor> = vl_numctrlif.
WHEN 'NUMCTRLLDLOR'.
<fs_valor> = p_bseg-zznldlor.
WHEN 'NUMCTRLLTROR'.
<fs_valor> = p_bseg-zzltrorig.
WHEN 'NUMCTRLPART'.
CLEAR wa_bseg_key.
MOVE-CORRESPONDING p_bseg TO wa_bseg_key.
CALL FUNCTION 'ZFI_F_GERA_NUMCTRLIF'
EXPORTING
i_modulo
= p_frmpagspb-modulo+4(1)
i_bseg_key = wa_bseg_key
IMPORTING
e_numctrlif = vl_numctrlif.
<fs_valor> = vl_numctrlif.
WHEN 'NUMCTRLSLBOR'.
<fs_valor> = p_bseg-zzslborig.
WHEN 'NUMCTRLSTR'.
WHEN 'NUMCTRLSTROR'.

<fs_valor> = p_bseg-zzctrlsor.
WHEN 'NUMCTRLTESOR'.
<fs_valor> = p_bseg-zzctrltor.
WHEN 'NUMOPSEL'.
<fs_valor> = p_bseg-zznumopsel.
WHEN 'NUMOPSELOR'.
<fs_valor> = p_bseg-zzopselor.
WHEN 'NUMOPSELRET'.
WHEN 'NUMORDEMNEGC'.
WHEN 'NUMPROMS'.
WHEN 'NUMREFDARF'.
<fs_valor> = p_bseg-zznumredar.
WHEN 'NUMREFGRU'.
<fs_valor> = p_bseg-zznumrefgr.
WHEN 'PERCRECEITABRUTACUM'.
WHEN 'PERCVLRPAR'.
WHEN 'PERCVLRPARINTMDC'.
WHEN 'PU'.
<fs_valor> = p_bseg-zzpu.
WHEN 'PUINTMDC'.
WHEN 'PUINTMDCRET'.
WHEN 'PURET'.
WHEN 'QTDTIT'.
<fs_valor> = p_bseg-zzqtdtit.
WHEN 'SITOPSEL'.
WHEN 'STR0040_CTCREDTD'.
zfi_e_str0040_ctcredtd-ctcredtd = p_but0bk-bankn.
zfi_e_str0040_ctcredtd-cnpjcredtd = p_pessoa-cnpjcredtd.
APPEND zfi_e_str0040_ctcredtd TO zfi_e_str0040-str0040_ctcredtd.
WHEN 'SUBTPATV'.
<fs_valor> = p_bseg-zzsubtpatv.

WHEN 'TPCOMPR'.
WHEN 'TPCTCREDTD'.
IF p_but0bk-accname(2) = 'CP'.
<fs_valor> = p_but0bk-accname(2).
ELSE.
<fs_valor> = 'CC'.
ENDIF.
WHEN 'TPDARF'.
<fs_valor> = cl_tpdarf.
WHEN 'TPDEB_CRED'.
CASE p_codmsg.
WHEN 'SEL1007' OR 'SEL1066' OR 'SEL1069'.
<fs_valor> = cl_tpcred.
WHEN OTHERS.
IF p_bseg-shkzg = 'H'. "Crdito
<fs_valor> = cl_tpcred.
ELSEIF p_bseg-shkzg = 'S'. "Dbito
<fs_valor> = cl_tpdeb.
ENDIF.
ENDCASE.
WHEN 'TPDOCBARRAS'.
<fs_valor> = '1'.
WHEN 'TPIDENTDCONTRIBT'.
<fs_valor> = p_bseg-zztpidcont.
WHEN 'TPINFEVTSEL'.
WHEN 'TPLEI'.
<fs_valor> = p_bseg-zztpleilao.
WHEN 'TPLIQUIDDFN'.
<fs_valor> = cl_tpliquiddfn.
WHEN 'TPPESSOA'.
<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPPESSOACED'.
<fs_valor> = p_pessoa-tppessoa_cre.
WHEN 'TPPESSOACREDTD'.
<fs_valor> = p_pessoa-tppessoa_cre.
WHEN 'TPPESSOADEBTD'.

<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPPESSOAREMET'.
<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPPESSOASACD'.
<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPREPFINANC'.
<fs_valor> = p_bseg-zztprepass.
WHEN 'TPRETCOMPR'.
WHEN 'TPTRANSFLDL'.
WHEN 'TPUNILATRDD'.
WHEN 'VLRCHEQDEVLD'.
WHEN 'VLRDESCT_ABATT'.
<fs_valor> = p_bseg-zzdescabat.
WHEN 'VLRDOC'.
<fs_valor> = p_bseg-zzdevlprin.
WHEN 'VLRENCARGO'.
<fs_valor> = p_bseg-zzvlrenca.
WHEN 'VLRFINANC'.
* XXXXX
IF p_codmsg = 'SEL1052' OR p_codmsg = 'SEL3052'.
<fs_valor> = p_bseg-dmbtr.
ELSE.
<fs_valor> = p_doccomp-nebtr.
ENDIF.
WHEN 'VLRFINANCRET'.
WHEN 'VLRINSS'.
<fs_valor> = p_bseg-zzvlrinss.
WHEN 'VLRJUROS'.
<fs_valor> = p_bseg-zzdevljur.
WHEN 'VLRLANC'.
<fs_valor> = p_doccomp-nebtr.

WHEN 'VLRMULTA'.
<fs_valor> = p_bseg-zzdevlmult.
WHEN 'VLROTRACRESC'.
<fs_valor> = p_bseg-zzacrescim.
WHEN 'VLROTRDEDUC'.
<fs_valor> = p_bseg-zzotrdeduc.
WHEN 'VLROTRENT'.
<fs_valor> = p_bseg-zzvlroent.
WHEN 'VLRPRINCIPAL'.
<fs_valor> = p_bseg-zzdevlprin.
WHEN 'VLRRECEITABRUTACUM'.
WHEN 'VLRREP'.
<fs_valor> = p_doccomp-nebtr.
WHEN 'VLRTAR'.
ENDCASE.
UNASSIGN :<fs_valor>,<fs_subvalor>.
ENDIF.
ENDLOOP.

*&---------------------------------------------------------------------*
*&
Form F_SET_DADOS
*&---------------------------------------------------------------------*
FORM f_set_dados USING
p_modulo_origem TYPE zzde_modulo_origem
p_codmsg
TYPE zzde_codmsg
p_estrutura
TYPE typename
p_frmpagspb
TYPE zfi_t_frmpagspb
p_bkpf
TYPE y_bkpf
p_bseg
TYPE bseg
p_banco
TYPE y_banco_fi
p_but0bk
TYPE y_but0bk
p_pessoa
TYPE y_pessoa
p_t012
TYPE y_t012
p_doccomp
TYPE y_doccomp
CHANGING p_msgspb_cab
TYPE zfi_t_msgspb_cab
p_dados
TYPE any.
CONSTANTS:
cl_finlddcorresp TYPE zzde_finalidadecorresp VALUE '00001',
cl_tpdarf
TYPE zzde_tpdarf
VALUE 'N',
cl_tpdeb
TYPE zzde_tipodebitocredito VALUE 'D',

cl_tpcred
cl_tpliquiddfn

TYPE zzde_tipodebitocredito VALUE 'C',


TYPE zzde_tbliquiddef
VALUE '01'.

DATA: idetails
xdetails

TYPE abap_compdescr_tab,
TYPE abap_compdescr.

DATA: ref_table_des

TYPE REF TO cl_abap_structdescr.

DATA: vl_campo
vl_numctrlif

TYPE string,
TYPE zzde_numctrlif.

FIELD-SYMBOLS:
<fs_valor>
<fs_subvalor>

TYPE ANY,
TYPE STANDARD TABLE.

" Cabealho da mensagem SPB


p_msgspb_cab-modulo_origem =
p_msgspb_cab-documento
=
p_msgspb_cab-bukrs
=
p_msgspb_cab-gjahr
=
p_msgspb_cab-buzei
=
p_msgspb_cab-codmsg
=

p_modulo_origem.
p_bseg-belnr.
p_bseg-bukrs.
p_bseg-gjahr.
p_bseg-buzei.
p_codmsg.

* Get the structure of the table.


ref_table_des ?=
cl_abap_typedescr=>describe_by_name( p_estrutura ).
idetails[] = ref_table_des->components[].
*----------------------------------------------------------------------*
" Por enquanto esto relacionados os campos das estruturas abaixo:
*----------------------------------------------------------------------*
"ZFI_E_SEL1003*
"ZFI_E_SEL1007
"ZFI_E_SEL1013*
"ZFI_E_SEL1023*
"ZFI_E_SEL1052
"ZFI_E_SEL1054*
"ZFI_E_SEL1056
"ZFI_E_SEL1066
"ZFI_E_SEL1069
"ZFI_E_SEL1611*
"ZFI_E_SEL3052
"ZFI_E_STR0004
"ZFI_E_STR0007
"ZFI_E_STR0010
"ZFI_E_STR0025
"ZFI_E_STR0026
"ZFI_E_STR0033
"ZFI_E_STR0040
"ZFI_E_TES0001
"ZFI_E_TES0017
"ZFI_E_TES0018
"ZFI_E_TES0034
"ZFI_E_SLB0002
"ZFI_E_LTR0004
"ZFI_E_LDL0004
"ZFI_E_LDL0014
*----------------------------------------------------------------------*
" Dados da mensagem

LOOP AT idetails INTO xdetails.


CONCATENATE p_estrutura '-' xdetails-name INTO vl_campo.
ASSIGN (vl_campo) TO <fs_valor>.
IF sy-subrc = 0.
CASE xdetails-name.
WHEN 'AGCREDTD'.
<fs_valor> = p_but0bk-bankl+4(4).
WHEN 'AGDEBTD'.
<fs_valor> = p_t012-bankl+4(4).
WHEN 'ANOMESCOMPTC13'.
<fs_valor> = p_bseg-zzanomes13.
WHEN 'CANPGTO'.
<fs_valor> = '1'.
WHEN 'CHASEL'.
WHEN 'CNPJ_CPF'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CNPJ_CPFCED'.
<fs_valor> = p_pessoa-cnpj_cpf_cre.
WHEN 'CNPJ_CPFCLICRED1'.
<fs_valor> = p_pessoa-cnpj_cpf_cre.
WHEN 'CNPJ_CPFCLICRED2'.
WHEN 'CNPJ_CPFCLIDEBTD'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CNPJ_CPFCTRAPART'.
WHEN 'CNPJ_CPFREMET'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CNPJ_CPFSACD'.
<fs_valor> = p_pessoa-cnpj_cpf_deb.
WHEN 'CODDEVTRANSF'.
<fs_valor> = p_bseg-zzcoddevtr.

WHEN 'CODGPS'.
<fs_valor> = p_bseg-zzcodgps.
WHEN 'CODIDENTDLIQUID'.
<fs_valor> = p_bseg-zzcodidliq.
WHEN 'CODIDENTDTES'.
<fs_valor> = p_bseg-zzcodidtes.
WHEN 'CODIDENTDTRANSF'.
<fs_valor> = p_bseg-zzidtran.
WHEN 'CODMSG'.
<fs_valor> = p_codmsg.
WHEN 'CODOPSEL'.
WHEN 'CODRECEITATES'.
<fs_valor> = p_bseg-zzcodretes.
WHEN 'CODRECOLHTTES'.
<fs_valor> = p_bseg-zzcodrctes.
WHEN 'CODUNIDDGEST'.
<fs_valor> = p_bseg-zzcodunges.
WHEN 'CTCED'.
<fs_valor> = p_bseg-zzctced.
WHEN 'CTCES'.
<fs_valor> = p_bseg-zzctces.
WHEN 'CTCREDTD'.
<fs_valor> = p_but0bk-bankn.
WHEN 'CTDEBTD'.
WHEN 'DESCATV'.
WHEN 'DTAGENDT'.
WHEN 'DTARREC'.
WHEN 'DTHRSIT'.
WHEN 'DTINILIQUIDCOMPR'.
WHEN 'DTLIQUID'.

<fs_valor> = p_bseg-zzdtliq.
WHEN 'DTMOVTO'.
<fs_valor> = p_doccomp-budat.
WHEN 'DTOP'.
<fs_valor> = p_bseg-zfbdt.
WHEN 'DTOPOR'.
WHEN 'DTOPRET'.
WHEN 'DTREF'.
<fs_valor> = p_bseg-zzdtref.
WHEN 'DTVENC'.
<fs_valor> = p_bseg-zzdtvenc.
WHEN 'FINLDDCORRESP'.
<fs_valor> = cl_finlddcorresp.
WHEN 'FINLDDIF'.
<fs_valor> = p_bseg-zzfinal.
WHEN 'HIST'.
<fs_valor> = p_bseg-zzhist.
WHEN 'HRAGENDT'.
WHEN 'IDENTCDEP'.
<fs_valor> = p_bseg-zzidentdep.
WHEN 'IDENTDCONTRIBT'.
<fs_valor> = p_bseg-zzidecontr.
WHEN 'IDENTDTITSEL'.
<fs_valor> = p_bseg-zziditsel.
WHEN 'IFLIQDANT'.
WHEN 'ISPBIF'.
<fs_valor> = p_banco-ispb_deb.
WHEN 'ISPBIFCREDTD'.
<fs_valor> = p_banco-ispb_cre.
WHEN 'ISPBIFDEBTD'.

<fs_valor> = p_banco-ispb_deb.
WHEN 'ISPBLDL'.
<fs_valor> = p_banco-ispb_cre.
WHEN 'ISPBLTR'.
<fs_valor> = p_banco-ispb_cre.
WHEN 'ISPBPART'.
<fs_valor> = p_banco-ispb_deb.
WHEN 'LDL0004_RESULTLIQD'.
ASSIGN (vl_campo) TO <fs_subvalor>.
CALL FUNCTION 'ZFI_F_BUSCA_LIQ_LDL0004'
EXPORTING
i_ldlorig = zfi_e_ldl0004-numctrlldlor
IMPORTING
e_result = zztt_ldl0004_resultliqd.
*

APPEND zfi_e_ldl0004_resultliqd TO <fs_subvalor>.


<fs_subvalor> = zztt_ldl0004_resultliqd.
WHEN 'LDL0014_DEP'.
ASSIGN (vl_campo) TO <fs_subvalor>.
CALL FUNCTION 'ZFI_F_BUSCA_LIQ_LDL0014'
EXPORTING
i_ldlorig = zfi_e_ldl0014-numctrlldlor
IMPORTING
e_result = zztt_ldl0014_dep.

APPEND zfi_e_ldl0004_resultliqd TO <fs_subvalor>.


<fs_subvalor> = zztt_ldl0014_dep.
WHEN 'NIVELPREF'.
WHEN 'NOM'.
<fs_valor> = p_pessoa-nomclidebt.
WHEN 'NOMCLICREDT1'.
<fs_valor> = p_pessoa-nomclicred.
WHEN 'NOMCLICREDT2'.
WHEN 'NOMCLIDEBTD'.
<fs_valor> = p_pessoa-nomclidebt.
WHEN 'NOMCONTRIBT'.
<fs_valor> = p_bseg-zznomcontr.

WHEN 'NOMREMET'.
<fs_valor> = p_pessoa-nomclidebt.
WHEN 'NUMCODBARRAS'.
<fs_valor> = p_banco-barcode(44).
WHEN 'NUMCONTRTOOPCRED'.
WHEN 'NUMCTRLIF'.
CLEAR wa_bseg_key.
MOVE-CORRESPONDING p_bseg TO wa_bseg_key.
CALL FUNCTION 'ZFI_F_GERA_NUMCTRLIF'
EXPORTING
i_modulo
= p_frmpagspb-modulo+4(1)
i_bseg_key = wa_bseg_key
IMPORTING
e_numctrlif = vl_numctrlif.
<fs_valor> = vl_numctrlif.
WHEN 'NUMCTRLLDLOR'.
<fs_valor> = p_bseg-zznldlor.
WHEN 'NUMCTRLLTROR'.
<fs_valor> = p_bseg-zzltrorig.
WHEN 'NUMCTRLPART'.
CLEAR wa_bseg_key.
MOVE-CORRESPONDING p_bseg TO wa_bseg_key.
CALL FUNCTION 'ZFI_F_GERA_NUMCTRLIF'
EXPORTING
i_modulo
= p_frmpagspb-modulo+4(1)
i_bseg_key = wa_bseg_key
IMPORTING
e_numctrlif = vl_numctrlif.
<fs_valor> = vl_numctrlif.
WHEN 'NUMCTRLSLBOR'.
<fs_valor> = p_bseg-zzslborig.
WHEN 'NUMCTRLSTR'.
WHEN 'NUMCTRLSTROR'.
<fs_valor> = p_bseg-zzctrlsor.
WHEN 'NUMCTRLTESOR'.
<fs_valor> = p_bseg-zzctrltor.

WHEN 'NUMOPSEL'.
<fs_valor> = p_bseg-zznumopsel.
WHEN 'NUMOPSELOR'.
<fs_valor> = p_bseg-zzopselor.
WHEN 'NUMOPSELRET'.
WHEN 'NUMORDEMNEGC'.
WHEN 'NUMPROMS'.
WHEN 'NUMREFDARF'.
<fs_valor> = p_bseg-zznumredar.
WHEN 'NUMREFGRU'.
<fs_valor> = p_bseg-zznumrefgr.
WHEN 'PERCRECEITABRUTACUM'.
WHEN 'PERCVLRPAR'.
WHEN 'PERCVLRPARINTMDC'.
WHEN 'PU'.
<fs_valor> = p_bseg-zzpu.
WHEN 'PUINTMDC'.
WHEN 'PUINTMDCRET'.
WHEN 'PURET'.
WHEN 'QTDTIT'.
<fs_valor> = p_bseg-zzqtdtit.
WHEN 'SITOPSEL'.
WHEN 'STR0040_CTCREDTD'.
zfi_e_str0040_ctcredtd-ctcredtd = p_but0bk-bankn.
zfi_e_str0040_ctcredtd-cnpjcredtd = p_pessoa-cnpjcredtd.
APPEND zfi_e_str0040_ctcredtd TO zfi_e_str0040-str0040_ctcredtd.
WHEN 'SUBTPATV'.
<fs_valor> = p_bseg-zzsubtpatv.
WHEN 'TPCOMPR'.
WHEN 'TPCTCREDTD'.
IF p_but0bk-accname(2) = 'CP'.

<fs_valor> = p_but0bk-accname(2).
ELSE.
<fs_valor> = 'CC'.
ENDIF.
WHEN 'TPDARF'.
<fs_valor> = cl_tpdarf.
WHEN 'TPDEB_CRED'.
CASE p_codmsg.
WHEN 'SEL1007' OR 'SEL1066' OR 'SEL1069'.
<fs_valor> = cl_tpcred.
WHEN OTHERS.
IF p_bseg-shkzg = 'H'. "Crdito
<fs_valor> = cl_tpcred.
ELSEIF p_bseg-shkzg = 'S'. "Dbito
<fs_valor> = cl_tpdeb.
ENDIF.
ENDCASE.
WHEN 'TPDOCBARRAS'.
<fs_valor> = '1'.
WHEN 'TPIDENTDCONTRIBT'.
<fs_valor> = p_bseg-zztpidcont.
WHEN 'TPINFEVTSEL'.
WHEN 'TPLEI'.
<fs_valor> = p_bseg-zztpleilao.
WHEN 'TPLIQUIDDFN'.
<fs_valor> = cl_tpliquiddfn.
WHEN 'TPPESSOA'.
<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPPESSOACED'.
<fs_valor> = p_pessoa-tppessoa_cre.
WHEN 'TPPESSOACREDTD'.
<fs_valor> = p_pessoa-tppessoa_cre.
WHEN 'TPPESSOADEBTD'.
<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPPESSOAREMET'.
<fs_valor> = p_pessoa-tppessoa_deb.

WHEN 'TPPESSOASACD'.
<fs_valor> = p_pessoa-tppessoa_deb.
WHEN 'TPREPFINANC'.
<fs_valor> = p_bseg-zztprepass.
WHEN 'TPRETCOMPR'.
WHEN 'TPTRANSFLDL'.
WHEN 'TPUNILATRDD'.
WHEN 'VLRCHEQDEVLD'.
WHEN 'VLRDESCT_ABATT'.
<fs_valor> = p_bseg-zzdescabat.
WHEN 'VLRDOC'.
<fs_valor> = p_bseg-zzdevlprin.
WHEN 'VLRENCARGO'.
<fs_valor> = p_bseg-zzvlrenca.
WHEN 'VLRFINANC'.
* XXXXX
IF p_codmsg = 'SEL1052' OR p_codmsg = 'SEL3052'.
<fs_valor> = p_bseg-dmbtr.
ELSE.
<fs_valor> = p_doccomp-nebtr.
ENDIF.
WHEN 'VLRFINANCRET'.
WHEN 'VLRINSS'.
<fs_valor> = p_bseg-zzvlrinss.
WHEN 'VLRJUROS'.
<fs_valor> = p_bseg-zzdevljur.
WHEN 'VLRLANC'.
<fs_valor> = p_doccomp-nebtr.
WHEN 'VLRMULTA'.
<fs_valor> = p_bseg-zzdevlmult.
WHEN 'VLROTRACRESC'.

<fs_valor> = p_bseg-zzacrescim.
WHEN 'VLROTRDEDUC'.
<fs_valor> = p_bseg-zzotrdeduc.
WHEN 'VLROTRENT'.
<fs_valor> = p_bseg-zzvlroent.
WHEN 'VLRPRINCIPAL'.
<fs_valor> = p_bseg-zzdevlprin.
WHEN 'VLRRECEITABRUTACUM'.
WHEN 'VLRREP'.
<fs_valor> = p_doccomp-nebtr.
WHEN 'VLRTAR'.
ENDCASE.
UNASSIGN :<fs_valor>,<fs_subvalor>.
ENDIF.
ENDLOOP.
ENDFORM.

" F_SET_DADOS

Você também pode gostar