Verificando erro em ALV
11, Agosto 2009 at 10:54 pm | In ABAP-SAP | 1 CommentTags: ABAP, ALV, SAP
Existe uma sequencia que nos mostra erros em ALV, no começo achei meio estranho mas realmente funciona,
- Clique na tela do seu ALV.
- Segure SHIFT, CONTROL, ALT.
- De 2 clique com o botão direito do mouse em uma parte vazia do seu ALV.
Ira aparecer um popup com o log do seu ALV, muito doido, rs.
Quem me passou essa foi meu amigo Rodolfo Mião.
Abraço Rodolfo e abraço a todos,
Mauro Cesar Silva Laranjeira
Zeros a esquerda – ABAP
11, Agosto 2009 at 10:49 pm | In ABAP-SAP | Leave a CommentTags: ABAP, SAP
Temos 2 funções que nos auxiliam com tratamento de zeros a esquerda, a função
CONVERSION_EXIT_ALPHA_INPUT que insere zeros a esquerda, e a função
CONVERSION_EXIT_ALPHA_OUTPUT que remove zeros a esquerda.
Exemplo:
DATA: v_teste TYPE char10 VALUE ‘30′.
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’
EXPORTING
input = v_teste
IMPORTING
output = v_teste.
WRITE v_teste.
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_OUTPUT’
EXPORTING
input = v_teste
IMPORTING
output = v_teste.
WRITE v_teste.
Inserindo valor em Grid com BOL – CRM 2007
11, Agosto 2009 at 10:20 pm | In ABAP-SAP | Leave a CommentTags: ABAP, BOL, crm 2007, GRID, SAP
Neste exemplo iremos criar um método com o nome INSERT_ENTITY_GRID, este método terá a função de atribuir uma work area recebida como parâmetro (wa_grid) em um grid construído com nó de valor.
Nossa work area e do tipo da estrutura Z, Zestrutura.
O Nome do meu nó de valor com o grid, chama GRID.
Este método pode ser disparado de um método da classe de implementação (class de controle da View, normalmente com o final IMPL), um método que recomendo para fazer esta chamada e o DO_PREPARE_OUTPUT .
Segue o método para alimentar o grid com a work area.
METHOD insert_entity_grid.
DATA: o_new_line TYPE REF TO cl_bsp_wd_value_node,
o_zestrutura TYPE REF TO Zestrutura.
CREATE DATA o_zestrutura.
CREATE OBJECT o_new_line
EXPORTING
iv_data_ref = o_zestrutura.
o_new_line->if_bol_bo_property_access~set_properties( is_attributes = wa_grid ).
me->typed_context->grid->collection_wrapper->if_bol_bo_col~add( iv_entity = o_new_line ).
ENDMETHOD.
É apenas o exemplo de um método, mas caso queira preencher todo o grid com os valores de uma tabela interna também seria possível desta maneira:
loop at t_grid into wa_grid.
me->insert_entity_grid( wa_grid ).
endloop.
Abraço,
Mauro Cesar Silva Laranjeira
Exibindo mensagem no CRM 2007 com BOL
11, Agosto 2009 at 9:48 pm | In ABAP-SAP | Leave a CommentTags: BOL, CRM, mensagem
DATA: o_msgsrv TYPE REF TO cl_bsp_wd_message_service.
o_msgsrv = cl_bsp_wd_message_service=>get_instance( ).
o_msgsrv->add_message( iv_msg_type = ’E’ “tipo da mensagem W/E/S
iv_msg_id = ’ZCLAS’ “Class de mensagem’
iv_msg_number = ’001′ “Número da mensagem
iv_msg_v1 = ’Texto da mensagem’.
Abraço,
Mauro Cesar Silva Laranjeira
Estudando BOL agora…
19, Agosto 2008 at 10:34 pm | In ABAP-SAP | Leave a CommentTags: ABAP, BOL, CRM, SAP
E ai pessoal, certinho????
Estou loko para voltar a postar aqui no blog, mas estou em uma correria, como tenho mencionado, trabalho com ABAP no SAP/R3, estou em um projeto de CRM usando BOL, estou tendo que estudar muito, rs, ainda falta informação na internet sobre BOL.
Para quem quiser conhecer segue o link de um slide que achei show de bola
http://www.slideshare.net/srinatha/crm2007-unit7-ui-development-305045
Mas qualquer coisa enviem e-mail para maurocesarsl@uol.com.br
Fikem c Deus… t+++
Insert de tabela interna em tabela SAP
29, Fevereiro 2008 at 3:11 pm | In ABAP-SAP | 1 CommentTags: ABAP, COMMIT, insert, ROLLBACK, SAP, sy-subrc, work
Para dar um insert de uma tabela interna em uma tabela no SAP não podemos usar apenas o comando insert como em outras linguagens, temos que usar também um comando chamado COMMIT WORK.
Veja um exemplo usando a tabela lfza:
REPORT zinsert_lfza.
********************
* type
**********************
types: begin of ty_lfza,
lifnr type lfza-lifnr,
bukrs type lfza-bukrs,
empfk type lfza-empfk,
end of ty_lfza.
***********************
* Start-of_selection
***********************
START-OF-SELECTION.
insert lfza from TABLE it_lfza.
*Apos o comando insert da it_lfza os dados ainda não foram para o banco, ficaram salvos em um espaço na memória
*Verificamos se a variável de sistema SY-SUBRC e INITIAL ou igual a 0
*Se o valor dela for 0 quer dizer q o comando insert obteve sucesso
IF SY-SUBRC IS INITIAL.
*com o comando COMMIT WORK os registros que estão na memória são salvos na tabela lfza do banco
COMMIT WORK.
ELSE.
*com o comando ROLLBACK WORK os registro na memória serão excluídos.
ROLLBACK WORK.
*fecha if do SY-SUBRC
ENDIF.
Espero ter ajudado, qualquer coisa maurocesarsl@uol.com.br
Upload de Arquivo em ABAP
18, Fevereiro 2008 at 4:20 pm | In ABAP-SAP | Leave a CommentTags: ABAP, GUI_UPLOAD, SAP, Upload, WS_FILENAME_GET
Para fazer um Upload de arquivo no SAP e necessario usar duas funções a WS_FILENAME_GET e a GUI_UPLOAD, a WS_FILENAME_GET e usada para pegar o nome do arquivo, no exemplo abaixo o arquivo e um txt no formato da tabela LFZA com os campos separados por TAB.
A função GUI_UPLOAD e responsavel por subir o arquivo e jogar no dados do arquivo txt dentro de uma tabela interna.
Segue o código:
REPORT z_upload.
**********************
* type
**********************
types: begin of ty_lfza,
lifnr type lfza-lifnr,
bukrs type lfza-bukrs,
empfk type lfza-empfk,
end of ty_lfza.
*****************
* Tabela interna
*****************
DATA: BEGIN OF it_lfza OCCURS 0,
mandta type sy-mandt,
lifnr type lfza-lifnr,
bukrs type lfza-bukrs,
empfk type lfza-empfk,
END OF it_lfza.
*****************
* Variavel local
*****************
data: vl_nomefile type string.
*****************
* Work area
*****************
DATA: wa_lfza TYPE ty_lfza.
*****************
* Initialization
*****************
INITIALIZATION.
PARAMETERS: p_file LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION ‘WS_FILENAME_GET’
EXPORTING
def_filename = p_file
mask = ‘,*.txt.’
mode = ‘O’
title = ‘Upload File’
IMPORTING
filename = p_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
*********************
* Start-of_selection
*********************
START-OF-SELECTION.
*A função GUI_UPLOAD necessita q o nome do arquivo esteja em uma variavel do tipo string.*
vl_nomefile = p_file.
CALL FUNCTION ‘GUI_UPLOAD’
EXPORTING
filename = vl_nomefile
FILETYPE = ‘ASC’
* O atributo HAS_FIELD_SEPARATOR indica que os dados do arquivo estão separados por TAB
HAS_FIELD_SEPARATOR = ‘X’
tables
data_tab = it_lfza
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Após a execução do programa a tabela interna it_lfza estará preenchida com os valores do arquivo TXT.
Espero ter ajudado.
T++
Blog no WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.