Archive

Archive for January, 2009

Netweaver 7.01 ABAP Trial version

January 29th, 2009

Do you want to play with ABAP at home? Then try to download Netweaver 7.01 from this link:
https://www.sdn.sap.com/downloads/netweaver/abap/disclaimer.html

They also provide tutorial for installing this application. Here’s the link:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/library/elearning/abap/How%20to%20Install%20SAP%20NetWeaver%20Abap%207.0%20SP12%20-%20Trial%20Version/sim/description.htm

Enjoy!

vera ABAP ,

Conversion Exit

January 29th, 2009

If you notice, some fields in SAP tables have different values when you view them in SE16. For example, try to see table IFLO (functional location master) and input the functional location value. In my case, it’s UJ-UTI-GRL. Execute.

The displayed value is not UJ-UTI-GRL, but ‘?0100000000000000162′ instead. ‘UJ-UTI-GRL’ is the external value while ‘?0100000000000000162′ is internal value. When we access the table from the program, it only recognizes internal value. All wee need to do is do the conversion for the field using ‘CONVERSION_EXIT_TPLNR_INPUT’ to get the internal value and ‘CONVERSION_EXIT_TPLNR_OUTPUT’ vice verso.

Here’s the example code:
data: D_TPLNR TYPE TPLNR.
CALL FUNCTION ‘CONVERSION_EXIT_TPLNR_INPUT’
EXPORTING
input = viqmel-tplnr
IMPORTING
OUTPUT = D_TPLNR.

And voila! You’ll get your internal value for functional location stored in D_TPLNR variable.

You can also find other fields conversion exits. Go to SE37 and find other function module containing ‘CONVERSION_EXIT_XXX_INPUT’ where XXX is the field name.

Enjoy!

vera ABAP ,

Getting a field value of a screen field

January 29th, 2009

In dialog programming, the value of a screen field will be moved to the variable in your program after the Process After Input (PAI) is executed. What if you need the value before PAI is executed? For example, you have two fields in your screen: functional location (VIQMEL-TPLNR) and equipment (VIQMEL-EQUNR). You need to implement a search help for equipment number, but you only what to get equipments that is installed in the functional location specified.

When you debug your search help module, you can’t get the value of functional location the user entered. Why? Because your search help module will be placed in Process on value-request (POV), and the POV will be executed before PAI.

How to obtain your screen field value then? Simple. Just execute Function Module ‘GET_DYNP_VALUE’ and you will get what you want. Read more…

vera ABAP , ,

Multiple lines text element

January 27th, 2009

Did you ever need a multiple lines input for your user interface in dialog programming using screen painter? Well, I did. And I spent the whole day searching for a way to implement what I wanted.

Guess what! A few minutes ago I thought why didn’t I use an internal table with one element and put it in my screen? Why didn’t I think of that? Bummer! I had to waste a whole day searching for a “multiple lines text element” :P .

Here’s the code you will need to get what you want:

  1. First, you will need to declare an internal table containing 1 field only. For example:
    data: BEGIN OF T_LINES OCCURS 0,
    lines(100),
    END OF T_LINES.
  2. Read more…

vera ABAP , ,

Simplified PM Service Notification

January 23rd, 2009

I have been searching for BAPI for creating a PM service notification. I found several Function Modules: First I found BAPI_SERVICENOTIFICAT_CREATE and second I found BAPI_SERVNOT_CREATE.

I tried to create notification using BAPI_SERVICENOTIFICAT_CREATE but it keeps giving this error: EIS499E499 Non-specifiable notification in function module. When I try to use BAPI_SERVICENOTIFICAT_GETLIST
to get an example data for existing service notification, I can’t use the function module since all the example data doesn’t contain any customer number while the function module set customer number as an obligatory parameter.

Create PM Notification
Create PM Notification screenshot

Then it leaves me to the second choice, BAPI_SERVNOT_CREATE. When I tried to create service notification using this function, it keeps giving this error: ‘Notification Type M1 is not defined’. Now I need to know how to populate the data in the function module. Maybe I populated them wrong, so I run this function BAPI_SERVNOT_GET_DETAIL filling service notification number that has been created manually. It still giving the same error ‘Notification Type M1 is not defined’. Then I almost gave up.

Read more…

vera ABAP , ,

Problem with BAPI

January 23rd, 2009

Today is the xxxth day I’m looking for this BAPI_SERVNOT_CREATE documentation all over the net. I’m not familiar with PM transaction and we don’t have any functional here so I’ve got no one to ask. I’ve been searching the internet for the documentation but found none.

All the articles I found are only explaining how the function module works, but there’s no example on how to populate the data.

If I got any luck and succeed, I’ll write down a complete example code to get the function module work. Wish me luck!

vera ABAP ,

New blog

January 21st, 2009

This is my new blog in my own domain! Yippie ;)

vera Uncategorized