segunda-feira, 6 de novembro de 2023

CSD/AMDP - Erro ao criar AMDP, CDS standard com erro de mandante especifico deve ser informado

 Informar os parâmetros.

@ClientHandling.type: #CLIENT_DEPENDENT
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Teste'
define table function ZZZ_TESTE
  with parameters
    @Environment.systemField: #CLIENT
    client       : abap.clnt,
    p_dtbase     : datum,
    p_where_part : abap.char( 500 ),
    p_where_trfi : abap.char( 255 )
returns
{
  client     : abap.clnt;
  rfha       : tb_rfha;
  bukrs      : bukrs;
  KONTRH     : tb_kunnr_new;
  tp_prod    : vvsart;
  tp_trfi    : tb_sfhaart;
  observacao : zdetrm_observacao;
  banco      : zdt_bankl;
  tp_mov     : tb_sfhazba;
  ano        : gjahr;
  valor      : tb_bzbetr;
}
implemented by method
  zcl_cds_teste=>execute_db;

============== ERRO/SOLUÇÃO 17/04/2026 
Começou a dar um erro numa AMDP que até então não tinha acontecido conforme eu estava criando antes.
O erro foi esse aqui 

Error in entity 'ZI_XXXX(CDS)': Visão CDS ZI_CCXXXXX contém parâmetro com SY-MANDT, que não está oculto.


Para resolver adicionei uma annotation para ocultar o campo 

@ClientHandling.type: #CLIENT_DEPENDENT

@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Busca Centro cooperado'

define table function ZI_CCXXXXX 

with parameters

@Consumption.hidden: true

@Environment.systemField: #CLIENT

client : abap.clnt

returns

{

@Consumption.hidden: true

client : abap.clnt;

partner : bu_partner;

centro : abap.char(6);

}

implemented by method

zcl_fi_CC_XXXXXX=>get_centro;


Nenhum comentário:

Postar um comentário