segunda-feira, 31 de março de 2025

WEBDYNPRO - Achar o nome do programa pelo nome da aplicação no FIORI

 Fui no APP no fiori -

- Sobre 

- Suporte técnico - peguei o nome do catálogo 

-ir no launchpad designer e procurar o catálogo -  verificar na atribuição o nome da aplicação webdynpro

- ir na SE16N na tabela WDY_APPLICATION 

- pegar o nome do componente

- SE80 - Selecionar na listbox o componente/webdynpro 

End

quinta-feira, 30 de janeiro de 2025

Odata - erro na execução - No System Alias found for Service '' and user ''

 Transportei um objeto odata q estava funcionando no DEV para o QA, o serviço foi ativado mas quando fui testar pela GW_CLIENT deu errro.

Achei essa nota 2527329 

Fala um monte de coisa, mas basicamente o que fiz foi entrar na /IWFND/MAINT_SERVICES selecionar o serviço 

clicar no botão "Modo de processamento"

setar para "C - somente com implentação integrada";

vai dar erro falando q o mandante está fechado mas mesmo assim dá certo

mas o correto é fazer no DEV e transportar para não ter q ficar fazendo isso nos ambientes.


terça-feira, 28 de janeiro de 2025

Fiori - Buscar role atribuído a um app fiori

 Transação  /n/ui2/flia

Tem esse blog
https://docs.sachinhpatil.com/blog/how-to-find-role-for-sap-fiori-app/

A principio o ideal é deixa a intenção como *-* mesmo e tipo de dispositivo *

Colocar somente o ID do catálogo que fica mais fácil de achar.


FI - Debug F110 rotina de arquivo remessa para banco

 Para deixar anotado para debugar como é montado o arquivo remessa do banco, gerado pela F110

Basicamente tem 3 programas q são executados em background. na sequência abaixo.

1 - sapf110s

2 - idfipaym_sched_af_paym_bord_om

3 - SAPFPAYM_SCHEDULE


executar pela SE38 , o passo 1 e 2 pode executar sem debug no 3 passo tem um submit que chama outro programa, tem q debugar esse submit 

Quando entrar no submit colocar um break na função 

FI_PAYM_MEDIUM_OPEN 

nessa função tem várias rotinas, que fazem a montagem do arquivo.. 

Eu sugiro colocar um  ponto na função que está direcionado que está no customizing transação OBPM1







sexta-feira, 13 de dezembro de 2024

RAP - Outras dicas

- Determination (Behavior)

  Existem algumas surpresas nesse evento, já passei por 2 situações diferentes, DUMP e o caso de não passar no evento.

    - o caso do DUMP durante o debug foi possível observar que fica em um loop infinito passando dentro desse evento, esse dump tem um post do Andre Fischer(SAP) falando sobre isso, mas  enfim geralmente acontece quando vc coloca o determination com o create/update na chamada para resolver deixa sem mesmo e manda ver.

    - o segundo caso de não passar no evento é pq eu estava passando os campos q eu queria modificar e não o que estava sendo modificado, o campo a ser passado no "Field" tem q ser o campo q vai ser modificado e q posteriormente vai ser usado para fazer alguma regra no   "SAVE"/"MODIFY" por exemplo.    


TRY.

DATA(lv_guid) = cl_system_uuid=>create_uuid_x16_static( ).

CATCH cx_uuid_error.

RETURN.

ENDTRY.


=================

CBO - Custom Business Object

Criar tabela pelo CBO - Problema quando o campo tem q preencher com zeros a esquerda, não tem o tipo de campo como tem na SE11, os tipos já são pré definidos, me bati um pouco até q veio a idéia de ao criar a CDS para fazer o cadastro utilizando o RAP  dei um cast no campo da CDS para o tipo do campo da tabela standard. No meu exemplo era o KUNNR q pelo CBO criou um campo texto de 10 posições, só dei um cast pata o tipo KUNNR e deu bom.




sexta-feira, 29 de novembro de 2024

CDS - Operações matemáticas com valores errados

 Esse foi um caso de uma CDS que tinha um simples cálculo de subtrair.

Ex: 0 - 500  que o resultado em vez de -500 a CDS retornava 0(zero), até descobrir q o valor q deveria ser zero na verdade estava como NULL  levei um dia inteiro,  para resolver o problema colocar a função  COALESCE na CDS

Exemplo

coalesce(valor1,0) - coalesce(valor2,0)  as valorFinal








RAP - managed - odataV4 - botão create/update/delete não aparece

 Só para constar que para publicações de serviço no oDataV4 com operações CRUD, para aparecer os botões de create/update/delete é obrigatório criar o DRAFT, eu tive esse problema e tentei modificar os behaviors até q achei no SCN falando sobre esse assunto. No meu caso publiquei em oDataV2 q era um cadastro simples, então não valia a pena criar as tabelas de draft.