segunda-feira, 24 de fevereiro de 2014

Componentes tabela interna em tempo de execução (How to get Internal Table Components at runtime)

Estava precisando para uma demanda, o nome dos campos de uma tabela interna em tempo de execução  e achei essa codificação a mais completa e simples para ser usada......com um resultado bem satisfatório.....

font: 
http://abap-explorer.blogspot.com.br/2010/01/how-to-get-internal-table-components-at.html

segue o código......


*&---------------------------------------------------------------------*
*& Report  ZTEST_INTERNAL_TAB_COMP
*&
*&---------------------------------------------------------------------*
*&***********DEMO Code for http://abap-explorer.blogspot.com/***********
*&
*&---------------------------------------------------------------------*
 report  ztest_internal_tab_comp line-size 100.type-pools: abap.
 *Declare the type of the internal table
types: begin of x_final,
 matnr type matnr,
 werks type werks_d,
 flag type c length 1,
 value type p length 10 decimals 2,end of x_final.
 data:*The Internal table whose components are to found
i_data type sorted table of x_final with unique key matnr,*Table to hold the components
tab_return type abap_compdescr_tab,*Work area for the component table
components like line of tab_return.
 *Call Perform to get the Int. Table Components
perform get_int_table_fields using    i_data
                            changing  tab_return.*Display Components
loop at tab_return into components.
  write: / components-namecomponents-type_kind,
           components-length,components-decimals.endloop.
 
 
 
 *&---------------------------------------------------------------------*
*&      Form  get_int_table_fields
*&---------------------------------------------------------------------*
*       Get the Components of an internal table
*----------------------------------------------------------------------*
*      -->T_DATA     text
*      -->T_RETURN   text
*----------------------------------------------------------------------*
form get_int_table_fields  using    t_data type any table
                           changing t_return type abap_compdescr_tab.
 
  data:
  oref_table type ref to cl_abap_tabledescr,
  oref_struc type ref to cl_abap_structdescr,
  oref_error type ref to cx_root,
  text type string.*Get the description of data object type
  try.
      oref_table ?=
      cl_abap_tabledescr=>describe_by_data( t_data ).
    catch cx_root into oref_error.
      text = oref_error->get_text( ).
      write: / text.
      exit.
  endtry.*Get the line type
  try.
      oref_struc ?= oref_table->get_table_line_type( ).
    catch cx_root into oref_error.
      text = oref_error->get_text( ).
      write: / text.
      exit.
  endtry.
 
  append lines of oref_struc->components to t_return.
 endform.                    " GET_INT_TABLE_FIELDS

 

Ricardo BHZ

sexta-feira, 21 de fevereiro de 2014

O SAP FALA COM VOCE!!!

*&---------------------------------------------------------------------*
*& Report  ZTESTEXXXX
*& O Sap fala com você!!!
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  ZTESTEXXXX.
INCLUDE ole2incl.
DATA ole   TYPE ole2_object,
       voice 
TYPE ole2_object.
PARAMETERS p_text type string DEFAULT 'I love you and Im crazy for you'.
CREATE OBJECT voice 'SAPI.SpVoice'.
CALL METHOD OF voice 'Speak' ole
  
EXPORTING #1 p_text.

quarta-feira, 19 de fevereiro de 2014

Desconto no Pedido de Compras não vai para a Nota Fiscal MM // COM CONVENIO 100

J1btax -  O desconto do pedido de Compras não aparece na redução da Nota Fiscal

 

 

Insira a condição

 

 

 

DO CONVENIO 100

 

DADOS

 

VT 83.907,22
Valor Prod 90.417,27
Base icms: 36.166,91
Valor icms: 4.340,04
Valor Total dos Descontos: 6.510,05

 

·         Aplicar a nota SAP 1562248 que muda a forma como o sistema efetua o calculo do ICMS quando o material é sujeito ao convenio 100 do ICMS;

·         Cadastrar material na tabela de exceção dinâmica do icms (J_1BTXIC3)  marcando o flag do convenio 100;

·         Criar condição de desconto para o esquema de calculo do pedido;

·         Na J1BTAX no caminho: Nota Fiscal > Revisão de faturas > Condições PO relevantes para NF inseri a condição de desconto e o campo valor NF = 1 redução.

 

 

 

 

 

PREÇO BRUTO E PREÇO LÍQUIDO

Entender o que é preço bruto e líquido na concepção da SAP e o que é preço bruto e líquido sobre o ponto de vista Brasileiro.

A SAP conceitua preço bruto o valor que entrada na condition PBXX e/ou PB00 (e suas cópias qdo necessário) sendo o preço sem nenhum desconto porém com possíveis sobretaxas.

Já o preço líquido é o preço que foi entrado na condição e pode mudar dependendo das condições de descontos entrados. 
Claro que é uma maneira simplista de ver...

Já o preço Bruto para nós no Brasil  é o preço com todos os impostos inclusos , e o líquido..seria aquele que nós entramos no pedido já descontado ICMS e IPI e dependendo do cenário sem PIS e COFINS...


quarta-feira, 22 de janeiro de 2014

Deposito MM no SAP

Organização e estrutura SAP

Depósitos são lugares onde se armazenam os materiais (matéria-prima ou materiais produzidos). O depósito não é necessáriamente um lugar físico da empresa, no caso dos materiais em consignação, o depósito é representado no SAP por um depósito ‘lógico’.

·                     Criar o Depósito: Acessar o Guia de Implementação > Estrutura da Empresa > Definição > Administração de materiais > Atualizar depósito

Primeiro devemos selecionar o Centro para depois relacionar os Depósitos a ele, no meu caso, o centro que criei é oCTST

Adicionar o(s) Depósito(s) e salvar

É possível relacionar um mesmo Depósito para outros Centros.

 

quinta-feira, 16 de janeiro de 2014

INTERVALO DE NUMERAÇÃO NO SAP

código de transação SNRO SAP - Criar e manter faixas de número de ABAP

 

A TRANSAÇÃO SAP SNRO código de transação permite criar e manter faixas de número para você programas ABAP. Abaixo mostra-lhe os passos necessários para criar um intervalo de números. Em ordem para acessar o próximo número na faixa de dentro de seu código ABAP simplesmente chamar a função módulo NUMBER_GET_NEXT com os detalhes relevantes. 

Passo 1 - SAP transação intervalo de números 
Execute SNRO Tcode e digite um nome para o seu novo número de série (ou seja, ZNRANGE) 


Passo 2 - objeto detalhes da gama de números 
Pressione o botão Criar e preencha o intervalo da tela objeto número de detalhes, agora pressione salvar. Leia a mensagem pop-up e clique em sim se feliz com o método selecionado de buffering. 


Número de intervalos reais 3 - Etapa 
Agora pressione o botão 'Número intervalos "para manter os intervalos associados a este objeto. 


Passo 4 - Número intervalo de variação (s) 
Pressione o botão Alterar intervalos (lápis) para criar um novo intervalo e manter qualquer existentes 


Passo 5 - Dê intervalo de variação número 
Pressione o botão intervalo de + para adicionar um novo número de série para o seu objeto. 


Preencha os detalhes adequados, tais como o de e para o número, pressione o botão de inserção (+) para adicionar o intervalo para o objeto de intervalo de números 

Passo 6 - Criado intervalo 
O intervalo de variação número agora deve ter sido adicionado. Pressione salvar, ler a mensagem de informação e, em seguida, pressione o sinal verde. Sua gama de números foi agora criado. 


Use a função módulo NUMBER_GET_NEXT em seu código ABAP para obter o próximo número na sua faixa de número

 

quarta-feira, 15 de janeiro de 2014

TABELAS AFF TSTC

VARI : ABAP/4: Variant storage (similar to INDX)  Basis - Logical DB, Selection Screens, Selection Variants

TVARVC : Table of Variant Variables (Client-Specific)  Basis - Logical DB, Selection Screens, Selection Variants

VARID : Variant directory  Basis - Logical DB, Selection Screens, Selection Variants

RSRVARIANT : Variant Values  BW - OLAP Technology

VARIT : Variant Texts  Basis - Logical DB, Selection Screens, Selection Variants

T021S : Line Layout Variant Special Fields  FI - Financial Accounting

VARIS : Assignment of variant to selection screen  Basis - Logical DB, Selection Screens, Selection Variants

T162V : Display Variant for Service Overview  MM - External Services

CUVTAB : Variant table basic data  Cross Application - Object Dependencies

LTDXT : Display Variant Texts  Basis - SAP List Viewer

CUVFUN : Variant functions  Cross Application - Object Dependencies

CUVTLN : Line object of variant table  Cross Application - Object Dependencies

CUVT : Variant Table  Cross Application - Object Dependencies

TREV : Field Status Variant for Funds Reservation  FI - Funds Management

CUVTAB_VALC : CHAR format values for variant table  Cross Application - Object Dependencies

CUVTAB_FLD : Fields of variant table  Cross Application - Object Dependencies

CUVFUN_PAR : Parameters of variant function  Cross Application - Object Dependencies

CUVTAB_VALN : NON-CHAR format variant table values  Cross Application - Object Dependencies

CUVFUN_TX : Text table for variant functions  Cross Application - Object Dependencies

CUVTAB_TX : Descriptions for Variant Table  Cross Application - Object Dependencies

    ------ More SAP "variant " tables -----

VARID - Variant directory  Basis - Logical DB, Selection Screens, Selection Variants

VARI - ABAP/4: Variant storage (similar to INDX)  Basis - Logical DB, Selection Screens, Selection Variants

TVARV - Table of variables in selection criteria  Basis - Logical DB, Selection Screens, Selection Variants

VARIT - Variant Texts  Basis - Logical DB, Selection Screens, Selection Variants

TVARVC - Table of Variant Variables (Client-Specific)  Basis - Logical DB, Selection Screens, Selection Variants

RSRVARIANT - Variant Values  BW - OLAP Technology

VARIS - Assignment of variant to selection screen  Basis - Logical DB, Selection Screens, Selection Variants

RSRPARAMETRIZA - Parametrization for a query, workbook, webapplication, pla  BW - End User Technology

LTDX - Generic storage of display variants  Basis - SAP List Viewer

SHDTV - Transaction variants  Basis - Transaction Variant and Table Control Settings

RSRVARIANTDIR - Directory of Variants for Queries and Selection Objects  BW - OLAP Technology

RSRPARAMETRIZAT - Text of parametrizations  BW - End User Technology

VARIDESC - Selection Variants: Description  Basis - Logical DB, Selection Screens, Selection Variants

VARICON - Selection variants: Content  Basis - Logical DB, Selection Screens, Selection Variants

RSPCVARIANT - Generic Variant-Storage  BW - Data Staging

SAP table searches similar to "variant "

variant configuration tables

sales order variant configuration tables

sales order variant confi tables

variant transaction tables

variant confi tables



Read more: 
http://www.tcodesearch.com/sap-tables/search?q=variant+#ixzz2qUWVRAUz

ROTEIRO DE TESTE INTEGRADO - SU01 E SM20

VAMOS lá, não é difícil afinal....

 

Mapeie o usuário na SU01

 

Vá na SM20 – lista de transações por usuário

 

 

Execute, e monte o seu roteiro de TESTE.

 

Valide com o usuário a existência de transações ainda não identificadas

 

Efetue a correção... Faça a validação!!!

 

PEGUE O ACEITE DO USUÁRIO!!!!

 

Faça o teste unitário!!!!

 

E agora, acompanhe o teste integrado!!!!

 

Não dá erro!!!!!

 

Lista de transações

AL11 – Diretórios / Pastas do Servidor do SAP.
ST05 – SQL Trace / Análise de Performance do Banco de Dados / Trace de Performance
SE30 – Análise do Tempo de Execução de Programas/Funções/Transações, para análises de Performance. Nas novas versões do SAP, utilizar a transação SAT
SE83 – Biblioteca de Reuso do SAP, contém diversos exemplos de programas e técnicas de programação
SPAD – Administração de Spool, configuração de impressoras, drivers e formatos de página
SM12 – Remover bloqueios de objetos por usuário, tabela, argumento. Desbloquear objeto.
SM04 – Lista de usuários logados no sistema, com listagem das sessões abertas
SM50 – Lista com os de Processos em execução, debuggar em background
SM51 – Lista de Servidores SAP
SE71 – Transação criar e dar manutenção em SapScript
SE78 – Administração de Gráficos, Gráficos de Formulários
SE73 – Adiminstração de Fontes ( útil para Código de Barras )
SE03 – Ferramentas para Transportes: Busca de objetos em requests, modificações, análise, inclusão de objetos, etc
SE18 / SE19 – Criação de BADIs
BAPI – Busca por BAPIs de acordo com a área de aplicação
SNOTE – Assistente de aplicação de Notas da SAP
SM37 – Seleção e visualização de Jobs no sistema
SM36 – Criação de Jobs
CG3Y – Download de arquivos do servidor (sem precisar explorar as pastas)
CG3Z – Upload de arquivos no servidor (sem precisar explorar as pastas)
SE14 – Atualização de definições de tabelas direto no banco de dados (use com MUITO CUIDADO heim…)
CRM_UI – Iniciar WebClient CRM, abrir CRM no browser
SM31 – Criar visão de tabelas (para criar telas com aquelas hierarquias de configurações da SPRO)
SE43 – Criação de Menus p/ transações ou tela inicia do usuário
SU01 / SU02 / SU03 – Administração de Usuários
TJ30 – Tabela de Status do CRM
SE21 – Administração de Pacotes / Criar novos pacotes
SE24 – Criar Classes, Interfaces, Classes de Exceção, Orientação à Objeto
SM35 – Transação de Batch Input
WE05 – Lista de IDOCs, Busca por IDOCs processados, status
WE20 – Protocolo de Transmissão, Tipos de Parceiro
WE60 – Documentação de IDOCs
(para mais transações de IDOCs, 
VOFM – SD, Fórmulas, Condições, Requisitos, Código p/ Controle de Cópia
CMOD – Administração de Projetos ( EXITs )
SMOD – Ampliações e componentes dos projetos ( EXITs )
SP01 – Visualização de SPOOL
NACE – Controle de mensagens para Impressão
FIBF – BTEs, EXITs de FI
SICF – Ativação de Serviços do SAP
PFTC – Atualização de Tarefas ( Workflow )
SBWP – Inbox do SAP ( mensagens/emails internos, Workflow )
ABAPDOCU – Documentação ABAP e Exemplos de Código 
ST01 – System Trace: Trace de autorizações, chamadas RFC, Kernel, DB, Table buffer
SCC4 – Visualizar detalhes do client, incluindo o sistema lógico atribuído e se cria request
SCC1 – Client Copy by Transport Request: Transportar requests de customizing entre clients do mesmo ambiente
BD64 – Criar/Manter modelo de distribuição para IDoc
STMS – Transport Management System: Gerenciamento de transporte, incluindo definição do domínio, de parâmetros TP e rotas de transporte.
SOST – Visualizar status de transmissões via SAPConnect
SCOT – Administração do SAPconnect
OB96 – Altera o form chamado no programa. (Sap Script) – por Bruno Nicolau
SM69 - Atualizar comandos externos SO
OAER - para capturar imagens jpeg ou gif para logo

Quais usuários pertencem a uma transação no SAP

Pessoal sempre queremos saber quais são os usuários que tenham direito a acessar uma determinada transação.
Para isto existe um relatório da transação Suim bastante simples como segue abaixo:

1) Vá para a transação suim :

 

 

2) Selecione a opção User-->Users By Complex Selection Criteria --> By Transaction Authorization  e clique no icone do relógio.

 

3) Entre com o nome da transação no campo Transaction Code e clique novamente no relógio.

 

4) Abaixo o resultado com os logins e nomes de todas as pessoas que tenham direito a acessar esta transação.

 

Até a próxima dica.

 

Abraço

 

segunda-feira, 13 de janeiro de 2014

Quem mexeu no meu IVA

Oh meu Deus, mexeram no meu IVA!!!!

 

E agora, como faço? Na SE09

 

 

Busque o recurso avançado no menu ferramentas, e e e....

 

Achou!!!!

quarta-feira, 27 de novembro de 2013

Dica de pesquisa - DOU

Pesquisa de jornais

 

Selecione o jornal

 

 

Navegue pelo jornal. As alterações fiscais tributárias estão na seção Ministério da Fazenda.