*——————————————————————–*
*Buscar equipamento vinculado à Nº Ordem
*——————————————————————–*
CALL FUNCTION ‘BAPI_ALM_ORDER_GET_DETAIL’
EXPORTING
number = iv_aufnr
IMPORTING
es_header = ls_header
TABLES
return = lt_return.
Function / Funções RFC
Função para recuperar Texto da Condição de Pagamento T052
FI_TEXT_ZTERM
Função para Bloqueaar e Desbloquear o Material par um Centro
"BLOQUEAR
CALL FUNCTION ‘ENQUEUE_EMMARCE’
exporting
matnr
werks
"DESBLOQUEAR
CALL FUNCTION ‘DEQUEUE_EMMARCE’
exporting
matnr
werks
Verificar o tamanho do campo em quantidade de caracteres
O comando abaixo conta a quantidade de catacteres da variável.
Conteúdo do campo i_ekko-ihrez: 14566, irá retornar para a variável tipo I o valor cinco.
vl_lenght TYPE i.
vl_lenght = STRLEN( i_ekko-ihrez ).
Verificar se Campo/variável Contém caracter
Comando abaixo verifica se o valor do campo possui caractere.
Conteúdo do campo: XX14566, no caso abaixo o sy-subrc irá retornar = 0.
IF ( i_ekko-ihrez CA sy-abcde ).
Função para Pesquisar CNPJ por Empresa
J_1BREAD_CGC_COMPANY
T110
Funções para digitar valores dinâmicos
GRM_POPUP_TO_GET_ONE_VALUE
BOS_POPUP_GET_VALUES
Função para Desbloquear Nota Fiscal em modo de Alteração
CHECK sy-tcode = ‘J1B2’ ” change Nota Fiscal
OR sy-tcode = ‘J1B2N’.
* call unlock function (Exclusive, cumulating)
Converte data 20110509 para 05/11/2011
Função para Converter unidade de Medida
l_menge = rlmob-vsola.
IF ltap-altme = ‘EA’.
CALL FUNCTION ‘MD_CONVERT_MATERIAL_UNIT’
EXPORTING
i_matnr = ltap-matnr
i_in_me = ‘EA’
i_out_me = ‘UN’
i_menge = l_menge
IMPORTING
e_menge = l_menge
EXCEPTIONS
error_in_application = 1
error = 2
OTHERS = 3.
Busca tipo de Atividade de Ordem de Manutenção
Este Select faz a buscar do tipo de atividade de uma ordem
check wa_cabec-aufnr (No. de Ordem) is not initial.
select single ilart into vl_ilart
from afih
where aufnr = wa_cabec-aufnr.
check vl_ilart is not initial.
select single ilatx into vl_ilatx
from T353I_T “Tabela com a descrição com o tipo de Ordem
where ilart = vl_ilart.
Funções para manipular data
Pessoal,
Seguem algumas funções para manipulação de data no SAP:
DATE_CHECK_WORKINGDAY | Retorna se a data é dia util |
HOLIDAY_CHECK_AND_GET_INFO | Verificar se uma data é feriado |
DAY_ATTRIBUTES_GET | Retorna os dias uteis apartir de uma data |
FORMAT_DATE_4_OUTPUT | Formata data de acordo com a mascara |
GET_WEEK_INFO_BASED_ON_DATE | Retorna a segunda-feira e a sexta-feira de uma semana baseado em uma data |
DATE_GET_WEEK | Obtem o numero da semana a partir da data atual |
WEEK_GET_FIRST_DAY | Obtem o primeiro dia da próxima semana (Segunda-Feira, no formato DATE): |
MM_LAST_DAY_OF_MONTHS | Obtem o valor do último dia do mês |
DATE_COMPUTE_DAY | Obtem o dia da semana ref. ao dia do mês |
RP_CALC_DATE_IN_INTERVAL | Adiciona/subtrai anos/mêses/dias de uma data |
SD_DATETIME_DIFFERENCE | Retorna a diferença entre duas datas e Hora |
RH_GET_DATE_DAYNAME | Retorna o dia da semana apartir de uma data |
C14B_ADD_TIME | onde você informa um horário inicial e data e quantas horas você quer acrescentar e ela retorna a data e hora final. |
CONVERT_DATE_INPUT | Converte a data de entrada |
SLS_MISC_CONVERT_TO_DATE | Passa uma string e retorna uma data formatada |
POPUP_TO_SELECT_MONTH | Seleciona Mes e Ano no popUp |
MM_LAST_DAY_OF_MONTHS | Obtem o valor do último dia do mês |
C14B_ADD_TIME | Função para adicionar horas em uma data |
RTP_US_API_MAX_DAYS_IN_MONTH | Retorna o número de dias do mês |
Função para exibir caixa de Seleção de Arquivos, Abrir Arquivos
Dialog Box, Abrir Arquivo
Função para exibir caixa de Seleção de Arquivos:
O caminho selecionado, é carregado para o parâmetro, que pode ser usado no programa.
PARAMETERS p_path LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
CALL FUNCTION ‘F4_FILENAME’
IMPORTING
file_name = p_path.
Função para buscar tipo de material
DATA: wa_mara TYPE ty_mara.
FORM f_get_tp_matnr USING p_matnr LIKE mara-matnr.
CLEAR wa_mara.
IF ( p_matnr IS NOT INITIAL ).
SELECT SINGLE matnr mtart
INTO (wa_mara-matnr, wa_mara-mtart )
FROM mara "Mestre de materiais
WHERE matnr = p_matnr.
ENDIF.
ENDFORM. " F_GET_TP_MATNR
Função para exibir relógio de lupa do SAP
Esta função é interessante para informar ao usuário o status do processo, por exemplo dentro de LOOP´s, ou em seleção de dados demoradas, os parâmetros recebem a mensagem e o valor de um campo, isso pode ser mudado.
Exemplo de chamada:
PERFORM f_lupa “Selecionados dados do Documento…” space.
Ou
PERFORM f_lupa “Processando documento: ” it_grid-belnr.
FORM f_lupa USING p_msg1
p_msg2.
DATA: vl_message(150) TYPE c.
CLEAR vl_message.
CONCATENATE p_msg1 p_msg2 INTO vl_message SEPARATED BY space.
CALL FUNCTION ‘SAPGUI_PROGRESS_INDICATOR’
EXPORTING
percentage = 75
text = vl_message.
ENDFORM. "f_lupa
Lupinha SAP
Reloginho
Função para buscar status de novos lotes
Declarações:
TYPES:
BEGIN OF ty_t134,
mtart LIKE t134-mtart, "Tipo de material
izust LIKE t134-izust, "Status inicial de um lote novo
END OF ty_t134.
DATA: wa_t134 TYPE ty_t134.
*&
Função para criar lote (BAPI)
Criar lote
DATA: st_ymcha TYPE mcha, "Param VB_CREATE_BATCH
it_new_batch TYPE mcha OCCURS 0 WITH HEADER LINE,
st_clas_lote TYPE ty_clas_lote.
st_ymcha-matnr = st_header-matnr. “Parametro material
st_ymcha-werks = st_header-werks. “Parametro Centro
st_ymcha-charg = wa_news_lote-charg. “Parametro novo número do lote ( ver post, como obter número de lote )
REFRESH it_new_batch. "Tabela de retorno da BAPI de criação de lotes
* Preenche dados para criação do lote
CLEAR: st_ymcha. "Estrutura de retorno para BAPI
CALL FUNCTION ‘VB_CREATE_BATCH’
EXPORTING
ymcha = st_ymcha
kzcla = ‘2’
class = st_clas_lote-e_class
no_cfc_calls = ‘X’
IMPORTING
ymcha = st_ymcha
TABLES
new_batch = it_new_batch.
IF sy-subrc = 0.
* Se it_new_batch preenchida, criou o lote
IF it_new_batch[] IS NOT INITIAL.
* Verificar se existe mensagem tipo E, senão, commitar
ENDIF.
Função para buscar Sistema Lógico
* Selecionar Logical System
CALL FUNCTION ‘OWN_LOGICAL_SYSTEM_GET’
IMPORTING
own_logical_system = l_lsys
EXCEPTIONS
own_logical_system_not_defined = 1
OTHERS = 2.
Comando que pausa execução de processo (WAIT)
Este comando aguarda um tempo determinado em segundos a execução do processo.
WAIT UP TO 2 SECONDS.
Função pra executar transação sem permissão
CALL_TRANSACTION_FROM_TABLE