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;



============== ERRO/SOLUÇÃO 23/05/2026
Erro na ativação só q somente de classe AMDP O mesmo de client

Na declaração colocar o parâmetro com opçoes amdp


CLASS zcl_TESTE_AMDP DEFINITION

PUBLIC

FINAL

CREATE PUBLIC .


PUBLIC SECTION.


INTERFACES if_amdp_marker_hdb .


TYPES: BEGIN OF ty_doc_fi,

accounting_document TYPE bseg-belnr,

fiscal_year TYPE bseg-gjahr,

END OF ty_doc_fi,


tty_doc_fi TYPE STANDARD TABLE OF ty_doc_fi WITH DEFAULT KEY.



CLASS-METHODS get_dados_doc_ref AMDP OPTIONS CDS SESSION CLIENT iv_client

IMPORTING VALUE(iv_company) TYPE bseg-bukrs

VALUE(iv_acc_doc) TYPE bseg-belnr

VALUE(iv_fiscal_year) TYPE bseg-gjahr

VALUE(iv_client) TYPE sy-mandt

EXPORTING VALUE(et_doc_fi) TYPE tty_doc_fi.


PROTECTED SECTION.

PRIVATE SECTION.

ENDCLASS.