1. Certifique-se que o conteúdo dos Infoproviders foram eliminados .
2. No R / 3 ir na transação LBWG e apagar conteúdo da setup table. Escolha a área de aplicação 03 (Estoque) .
3. Garantir que todos os outros usuários, exceto os usuários ALEREMOTE ou BW RFC estão bloqueados. (Você precisa de um tempo de interrupção no R/3, quando você estiver carregando dados do R/3) .
4. Executar a transação MCNB para carregar os dados de estoques. DataSource 2LIS_03_BX, incluindo todos os materiais não avaliados estoque.
5. Carregar o conjunto de dados históricos, se necessário. Ir na transação OLI1BW para movimentação de materiais (2LIS_03_BF) e na transação OLIZBW para Reavaliações (2LIS_03_UM).
6. No BW fazer a inicialização de carga para 2LIS_03_BX para definir o estoque inicial.
7. Executar uma inicialização sem transferência de dados do BW, DataSource e 2LIS_03_BF 2LIS_03_UM.
8. Carregar os dados históricos, atualizações completas para 2LIS_03_BF e 2LIS_03_UM no cubo.
9. Certifique-se que, o controle do trabalho já foi definida no R/3.
Deltas agora pode ser carregado e compactado com um marcador de atualização.
Créditos: Rasim MANAVOGLU (SDN.SAP.COM)
quinta-feira, 4 de novembro de 2010
quarta-feira, 27 de outubro de 2010
STVARV - Atualização da tabela TVARVC
STVARV - Precisei criar uma variante para um programa que não permitia a seleção do parâmetro via MATCHCODE, porém ao criar a variante, pude selecionar uma variável criada por essa transação. Ela serve como uma tabela de configuração de parâmetros. Na imagem ao lado, criei o parâmetro LOGSYS com o meu sistema ECC, terei que criar a mesma variável LOGSYS nos ambientes de QA e de PRD com o mesmo nome, mudando apenas o nome do sistema.
quarta-feira, 6 de outubro de 2010
RSCUSTA - Atualização da tabela RSADMINA
RSCUSTA - Estava com problemas no escalonamento de cadeia de processo (RSPC), por conta do usuário configurado para jobs em background não ser o ALEREMOTE, era um usuário do tipo comunicação e não e sistema como o ALEREMOTE, a questão é o porque do usuário ter sido alterado. O R/3 estando na versão 4.6B o tipo de usuário tem que ser de comunicação, da versão 4.6C em diante, é de sistema, conforme o ALEREMOTE. Como há pouco tempo atrás havia tido a migração do R/3 para o ECC, então parou de funcionar, necessitando mexermos nessa configuração.
quarta-feira, 29 de setembro de 2010
Rotina ABAP de cálculo do intervalo de data e hora
Pesquisando na internet não encontrei uma rotina abap que fizesse o cálculo entre 2 datas e 2 horas e me desse isso em minutos. Acabei fazendo esse código que ao realizar alguns testes está me atendendo.
DATA: LC_DATA_INI like sy-datum.
DATA: LC_DATA_FIM like sy-datum.
DATA: LC_HORA_INI like sy-UZEIT.
DATA: LC_HORA_FIM like SY-UZEIT.
DATA: LC_DATADIFF like sy-datum.
DATA: LC_HORADIFF like SY-UZEIT.
DATA: LC_MINUTOS TYPE I.
lc_data_ini = SOURCE_FIELDS-INFO_DATA_INI.
lc_data_fim = SOURCE_FIELDS-INFO_DATA_FIM.
CONCATENATE SOURCE_FIELDS-INFO_HORA_INI(2)
SOURCE_FIELDS-INFO_HORA_INI+3(2) '00'
INTO lc_hora_ini.
CONCATENATE SOURCE_FIELDS-INFO_HORA_FIM(2)
SOURCE_FIELDS-INFO_HORA_FIM+3(2) '00'
INTO lc_hora_fim.
IF lc_data_fim <> ''.
LC_DATADIFF = lc_data_fim - lc_data_ini.
LC_HORADIFF = lc_hora_fim - lc_hora_ini.
IF LC_DATADIFF < 1.
IF lc_hora_fim <= lc_hora_ini.
RESULT = 1440 - ( ( LC_HORA_INI - LC_HORA_FIM ) / 60 ).
ELSE.
RESULT = ( LC_HORA_FIM - LC_HORA_INI ) / 60.
ENDIF.
ELSE.
LC_minutos = ( LC_DATADIFF * 24 ) * 60.
IF lc_hora_fim <= lc_hora_ini.
RESULT = LC_minutos - ( ( LC_HORA_INI - LC_HORA_FIM ) / 60 ).
ELSE.
RESULT = LC_minutos - ( LC_HORADIFF / 60 ).
ENDIF.
ENDIF.
ELSE.
RESULT = 0.
ENDIF.
DATA: LC_DATA_INI like sy-datum.
DATA: LC_DATA_FIM like sy-datum.
DATA: LC_HORA_INI like sy-UZEIT.
DATA: LC_HORA_FIM like SY-UZEIT.
DATA: LC_DATADIFF like sy-datum.
DATA: LC_HORADIFF like SY-UZEIT.
DATA: LC_MINUTOS TYPE I.
lc_data_ini = SOURCE_FIELDS-INFO_DATA_INI.
lc_data_fim = SOURCE_FIELDS-INFO_DATA_FIM.
CONCATENATE SOURCE_FIELDS-INFO_HORA_INI(2)
SOURCE_FIELDS-INFO_HORA_INI+3(2) '00'
INTO lc_hora_ini.
CONCATENATE SOURCE_FIELDS-INFO_HORA_FIM(2)
SOURCE_FIELDS-INFO_HORA_FIM+3(2) '00'
INTO lc_hora_fim.
IF lc_data_fim <> ''.
LC_DATADIFF = lc_data_fim - lc_data_ini.
LC_HORADIFF = lc_hora_fim - lc_hora_ini.
IF LC_DATADIFF < 1.
IF lc_hora_fim <= lc_hora_ini.
RESULT = 1440 - ( ( LC_HORA_INI - LC_HORA_FIM ) / 60 ).
ELSE.
RESULT = ( LC_HORA_FIM - LC_HORA_INI ) / 60.
ENDIF.
ELSE.
LC_minutos = ( LC_DATADIFF * 24 ) * 60.
IF lc_hora_fim <= lc_hora_ini.
RESULT = LC_minutos - ( ( LC_HORA_INI - LC_HORA_FIM ) / 60 ).
ELSE.
RESULT = LC_minutos - ( LC_HORADIFF / 60 ).
ENDIF.
ENDIF.
ELSE.
RESULT = 0.
ENDIF.
quinta-feira, 16 de setembro de 2010
RSCZ - Copiar Componentes Query entre InfoProviders
quinta-feira, 25 de março de 2010
SLG1 - Analisar log de aplicação
SLG1 O log de aplicação permite visualizar os eventos referente à aplicação ou a um objeto. O exeplo a seguir demonstra a verificação de eliminação de um Dado Mestre. A motivação se deu por conta de saber especificamente em quais tabelas os registros de dados mestres não puderam ser eliminados, com essa transação achamos o local específico que representava o impedimento de deleção do dado mestre em questão.
Assinar:
Postagens (Atom)