*--------------------------------------------------------------------*
* Eae galera, sempre em nossas vidas de ABAP, vamos precisar saber
* fazer download e upload de arquivo, sabemos tambem que estas mesmas funções
* 'GUI_DOWNLOAD' e 'GUI_UPLOAD' estão obsoletas.
* Conforme o 'F1' da função o mesmo indica você usar a classe
* 'CL_GUI_FRONTEND_SERVICES' que será a classe que vamos estudar hoje.
* Tentarei mostrar alguns Metodos interessantes dessa classe que trabalham
* com arquivos e pastas.
* A ideia desse programa será bem simples, ele te possibilita criar uma
* pasta e incluir nela copias dos arquivos de uma outra pasta, e no final
* , como tudo isso é só para teste, existe a possibilidade de deletar todos
* os arquivos copiados juntamente com a pasta caso deseje. Esse programa
* não fara nenhuma alteração de algum arquivo que você já tenha no Desktop,
* irá trabalhar somente com os criados pelo proprio programa.
* Recomendo criar uma pasta qualquer, incluir um arquivo qualquer também
* e começar a brincadeira.
* Como sempre faço, existem algums Breaks no código para forçá-los a
* entender o que cada metodo faz. Abaixo a lista dos metodos usados dessa
* Classe.
* cl_gui_frontend_services=>directory_browse
* cl_gui_frontend_services=>directory_create
* cl_gui_frontend_services=>directory_exist
* cl_gui_frontend_services=>directory_delete
* cl_gui_frontend_services=>directory_list_files
* cl_gui_frontend_services=>file_copy
* cl_gui_frontend_services=>file_exist
* cl_gui_frontend_services=>file_get_attributes
* cl_gui_frontend_services=>file_delete
* Lembando que o código está simples, mais para estudos mesmo, sugestões,
* critina ou qualquer tipo de opnião estamos disponivel no final do post,
* a nomenclatura dos metodos estão bem intuitivas para não precisar comentar
* muito, mas qualquer duvida estamos aí também.
* Bons estudos aeeee.
REPORT z_cl_gui_frontend_services.
TABLES :
sscrfields.
CLASS
zcl_main DEFINITION DEFERRED.
DATA :
o_main TYPE REF TO zcl_main.
DATA :
subrc TYPE sy-subrc,
result TYPE abap_bool,
gt_file_table TYPE rstt_t_files.
* T01 - Pastas
* C01 - Processar
* T02 - Arquivos
* T03 - Deletar arquivos e pastas novas após o processo ?
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETERS :
folder TYPE string,
n_folder TYPE string DEFAULT 'teste'.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
PARAMETERS :
folder2 TYPE string.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.
PARAMETERS :
del_fold AS CHECKBOX DEFAULT abap_true,
del_file AS CHECKBOX DEFAULT abap_true.
SELECTION-SCREEN END OF BLOCK b3.
CLASS zcl_main DEFINITION.
PUBLIC SECTION.
METHODS:
*--------------------------------------------------------------------*
directory,
*--------------------------------------------------------------------*
directory_browse
IMPORTING
iv_title TYPE string
CHANGING
cv_folder TYPE string,
*--------------------------------------------------------------------*
directory_create
IMPORTING
iv_directory TYPE string
CHANGING
cv_rc TYPE sy-subrc,
*--------------------------------------------------------------------*
directory_exist
IMPORTING
iv_directory TYPE string
CHANGING
cv_result TYPE abap_bool,
*--------------------------------------------------------------------*
directory_delete
IMPORTING
iv_directory TYPE string
CHANGING
cv_rc TYPE sy-subrc,
*--------------------------------------------------------------------*
directory_list_files
IMPORTING
iv_directory TYPE string
EXPORTING
ev_count TYPE i
CHANGING
ct_file_table TYPE rstt_t_files,
*--------------------------------------------------------------------*
file
CHANGING
ct_file_table TYPE rstt_t_files,
*--------------------------------------------------------------------*
file_copy
IMPORTING
iv_source TYPE string
iv_destination TYPE string
iv_overwrite TYPE abap_bool OPTIONAL
EXPORTING
ev_rc TYPE sy-subrc,
*--------------------------------------------------------------------*
file_exist
IMPORTING
iv_file TYPE string
EXPORTING
ev_result TYPE abap_bool,
*--------------------------------------------------------------------*
file_get_attributes
IMPORTING
iv_file TYPE string
EXPORTING
ev_attributes TYPE char10,
*--------------------------------------------------------------------*
popup_to_confirm_files
CHANGING
ct_file_table TYPE rstt_t_files,
*--------------------------------------------------------------------*
popup_to_confirm
IMPORTING
iv_title TYPE string
iv_question TYPE string
EXPORTING
ev_answer TYPE char1,
*--------------------------------------------------------------------*
delete_folder,
*--------------------------------------------------------------------*
delete_file
CHANGING
ct_file_table TYPE rstt_t_files,
*--------------------------------------------------------------------*
file_delete
IMPORTING
iv_file TYPE string
EXPORTING
ev_rc TYPE sy-subrc
.
ENDCLASS.
Mostrando postagens com marcador Extras. Mostrar todas as postagens
Mostrando postagens com marcador Extras. Mostrar todas as postagens
segunda-feira, 17 de julho de 2017
quinta-feira, 6 de julho de 2017
Alterando Request já liberada - RDDIT076
* Na marioria das vezes, o transporte de request realizado de forma
* organizada, padronização de nomenclatura, destino, essas coisas,
* Mas as vezes fazemos requests fora do padrão, aguardando alguma informação
* que complete essa nomenclatura padrão, o problema é quando liberamos
* para essa mesma request transporte ( =( ), procurando na internet algo
* que resolvesse isso encontrei o programa 'RDDIT076', esse mesmo programa
* Faz a alteração de quase tudo sobre a request ( incluindo Status, caso
* queira deixar modificavel(D) novamente ). A execução dela é bem simples
* mas como tudo.... MUITO CUIDADO. Para não mexer em algo que não devesse.
* Abaixo uns prints com o processo.
* Primeiramente Com o numero da request reservada vamos na transação se38,
* colocar 'RDDIT076' e dar 'F8', apos executado informar a request.
* Irá aparaecer uma tela com dados principais da request e as tasks da mesma,
* clique duas vezes, ou seleciona a request e aperte o botão de detalhamento.
* organizada, padronização de nomenclatura, destino, essas coisas,
* Mas as vezes fazemos requests fora do padrão, aguardando alguma informação
* que complete essa nomenclatura padrão, o problema é quando liberamos
* para essa mesma request transporte ( =( ), procurando na internet algo
* que resolvesse isso encontrei o programa 'RDDIT076', esse mesmo programa
* Faz a alteração de quase tudo sobre a request ( incluindo Status, caso
* queira deixar modificavel(D) novamente ). A execução dela é bem simples
* mas como tudo.... MUITO CUIDADO. Para não mexer em algo que não devesse.
* Abaixo uns prints com o processo.
* Primeiramente Com o numero da request reservada vamos na transação se38,
* colocar 'RDDIT076' e dar 'F8', apos executado informar a request.
* Irá aparaecer uma tela com dados principais da request e as tasks da mesma,
* clique duas vezes, ou seleciona a request e aperte o botão de detalhamento.
segunda-feira, 12 de dezembro de 2016
Criação de Fórmulas SD - VOFM
* Eae 'debuggadores' hoje vou mostrar como criar uma formula SD do começo
* ao fim, primeiramente essas formulas são códigos abaps encapsulados para
* processos especificos, depois de criados eles são definidos de forma
* Customizing pelo funcional que solicitou isso, no nosso caso de exemplo
* iremos mostrar a criação de uma formula SD.
* Para essa criação precisamos ir para a transação VOFM ir no menu
* 'Fórmulas -> Base de condição'... Conforme imagem abaixo.
* Depois, iremos definir o numero da formula ( na maioria das vezes o
* funcional imforma isso ) e dar 'Enter' o problema que esse processo gera
* objetos Standards que em seguida necessida de chave de acesso, é só mandar
* o print do objeto e copiar e colar a chave do objeto mais a instalação pro
* Basis do projeto que depois de 5 dias ( brincando... rs ) eles te retornam
* com a chave, essa chave você p~eo no campo correspondente e pronto, objeto
* pronto e criado para você colocar o código necessário.
* Ao criar o objeto, ele virá com o assistente de modificação é só ir no
* menu 'Processar -> Operações de Modificação -> Desativar assistente'.
* Logo após isso, irá aparecer uma imagem para te amedrontar, mas não se
* preocupem é só um informativo.
* ao fim, primeiramente essas formulas são códigos abaps encapsulados para
* processos especificos, depois de criados eles são definidos de forma
* Customizing pelo funcional que solicitou isso, no nosso caso de exemplo
* iremos mostrar a criação de uma formula SD.
* Para essa criação precisamos ir para a transação VOFM ir no menu
* 'Fórmulas -> Base de condição'... Conforme imagem abaixo.
* Depois, iremos definir o numero da formula ( na maioria das vezes o
* funcional imforma isso ) e dar 'Enter' o problema que esse processo gera
* objetos Standards que em seguida necessida de chave de acesso, é só mandar
* o print do objeto e copiar e colar a chave do objeto mais a instalação pro
* Basis do projeto que depois de 5 dias ( brincando... rs ) eles te retornam
* com a chave, essa chave você p~eo no campo correspondente e pronto, objeto
* pronto e criado para você colocar o código necessário.
* Ao criar o objeto, ele virá com o assistente de modificação é só ir no
* menu 'Processar -> Operações de Modificação -> Desativar assistente'.
* Logo após isso, irá aparecer uma imagem para te amedrontar, mas não se
* preocupem é só um informativo.
terça-feira, 23 de fevereiro de 2016
Convertendo Spool em PDF - RSTXPDFT4
* Fala Galera, ultimamente precisei criar um arquivo PDF baseada no
* no Spool gerada pelo Smartforms e mandar por email, procurando algo
* que me ajudasse na internet, encontrei um programa que transforma
* o Número do Spool em um arquivo .PDF dentro do diretório que escolher.
* Esse programa não resolvia meu problema mas me ajudou muito pois
* usei as funções que foram usadas nesse programa.
* Primeiramente irei mostrar um passo a passo de como processar esse
* programa e mais tarde num próximo post mostrar como fazer um arquivo
* .pdf pelo Spool e enviar para um email.
* O programa que estou falando é o 'RSTXPDFT4', vá na transação SE38
* coloque RSTXPDFT4 e execute.
* no Spool gerada pelo Smartforms e mandar por email, procurando algo
* que me ajudasse na internet, encontrei um programa que transforma
* o Número do Spool em um arquivo .PDF dentro do diretório que escolher.
* Esse programa não resolvia meu problema mas me ajudou muito pois
* usei as funções que foram usadas nesse programa.
* Primeiramente irei mostrar um passo a passo de como processar esse
* programa e mais tarde num próximo post mostrar como fazer um arquivo
* .pdf pelo Spool e enviar para um email.
* O programa que estou falando é o 'RSTXPDFT4', vá na transação SE38
* coloque RSTXPDFT4 e execute.
* O primeiro parametro é o numero do Spool, para pegar essa informação
* vá na transação SP02 e copia o Spool desejado para conversão.
quarta-feira, 31 de julho de 2013
Considerações .....
* Opa abapers, hoje vim passar as conquistas e o objetivo do blog,
* primeiro vamos falar da 'Captação de Curriculos', os mais antigos sabem
* que tenho parceiros em RH e SAPHunters como amigos e eu repasso todos
* os curriculos que recebo para eles 1 ou 2 vezes por quinzena, estou
* correndo atrás de novos parceiros para que melhoremos essa distribuição
* de curriculos Abap Junior, e assim o blog possa ajudar mais ainda os
* Abapers que estão começando, se não sabia e quer enviar e só mandar no
* Email de contato do Blog.
* Juntamente com os Curriculos recebo também duvidas pontuais, e tento
* ajudar o máximo possivel, assim criando varios casos e isso também
* me auxilia na criação de mais Posts como transferência de conhecimento
* o famoso KT (Knowledge Transfer), muito Obrigado.
* O terceiro ponto e tão importante quanto as outras é o FeedBack que tenho
* recebido do pessoal por email e Skype (ex-msn), e estou muito feliz de
* saber que ajudo, mas gostaria de ressaltar que esse blog foi feito para
* auxiliar mesmo o pessoal que está querendo entrar ness mundo louco do
* SAP / ABAP e não tem ninguem melhor que vocês pra ditar o rumo do Blog,
* porisso podem usar o email para sugerir ou opnar sobre temas a ser
* abordados no Blog, não sei quase nada de ABAP, mas me esforçarei para
* resolver e dar exemplo de todos os temas enviados. Não estou muito
* acostumado a mexer em redes sociais, mas vou tentar ser um pouco mais
* ativo na Página do ABAPJUNIORES no Facebook também, criando algumas
* enquetes e conto com a colaboração de todos, muito obrigado pessoal
* e vamos em frente porque ainda têm muito assunto em ABAP pra falar.
* Valeoooo.
* primeiro vamos falar da 'Captação de Curriculos', os mais antigos sabem
* que tenho parceiros em RH e SAPHunters como amigos e eu repasso todos
* os curriculos que recebo para eles 1 ou 2 vezes por quinzena, estou
* correndo atrás de novos parceiros para que melhoremos essa distribuição
* de curriculos Abap Junior, e assim o blog possa ajudar mais ainda os
* Abapers que estão começando, se não sabia e quer enviar e só mandar no
* Email de contato do Blog.
* Juntamente com os Curriculos recebo também duvidas pontuais, e tento
* ajudar o máximo possivel, assim criando varios casos e isso também
* me auxilia na criação de mais Posts como transferência de conhecimento
* o famoso KT (Knowledge Transfer), muito Obrigado.
* O terceiro ponto e tão importante quanto as outras é o FeedBack que tenho
* recebido do pessoal por email e Skype (ex-msn), e estou muito feliz de
* saber que ajudo, mas gostaria de ressaltar que esse blog foi feito para
* auxiliar mesmo o pessoal que está querendo entrar ness mundo louco do
* SAP / ABAP e não tem ninguem melhor que vocês pra ditar o rumo do Blog,
* porisso podem usar o email para sugerir ou opnar sobre temas a ser
* abordados no Blog, não sei quase nada de ABAP, mas me esforçarei para
* resolver e dar exemplo de todos os temas enviados. Não estou muito
* acostumado a mexer em redes sociais, mas vou tentar ser um pouco mais
* ativo na Página do ABAPJUNIORES no Facebook também, criando algumas
* enquetes e conto com a colaboração de todos, muito obrigado pessoal
* e vamos em frente porque ainda têm muito assunto em ABAP pra falar.
* Valeoooo.
segunda-feira, 24 de setembro de 2012
Formatando dados com Máscaras - USING EDIT MASK
* Opa pessoal, vou mostrar hoje como mostrar os dados de uma variável
* ou campo qualquer da forma que o user quer ver, existem algumas funções
* que fazem isso, mas as vezes o User que algo fora do padrão, e pra gente
* não desenvolver uma função para tratar isso existe um comando que
* conseguirá te ajudar muito que é o 'USING EDIT MASK' que substitui os
* Underline '_' pelo respectivo numero, veja abaixo um exemplinho legar.
* Podemos usar esse comando para mostrar CPF, CNPJ, PIS, data e Qualquer
* coisa que tenha máscara de exibição, Bons estudos.
REPORT z_using_edit_mask.
* Reparem nos tamanhos das variáveis que vão trabalhar como retorno.
data :
vg_number TYPE i,
vg_return(70) TYPE c,
vg_retNum(15) TYPE c
.
vg_number = '123456789'.
* Aki estaremos passando os valores da variável para uma outra variável,
* mas com uma máscara que você define, assim mostrando oq o User quer sem
* mudar nada na variável principal.
write vg_number USING EDIT MASK
'_ _ _ indiozinhos, _ _ _ indi... Assim vai a_é pass_r o tamanho d_ variável'
to vg_return.
* Aqui os valores são conforme acima mas só que um pouco mais perto da
* realidade
write vg_number USING EDIT MASK
'__,__._,_,___'
to vg_retnum.
* Retorno na tela.
WRITE : vg_return, / , /
vg_retnum
.
* ou campo qualquer da forma que o user quer ver, existem algumas funções
* que fazem isso, mas as vezes o User que algo fora do padrão, e pra gente
* não desenvolver uma função para tratar isso existe um comando que
* conseguirá te ajudar muito que é o 'USING EDIT MASK' que substitui os
* Underline '_' pelo respectivo numero, veja abaixo um exemplinho legar.
* Podemos usar esse comando para mostrar CPF, CNPJ, PIS, data e Qualquer
* coisa que tenha máscara de exibição, Bons estudos.
REPORT z_using_edit_mask.
* Reparem nos tamanhos das variáveis que vão trabalhar como retorno.
data :
vg_number TYPE i,
vg_return(70) TYPE c,
vg_retNum(15) TYPE c
.
vg_number = '123456789'.
* Aki estaremos passando os valores da variável para uma outra variável,
* mas com uma máscara que você define, assim mostrando oq o User quer sem
* mudar nada na variável principal.
write vg_number USING EDIT MASK
'_ _ _ indiozinhos, _ _ _ indi... Assim vai a_é pass_r o tamanho d_ variável'
to vg_return.
* Aqui os valores são conforme acima mas só que um pouco mais perto da
* realidade
write vg_number USING EDIT MASK
'__,__._,_,___'
to vg_retnum.
* Retorno na tela.
WRITE : vg_return, / , /
vg_retnum
.
quinta-feira, 31 de maio de 2012
É felicidade ? Então passa pra frente ....
Ahhhh, estou muito feliz e gostaria de repassar isso a todos os seguidores do Blog, o blog ABAPJuniores foi criado para troca de informações sobre a Linguagem ABAP, diariamente recebo vários emails com dúvidas e tento sanar todas (salve as exceções rsrs), na maioria desses emails aprendo algo e repasso no própio blog como Post.
Mas hoje o blog não é somente troca de informação, trabalhamos com pessoas e porque não ajudá-las, estamos recebendo já faz mais de 6 meses currículos e repassando para empresas filiadas, foram mais de 200 currículos repassados para 12 consultorias, a equipe ABAPJuniores está tentando fazer mais alianças com outras consultorias, empresas de RH e Escolas para cursos, o primeiro Curso ABAP parceiro do Blog foi o ztreinamento onde informando o cupom você ganha 10% de desconto, e não para por ai, estamos aumentando a gama de consultorias e empresas que querem receber o currículos.
Agora sobre o blog em si, gostaria de agradecer a participação de todos, dicas, dúvidas, reclamações rsrs são todas bem vindas pois esses blog foi feito pra isso, troca de informações, foi feito para nós.
Se preparem que no próximo mês estaremos 'postando' muita coisa interessante sobre Smartforms, dicionários de dados, Exit's, SapScript, cheats and tricks e lógico ALV rsrs... Obrigadão pessoal e bons estudos.
terça-feira, 24 de abril de 2012
Sobre os Currículos.... (2)
Opa Pessoal, gostaria de agradecer os currículos enviados e informar que a equipe AbapJuniores está correndo atrás de mais empresas como aliança para a distribuição dos currículos e indicação dos mesmos, lembrando, quem não sabe ainda, que toda a semana eu distribuo os currículos enviados para o email maurorpjunior@gmail.com para empresas filiadas com vagas para pessoas que querem iniciar ou tem pouca experiencia no mundo SAP/ABAP, estamos a todo vapor e continuem enviando. Aguardem Novidades.
quinta-feira, 15 de março de 2012
Volta das Férias
Fala rapaziada esperta, voltei de ferias semana passada e ainda to meio no clima, pra vocês verem estou postando soh hoje, rsrsr, e pra explicar um bucado dos emails que recebi perguntando se eu tinha abandonado os ABAP' s Jr huahuahua, to de volta 100% descansado e pronto pra mais posts, tenho bastante material pronto e começarei a postar a partir de amanhã, estou muito feliz com a quantidade de curriculos que recebi e já repassei todos...... Estarei respondendo mais rápido possível sobre as dúvidas enviadas ( se ainda tiverem ) e vamo que vamo.. t+
terça-feira, 24 de janeiro de 2012
Sobre os Curriculos...
Bom dia Abaper's, Gostaria de agradecer o envio de currículos e estamos repassando pra consultorias o mais rápido possível, o movimento de currículos aumentou bastante no começo deste ano e agora não consigo mais renomear os arquivos enviados por vocês para retransmití-las, portanto peço por gentileza enviarem no padrão de nomenclatura abaixo para que possamos ter um controle maior dos documentos.
Nome do arquivo : <Nome>_<Sobrenome>_CV_<sy-datum>.doc
Até agora estávamos repassando currículo com formatos .PDF também, mas teve consultoria que solicitou em .DOC, e tive que redigitar 4 currículos. rsrs, então galera por favor respeitar o formato também.
Qualquer dúvida estou a disposição.
Nome do arquivo : <Nome>_<Sobrenome>_CV_<sy-datum>.doc
Até agora estávamos repassando currículo com formatos .PDF também, mas teve consultoria que solicitou em .DOC, e tive que redigitar 4 currículos. rsrs, então galera por favor respeitar o formato também.
Qualquer dúvida estou a disposição.
terça-feira, 3 de janeiro de 2012
Happy New Years Abapers
" Feliz ano novo pessoal, o abapjunior deseja a vocês muitos projetos e
" e muito aprendizado, queria agradecer aos emails com os curriculos e falar
" que já foram todos encaminhados, agradecer também aos comentários e aos
" emails enviados com dicas e emails com perguntas também rsrs, estarei
" trabalhando mais sobre Orientação a Objeto, Funções e dicionário de dados
" conforme solicitação por emails da galera que participa aeee, vamo que
" vamo que esse ano promete, estou como sempre me disponibilizando a contato
" por email e por msn.
" T+
" e muito aprendizado, queria agradecer aos emails com os curriculos e falar
" que já foram todos encaminhados, agradecer também aos comentários e aos
" emails enviados com dicas e emails com perguntas também rsrs, estarei
" trabalhando mais sobre Orientação a Objeto, Funções e dicionário de dados
" conforme solicitação por emails da galera que participa aeee, vamo que
" vamo que esse ano promete, estou como sempre me disponibilizando a contato
" por email e por msn.
" T+
quinta-feira, 24 de novembro de 2011
Estamos contratando !!!
Uma ótima notícia para os Abapeiros de primeira viagem é que o Blog 'ABAP Junior' está fazendo alianças com empresas do mercado SAP para indicações para o cargo de ABAP, isso mesmo.... a partir de hoje estarei aceitando currículos de programadores ABAP,o blog irá passar para Setor de Recursos Humanos das empresas parceiras, não garantimos a contratação, mas como todos dizem, 'ajudamos a passar o Curriculo pra frente', esperamos nos encontrar em algum projeto por ae.... ahhhhh o email para enviar está abaixo.
maurorpjunior@gmail.com
maurorpjunior@gmail.com
Assinar:
Postagens (Atom)