segunda-feira, 26 de setembro de 2011
Module Pool - Table Control
" Hoje vou mostrar como alimentar um 'Table control' em um 'Module Pool'
" 'Table control' e uma estrutura que recebe os dados de uma tabela e
" mostra na tela, vou mostrar como popular um, depois eu vou mostrar como
" manipular os dados que estão no 'table control'.
" Primeiro criei seu 'Module pool'... Se não lembra acesse link abaixo:
" http://abapjuniores.blogspot.com/2011/04/module-pool-basico.html.
" Depois de criar a tela vá até o TOP do programa e declare igual abaixo.
*&---------------------------------------------------------------------*
*& Include MZSD0001TOP Module Pool SAPMZSD0001
*&
*&---------------------------------------------------------------------*
PROGRAM SAPMZSD0001.
" Criei uma tabela com os campos 'MANDT, MATNR e NAME1', e uma estrutura
" com os campos 'MATNR e NAME1.
TABLES : zmara,
zst_mara
.
" Declarações da tela 0100.
data : V_OKCODE TYPE sy-ucomm.
" Declaração das estruturas e tabelas internas
DATA : it_zmara TYPE TABLE OF zmara,
st_zmara TYPE zmara.
" Declaração do table control.
CONTROLS : ztab_ctrl TYPE TABLEVIEW USING SCREEN 0100.
*&---------------------------------------------------------------------*
" Após ter declarado isso vamos voltar a tela e clicar no botão 'Layout'.
" Isso irá mostrar o design da sua tela com todos os objetos dele, olhando
" no lado esquerdo você verá as ferramentas que podem ser usadas pra fazer
" sua tela conforme a necessidade do cliente ou do seu estudo.
" Hoje nós vamos usar o 'Table Control' conforme imagem abaixo, onde é só
" clicar no icone dele, ir para a tela que ainda não tem nada, clicar e
" Arrastar, dê o nome 'ZTAB_CTRL', conforme exemplo, como o Top já foi feito
" se você perceber ele já foi declarado para a tela 0100.
" Depois de criar, clique no botão 'Dicionário / Tabela de campos da tela'
" Conforme mostrado na imagem abaixo, coloque o nome da estrutura criada no
" SE11, e dê 'Enter', com isso irá aparecer todos os campos do mesmo,
" selecione os campos e dê 'OK', arraste o objeto para dentro do 'table Control'.
" Pronto, agora você tem um 'Table control' relacionado com uma estrutura.
" Depois de fazer tudo isso clique no botão 'Atributos' e selecione as
" opções conforme figura abaixo, isso é só para deixar um pouco mais bonito
" é organizado seu 'Table Control', lembre-se bem deste botão 'atributos'
" pois ele é muito importante mais tarde para a manipulação de dados.
" Agora veja os códigos comentados:
*&---------------------------------------------------------------------*
" fluxo lógico da tela 0100.
PROCESS BEFORE OUTPUT.
" Faz a alimentação da tabela Interna.
MODULE z_select_zmara.
" Joga o registro pra dentro do estrutura interna 'linkando' com
" o Table control da tela.
LOOP AT it_zmara INTO st_zmara WITH CONTROL ztab_ctrl.
MODULE : preenche_screen.
ENDLOOP.
" Module que 'seta' com um PF-Status com esta tela.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
" Loop na tabela interna com os dados que serão mostrados na
" table control, este loop no PAI, serve quando você quer fazer
" alguma ação com os dados mostrados ( Insert, Modify, Update ...)
" , você precida coloca para que o programa seja executado
" corretamente.
LOOP AT it_zmara.
ENDLOOP.
" Module contendo todas as ações de cada comando da tela.
MODULE USER_COMMAND_0100.
*&---------------------------------------------------------------------*
" PBO
*&---------------------------------------------------------------------*
*& Include MZSD0001O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
module status_0100 output.
set pf-status 'TELA'.
endmodule. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module z_select_zmara OUTPUT
*&---------------------------------------------------------------------*
module z_select_zmara output.
select matnr name1
from zmara
into corresponding fields of table it_zmara.
endmodule. " z_select_zmara OUTPUT
*&---------------------------------------------------------------------*
*& Module preenche_screen OUTPUT
*&---------------------------------------------------------------------*
module preenche_screen output.
" Verifica o espaço que tem dentro do Table Control e especifica os
" intervalo de registros que serão exibidos, Tipo quando seu table control
" cabe 20 registros e você tem 100 registros, os registros que serão
" Mostrados inicialmente serão os resgistros 1 ao 20 e só, mas quando vc
" colocar pra baixo irá aparecer do 2 ao 21.
if sy-stepl = 1.
ztab_ctrl-lines =
ztab_ctrl-top_line + sy-loopc - 1.
endif.
" Move os dados da estrutura interna pra dentro da estrutura que alimenta
" o Table control.
move-corresponding st_zmara to zst_mara.
endmodule. " preenche_screen OUTPUT
*&---------------------------------------------------------------------*
" PAI
*&---------------------------------------------------------------------*
*& Include MZSD0001I01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module user_command_0100 input.
case v_okcode.
* WHEN 'SAVE'.
when 'BACK'.
set screen 0.
leave screen.
when 'EXIT'.
set screen 0.
leave screen.
when 'CANCEL'.
set screen 0.
leave screen.
when others.
endcase.
endmodule. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
" Espero ter ajudado, como sempre falo 'Debbugem' tudo isso e vejam os
" valores e suas propriedades durante o processo.
quinta-feira, 22 de setembro de 2011
Tops Apagadas pelas Views de tabelas
" Uma importante dica sobre Views de tabelas são que elas usam um grupo
" de funções conforme já foi comentado, mas toda vez que você fizer isso
" o 'Top' do Grupo de funções ( que é aonde fica todas as declarações do
" grupo ) será reecrita pela SAP e substituida, portanto caso esse grupo
" de funções esteja armazenando uma 'Function' e a mesma esteja usando
" uma variável declarada neste top, você terá que declarar novamente pq
" ela foi apagada rsrsrs.... muito cuidado com isso mas pra não dar esse
" problema com você e só vc criar um 2º Include TOP contendo todas as
" Declarações que vc quiser incluir.
" de funções conforme já foi comentado, mas toda vez que você fizer isso
" o 'Top' do Grupo de funções ( que é aonde fica todas as declarações do
" grupo ) será reecrita pela SAP e substituida, portanto caso esse grupo
" de funções esteja armazenando uma 'Function' e a mesma esteja usando
" uma variável declarada neste top, você terá que declarar novamente pq
" ela foi apagada rsrsrs.... muito cuidado com isso mas pra não dar esse
" problema com você e só vc criar um 2º Include TOP contendo todas as
" Declarações que vc quiser incluir.
segunda-feira, 19 de setembro de 2011
Dicionario - View de Manutenção de tabelas
report zmj_viewtable.
*&---------------------------------------------------------------------*
" Hoje conforme muitos emails me solicitando estarei falando sobre
" View de manutenção, ou atualizador de tabela, que serve para fazer
" inclusão na tabela de uma forma mais direta, eu fiz isso poucas vezes
" mas já da pra explicar como faze um rsrs.
" Primeiro de tudo vamos entrar na tabela que você quer criar a a View,
" entre no menu /Utilitários/gerador de atualização de tabela/ conforme
" imagem abaixo.
" Depois disso vc irá para um ambiente de diálogo para criação de desta
" atualização da tabela.
" Devemos preencher os campos: Nome da 'tabela/Visão', 'Grupo de
" autorização' que dá autorização para acesso e consequentimente imput
" dentro da tabela, bem.... vocês precisarão criar um grupo de funções
" (se80) para armazenar a View,... depois disso cliquem no botão
" 'Procurar nº(s) tela' e selecionar 'propor nº(s) tela' e depois aperte
" o botão para criar.Prontinho.... você acabou de criar a view, se quiser
" na transação 'sm30' você já consegue ver esta View , mas você não deixar
" sem ter uma transação então vamos para o próximo passo.
" Criar uma transação pra a view.
" Vamos na transação se93 que é para controle de transações e vamos criar
" uma conforme a imagem acima, preenchendo o 'código da transação', depois
" 'texto breve' e principalmente o objeto de execução como 'transação com
" parametros', dê OK.
" Preencham os dados conforme a imagem acima, onde o 'Viewname' é o
" nome da View da tabela ( rsrsrs seriu ?) e o 'Update' é a autorização
" de Imput dentro da tabela.
" Qualquer duvida é só continuar entrando em contato comigo nos emails de
" contatos que tem no blog.... T+ Galera..
*&---------------------------------------------------------------------*
" Hoje conforme muitos emails me solicitando estarei falando sobre
" View de manutenção, ou atualizador de tabela, que serve para fazer
" inclusão na tabela de uma forma mais direta, eu fiz isso poucas vezes
" mas já da pra explicar como faze um rsrs.
" Primeiro de tudo vamos entrar na tabela que você quer criar a a View,
" entre no menu /Utilitários/gerador de atualização de tabela/ conforme
" imagem abaixo.
" Depois disso vc irá para um ambiente de diálogo para criação de desta
" atualização da tabela.
" Devemos preencher os campos: Nome da 'tabela/Visão', 'Grupo de
" autorização' que dá autorização para acesso e consequentimente imput
" dentro da tabela, bem.... vocês precisarão criar um grupo de funções
" (se80) para armazenar a View,... depois disso cliquem no botão
" 'Procurar nº(s) tela' e selecionar 'propor nº(s) tela' e depois aperte
" o botão para criar.Prontinho.... você acabou de criar a view, se quiser
" na transação 'sm30' você já consegue ver esta View , mas você não deixar
" sem ter uma transação então vamos para o próximo passo.
" Criar uma transação pra a view.
" uma conforme a imagem acima, preenchendo o 'código da transação', depois
" 'texto breve' e principalmente o objeto de execução como 'transação com
" parametros', dê OK.
" Preencham os dados conforme a imagem acima, onde o 'Viewname' é o
" nome da View da tabela ( rsrsrs seriu ?) e o 'Update' é a autorização
" de Imput dentro da tabela.
" Qualquer duvida é só continuar entrando em contato comigo nos emails de
" contatos que tem no blog.... T+ Galera..
quinta-feira, 1 de setembro de 2011
ALV - Estrutura
REPORT z_struc_alv.
*&---------------------------------------------------------------------*
" Vou fala agora sobre Estrutura dentro do ALV, I_STRUCTURE_NAME servirá,
" como o jah falado, igual ao parametro 'IT_FIELDCAT' da função,
" a estrutura feita tem esta cara:
" Sabe criar estrutura ? acesse :
" http://abapjuniores.blogspot.com/2011/08/dicionario-estruturas.html
" o código eh muito simples olhem abaixo.
" Tabelas
TABLES :
mara
.
TYPE-POOLs : slis
.
" Tipos
TYPES BEGIN OF ty_outtab.
" Aki eu estou aproveitando a estrutura criada para cria o tipo identico
" para a tabela de saida.
INCLUDE TYPE zst_struc_001.
TYPES END OF ty_outtab.
TYPES :
BEGIN OF ty_mara,
matnr TYPE mara-matnr,
ersda TYPE mara-ersda,
END OF ty_mara,
BEGIN OF ty_makt,
matnr TYPE makt-matnr,
maktx TYPE makt-maktx,
END OF ty_makt
.
" Tabelas Internas e Estruturas
DATA :
st_outtab TYPE ty_outtab,
it_outtab TYPE TABLE OF ty_outtab,
st_mara TYPE ty_mara,
it_mara TYPE TABLE OF ty_mara,
st_makt TYPE ty_makt,
it_makt TYPE TABLE OF ty_makt
.
" Constantes
data : c_x TYPE c VALUE 'X'.
" Tela de seleção.
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS : so_matnr FOR mara-matnr
.
SELECTION-SCREEN END OF BLOCK 1.
" Inicio do programa.
START-OF-SELECTION.
PERFORM :
z_busca_dados,
z_feed_outtab,
z_cria_alv
.
*&---------------------------------------------------------------------*
*& Form Z_BUSCA_DADOS
*&---------------------------------------------------------------------*
" Leitura simples das tabelas para alimentar a tabela de saida.
FORM z_busca_dados .
SELECT matnr ersda
FROM mara
INTO TABLE it_mara
UP TO 100 ROWS
WHERE matnr IN so_matnr
.
SELECT matnr maktx
FROM makt
INTO TABLE it_makt
FOR ALL ENTRIES IN it_mara
WHERE matnr = it_mara-matnr
AND spras = 'PT'
.
ENDFORM. " Z_BUSCA_DADOS
*&---------------------------------------------------------------------*
*& Form Z_FEED_OUTTAB
*&---------------------------------------------------------------------*
" Alimentação da tabela de saida.
FORM z_feed_outtab .
LOOP AT it_mara INTO st_mara.
READ TABLE it_makt INTO st_makt
WITH KEY matnr = st_mara-matnr
.
st_outtab-check = ' '.
st_outtab-matnr = st_mara-matnr.
st_outtab-ersda = st_mara-ersda.
st_outtab-maktx = st_makt-maktx.
APPEND st_outtab TO it_outtab.
ENDLOOP.
ENDFORM. " Z_FEED_OUTTAB
*&---------------------------------------------------------------------*
*& Form Z_CRIA_ALV
*&---------------------------------------------------------------------*
" Cria o ALV.
form Z_CRIA_ALV .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
" Nome do programa.
I_CALLBACK_PROGRAM = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
" Inserção da estrutura para a substituição do Fieldcatolog
I_STRUCTURE_NAME = 'ZST_STRUC_001'
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
* IT_FIELDCAT =
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = c_x
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_outtab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endform. " Z_CRIA_ALV
*&---------------------------------------------------------------------*
" Vou fala agora sobre Estrutura dentro do ALV, I_STRUCTURE_NAME servirá,
" como o jah falado, igual ao parametro 'IT_FIELDCAT' da função,
" a estrutura feita tem esta cara:
" Sabe criar estrutura ? acesse :
" http://abapjuniores.blogspot.com/2011/08/dicionario-estruturas.html
" o código eh muito simples olhem abaixo.
" Tabelas
TABLES :
mara
.
TYPE-POOLs : slis
.
" Tipos
TYPES BEGIN OF ty_outtab.
" Aki eu estou aproveitando a estrutura criada para cria o tipo identico
" para a tabela de saida.
INCLUDE TYPE zst_struc_001.
TYPES END OF ty_outtab.
TYPES :
BEGIN OF ty_mara,
matnr TYPE mara-matnr,
ersda TYPE mara-ersda,
END OF ty_mara,
BEGIN OF ty_makt,
matnr TYPE makt-matnr,
maktx TYPE makt-maktx,
END OF ty_makt
.
" Tabelas Internas e Estruturas
DATA :
st_outtab TYPE ty_outtab,
it_outtab TYPE TABLE OF ty_outtab,
st_mara TYPE ty_mara,
it_mara TYPE TABLE OF ty_mara,
st_makt TYPE ty_makt,
it_makt TYPE TABLE OF ty_makt
.
" Constantes
data : c_x TYPE c VALUE 'X'.
" Tela de seleção.
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS : so_matnr FOR mara-matnr
.
SELECTION-SCREEN END OF BLOCK 1.
" Inicio do programa.
START-OF-SELECTION.
PERFORM :
z_busca_dados,
z_feed_outtab,
z_cria_alv
.
*&---------------------------------------------------------------------*
*& Form Z_BUSCA_DADOS
*&---------------------------------------------------------------------*
" Leitura simples das tabelas para alimentar a tabela de saida.
FORM z_busca_dados .
SELECT matnr ersda
FROM mara
INTO TABLE it_mara
UP TO 100 ROWS
WHERE matnr IN so_matnr
.
SELECT matnr maktx
FROM makt
INTO TABLE it_makt
FOR ALL ENTRIES IN it_mara
WHERE matnr = it_mara-matnr
AND spras = 'PT'
.
ENDFORM. " Z_BUSCA_DADOS
*&---------------------------------------------------------------------*
*& Form Z_FEED_OUTTAB
*&---------------------------------------------------------------------*
" Alimentação da tabela de saida.
FORM z_feed_outtab .
LOOP AT it_mara INTO st_mara.
READ TABLE it_makt INTO st_makt
WITH KEY matnr = st_mara-matnr
.
st_outtab-check = ' '.
st_outtab-matnr = st_mara-matnr.
st_outtab-ersda = st_mara-ersda.
st_outtab-maktx = st_makt-maktx.
APPEND st_outtab TO it_outtab.
ENDLOOP.
ENDFORM. " Z_FEED_OUTTAB
*&---------------------------------------------------------------------*
*& Form Z_CRIA_ALV
*&---------------------------------------------------------------------*
" Cria o ALV.
form Z_CRIA_ALV .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
" Nome do programa.
I_CALLBACK_PROGRAM = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
" Inserção da estrutura para a substituição do Fieldcatolog
I_STRUCTURE_NAME = 'ZST_STRUC_001'
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
* IT_FIELDCAT =
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = c_x
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_outtab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endform. " Z_CRIA_ALV
terça-feira, 30 de agosto de 2011
Dicionário - Tabela
*&---------------------------------------------------------------------*
" Vou mostra agora como fazer uma tabela transparente que são estruturas
" lógicas que possuem dados com relação direta no banco de dados.
" Bem espero que vcs jah tenham deduzido isso mas pra faze uma tabela
" temos que ir na transação Se11...rsrs
" É soh escrever o nome da tabela e manda ver ..
" Irá para uma tela acima onde vc deverá colocar a descrição Breve da
" tabela, antes de tudo, na primeira aba ( Caracteristicas ) aparecerá
" informações como ultima modificação, pacote que vc colocou o objeto
" ( tabela ) e o idioma Original, 'mais tarde eu mostrarei como eh
" importante esse negocio de idioma original e suas traduções',
" Já na segunda aba ( Entrega e atualização ) vc terá que informar a
" Data Browser / Atualiz. VIsão Tabs que é tipo vc autoriza ou naum
" a criar uma 'View' desta tabela, 'calma aee que eu to fazendo um post
" sobre isso tb rs', e a classe de entrega que tem essas opções...
" Aba ( campos )....
" Ahhhh, finalmente a parte onde vc coloca os campos desta tabela, como
" no exemplo abaixo podemos trabalhar como se fosse uma estrutura mas
" se ficarem atentos tem algumas mudanças como a chave primária e o campo
" 'Mandt' que eh uma obrigação em todas as tabelas onde será informado
" o mandante de acesso e eh sempre chvae primaria, a chave primaria é a
" informações que diferencia um registro do outro simples né... Tipo
" Pessoas com o nome Mauro tem um monte, mas o RG identifica e diferencia
" estes Mauro's huahuahuahu, portanto RG eh uma chave primaria...
" Alem de relacionar os campos da tabela com elmentos de dados tb podemos
" relacioná-los com outras estruturas soh depende da lógica e proposito
" da tabela, quando o campos tiver relacionado com tabela irá aparecer
" 3 quadradinhos um du lado do outro no lugar da categoria de dados.
" Depois na 4ª aba ( Entrs Possiveis / Verificação ) aki vc jah consegue
" ter uma visão de chave estrangeira, categoria de dados, origem entrada
" possiveis caso o dominio tenha e por falar nele vc consegue visualizar
" o dominio tb .
" Na 5ª e ultima aba ( campos moeda / quantidade ) vc informa o tabela
" e campo de referencia de campos co tipo moeda e quantidade ( jah foi
" comentado isso na criação da estrutura ).
" A gente não pode esquece de uma coisa, na verdade se vc esquecer vc
" não conseguirá ativar rsrsr portanto eh muito importante,...
" Nos botões la encima existe três de extrema importancia que são os
" configurações técnicas, Índices... e Estruturas append..., sobre os
" dois ultimos iremos falar aparte, iremos falar soh das configurações
" técnicas clicando lah irá aparecer a tela abaixo onde irá ser pedido
" duas informações muito importante que seria categoria de dados onde
" vc informa quais são os tipos de dados que terá esta tabela e o tamanho
" que essa tabela vai ter ( tomem bastante cuidado quando vcs forem fazer
" copia de tabelas de SAP de versões antigas pois o foi mudado as qtde
" padroes ) nesta tela vc só salva e jah era, depois volta (f3) e ativa
" o sua tabela, talvez a apareça uma 'warning' sobre a tabela mas
" Provavelmente será sobre a categoria de ampliação que estah no menu
" 'Suplementos'...
" Tabela transparente eh um assunto muito grande portanto estarei postando
" mais coisas sobre isso. qualquer dúvida estou aeee. t+.
" Vou mostra agora como fazer uma tabela transparente que são estruturas
" lógicas que possuem dados com relação direta no banco de dados.
" Bem espero que vcs jah tenham deduzido isso mas pra faze uma tabela
" temos que ir na transação Se11...rsrs
" É soh escrever o nome da tabela e manda ver ..
" Irá para uma tela acima onde vc deverá colocar a descrição Breve da
" tabela, antes de tudo, na primeira aba ( Caracteristicas ) aparecerá
" informações como ultima modificação, pacote que vc colocou o objeto
" ( tabela ) e o idioma Original, 'mais tarde eu mostrarei como eh
" importante esse negocio de idioma original e suas traduções',
" Já na segunda aba ( Entrega e atualização ) vc terá que informar a
" Data Browser / Atualiz. VIsão Tabs que é tipo vc autoriza ou naum
" a criar uma 'View' desta tabela, 'calma aee que eu to fazendo um post
" sobre isso tb rs', e a classe de entrega que tem essas opções...
" Aba ( campos )....
" Ahhhh, finalmente a parte onde vc coloca os campos desta tabela, como
" no exemplo abaixo podemos trabalhar como se fosse uma estrutura mas
" se ficarem atentos tem algumas mudanças como a chave primária e o campo
" 'Mandt' que eh uma obrigação em todas as tabelas onde será informado
" o mandante de acesso e eh sempre chvae primaria, a chave primaria é a
" informações que diferencia um registro do outro simples né... Tipo
" Pessoas com o nome Mauro tem um monte, mas o RG identifica e diferencia
" estes Mauro's huahuahuahu, portanto RG eh uma chave primaria...
" Alem de relacionar os campos da tabela com elmentos de dados tb podemos
" relacioná-los com outras estruturas soh depende da lógica e proposito
" da tabela, quando o campos tiver relacionado com tabela irá aparecer
" 3 quadradinhos um du lado do outro no lugar da categoria de dados.
" Depois na 4ª aba ( Entrs Possiveis / Verificação ) aki vc jah consegue
" ter uma visão de chave estrangeira, categoria de dados, origem entrada
" possiveis caso o dominio tenha e por falar nele vc consegue visualizar
" o dominio tb .
" Na 5ª e ultima aba ( campos moeda / quantidade ) vc informa o tabela
" e campo de referencia de campos co tipo moeda e quantidade ( jah foi
" comentado isso na criação da estrutura ).
" A gente não pode esquece de uma coisa, na verdade se vc esquecer vc
" não conseguirá ativar rsrsr portanto eh muito importante,...
" Nos botões la encima existe três de extrema importancia que são os
" configurações técnicas, Índices... e Estruturas append..., sobre os
" dois ultimos iremos falar aparte, iremos falar soh das configurações
" técnicas clicando lah irá aparecer a tela abaixo onde irá ser pedido
" duas informações muito importante que seria categoria de dados onde
" vc informa quais são os tipos de dados que terá esta tabela e o tamanho
" que essa tabela vai ter ( tomem bastante cuidado quando vcs forem fazer
" copia de tabelas de SAP de versões antigas pois o foi mudado as qtde
" padroes ) nesta tela vc só salva e jah era, depois volta (f3) e ativa
" o sua tabela, talvez a apareça uma 'warning' sobre a tabela mas
" Provavelmente será sobre a categoria de ampliação que estah no menu
" 'Suplementos'...
" Tabela transparente eh um assunto muito grande portanto estarei postando
" mais coisas sobre isso. qualquer dúvida estou aeee. t+.
quinta-feira, 25 de agosto de 2011
sexta-feira, 12 de agosto de 2011
Debugando janela Pop-up
" Tava dando uma olhada numa transação que a tela dela eh um Pop-Up e
" eu precisava 'debugar' pra pegar o problema na hora já pensei em um
" arquivinho que em txt que roda pela net pra conseguir debugar essas
" coisas, mas meu chefe muito sábio, me ensinou como fazer esse arquivo
" pelo SAP, aki vão as instruções:
" 1º : entre no SAP e aperte no botão 'Criar uma ligação', ^conforme
" abaixo.
" Depois irá aparecer a tela abaixo, prencha igual, prestando bastante
" atenção no campos 'Tipo', 'Comando' e 'local'.
" Pronto agora vc não precisa mais busca na internet este arquivo .txt
" se vc quiser vc pode abrir este arquivo SAP num bloco de notas pra
" ver o codigo fonte. Opa tava quase esquecendo rsrsrs, pra vc usa isto
" é só vc arrastar o arquivo criado pra 'Coisa' q vc quer Debugar.
" eu precisava 'debugar' pra pegar o problema na hora já pensei em um
" arquivinho que em txt que roda pela net pra conseguir debugar essas
" coisas, mas meu chefe muito sábio, me ensinou como fazer esse arquivo
" pelo SAP, aki vão as instruções:
" 1º : entre no SAP e aperte no botão 'Criar uma ligação', ^conforme
" abaixo.
" Depois irá aparecer a tela abaixo, prencha igual, prestando bastante
" atenção no campos 'Tipo', 'Comando' e 'local'.
" Pronto agora vc não precisa mais busca na internet este arquivo .txt
" se vc quiser vc pode abrir este arquivo SAP num bloco de notas pra
" ver o codigo fonte. Opa tava quase esquecendo rsrsrs, pra vc usa isto
" é só vc arrastar o arquivo criado pra 'Coisa' q vc quer Debugar.
quarta-feira, 10 de agosto de 2011
Dicionário - Estruturas
*&---------------------------------------------------------------------*
" Agora vamos pro próximo passo que será fazer uma estrutura, a estru-
" tura é um conjunto de campos onde cada campo é definido por elemento
" de dados, as estruturas não armazenam dados, ele funciona como um
" header, recebendo a linha que vc estah trabalhando e soh, portanto eh
" muito importante na codificação, sem conta q pode ser usado na criação
" do ALV.
" Primeiro entre na 'SE11' e digite o nome da estrutura na 'Categoria de
" dados' e aperte 'Criar'.
" Irá aparecer uma caixinha, selecione 'Estrutura'.
" Aparecerá uma tela igual a de baixo preencha a 'Descrição breve', no
" campo 'Componente' fica o nome do campo da estrutura e no campo
" 'tipo componente' fica o elemento de dados que define o campo da estru-
" tura.
" Tudo isso na aba 'Componentes', mas tb existem as abas...
" 'Caracteristicas' - fica as informações como ultima modificação, pacote
" e idioma original.
" 'Entradas possiveis/verificação' - aki vc trabalha com chaves extrangeiras
" e tb consegue visualizar o dominio (caso esteja usando) de cada campo da
" sua estrutura.
" 'Campo moeda/quantidade' - onde caso o campo seja do tipo 'Curr' vc terá
" que referencia este campo com um campo 'cury' da sua estrutura ou de
" outra tabela a 'maioria das vezes o campo eh 'TCURC-WAERS' conforme acima.
" Agora e só salvar, verificar os posiveis erros e Ativar.
" Obs.: Preste bastante atenção no log se aparecer, provavelmente será algo
" sobre Categoria, veja isso em /suplementos/categoria de ampliação.
" Agora vamos pro próximo passo que será fazer uma estrutura, a estru-
" tura é um conjunto de campos onde cada campo é definido por elemento
" de dados, as estruturas não armazenam dados, ele funciona como um
" header, recebendo a linha que vc estah trabalhando e soh, portanto eh
" muito importante na codificação, sem conta q pode ser usado na criação
" do ALV.
" Primeiro entre na 'SE11' e digite o nome da estrutura na 'Categoria de
" dados' e aperte 'Criar'.
" Irá aparecer uma caixinha, selecione 'Estrutura'.
" Aparecerá uma tela igual a de baixo preencha a 'Descrição breve', no
" campo 'Componente' fica o nome do campo da estrutura e no campo
" 'tipo componente' fica o elemento de dados que define o campo da estru-
" tura.
" Tudo isso na aba 'Componentes', mas tb existem as abas...
" 'Caracteristicas' - fica as informações como ultima modificação, pacote
" e idioma original.
" 'Entradas possiveis/verificação' - aki vc trabalha com chaves extrangeiras
" e tb consegue visualizar o dominio (caso esteja usando) de cada campo da
" sua estrutura.
" 'Campo moeda/quantidade' - onde caso o campo seja do tipo 'Curr' vc terá
" que referencia este campo com um campo 'cury' da sua estrutura ou de
" outra tabela a 'maioria das vezes o campo eh 'TCURC-WAERS' conforme acima.
" Agora e só salvar, verificar os posiveis erros e Ativar.
" Obs.: Preste bastante atenção no log se aparecer, provavelmente será algo
" sobre Categoria, veja isso em /suplementos/categoria de ampliação.
Assinar:
Postagens (Atom)