Digitar JDBG na linha de comando e pressionar ENTER.
ABAP+71
Informações simples para o dia-a-dia
20260730
Debugar JOB (SM37)
Digitar JDBG na linha de comando e pressionar ENTER.
20260729
SO10 - Sapscript - link
/: <a href="https://abap71.blogspot.com/">Click Here</a>
20260723
20260613
Maionese caseira temperada
- três ovos crus
- 1 copo de óleo (250ml)
- Suco de 1/2 limão
- 1 1/2 dente de alho
- sal a gosto
- mostarda a gosto
- 1/2 maço de salsinha picada
- Colocar os ovos no liquidificador
- Bater uns 10 seg...
- despejar metade do óleo e continuar batendo
- despejar o restante do óleo bem devagar
- acrescentar o alho, o limão e a mostarda
- acrescentar o sal e ir experimentando
- bater até tomar a consistência desejada
- separar em potes e levar para a geladeira
20260420
20260410
Botão - Planilha Modelo
TABLES: sscrfields.
* Declaração do Botão
SELECTION-SCREEN: FUNCTION KEY 1.
INITIALIZATION.
perform f_cria_botao.
*----------------------
AT SELECTION-SCREEN.
IF sy-ucomm = 'FC01'.
perform f_gera_planilha.
ENDIF.
*& Form F_CRIA_BOTAO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM F_CRIA_BOTAO .
* Estrutura para descrever o botão
DATA: wa_button TYPE smp_dyntxt.
* Nome do Botão
wa_button-text = 'Planilha'.
* Ícone do Botão
wa_button-icon_id = ICON_SET_COPY_IN_B.
* Texto que aparecerá ao lado do ícone (pode ser vazio)
wa_button-icon_text = 'Planilha modelo'.
* Quickinfo (aparece quando o user passar o mouse sobre o botao)
wa_button-quickinfo = 'Planilha para preenchimento'.
* Associa essas propriedades com a função 1
sscrfields-functxt_01 = wa_button.
ENDFORM.
*& Form F_GERA_PLANILHA
*----------------------------------------------------------------------*
FORM F_GERA_PLANILHA .
FIELD-SYMBOLS: <fs_tab> type ANY TABLE,
<wa_tab> type any.
data: lv_file type string.
data: lo_obj TYPE REF TO zcl_util.
CREATE OBJECT lo_obj.
* XXXXXX --> Nome da estrutura com os campos (coluna)
DATA: w_dref TYPE REF TO data.
CREATE DATA w_dref TYPE TABLE OF ('XXXXXX').
ASSIGN w_dref->* TO <fs_tab>.
CALL METHOD LO_OBJ->MATCHCODE_FOLDER_LOCAL
RECEIVING
R_FOLDER = lv_file .
* YYYYYY --> Nome do arquivo da planilha
if lv_file is not initial.
concatenate lv_file '\' 'YYYYYY.xlsx' into lv_file.
endif.
CALL METHOD LO_OBJ->SAVE_FILE_EXCEL
EXPORTING
I_PATH = lv_file
I_LOCAL = 'X'
I_STRUC = 'XXXXXX'
DATA_TAB = <fs_tab> .
MESSAGE s398(00) with 'Planilha gerada com sucesso'.
ENDFORM.
20260327
VIM - Habilitar novos campos para criação de VIMs (integrações)
Verificar se existe o nome do campo cadastrado na tabela /OPT/VIM_T109_N.
Se não existir, deve ser "cadastrado" através da transação SM34
Visão: /OPT/VIM_MAPV
Atualizar
1 – Marcar a opção GENERAL
2 – Duplo-clique em Field Mapping
Marca um campo existente (Cabeçalho ou Item)
Informar o nome do novo campo nas colunas:
Nome campo externo
Nome campo do doc.
· Indicar se o campo é de "Cabeçalho" ou "Item"
*** Repetir esses passos para cada campo novo.
SALVAR.
20260312
20260306
Ranges - Definição e preenchimento
VIM - Campo novo em interface / Criação automática de VIM
VIM – Campo novo em interfaces
Verificar se existe o nome do campo cadastrado na tabela /OPT/VIM_T109_N.
Se não existir, deve ser "cadastrado" através da transação SM34
Visão: /OPT/VIM_MAPV
Atualizar
1 – Marcar a opção GENERAL
2 – Duplo-clique em Field Mapping
Marca um campo existente (Cabeçalho ou Item)
Informar o nome do novo campo nas colunas:
Nome campo externo
Nome campo do doc.
· Indicar se o campo é de "Cabeçalho" ou "Item"
*** Repetir esses passos para cada campo novo.
SALVAR.
20260104
Categoria de ampliação - Tabelas e Estruturas
Texto breve
Seleção da categoria de ampliação
Definição
As estruturas e tabelas definidas pela SAP no ABAP Dictionary, podem ser ampliadas posteriormente pelos clientes com ajuda de includes de customizing ou estruturas append. As ampliações não se referem apenas às próprias estruturas/tabelas, mas também às estruturas dependentes que transferem a ampliação como include ou estrutura referenciada. As estruturas append que na estrutura de saída têm consequências apenas no final, podem dar origem a alterações nas estruturas dependentes, mesmo dentro destas estruturas.
A seleção de uma categoria de ampliação é necessária, uma vez que em programas sem verificação Unicode ativa, as ampliações de tabelas e de estruturas, principalmente nas verificações de tipo e em conjunto com estruturas profundas, podem originar erros de sintaxe e em tempo de execução.
Nos programas com verificação Unicode ativa, as atribuições, as verificações de operando e os acessos com offset e comprimento são problemáticos se, por exemplo, forem inseridos componentes numéricos ou profundos em uma estrutura meramente em forma de caractere e a estrutura perder, por isso, a sua forma de caractere.
Em função da definição de estrutura, os botões de rádio permitidos da caixa de diálogo estão prontos para entrada. Selecione uma das possíveis categorias de ampliação:
- Não ampliável
- A estrutura não pode ser ampliada.
- Ampliável e em forma de caractere
- Todos os componentes de estrutura e as respectivas ampliações devem ser em forma de caractere (C, N, D ou T). A estrutura de saída e todas as ampliações pelo include de customizing ou pelas estruturas append estão sujeitas a esta restrição.
- Ampliável e em forma de caractere ou numérica
- A estrutura e a respectiva ampliação não pode conter tipos de dados profundos (tabelas, referências, cadeias).
- Ampliável conforme pretendido
- A estrutura e a respectiva ampliação pode conter componentes, cujo tipo de dados é facultativo.
- não classificado
- Esta categoria pode ser selecionada, por exemplo, para um status de transição, mas não ao criar estruturas.
Regras para a determinação da categoria de ampliação que resulta de modo implícito da estrutura e da classificação de tipos utilizados:
- Se o objeto contiver pelo menos um tipo numérico ou uma subestrutura ou componente (o campo tem estrutura/tabela/visão como tipo) que é ampliável de modo numérico, o objeto já não é ampliável em forma de caractere, mas poderá ser ampliável em forma de caractere ou de modo numérico.
- Se o objeto contiver um componente profundo (cadeia, referência ou tipo de tabela) ou uma subestrutura ou componente marcado como ampliável conforme pretendido, o próprio objeto é ampliável conforme pretendido.
- Se o objeto não contiver nenhuma subestrutura ou componente marcada como ampliável, não é possível selecionar não ampliável. Se a estrutura ainda não tiver sido ampliada, a categoria não ampliável pode ser selecionada a qualquer momento .
Se forem criadas de novo tabelas e estruturas no ABAP Dictionary, é proposta a categoria ampliável conforme pretendido como valor padrão para a classificação das opções de ampliação. Se o desenvolvedor selecionar para uma estrutura uma classificação mais restrita como ampliável conforme pretendido, só são permitidos os níveis de classificação que respeitam as regras acima descritas. Não é possível selecionar para uma estrutura uma opção de ampliação que seja inferior (mais restrita) do que a classificação que resulta implicitamente da estrutura e da classificação dos tipos utilizados. Por isso, nas interfaces de atualização somente são propostas para a seleção as categorias permitidas.
Se uma estrutura depender de uma ou várias outras estruturas, será selecionada como classificação implícita a categoria mas pequena (na ordem: não ampliável < ampliável e em forma de caractere < ampliável e em forma de caractere ou numérica < ampliável conforme pretendido), que é superior ou igual às categorias de outras estruturas e também superior ou igual à categoria que resulta da estrutura real da própria estrutura.
Consulte também Categoria de ampliação de estruturas