Postagens

Como visualizar os dados exportados para memória

Imagem
 O caminho é semalhante para memória ABAP e para a memória SAP. Após iniciar o debug acesse o menu "Debugger" e escolha a opção "Mudança para o ABAP debugger clássico" como exibido na imagem abaixo. Depois da modificação do modo de debug acesse o menu "Ir para" -> "Áreas do Sistema". Em seguida é só escolher qual a memória que precisa acessar e será exibida uma lista dos dados existentes.

Como inserir objetos em request via programa

 Neste post trago um exemplo de como salvar linhas de tabelas em uma request via programa. Apesar do código estar salvando linhas da RBKP o código pode ser útil para gravar registros de configuração customizadas que devem ser ser transportados ao invés de configurados diretamente no ambiente produtivo. Observação: a função TR_ORDER_CHOICE_CORRECTION abre um popup pedindo ao usuário que informe a request. Neste caso deve ser indicada uma request de workbench. DATA: wl_rbkp      TYPE rbkp,       vl_position  TYPE ddposition,       tl_e071      TYPE tr_objects,       tl_e071k     TYPE TABLE OF e071k,       el_e071      TYPE e071.   FIELD-SYMBOLS:  <fl_e071k> TYPE e071k.   LOOP AT tg_rbkp INTO wl_rbkp.     APPEND INITIAL LINE TO tl_e071k ASSIGNING <fl_e071k>.     ADD 1 TO vl_position.     <fl_e071k...

Esconder elementos de Tela

Imagem
  Vamos esconder um checkbox da tela. Para isso vamos começar com as declarações das variáveis:  SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. PARAMETERS: ch_rel AS CHECKBOX, ch_pr_lc AS CHECKBOX. SELECTION-SCREEN SKIP. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN PUSHBUTTON (30) btn USER-COMMAND click1. PARAMETER: gd_ucomm LIKE sy-ucomm NO-DISPLAY. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK b1. O comando "Skip" serve  para dar um espaçamento, como se fosse para pular uma linha.   Logo após temos a declaração do botão que irá nos auxiliar no "Hide"(esconder) do nosso objeto, neste tutorial, o checkbox.   No último parâmetro temos um pequeno truque: caso você queira mais de um botão poderá declará-lo como um parâmetro que não será exibido na tela. Além disso você também pode deixar um valor padrão no parâmetro. INITIALIZATION.   CONCATENATE '@02@' text-010 INTO btn. AT SELECTION-SCREEN.  ...

Download de arquivo DMS

 DATA: tl_doc_files   TYPE TABLE OF bapi_doc_files2,       tl_comp        TYPE TABLE OF sdokcomprp,       tl_bad_obj     TYPE TABLE OF sdokerrkey,       tl_dms_comp    TYPE dms_tbl_comp,       tl_content     TYPE TABLE OF drao. DATA: wl_comp      TYPE sdokcomprp,       wl_prop      TYPE sdokfilepr,       wl_phio      TYPE sdokobject. DATA: vl_filep       TYPE draw-filep,       vl_comp_get(1) TYPE c.   CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'      EXPORTING        documenttype    = wl_drat-dokar        documentnumber  = wl_drat-doknr        documentpart    = wl_drat-doktl        documentversion = wl_drat-dokvr     ...

Apagar DMS

Imagem
 Para apagar um DMS pode ser usada a função BAPI_DOCUMENT_DELETE_DIRECT informando os dados básicos do DMS: classe, número do DMS, partição e versão.

Apagar um item/arquivo do DMS

 O código a seguir é para apagar apenas um item do DMS, para os casos em que um anexo enviado pelo usuário está errado ou o setor que iria receber o anexo não aceitou, por exemplo. Para apagar o DMS por completo verificar o post: https://telestips.wordpress.com/2022/11/13/apagar-dms/   CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'      EXPORTING        documenttype    = wl_drat-dokar        documentnumber  = wl_drat-doknr        documentpart    = wl_drat-doktl        documentversion = wl_drat-dokvr      TABLES        documentfiles   = tl_doc_files.       IF tl_doc_files IS NOT INITIAL.         READ TABLE tl_doc_files ASSIGNING <fl_doc> WITH KEY originaltype = wl_anexo-item.         IF sy-subrc IS INITIAL.            <...

Pop-up com lista de arquivos DMS

Imagem
  A função EASYDMS_ECL_OPEN_DOCUMENT gera um pop-up com todos os arquivos de um DMS como a imagem a seguir: E o uso é bem simples: basta informar a classe, número do DMS, partição e versão. CALL FUNCTION 'EASYDMS_ECL_OPEN_DOCUMENT' EXPORTING doc_number = ls_drat-doknr doc_part = ls_drat-doktl doc_type = ls_drat-dokar doc_vers = ls_drat-dokvr.