Friday, March 14, 2008

MM : Maintain Message Output Type for Print PO (ME9F)

Maintain Message Output Type for Print PO (ME9F)

  1. SPRO -> Materials Management -> Purchasing -> Messages -> Output Control -> Message Types -> Define Message Types for Purchase Order
  2. Choose : Maintain Message Types for PO
  3. Double click at desired Output type
  4. and double click at Processing Routines in left side menu
  5. There you can find the printing Program, Form Routine and Form/Smartform (you can change this to your customized form)

One of errors that i've found :

  • ME9F error when print ( X )
    Processing log : Error in OPEN_FORM for document 9000000002
    It because the output device from format page ZKUARTO (in form ZFDXMM_PO - form that i use in customizing) , has not been maintained yet.
    OPEN_FORM inidcates initalize form with their format pages and the printer.

MM : Maintain header text PR/PO

I know this from one of my MM module's colleague.

Maintain Header Text PR :
SPRO -> Real Estate -> Tools -> Central Correspondence Maintenance -> Text ID s
To maintain :
PR (me51n/me52n/me53n) text id
- PR Header Text, object name : EBANH, with ID start from B01 - B99
- PR Item Text, object name : EBAN, with ID start from B01 - B99
PO (me21n/me22n/me23n) text id
- PO Header Text, object name : EKKO, with ID start from F01 - F99
- PO Header Text, object name : EKPO, with ID start from F01 - F99

That table also keeps the maintenance Text IDs for other SAP Standard tcode, but i dont have the documentation furthermore.

If you have any documentation about this, feel free to share :)

Thursday, March 13, 2008

Change Excel column name from A, B, C... to 1, 2, 3 ...

One day, when I have to work with Excel file, I just don’t have an idea why the column name that generally named column A, B, C, D … changed to 1, 2, 3, 4, ….. At the first place I don’t really care about it, I only think that it’s weird without having a damn on it.

And the other day, while my colleague copy that excel file, he need it to be change to original name. Then I start googling, and came up to this site.

This is how to change it :

  1. Click on Tools -> Options -> General tab
  2. Mark R1C1 reference style to change the column name into 1, 2 , 3… or unmark to change it to original


I dont know the purpose from this R1C1 reference style options for. Anyone ?

Wednesday, March 12, 2008

At Selection Screen event

Purpose : radiobutton to enable/disable screen input.



REPORT zhny064 .

TABLES : vbrk.

SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS p_pil1 TYPE c RADIOBUTTON GROUP gpil DEFAULT 'X'
USER-COMMAND ucomm.
SELECTION-SCREEN COMMENT 4(51) text-001.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK b001 WITH FRAME.
SELECT-OPTIONS: s_vbeln FOR vbrk-vbeln NO-EXTENSION MEMORY ID vf.

SELECTION-SCREEN END OF BLOCK b001.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS p_pil2 TYPE c RADIOBUTTON GROUP gpil.
SELECTION-SCREEN COMMENT 4(51) text-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK b002 WITH FRAME.
SELECT-OPTIONS: s_vbel1 FOR vbrk-vbeln MEMORY ID vf.
SELECTION-SCREEN END OF BLOCK b002.


AT SELECTION-SCREEN OUTPUT.
IF p_pil1 EQ 'X'.
LOOP AT SCREEN.
IF screen-name CS 'S_VBEL1'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name CS 'S_VKBUR' OR screen-name CS 'S_VBELN' .
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.


SM30 - menyisipkan code event pada sm30

Sekedar share mengenai sm30 yang nemu di forum nya sdn.sap.com semoga bermanfaat untuk menyisipkan code event pada sm30 - table generator .
Contoh implementasi untuk check authorization.



Berikut step2 nya:
  1. Masuk ke table generator ( screen ) environment => modification => Events

  2. Click New entries hingga keluar seperti gambar , kemudian di pilih event yang akan disisipkan dengan kode program buatan kita.
    Contoh: event code 05 bisa untuk menginisialasi suatu nilai pada table misal kita ingin menginisial suatu nilai pada table zmm_ship -> ship_code menjadi auto number.

  3. Setelah di pilih event code 05 maka isikan form routine ( ZINIT ) kemudian enter , lalu click icon di sebelah kolom form routine sehingga keluar screen sperti dibawah ini langkah berikutnya isi nama subroutine ZINIT pada include choice dibawah ini.
    Step berikutnya click new entry jika keluar warning seperti dibawah ini :

  4. Seperti terlihat contoh code berikut: Save -> Activate

  5. Done, test it !
  6. SM30. See result!

Jika ada error maka program functions group main harus di activate.

Abap Dictionary - cara licik utk tembak data langsung

Sesuai judulnya, the purpose is to update data from Z table (recomended only in Z table) secara langsung dari SE16/SE11 without User Interface2an.

Hal licik ini sebaiknya ngga dilakukan di Production, kecualiii... kepepet - hehehe, yakin kalo data yg mo dirubah gak ngelink ke table laen (misal z table master - bisa runyam kan!), perubahan ngga nyebabin error (sesuai format/tipe data sesuai), and y penting... bos jgn sampe tau... hehehe, ga enak kan... :">

Caranya :


  1. Call SE16/SE11, entry table name n display
  2. Double click row data yang ingin dirubah, activate debugger ( /h ), then Enter
  3. Press Enter once more, then debugger will show up
  4. Double click field code dan change it from SHOW to EDIT
  5. Change desired fields
  6. Save, Back, and Refresh table
Note : - Hal ini tidak berlaku utk key fields- Loe ga bisa lakukan ini klo loe ga punya otorisasi utk change fields (mostly in Production)

SAP - what's ABAP ?

Untuk temen2 yang belum perna denger soal ABAP. Berikut penjelasan simple dan sesingkat2nya mengenai ABAP. ABAP (Advanced Business Application Programming) merupakan bahasa pemrograman yang digunakan dalam aplikasi SAP (Systems, Applications, and Products (in data processing)).

SAP sendiri merupakan software ERP yang biasanya dipakai di perusahaan2 besar (krn mahallll). Dan ABAP digunakan utk :
  1. bikin report
    walopun di SAP sudah ada report2 standard, tapi kebanyakan tidak memenuhi kebutuhan user.
  2. bikin aplikasi tambahan di SAP yang tidak ada proses standard SAP
    misal : salah satu proses standard di SAP adalah Production Order Create (CO01) - dan yang tidak ada di standard SAP adalah Proses Automatic Create PO yang datanya di provide dari file Excel
  3. bikin user exit, user exit adalah proses tambahan dlm proses standard SAP
    misal : dalam proses create sales order, ada validasi2 tertentu yang tidak ada dlm standard SAP
  4. bikin print'an form
    dlm SAP jg sdh ada form2 standard, misal Invoice. tapi ya kebanyakan memang tidak memenuhi kebutuhan user, dari segi layout terutama.
ABAP, seperti apa ?

ABAP itu bahasanya human banget :) . Contoh dari sintak2 ABAP :


Untuk belajar ABAP seluruhnya emang gak mudah, karena bnyk sekali tekniknya. Tapi klo utk sekedar reporting ato sintak2 sederhana sih mudah2 aja, karena Editor nya dilengkapi dengan error checking pd saat execute.

the Notebook n the problems

In this blog, i try to share things that i keep in my notebook since time i'm working in IT, as a programmer - ABAPer. I consider coding probably one of my hobbies since most of the time i enjoy in doing that - pretty weird huh!

First, i tell u, i'm not a master of code, i just think i like it... but i dont know, i think i can not be a master on it. Maybe... some part of my self sez "i'm a female" and... it's verrrry rare when a female become a master on it. Hihihi.

Second, from this blog i think i can share the problems to. Maybe i can learn from u also ;)

Hopefully i can update this blog constantly.. since i'm not a really consistent person, hehehe.