Make Invisible Column Table Control


Table control de herhangi bir sutunu görünmez yapmak isterseniz kullanılacak olan kod aşağıdaki gibidir..

itab   : veri internal table
cntrl  : table control oldugu container

Dikkat edilmesi gereken husus:
with control yanında yazan cntrl ekrandaki tablecontrolün adıdır..Çift tıkladığınızda tanımlamasına gider.
wa_cols değişkenini bu tanımın altında bir yere tanımlamanız gerekmektedir..

"OUTPUT SCREEN
  loop at itab with control cntrl cursor cntrl-current_line.
   module modify_screen.
  endloop.


MODULE modify_screen OUTPUT.

DATA : wa_cols LIKE LINE OF cntrl-cols.
  LOOP AT SCREEN.
      LOOP AT cntrl-cols  INTO wa_cols.
        IF wa_cols-screen-group1 = 'DIS'.
          wa_cols-screen-output = 0.
          wa_cols-screen-active = 0.
          wa_cols-invisible = 'X'.
        ENDIF.
        MODIFY cntrl-cols FROM wa_cols.
      ENDLOOP.
  ENDLOOP.

  ENDMODULE. 

Mesaj Detayı - Getting Message Text


 Bazı fonksiyonların sonunda veya batch sonrası çıkan mesajların textlerini değişkenleri ile beraber bir metine atıp yazdırmanıza yardımcı olacak kullanışlı bir fonksiyon..

* İşlem Hakkında Ayrıntılı Bilgi
  DATA: lv_msgno   LIKE sy-msgno   ,
              lv_message LIKE message    .
  lv_msgno = gt_msg-msgnr.

  CALL FUNCTION 'WRITE_MESSAGE'   
   EXPORTING
      msgid = gt_msg-msgid
      msgno = lv_msgno
      msgty =  gt_msg-msgtyp
      msgv1 = gt_msg-msgv1
      msgv2 = gt_msg-msgv2
      msgv3 = gt_msg-msgv3
      msgv4 = gt_msg-msgv4
      msgv5 = space
    IMPORTING
      messg = lv_message.

Purchase Requisition History - Satınalma Talebi Değişiklik Tarihçesi

Satınalma siparişinde olan değişiklikleri bir rapor halinde görmek istediğinizde kullanabileceğiniz güzel bir kaynak kod..

Call Transaction From Web (Function)

 Portal için bsp veya webdynpro sayfası oluştururken call transaction işlemi için gereksiz fonksiyon yaratmanıza gerek yok..
Fonksiyon : PLM_PS_EXECUTE_TRANSACTION

Sap Popup Yes/No

 Batch öncesi veya kayıt silme öncesi kullanabileceğiniz her sisteme lazım yararlı bir blok..

  "Global Variable
DATA : gv_answer(1).


PERFORM call_popup USING 'Seçilen Kayıtlar Silinsin mi?'
                   CHANGING gv_anwwer.
if gv_answer eq '1'.
"İşlem Yap
endif. 

form call_popup  USING  p_quest
              CHANGING  p_answer.
CLEAR p_answer.
CALL FUNCTION 'POPUP_TO_CONFIRM'
  EXPORTING
    text_question         = p_quest
    text_button_1         = 'Evet'
    text_button_2         = 'Hayır'
    default_button        = '2'
    display_cancel_button = ''
  IMPORTING
    answer                = p_answer
  EXCEPTIONS
    text_not_found        = 1
    OTHERS                2.

ENDFORM.                    " call_popup

Import/Export SapScript from PC file

 You will download and upload your sapscripts as a text file in your local harddisk
 by using RSTXSCRP .

Customer Account Layout Customizing

Müşteri ekranlarında alanların uyarlanması müşteri hesap gruplarına göre yapılmaktadır ve
OBD2 transaction yapabilirsiniz..

Hesap Grubu-> Alan Durumu -> Grup Seçimi -> Alan Ayarları

Cluster Table (Log Table için ideal çözüm)

Loglamak istediğiniz verileri veya direk SE11,SE16..vb. gibi transactionlardan verilerinizin görünmesini istemiyorsanız veya büyük boyuttaki verilerinizi saklamak istediğinizde çözümünüz cluster table olabilir..

Create Central Person - Merkezi Kişi Oluşturma

Genelde mahsupda karşılaşılan problemlerden biri de merkezi kişinin oluşmamış olması, standart program sayesinde bu hatayı düzeltebilirsiniz..

Program : RPU46CX_CENTRAL_PERSON_ONLINE

Delete Mails for SOST

Belli süreyi aşmış gönderilmiş veya göndermemiş maillerinizi SAP sisteminden silebilirsiniz. Ben zaten SOST ekranından seçip siliyorum demeyin çünkü bu işlem sonucunda tablolardan kayıtlar silinmemektedir. Eğer tamamen silinsin istiyorsanız standart programdan vazgeçmeyin..

Programlar:
RSSODFRE
RSBCS_REORG

Etkilenen Tablolar:
- SOFFCONT1
- BCST_CAM
- BCST_RE
- BCST_SR
- SOC3
- SOCS
- SOES
- SOFM
- SOOD
- SOST

Delete User Inbox&Outbox ( SWBP - Business Workplace )

SAP Business Workplace olarak da bilinen SAP User Inbox (SWBP) içerisinde bulunan kayıtları kullanıcılar teker teker silmesin, belli periodlarda sistem kendisi silsin isterseniz diye..
(Not: Manuel SWBP 'den kayıt silinmesi sırasında ilgili nesnelere lock koyuyor ve diğer çalışanları etkileyebilir.. Bu nedenle standart programı kullanınız..)

Program : RSSO_DELETE_PRIVATE

Request Download & Upload

Bir requestin yedeğini mi almak istiyorsunuz? Veya başka bir sistemden request mi taşımak istiyorsunuz?
O zaman SAP standart programlarıyla uğraşmanıza gerek yok.. Bu program sayesinde Request download&upload tek tıkla yapabilirsiniz..

Popup Value Get

Kod ile Popup ekrandan veri alana fonksiyon..
Kodu görmek için devamına bakınız...

Kodla Selection Text Ekleme

 Belki kırk yılda bir kullanırsınız; bir keresinde bana lazım olmuş uzun uğraşlar sonucunda bulmuştum. Selection-screeen koyduğumuz text-001, text-002 ..vb tarzı selection-textlerin tanımları maalesef belli bir tabloda tutulmuyor. Bu textleri okumanın ve yazmanın bir yolu var..


BADI Bulma & Finding Badies

Set a break point at CL_EXITHANDLER=>GET_INSTANCE.

Unlock SAP User

SAP kullanıcıları devamlı şifre unutur ve sizden blokaj kaldırılması ister. İşte size hazır program güle güle kullanın. İçeriğine bakarsanız kodun fonksiyonları RFC içine veya bir sap web uygulamasına koyarak kullanıcıların kendisinin yapmasını sağlayabilirsiniz. Tabi bu işlemleri bir tabloya da loglamanız ilersi için lazım olabilir :)

SAP Popup Debugger

SAP sisteminde transaction alanına  /h yazıp entera bastığımızda bildiğiniz üzere debug moduna geçmektedir. Fakat popup mesajlar,veri girişleri vb. pencereler çıktığında transaction alanı giriş yapılamadığı için pencere sonrası debug moduna geçmesi zor oluyor. Bu gibi durumlarda imdadımıza yetişen debugger.txt dosyayı sürükleyip popup pencere üzerine bıraktığımızda debug modu açılacaktır.

Herhangi bir yerde notepad açıp, içerisine aşağıdaki kodu koyup kaydediniz..

[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand
pfal ale

Merhaba

SAP içerisinde işinize yarayabileceğini düşündüğüm uygulama, uyarlama ve ipuçlarını blogta paylaşmaya çalışacağım...