Deixar como global.
Nesse caso se eu tenho um objeto de autorização para criar/modificar e exibir. Se estiver como exibir eu desativo os botões, no caso tenho o botão standard e outro customizado.
Pode ser assim tbm.
https://github.com/SAP-samples/abap-platform-rap-opensap/blob/main/week3/unit6.md
===== EXEMPLO FUNCIONAL USANDO A FORMA DA SAP
-- Detalhe, testando pelo eclipse pelo binding não funciona, somente depois do deploy no ambiente do cliente
METHOD get_instance_authorizations.
DATA lv_exibir TYPE abap_bool.
READ ENTITIES OF ZPP_I_OrdensEncFrangoCorte IN LOCAL MODE
ENTITY OrdemProd ALL FIELDS
WITH CORRESPONDING #( keys )
RESULT DATA(lt_ordens) FAILED failed.
CHECK lt_ordens IS NOT INITIAL.
LOOP AT lt_ordens INTO DATA(lw_ordens).
CLEAR lv_exibir.
AUTHORITY-CHECK OBJECT 'ZPP_ENCFRC'
ID 'ACTVT' FIELD '02'
ID 'WERKS' FIELD lw_ordens-werks.
IF sy-subrc <> 0.
AUTHORITY-CHECK OBJECT 'ZPP_ENCFRC'
ID 'ACTVT' FIELD '03'
ID 'WERKS' FIELD lw_ordens-werks.
IF sy-subrc <> 0.
APPEND VALUE #( %tky = lw_ordens-%tky
%msg = new_message_with_text( severity = if_abap_behv_message=>severity-error
text = |Sem autorização para centro: { lw_ordens-werks }| )
) TO reported-ordemprod.
ENDIF.
lv_exibir = abap_true.
ENDIF.
APPEND VALUE #( %tky = lw_ordens-%tky
%update = COND #( WHEN lv_exibir = abap_true THEN if_abap_behv=>auth-unauthorized ELSE if_abap_behv=>auth-allowed )
%action-ExecOrdem = COND #( WHEN lv_exibir = abap_true THEN if_abap_behv=>auth-unauthorized ELSE if_abap_behv=>auth-allowed )
%action-refreshTela = COND #( WHEN lv_exibir = abap_true THEN if_abap_behv=>auth-unauthorized ELSE if_abap_behv=>auth-allowed )
) TO result.
ENDLOOP.
ENDMETHOD.
Nenhum comentário:
Postar um comentário