Sie sind auf Seite 1von 7

1)

ASSIGN ('(SAPLXQQM)G_ACESSOU_DADOS_COMPLEMENTARES') TO <acessou_aba>.


IF sy-subrc EQ 0 AND NOT <acessou_aba> IS INITIAL.
DELETE FROM zqm_cont_tedesco WHERE qmnum = viqmel-qmnum.
ENDIF.
"Se no encontrou o fornecedor pelo ID
IF vl_bu_group IS INITIAL.
"Busca o fornecedor pela tela
ASSIGN ('(SAPLFDCB)INVFO-ACCNT') TO <fs_fornecedor>.
"Se encontrou o cdigo do fornecedor
IF <fs_fornecedor> IS ASSIGNED.
vl_bu_group = <fs_fornecedor>.
ENDIF.
ENDIF.
2)
DATA vg_field3(5) TYPE c VALUE 'BUZEI' .
ASSIGN: (vg_table) TO <fs_table>
,
(vl_table) TO <fs_table_del> ,
(vl_struc) TO <fs_struc>
.
CHECK <fs_table> IS ASSIGNED.
CHECK <fs_table_del> IS ASSIGNED.
CHECK <fs_struc> IS ASSIGNED.
READ TABLE <fs_table> ASSIGNING <fs_work> WITH KEY (vg_field3) = p_msg-buzei.
IF ( <fs_field> IS ASSIGNED ) AND ( <fs_field> IS NOT INITIAL ).
APPEND <fs_work> TO <fs_table_del> .

3)
*&---------------------------------------------------------------------*
*&
Form F_GRAVA_DADOS_TELA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM f_grava_dados_tela .
CHECK sy-ucomm NE 'EXIT' AND <fs_struc> IS ASSIGNED.
* CHECK <fs_struc> IS NOT INITIAL.

MOVE-CORRESPONDING <fs_struc> TO <fs_work>.


IF NOT zfi_e_ctp0001-identdctrapartcamr IS INITIAL.
UNASSIGN <fs_field>.
ASSIGN COMPONENT 'IDENTDCTRAPARTCA' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = zfi_e_ctp0001-identdctrapartcamr.
ENDIF.
ENDIF.
UNASSIGN <fs_field>.
ASSIGN COMPONENT 'BUKRS' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = vg_proxy_transaction->a_activity-bukrs.
ENDIF.
UNASSIGN <fs_field>.
ASSIGN COMPONENT 'BUZEI' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = wa_msg-buzei.
ENDIF.
MODIFY TABLE <fs_table> FROM <fs_work>.
IF sy-subrc NE 0.
APPEND <fs_work> TO <fs_table>.
ENDIF.
SORT <fs_table> BY (vg_field1) (vg_field2) (vg_field3) DESCENDING.

4)
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
DATA: vl_stab(20) TYPE c.

Busca detalhes da mensagem


SELECT *
" Todos os campos da tabela sero utilizados
FROM (vl_stab)
APPENDING TABLE <fs_table>

WHERE bukrs EQ wa_ftrmsg-bukrs


AND rfha EQ wa_ftrmsg-rfha
AND buzei EQ wa_ftrmsg-buzei.

5)
*&---------------------------------------------------------------------*
*&
Form F_GRAVA_DETALHES_MENSAGENS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM f_grava_detalhes_mensagens USING p_rfha TYPE vtbfha-rfha
value(p_msg) .
DATA vl_table(20) TYPE c .
CONCATENATE: c_tab p_msg INTO vg_table ,
c_dmsg p_msg INTO vl_table .
UNASSIGN <fs_table>.
ASSIGN (vg_table) TO <fs_table> .
CHECK <fs_table> IS ASSIGNED.
* READ TABLE t_msg INTO wa_msg WITH KEY cd_msg = p_msg.
LOOP AT t_msg INTO wa_msg WHERE cd_msg = p_msg.
LOOP AT <fs_table> ASSIGNING <fs_work>.
ASSIGN COMPONENT 'BUZEI' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
IF <fs_field> <> wa_msg-buzei.
CONTINUE.
ENDIF.
ELSE.
CONTINUE.
ENDIF.
ASSIGN COMPONENT 'RFHA' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = p_rfha.
ENDIF.
ASSIGN COMPONENT 'MANDT' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.

<fs_field> = sy-mandt.
ENDIF.
ASSIGN COMPONENT 'SFHAZBA' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = wa_msg-sfhazba.
ENDIF.
IF <fs_field> IS ASSIGNED.
IF <fs_field> <> wa_msg-sfhazba.
CONTINUE.
ENDIF.
ELSE.
CONTINUE.
ENDIF.

*
*
*

ASSIGN COMPONENT 'SSIGN' OF STRUCTURE <fs_work> TO <fs_field>.


IF <fs_field> IS ASSIGNED.
<fs_field> = wa_msg-ssign.
ENDIF.
ASSIGN COMPONENT 'DZTERM' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = wa_msg-dzterm.
ENDIF.
ASSIGN COMPONENT 'CODMSG' OF STRUCTURE <fs_work> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = wa_msg-cd_msg.
ENDIF.
ENDLOOP.
ENDLOOP.
IF <fs_table> IS NOT INITIAL.
MODIFY (vl_table) FROM TABLE <fs_table>.
ENDIF.
ENDFORM.

" F_GRAVA_DETALHES_MENSAGENS

6)
LOOP AT t_msg_aux INTO wa_msg_aux.
CONCATENATE c_tab wa_msg_aux-cd_msg INTO vg_table .

UNASSIGN <fs_table>.
ASSIGN (vg_table) TO <fs_table> .
CHECK <fs_table> IS ASSIGNED.
UNASSIGN <fs_work>.
READ TABLE <fs_table> ASSIGNING <fs_work>
WITH KEY (vg_field1) = i_proxy->a_activity-bukr
s
(vg_field2) = i_proxy->a_activity-rfha
(vg_field3) = wa_msg_aux-buzei.
IF <fs_work> IS ASSIGNED.
UNASSIGN: <fs_pu>, <fs_qtd>.

*
*

*
*
*
*

CASE wa_msg-cd_msg.
WHEN 'RDC0007'.
ASSIGN COMPONENT 'PURET' OF STRUCTURE <fs_work> TO <fs_pu>.
WHEN 'CTP0001'.
ASSIGN COMPONENT 'PUNEG' OF STRUCTURE <fs_work> TO <fs_pu>.
WHEN OTHERS.
ASSIGN COMPONENT 'PU' OF STRUCTURE <fs_work> TO <fs_pu>.
ENDCASE.
ELSE.
IF wa_msg_aux-cd_msg = 'SEL1056'.
CONTINUE.
ENDIF.
ENDIF.
IF wa_msg-cd_msg EQ 'CTP0001'.
ASSIGN COMPONENT 'QTDCTP' OF STRUCTURE <fs_work> TO <fs_qtd>.
ELSE.
ASSIGN COMPONENT 'QTDTIT' OF STRUCTURE <fs_work> TO <fs_qtd>.
ENDIF.
IF ( <fs_pu> IS ASSIGNED ) AND ( <fs_qtd> IS ASSIGNED ).
vl_acum = ( <fs_pu> * <fs_qtd> ).

*
*

UNASSIGN <fs_xzbetr>.
ASSIGN ('(SAPLFTR_IRATE)VTG_INVEST-XZBETR ') TO <fs_xzbetr>.

IF <fs_xzbetr> IS ASSIGNED.
vl_xzbetr = wa_msg_aux-bzbetr.

TRANSLATE vl_xzbetr USING: ' #'

*
*
*

',&. ' ,
'# &.' .
CONDENSE vl_xzbetr NO-GAPS.
vl_calc1 = vl_xzbetr .
vl_calc2 = vl_acum .

* Incio Incluso - T0695 - 17/09/2013 - VERIFICAR DEPOIS!!!!!!!!!!


*
IF vl_calc1 NE vl_calc2.
*
CALL METHOD i_messages->set_message
*
EXPORTING
*
pi_message_id
= 'ZFI'
*
pi_message_number = '000'
*
pi_message_severity = 'E'
*
pi_message_var1
= text-010
*
EXCEPTIONS
*
OTHERS
= 4.
*
ENDIF.
* Fim Incluso
- T0695 - 17/09/2013
*
ENDIF.
ENDIF.
ENDLOOP.

7)

LOOP AT t_ftrmsg_del INTO wa_ftrmsg.


CONCATENATE: c_dmsg wa_ftrmsg-cd_msg
INTO vl_stable ,
c_tab wa_ftrmsg-cd_msg '_DEL' INTO vg_table .
UNASSIGN <fs_table>.
ASSIGN (vg_table) TO <fs_table>.
CHECK <fs_table> IS ASSIGNED.
DELETE (vl_stable) FROM TABLE <fs_table> .
ENDLOOP.

8)
*&---------------------------------------------------------------------*
*&
Form F_LIMPA_CAMPOS_MSG
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_limpa_campos_msg .
* Declarao de Field Symbol

FIELD-SYMBOLS: <fs_msg> TYPE ANY .


* Declarao de varivel
DATA vl_limpa_campos_msg TYPE char13.
* Limpa a varivel
CLEAR vl_limpa_campos_msg.
* Monta a descrio da estrutura de mensagens
CONCATENATE 'ZFI' '_' 'E' '_' wa_msg-cd_msg INTO vl_limpa_campos_msg.
* Recupera a estrura da mensagem associada pelo Field Symbol
ASSIGN (vl_limpa_campos_msg) TO <fs_msg> .
* Limpa a estrutura de mensagem
CLEAR <fs_msg>.
* Desassocia o Field Symbol
UNASSIGN <fs_msg>.
ENDFORM.

" F_LIMPA_CAMPOS_MSG

9)

ASSIGN er_event_data->m_data->* TO <fs_loc_t_modi>.

10)

Das könnte Ihnen auch gefallen