Pular para o conteúdo principal

Verificar erros nas tabelas e campos de usuário no SAP

Dicas que peguei no site da SAP para verificar possiveis erros nas tabelas/campos de usuários:
  • User Data Table (Tabela de usuário) - UDT
  • User Data File  (Campo de usuário) - UDF
1) Verificar se UDT foi definido no SAP mas não foi criada a tabelas:

SELECT TableName FROM OUTB WHERE NOT EXISTS (SELECT 1 FROM sysobjects WHERE xtype='U' AND [name]='@'+TableName)

2) Verificar se UDT não foi registrado:

SELECT * FROM sysobjects WHERE [name] LIKE '@%' AND name NOT IN (SELECT '@'+tablename FROM outb UNION ALL SELECT '@'+logtable FROM outb WHERE logtable is NOT NULL) AND xtype='U'

3) UDF foi definido, mas não registrado no UDT:

SELECT T0.TableID FROM CUFD T0 WHERE left(T0.TableID,1)='@'  AND NOT EXISTS (SELECT 1 FROM  OUTB T1 WHERE '@'+T1.TableName = T0.TableID or '@'+T1.LogTable = T0.TableID

4) UDF foi definido, mas não existe:

SELECT TableID, AliasID FROM CUFD WHERE NOT EXISTS (SELECT t0.name, t1.name FROM sysobjects t0 INNER JOIN syscolumns t1 ON t0.xtype='U' AND t0.id=t1.id WHERE t0.name=TableID AND t1.name='U_'+AliasID) AND TableID NOT IN ('BTNT', 'OIBT', 'OSRI', 'SRNT')

5) Verifica se UDF tem propriedades definida para UDF não exitente.
UDF valores válidos são definidos para UDF não-existente:

SELECT TableId, FieldID FROM UFD1 T WHERE NOT EXISTS (SELECT 1 FROM CUFD WHERE TableId=T.TableId AND FieldID=T.FieldID)

6) UDF não corresponde ao padrão:

SELECT T1.UDF, T0.nvarchar_size as 'act_size', T1.nvarchar_size as 'def_size' FROM (SELECT T2.name + '.' + T3.name as 'UDF', T3.length/2 as 'nvarchar_size' FROM sysobjects T2 INNER JOIN syscolumns T3 ON T2.id=T3.id WHERE T2.xtype='U' AND T3.xtype IN (SELECT xtype FROM systypes WHERE [name]='nvarchar')) T0

7a) UDF contém espaços extras em TableID campo em campos Usuário na mesma descrição da tabela CUFD:

SELECT * FROM CUFD WHERE  datalength(TableID)<>LEN(TableID) AND  ascii(SUBSTRING (TableID, LEN(TableID)+1, 1)) =32

7b) UDF contém espaços extras em campo AliasID em campos de usuário na mesma descrição CUFD:

SELECT * FROM CUFD WHERE  datalength(AliasID)<>len(AliasID) AND  ascii(SUBSTRING (AliasID, LEN(AliasID)+1, 1)) =32

8) UDF existe, mas não está definido:
SELECT T1.name [Table name], T0.name [Column name] FROM sys.columns T0 JOIN sys.objects T1 ON T0.object_id = T1.object_id left JOIN CUFD  T2 ON T2.TableID = T1.name AND ('U_' + T2.AliasID) = T0.name WHERE T1.type = 'U' AND T0.name LIKE 'U/_%' escape '/' AND ('U_' + T2.AliasID) is NULL AND (T0.name !='U_NAME' AND T1.name NOT IN ('OUSR', 'AUSR'))

Comentários

Postagens mais visitadas deste blog

Tabelas e Object types do SAP B1

ORDEM DESCRIÇÃO DESCRIPTION TABELA OBJTYPES ID 2.07 Identificadores Fiscais (ID) dos PN (CNPJ/IE) Fiscal IDs for BP Master Data CRD7 Saída de Mercadorias Goods Issue IGE1 1 Contas Contábeis (Grupos/Níveis) G/L Accounts OACT 1 2 Parceiro de Negócios Business Partner OCRD 2 Grupo de Itens Itens Group OITB 4 Itens Items OITM 4 Estrutura do Produto Product Tree OITT 30 Entrada de Lançamento Contábil Journal Entry OJDT 30 Regra de distribuição manual Manual Distribution Rule OMOR 6 Lista de Preço Price Lists OPLN 6 Centro de Custo Cost Center OPRC Pagamento Recebido Incoming Payments ORCT 17 Ordem de Venda Sales Order ORDR 17 12 Usuários do SAP Users OUSR 12 Ordem de Produção Production Order OWOR 17.01 Ordem de Venda - Linhas Sales Order - Rows RDR1 Dados do Servidor (SBO-Common) SCAB Ordem de Produção - Linhas P

WebService - Não foi possível localizar o elemento de ponto de extremidade padrão que referencia o contrato

Recentemente estive com dificuldade em consumir web service do Banco Central do Brasil, usando uma aplicação Windows Form. Toda vez que tentava consumir ocorria esse erro: Não foi possível localizar o elemento de ponto de extremidade padrão que referencia o contrato 'WS_TaxaCambial.FachadaWSSGS' na seção de configuração do ServiceModel cliente. Isso pode ter ocorrido devido à falta de um arquivo de configuração para o seu aplicativo ou porque nenhum elemento de ponto de extremidade correspondendo a este contrato pôde ser encontrado no elemento cliente.

Como inserir Link Object (seta amarela) do SAP no Crystal

Para criar a seta no report: Insira esta imagem no report ; Clique com o botão direito vá em Format Object ; Vá na aba Hiperlink, no endereço da Web, clique no icone de formula; Adicione o seguinte link : ' http://$b1$/link ? table=OINV & key= ' + totext({ Analitico.DocEntry },0,"","") Onde : table : Tabela de cabeçalho; key : DocNum (chave PK) da tabela de cabeçalho (formato string).