Sie sind auf Seite 1von 13

Dicas ABAP Variveis de Sistema

Publicado em

29/06

Uma dvida comum para desenvolvedores ABAP Juniores : quais variveis de sistema podemos utilizar e quais so suas funcionalidades. Segue abaixo uma relao das principais variveis e descrio das mesmas:

SY-SUBRC Retorna 0 se foi bem sucedido ou diferente de 0 se falhou, usada aps uma pesquisa, condio.

SY-UNAME Retorna o nome do usurio

SY-DATUM Retorna a data do sistema SY-UZEIT Retorna a hora, minuto, segundo do sistema SY-TCODE Retorna cdigo da transao atual SY-TABIX Retorna o numero da linha da tabela atual (Normalmente usando dentro de loop.) SY-LANGU Retorna o idioma de logon do usurio

SY-DYNNR Retorna o numero da tela atual SY-UCOMM Retorna o nome de um boto pressionado (OKCODE) SY-REPID Retorna o nome do programa SY-CPROG Nome do programa principal SY-FDPOS Utilizado na comparao de Strings, ver comparao strings acima.

SY-BATCH Indica a execuo de um programa em background SY-LINNO Retorna a linha corrente de um relatrio SY-LISEL Retorna a linha selecionada em relatrios interativos SY-MANDT Retorna o mandante do sistema

SY-PAGNO Retorna a pagina atual de um relatrio

SY-TVAR0 .. SY-TVAR9 Retorna elementos de textos ou ttulos de relatrios SY-VLINE Efetua a fechamento de bordas em um relatrio SY-ULINE(n) Imprime uma linha com n posies SY-TCODE Cdigo da transao SY-DBCNT Dentro de SELECT, contm o contador de interao

Dicas ABAP: uso de Tabelas Internas


Publicado em

29/06

Nas verses mais recentes do SAP (ECC 5.0 ou superior) no recomendo criar tabelas internas com header line. Por esta razo, nenhuma tabela interna declarada em um desenvolvimento deve conter header line. Veja, abaixo, exemplo de como declarar uma tabela interna sem header line, seguindo as normas de comentrios j definidas:

DATA: gw_mara type standard table of mara_type

Dentro de um programa, a maior parte do tempo computacional despendido no acesso ao banco de dados. O acesso tabelas muito grandes pode se transformar num fator de risco ao bom desempenho de um programa, principalmente se tratando de programas que devam ser executados periodicamente, tais como interfaces. Segue, abaixo, os mtodos de extrao de dados (do mais eficiente para o menos), a fim de minimizar o tempo gasto no acesso ao banco de dados:

1. Executar uma clusula select numa view ao invs de utilizarmos vrias tabelas. 2. Realizar um loop numa internal table. 3. Executar uma clusula select numa tabela 4. Utilizar uma tabela lgica usando o comando get.

Funes (BAPI) mais utilizadas em programas abap


BY CONTEDO SAP, ON JANEIRO 19TH, 2011

Algumas funes, conhecidas tambm como BAPI, so freqentemente encontradas no cdigo de programas abap para executar determinadas aes. importante ter o conhecimento de algumas funes para que possam ser citadas na elaborao de uma especificao funcional. Abaixo, algumas funes e sua aplicao: READ_TEXT L o texto. Funo muito utilizada para trazer o contedo do texto longo, contido em algum documento SAP, para um relatrio ou formulrio de impresso desenvolvido em abap. SAVE_TEXT Salva os textos lidos pela READ_TEXT. BAPI_ACC_DOCUMENT_POST - Funo que executa a FB01. BAPI_ACC_ACTIVITY_ALLOC_POST Funo que executa a KB21N. BAPI_ACC_PRIMARY_COSTS_POST Funo que executa a KB11N. BAPI_GOODSMVT_CREATE Esta funo particularmente importante para registrar movimentaes de materiais no SAP. No caso de uma interface, por exemplo, de um sistema MES com o SAP, a movimentao de materiais no MES ser registrada no SAP utilizando-se essa funo. necessrio fazer um include na estrutura BAPI2017_GM_ITEM_CREATE para gerar os itens do documento de material. BAPI_MATERIAL_SAVEDATA Cadastra o material no SAP. BAPI_PO_CREATE1 Cria o Pedido de Compras no SAP. Necessrio executar o commit BAPI_TRANSACTION_COMMIT (caminho de menu Mdulo de funo > Testar > Seqencias de testes inserir a bapi e depois o commit) para gerar o Pedido de Compras. BAPI_REQUISITION_CHANGE Modifica a Requisio de Compra. BAPI_PO_GETDETAIL Obtem detalhes de um Pedido de Compra. CONVERSION_EXIT_ABPRJ_OUTPUT Funo utilizada para converter o PRONR (nas tabelas SAP, seria o object ID do projeto de PS ) no cdigo do projeto, campo Definio do projeto. BAPI_ALM_ORDER_MAINTAIN Cria Ordem de PM ou CS. BAPI_ALM_NOTIF_DATA_MODIFY Modifica a Nota de PM. BBP_PMORDER_COMP_CREATE Insere material na Ordem PM e gera Reserva ou Requisio de Compras para o material. Esta lista ser constantemente atualizada com novas BAPIs. A transao SE37 Function Builder permite a pesquisa de BAPIs de acordo com a necessidade. A pesquisa de funes deve ser realizada com o termo de busca em ingls. Por exemplo, para BAPIs relacionadas com o Pedido de Compra, utilize como termo de busca algum termo relacionado a Purchase Order como *purc*order* ou termos similares. Veja como efetuar uma pesquisa: Na tela inicial da SE37, clique no matchcode ou tecle <F4>

Na janela que se abre, em Mdulo de funo, digite o termo de busca, por exemplo, *purc*order* (termo de busca em ingls)

Tecle ou clique em <Enter>

Na tela de resultados, selecione a BAPI desejada com duplo clique

A BAPI fica disponvel para teste

Informao til e relevante? Doaes

Relgio na barra de execuo


Publicado em 20 agosto, 2010 por Blogador AbapBrasil Esta rotina pode ser chamada por exemplo, antes de um SELECT, ou dentro de um LOOP para indicar a execuo de uma determinada parte do programa, isto interessante para informar ao usurio em que status est a execuo do programa. Chamada: PERFORM f_lupa USING Processamento material ti_movto-matnr. Se no desejar informar o contedo de um campo, pode informar simplesmente espao. PERFORM f_lupa USING Processamento material space. *&

Incluir funo para marcar/desmarcar linhas do TableControl


Publicado em 19 agosto, 2010 por Blogador AbapBrasil Num tablecontrol, normalmente interessante a incluso de 2 botes para marcar e desmarcar todos,

Para isso necessrio alguns passos: 1) Incluir os botes na tela 2) Criar chamada no module da tela (MODULE user_command_0100) 3) Criar o campo na estrutura da tabela interna associada ao table control 4) Configurar o campo no table control. 5) Criar rotina (form), para executar a marcao propriamente dita. 1) Incluir os botes na tela

2) Criar chamada no module da tela (MODULE user_command_0100), tratando os botes MODULE user_command_0100 INPUT. CASE sy-ucomm . WHEN SELECT_ALL. PERFORM f_select_grid USING c_x. WHEN UNSELE_ALL. 3) Criar o campo na estrutura da tabela interna associada ao table control BEGIN OF ty_movto, count TYPE p DECIMALS 0, "Campo para agrupamento mark TYPE c, "Seleo na tela 4) Configurar o campo no table control.

5) Criar rotina (form), para executar a marcao propriamente dita FORM f_select_grid USING p_mark. DATA: wa_movto LIKE ti_movto. "Work area pra loop LOOP AT ti_movto INTO wa_movto. CHECK NOT wa_movto-matnr IS INITIAL. MOVE p_mark TO wa_movto-mark. MODIFY ti_movto FROM wa_movto. ENDLOOP. ENDFORM. " F_SELECT_GRID

Procurando uma Ajuda de Pesquisa/Match Code/Search Help de um campo


Publicado em 18 agosto, 2010 por Blogador AbapBrasil Para procurar o nome de uma Ajuda de Pesquisa/Match Code/Search Help de um determinado campo de uma tabela, descubra uma tabela que possua o campo, naturalmente voc j ter este nome, caso no tenha, utilize a pesquisa por utilizao na transao SE11. Objetivo: procurar uma tabela que possua o campo MATNR ( Material), aps isso pesquisar o nome da ajuda de pesquisa.

Entre na transao SE11, digite o nome do elemento de dados, clique na opo de pesquisar lista de utilizao.

Selecione todas as opes, mas para ficar mais rpido, selecionar apenas Campos tabelas

image0021

image0021

No resultado abaixo, selecionamos a tabela MARA como exemplo, aps isso vamos entrar na SE11, na tabela MARA para visualizar a estrutura de campos:

Aps isso, v na ABA indicada, e verifique o nome da ajuda de pesquisa do campo.

Esta pesquisa tambm pode ser realizada diretamente pela busca de ajuda de pesquisa na prpria SE11, no esquea de colocar os * , asteriscos.

Voc pode encontrar vrias ajudas de pesquisa, entretanto, necessrio verificar a ajuda de pesquisa que ser utilizada para realmente constatar se traz todos os matrias, pois pode haver alguma condio impeditiva exibio de todos os materiais.

Das könnte Ihnen auch gefallen