O Conhecimento

O conhecimento é inútil a menos que você o compartilhe.

terça-feira, 8 de novembro de 2011

Função Converte Tipo Float

DATA: l_string(20TYPE c,
        l_float 
TYPE VALUE '4.0744800000000000E+07'.

  
CALL FUNCTION 'FLTP_CHAR_CONVERSION_FROM_SI'
    
EXPORTING
     char_unit              
'H' “--à km, m, UNIDADE DE MEDIDA
     fltp_value_si          
l_float
     indicator_value        
'X'
     
decimals               2
   
IMPORTING
     char_value             
l_string
   
EXCEPTIONS
     no_unit_given          
1
     unit_not_found         
2
     
OTHERS                 3.



terça-feira, 1 de novembro de 2011

Testa dados não númérico

DATA: c_numeric TYPE string VALUE ' 0123456789'.

  
IF vc_prof CN c_numeric.*não numerico
    
MESSAGE S208(00WITH text-e24 DISPLAY LIKE 'E'.
  
ENDIF.


quinta-feira, 20 de outubro de 2011

Execute SQL statements on the fly in Open or Native SQL

http://www.sapdev.co.uk/programs/custom/zyes4sql.htm

SHOW DE BOLA........


ENVIAR MENSAGEM / SEND MESSAGE


*...............................................................
*: Report:  ZSENDMESS                                          :
*:                                                             :
*: Author:  www.SAPDev.co.uk                                   :
*: Date  :  2004                                               :
*: Description: Send instant message to SAP users PC           :
*:.............................................................:
REPORT  ZSENDMESS.

PARAMETERS: p_user type sy-uname,  "SAP Username
            p_mess type SM04DIC-POPUPMSG. "Actual Message text

CALL FUNCTION 'TH_POPUP'
  EXPORTING
    CLIENT               = sy-mandt
    USER                 = p_user
    MESSAGE              = p_mess
*   MESSAGE_LEN          = 0
*   CUT_BLANKS           = ' '
  EXCEPTIONS
    USER_NOT_FOUND       = 1
    OTHERS               = 2.



T-CODE SM04

TRANSAÇÃO PARA LISTAR OS USUARIOS ATIVOS/LOGADOS NO SISTEMA.

T-CODE: SM04



Envio de Mensagem SAP

REPORT  ZSENDMESS.
PARAMETERS: p_user type sy-uname,  "SAP Username
            p_mess 
type SM04DIC-POPUPMSG. "Actual Message text
CALL FUNCTION 'TH_POPUP'
  
EXPORTING
    
CLIENT               sy-mandt
    USER                 
p_user
    
MESSAGE              p_mess*   MESSAGE_LEN          = 0
*   CUT_BLANKS           = ' '
  
EXCEPTIONS
    USER_NOT_FOUND       
1
    
OTHERS               2.



quarta-feira, 19 de outubro de 2011

Mudar Nome de tabstrip em screen exit

Para mudar o nome que aparece na tabstrip de uma screen exit basta criar no seu modulo de função o elemento de texto 101. Funcionou tranqüilo para alteração abaixo.




Hi Nambiar,

Go to the text symbols of Function Pool SAPLXM06 (function pool that contains the modules and includes and screens creatted using Enhancement MM06E005 ).

Say you want to name the custom header tab (screen number 101) in PO as 'PO Header additonal data'.
Then in the text symbols of Function Pool SAPLXM06 add '101' to "Sym" coulmn and 'PO Header additonal data' to "Text" column.

Now after activating the text elements and the enhamcement project, if you run ME21N/ME22N/ME23N the name of the custom addtional header tab would be displaed as 'PO Header additonal data'.
Hope this helps.

Regards,
Abhisek.


quinta-feira, 29 de setembro de 2011

terça-feira, 9 de agosto de 2011

ICONES in SAP

Usa-se a transação ICON

Ou pode usar os prgs abaixo:

DATA :
  gs_icon TYPE ICON,
  gt_icon TYPE TABLE OF ICON.

SELECT * FROM icon INTO TABLE gt_icon.

LOOP AT gt_icon INTO gs_icon.

  WRITE :/
    gs_icon-name,
    33 '@',
    34 gs_icon-id+1(2),
    36 '@',
    40 gs_icon-id.
ENDLOOP.

TYPE-POOLS ICON.

DATA :
  gs_icon TYPE ICON,
  gt_icon TYPE TABLE OF ICON.

FIELD-SYMBOLS: <f>.

SELECT * FROM icon INTO TABLE gt_icon.

LOOP AT gt_icon INTO gs_icon.

  ASSIGN (gs_icon-name) TO <f>.
  
WRITE :/
    gs_icon-name,
    <f> AS ICON.

ENDLOOP.

Fonte:
http://www.kodyaz.com/articles/display-abap-icons-sap-icon-list.aspx

quinta-feira, 21 de julho de 2011

Creating transaction code for table maintenance (SM30)

LINK PARA CRIAR TRANSAÇÃO PADRÃO PARA TELA DE MANUTENÇÃO DO SAP.

http://www.sapdev.co.uk/dictionary/tips_tabmaint_tcode.htm


sexta-feira, 15 de julho de 2011

ALV Object Model


Pessoal,

Estou encaminhando a todos uma forma bem simples de exibição de dados em ALV.

Isto ajuda muito na solução de problemas e pode agilizar muito o cronograma.


Abraço

REPORT  zmmr141 NO STANDARD PAGE HEADING
                MESSAGE-ID zmm001
                LINE-COUNT 65.
TABLES: mara, makt.

TYPES: BEGIN OF st_zmmt130,
         matnr  TYPE  zmmt130-matnr,
         maktx  TYPE  makt-maktx,
         menge  TYPE  zmmt130-menge,
         meins  TYPE  mara-meins,
         lgpbe  TYPE  zmmt130-lgpbe,
         pspnr  TYPE  zmmt130-pspnr,
       END OF st_zmmt130.

DATA:  gr_alv     TYPE REF TO cl_salv_table,
       gr_error   TYPE REF TO cx_salv_msg.

DATA:  it_zmmt130 TYPE TABLE OF st_zmmt130,
       wa_zmmt130 TYPE          st_zmmt130.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: so_matnr FOR  mara-matnr,
                so_maktx FOR  makt-maktx NO INTERVALS NO-EXTENSION.
SELECTION-SCREEN END OF BLOCK b1.


START-OF-SELECTION.
*Seleciona somente materiais disponíveis para projeto
  SELECT zmmt130~matnr
         makt~maktx
         zmmt130~menge
         mara~meins
         zmmt130~lgpbe
         zmmt130~pspnr
  INTO TABLE it_zmmt130
  FROM zmmt130 INNER JOIN makt
    ON zmmt130~matnr = makt~matnr
    INNER JOIN mara
    ON zmmt130~matnr = mara~matnr
  WHERE zmmt130~est_disp EQ 'X'
    AND zmmt130~matnr    IN so_matnr
    AND makt~maktx       IN so_maktx
    AND makt~spras       EQ sy-langu.

*   Create instance
  TRY.
      CALL METHOD cl_salv_table=>factory
        EXPORTING
          list_display = if_salv_c_bool_sap=>false
        IMPORTING
          r_salv_table = gr_alv
        CHANGING
          t_table      = it_zmmt130.
    CATCH cx_salv_msg INTO gr_error.
      MESSAGE e000 WITH 'Não é possivel exibir o relatório!'.
  ENDTRY.
  DATA: lr_functions TYPE REF TO cl_salv_functions_list.

*Colunas do ALV OM
  DATA: lr_columns TYPE REF TO cl_salv_columns_table,
        lr_column  TYPE REF TO cl_salv_column_table.
  DATA: l_mediumtext TYPE scrtext_m.

* get columns' object
  lr_columns = gr_alv->get_columns( ).
* column LEAVES_HOME
  lr_column ?= lr_columns->get_column( columnname = 'LGPBE' ).
* use compatible data object to avoid runtime error
  l_mediumtext = text-002. " Localização
* set short text
  lr_column->set_medium_text( value = l_mediumtext ).

  lr_functions = gr_alv->get_functions( ).
*  lr_functions->set_default( abap_true ).
  lr_functions->set_all( abap_true ).

  gr_alv->display( ).

quinta-feira, 14 de julho de 2011

terça-feira, 21 de junho de 2011

Alteração em Manutenção de Tabela

PARA ALTERAR OS EVENTOS DA TELA DE MANUTENÇÃO PADRÃO DO SAP VOCE DEVE ACESSAR A SE56>>AMBIENTE>>MODIFICAÇÃO>>HORAS, DAÍ VOCE CRIA OS EVENTOS QUE QUER TRATAR DA NOME E FAZ AS ALTERAÇÕES VIA SE80 NOS FORMS CRIADOS DENTRO DO MODULO DE FUNÇÃO DA MANUTENÇÃO DA TABELA.



Código para eventos :

form saves.

 
if zmmt029-cto_origem is not initial and zmmt029-centro_espelho is not initial and zmmt029-div_espelho is not initial ).*  break abap.
*  zmmt029-usuario = sy-uname.
*  zmmt029-data = sy-datum.
*  zmmt029-hora = sy-uzeit.
datal_index like sy-tabix"Index to note the lines found
  
loop at total.
    
if <action> 'N'  "New Entry
    
or <action> 'U'"Update

       total+51
(12) = sy-uname.
       total+63
(8)  = sy-datum.
       total+71
(6)  = sy-uzeit.

      
modify total.
      
read table extract with key <vim_xtotal_key>.
      
if sy-subrc 0.
        l_index 
sy-tabix.
        
extract total.
        
modify extract index l_index.
      
else.
        
clear l_index.
      
endif.
    
endif.
  
endloop.
endif.

sy
-subrc 0.
endform.
form crias.
*  break abap.
  
if zmmt029-cto_origem is not initial and zmmt029-centro_espelho is not initial and zmmt029-div_espelho is not initial ).
  zmmt029
-usuario sy-uname.
  zmmt029
-data sy-datum.
  zmmt029
-hora sy-uzeit.
*  MODIFY zmmt029.
endif.
endform.        






quinta-feira, 16 de junho de 2011

quinta-feira, 9 de junho de 2011

links - Criar Eventos Manutenção Padrão

Solução para alterar eventos em Manutenção de Tabela Padrão SM30



Criar Eventos pela SM54 (evento 01 form saves) (evento 05 form crias) e depois programa-los no prog. Gerado.

Atualiza campos user,data,hora, on-line.

form saves.

 
if zmmt029-cto_origem is not initial and zmmt029-centro_espelho is not initial and zmmt029-div_espelho is not initial ).*  break abap.
*  zmmt029-usuario = sy-uname.
*  zmmt029-data = sy-datum.
*  zmmt029-hora = sy-uzeit.
datal_index like sy-tabix"Index to note the lines found
  
loop at total.
    
if <action> 'N'  "New Entry
    
or <action> 'U'"Update

       total+51
(12) = sy-uname.
       total+63
(8)  = sy-datum.
       total+71
(6)  = sy-uzeit.

      
modify total.
      
read table extract with key <vim_xtotal_key>.
      
if sy-subrc 0.
        l_index 
sy-tabix.
        
extract total.
        
modify extract index l_index.
      
else.
        
clear l_index.
      
endif.
    
endif.
  
endloop.
endif.

sy
-subrc 0.
endform.
form crias.
*  break abap.
  
if zmmt029-cto_origem is not initial and zmmt029-centro_espelho is not initial and zmmt029-div_espelho is not initial ).
  zmmt029
-usuario sy-uname.
  zmmt029
-data sy-datum.
  zmmt029
-hora sy-uzeit.
*  MODIFY zmmt029.
endif.
endform




terça-feira, 24 de maio de 2011

Fwd: Modificando elementos em uma tela sem passar pelo PBO

Dica

Senhores,
Segue a situação......


O botão abaixo é ativado de dentro do evento F4 do campo CÓDIGO DA PROPOSTA GERADA.

Podem guardar...

**************************************************************
PROCESS ON VALUE-REQUEST.
**************************************************************
  FIELD vc_num_prop MODULE buscar_propostas_cliente.


No final do perform, eu atualizo campos:


* Atualiza o campo VC_NUM_PROP
  lt_dynpfields-fieldname = 'VC_NUM_PROP'.
  lt_dynpfields-fieldvalue = vc_num_prop.
  APPEND lt_dynpfields.

* Atualiza o campo VC_NVERSAO
  lt_dynpfields-fieldname = 'VC_NUM_VERSAO'.
  lt_dynpfields-fieldvalue = vc_nversao_new.
  APPEND lt_dynpfields.

* Ativando o botão
  lt_dynpfields-fieldname = 'BTN_PROXPASSO-INPUT'.
  lt_dynpfields-fieldvalue = 1.
  APPEND lt_dynpfields.

* Função que permite alterar os dados na tela da table control
  CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
      dyname               = sy-cprog
      dynumb               = sy-dynnr
    TABLES
      dynpfields           = lt_dynpfields
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      undefind_error       = 7
      OTHERS               = 8.


    




terça-feira, 10 de maio de 2011

LOCK e UNLOCK

Transação para verificar os LOCKS........SM12
 
Blogger Templates