ABAP

Origem: Desciclopédia, a enciclopédia livre de conteúdo.

Associação Brasileira de Alemães Paga-paus. Éres una linguagen que non existe, copia-te o sistema para delphi e joga-te o código fonte na rede.
Padre Quevedo sobre ABAP

Associação Baiana de Acessoria de Programação. Vixe... programação de rede aqui. Deitadinho nela, 'num' sei se é delphi, cobol, sql, basic. Só sei que o dono da empresa quer deixar rico os alemães.
Preto Jóia sobre ABAP

Associação Brasileira de Ajuda ao Próximo??? Há, eu conheço, eles fazem um lindo trabalho!!!
Carla Perez sobre ABAP

Associação Brasileira de Ajuda ao Próximo!
Alguém de São José dos Campos sobre ABAP

ABAP_SYSTEM_EXCEPTION
DUMP sobre ABAP

Você quis dizer: POG
Google sobre ABAP

Isso não é erro cacete
Instrutor sem noção ao se deparar com a mensagem "Function module name is reserved for SAP" teimando em criar função com o dominio da SAP

é aquele menino que fica mexendo no sistema
Usuário sem Noção sobre ABAP

Coloca um Flag que funciona!!
Funcional burro sobre ABAP

/h
Você, durante 90% do dia

É só colocar um IF que funciona
Funcional idiota dando uma de ABAP

Quem não entender é só debugá!
Instrutor ABAP sobre programas de 10.000 linhas

É só copiar o Standard, facinho
Funcional sem noção sobre a nova Va01

Ah... Tem uma função standard que faz isso aí, fica tranqüilo...
Funcional sobre qualquer tipo de dúvida de ABAPeiro

Se eu púdesse eu debugarrá millll...
Jeremias sobre ABAP

Você não está comprometido com o projeto!
Seu gerente, após as 320 horas trabalhadas no mês

Nem esquenta... Depois agente negocia essas horas.
Seu gerente, após mais 320 horas trabalhadas no mês seguinte

Função não é função. É perform.
Instrutor ABAP sobre ABAP

Tu é muleque! Mu-le-que!
Capitão Nascimento sobre um Dump no report.

Macro não é macro. É Batch Input.
Instrutor ABAP sobre ABAP

Nada de orientações a objeto por aqui
Aluno ABAP sobre ABAP

Por que facilitar se podemos debugar
Aluno ABAP sobre ABAP

Não se diz erro, se diz sy-subrc NE 0
ABAP sobre erro

Não se diz formulário, se diz TABELA
Instrutor ABAP sobre formulário

Não se diz Struct, se diz TABELA
Instrutor ABAP sobre estrutura

Não se diz tabela, se diz Selection Screen
Instrutor ABAP sobre tabela

É uma cilada, Bino!!!
Pedro sobre curso de Abap

Pior que é mesmo Pedro...
Bino sobre citação acima

I wanna fuck ABAP in the ass
Tom - Blink 182 sobre Abap

Tenho Medo!!
Regina Duarte sobre ABAP

Isto non ecsiste!!!
Padre Quevedo sobre Utilidade do ABAP

Então você junta o Pascal e o COBOL e vem me dizer que fez uma linguagem ?!?!
você sobre criador do ABAP

Não é linguagem, é TABELA!!!
Outro sobre citação acima

PERFORM f_destroy USING h_bomb CHANGING t_world FUCKING t_programmer
Adolf Hitler sobre ABAP

A culpa é do funcional
ABAPeiro sobre erro no programa

A culpa é de Basis
Funcional sobre erro no programa

A culpa é do ABAPeiro
Basis sobre erro no programa

Maldito alemão!
ABAP se deparando com um DUMP não traduzido


ABAP
ABAP

ABAP (Advanced Bubble Acrean Programming) é uma linguagem de programação desenvolvida por programadores seringueiros do Acre escravizados por alemães na guerra do Paraguai.

O conceito de Bubble Programming vem de programar em seu mundinho ignorando qualquer conceito mundialmente padronizado, ultilizando-se das tecnicas milenares de POMM (Programação Orientada a Mim Mesmo).

Além disso ABAP utiliza o conceito de POSG (Programação Orientada à Seu Gosto) onde você tem infinitos modos de fazer a mesma coisa, e você escolhe aquilo que achar mais legal, ou consulta o mapa astrológico pra decidir qual modo adotar, mas por qualquer caminho que você siga na próxima versão virão com um novo conceito que deixará ultrapassado aquilo que você usou. O ambiente de trabalho dos ABAPs é facilmente reconhecido, geralmente ficam em uma sala com janelas de vidro e uma placa na entrada avisa "Não alimente os ABAPs".

Tabela de conteúdo

[editar] Acesso aos Editores

O acesso aos editores Abap é feito através das denominadas transações, que fáceis de decorar com QUAISQUER 2 letras e 2 números sem nenhum tipo de relação com sua função. As transações mais usadas usam "SE" + um dezena. O conjunto "SE" de transações obedece ao critério dos cartuchos de mil jogos do atari, onde, temos 20 transações diferentes e o resto é tudo repitido com nomes diferentes.

A principal diferença entre um programador comum e o abapeiro é a facilidade de tirar o seu da reta e culpar o consultor funcional. Caso isso não funcione é só procurar outra consultoria que vai pagar o dobro e te deixar fazer o triplo de merda, e esse ciclo se repete como um loop infinito.

[editar] Padrões

Nomear Programas:


Por padrão os programas SAP customizados devem seguir os seguintes passos de nomeação:

1. Digite a Letra Z

2. Dois tapas com a mão no teclado

3. Uma testada no centro do teclado

O que resulta em algo semelhante a "ZBC402_24_CONN". Sendo assim, muito cuidado com os erros de digitação, qualquer erro de digitação o interpretador ABAP pode chamar uma transação não prevista em seu programa.

O Abap possui diversas funções-padrão para os mais variados tipos de necessidade com nomes irreconheciveis que com certeza você vai levar mais tempo pra descobrir pra que serve do que programando sua propria função.


Exemplos:

Com um típico comentário de abapeiro que ignora que o resto do mundo fala ingles:

*"-----------------------------------------------------
*" 
*" Anweisung flache Struktur entsteht chucrutis 
*" trotzdem eindeutige Feldnamen entstehen 
*" deren flacher Darstellung die Namen der Hail Hitler
*"
*"-----------------------------------------------------

REPORT Z_YIG_34_1945

DATA      wa_carrier    LIKE LINE OF italy_conn_dead_list.

TRY
   CALL FUNCTION 'EBTE_3478_ATTACK_NORMANDIA_D_DAY90843'
      EXPORTING
         bullet_star = bullet_star
   IMPORTING
         CONNECTION_SEBRAE = connection_sebrae
CATCH abort_mission
    MESSAGE e345(it24) RAISING no_bullet
ENDTRY


[editar] Documentação

Por ser baseada na linguagem de povos antigos das Ilhas Tumbuctu, a documentação da ABAP é totalmente escrita em gaélico irlandês. Qualquer profissional que deseja se tornar um abapeiro (profissional que tenta entender de abap) de verdade deve entender também de gaélico irlandês. Quanto a documentação de programas, é muito comum conter apenas uma página, sendo ela em branco.

[editar] Erro. Erros? Onde?

Abap tem um diferença fundamental se comparada a uma outra linguagem esquisita qualquer. É a ÚNICA delas em que, mesmo com erros identificados pelo compilador, você pode ativar e compilar seus programas. É um salto. No escuro.

[editar] Acessando o Banco de Dados

Quem já tem uma simples noção de programação, não terá problemas com banco de dados. Levando em consideração que cada formulário é uma tabela, o acesso do banco de dados é direto, ou seja, escreva no meio do código mesmo qualquer coisa que lembre vagamente uma intrução SQL, sempre lembrando que o Abap tem o grande diferencial do comando SELECT ser um LOOP.


[editar] Debugando

Pra quem sempre quis saber o que róla nos bastidores da programação, o Debugger do Abap é o Nelson Rubens das linguagens.

Quando se manda debugar um programa, o Pointer mostra o que você pediu e principalmente o que você não pediu. Ao inserir um breakpoint], esteja pronto para viajar nas entranhas dos programas em que as principais informações são antigos bugs comentados e didáticos comentários em alemão.

Durante o Debug você pode verificar os erros via a variável sy-subrc, que retorna zero caso tudo de certo. Se sy-subrc retornar algo diferente de zero, algum problema tem, dos quais podem ser:

4 = você fez o select direito, agora faça como deve ser no ABAP.

8 = você fez a lógica correta, agora faça como deve ser no ABAP.

1001 = provavelmente o compilador não foi com sua cara.

666 = seu código irá destruir o mundo.

[editar] Orientação a Objetos

O ABAP tem sido atualizado para acompanhar os avanços tecnológicos nas linguagens de programação, uma das grandes novidades é a Orientação a Objetos ou ABAP Objects onde foi incorporado a infeliz possibilidade de trabalhar com Orientação a Objetos dentro da Linguagem estruturada.

Exemplo de uma sem noção boa implementação de objeto, utilizando RIDE (Redundância Incrível De Encapsulamentos)

CLASS lcl_event_receiver IMPLEMENTATION.



  METHOD handle_data_changed.

    PERFORM data_changed USING er_data_changed.

  ENDMETHOD.                    "handle_data_changed



  METHOD catch_doubleclick.

    PERFORM f_double_click USING e_row

                                 e_column

                                 sender.



  ENDMETHOD.                    "handle_data_changed



  METHOD catch_hotspot.

    PERFORM f_hotspot_click USING e_row_id

                                  e_column_id

                                  es_row_no.



  ENDMETHOD.                    "catch_hotspot





  METHOD handle_user_command.

    PERFORM data_usercommand USING e_ucomm.



  ENDMETHOD.                    "handle_data_changed



ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION

Linguagens de Programação

ABAPKhadaAJAXAlgolASPAssemblyBASICBashBefungeBrainfuckCC♭C#C=C+1C=C-1ClipperCOBOLColdFusionDDBaseDelphiEiffelFortranFoxProGambiarraGeneXusGroovyHaskellHQ9+HQ9++HTMLIntercalJADJavaJavaScriptLispLuaMakerMalbolgeManaged C++ModulaNatural.NetPascalPerlPHPPOGPortugolPrologPythonRubyRuby on RailsRuby off RailsScalaSmalltalkSQLVBScriptVisual BasicWilde CWhitespace

Ferramentas pessoais
(F)Utilidades