Monday, August 27, 2007

Screen Painter

Screen Painter is an ABAP Editor tools allowed us to create dialog screen. Dialog screen usually created as a screen to catch user input. It can be accessed by tcode SE51.



Screen Painter Architecture:
1. Screen Attributes
Define screen title, define its type (normal, subscreen).

2. Flow logic
Flow logic control flow of program. The event block is introduced by the corresponding keyword statement, and it concludes either when the next block is introduced, or at the end of the program.
There are four event blocks, each of which is introduced with the screen keyword PROCESS:
PROCESS BEFORE OUTPUT.
...
PROCESS AFTER INPUT.
...
PROCESS ON HELP-REQUEST.
...
PROCESS ON VALUE-REQUEST.

A simple sample of flow logic.


PROCESS BEFORE OUTPUT.
MODULE PBO_module1.
MODULE PBO_module2.
PROCESS AFTER INPUT.
MODULE PAI_module1.
MODULE PAI_module2.

Flow logic structured on event, in above example we can see there are two event involved, "process before output" (PBO) and "process after input" (PAI).
PBO processed before the screen is displayed. It allow us to define toolbar and title, positioning the cursor, showing and hiding fields and changing field attributes dynamically.
PAI processed after user command (double click, push button). It is allow us to validate user input, and determine next process based on user command.
In flow logic, we only define module name to define program flow, to create "real code", double click on module name to create it, then write program in it.

3. Layout Editor
We use layout editor to place screen element in screen layout. There are two modes in editing layout: Graphical and alphanumeric. Both modes offer the same functions but use different interfaces. In graphical mode, you use a drag and drop interface similar to a drawing tool. In alphanumeric mode, you use your keyboard and menus. It is easier to work in graphical mode, to toggle beetween this mode, in SE51 go to: Utilities->Settings: in screen painter tabs check graphical layout editor.


Layout editor containing this tools:
i. Element pallete
On left screen you will find list of element (textbox, label, checkbox) you can use. Drag and drog element to put it on screen.
ii. Name & Text
Aftef put element on screen, write its name and text (in textbox, text will set default value).
iii. Attributes Window
Double click the element to display its attributes, or select it then click :Goto->Secondary window->attributes. For example, in textbox element, we can set its length, read only mode, in this window.
iv. Dictionary/program field.
If we want to create a field refer to field in data dictionay or field already declared in program, use this menu to create text field with the same type compared to its referral.

4. Element list.
Element list shown all element in screen. We rarely use this menu, because it easier to maintain element in layout editor.

32 comments:

Anonymous said...

If I make a control in the LayoutEditor(LE), I have make the corrresponding DATA in the source code, in order to get the values in the control.
But if I change the control's name, I have to change the variable's (data) name in the source code.
Is there any way to automatically synchronize these two editor (souce and layout) for data/control naming?
Thank you.

alionzo said...

Unfortunately there's no way to synchronize them

Anonymous said...

hi there. i already guessed that there's no way to do such nice thing. but since you told me to use CALL SCREEN 100 to quickly move from 38 to 51, so i thought there would probably a chance for you to know how to to refactor ABAP code :)
anyway, do you suggest beginners to learn the selection screen first before going into this "screen painter" thing?
and i also feel a little awkward since SAP never published an easy to read reading such as MS' Step-By-Step Series :)
have you read the language's complete reference? weird!

alionzo said...

For beginner, I suggest you to learn ABAP report & Data dictionary first.
Instead of searching complete reference, I suggest you to focus on "what to do" then find out "how" to create it.

Anonymous said...

Hi Everybody,
I am new to SAP (ABAP) technology,
so plz mail me some e-books, or PDF formats file including the basic topics such as- SELECTION SCREEN,
SCREEN PAINTERS, DATA-DICTIONARY,
n starting overviw.
My id is- Vishu_111285@yahoo.co.in.

Thanxxxxxxxxxx

Basu KM said...

Hi Alionzo,

I want to change texbox height, i mean to say i want textbox of height 6 or 8. but it is displaying by default height of text box is 1.

So could you please help me how to do this.

Thanks
Basu

Unknown said...

hi everybody,
i want to the position of pushbutton at runtime..
i expect every possible suggestion from ur side as early as possible.
thank you.

Anonymous said...

I am new ABAP & hence pls send me the following details
Pls send me some e-books or pdf files that can explain things like screen paiter, menu painter, Sap script, Idoc, Bapi with screen shots if possible.
Pls email me to arohini03_anbu@yahoo.com

Thanks
Rohini

Bhavin P Shah said...
This comment has been removed by the author.
Bhavin P Shah said...

I am new to ABAP),
Can you please share any ebooks or PDFs related to - SMARTFORMS,
SCREEN/MENU PAINTERS..
Thanks
Bhavin
sbp242@yahoo.co.in

Unknown said...

alionzo how is indonasia???

alionzo said...

Hi Jayanthi,
Thanks for visiting my blog.
Indonesia just fine, crowded but peaceful :P

Anonymous said...

Hi
it's Article very surface, but then again thanks.

Anonymous said...

THIS IS MEYAPPAN FROM CHENNAI, I AM PRACTISING ABAP. I AM WORKING ON MENU AND SCREEN. I NEED SOME CLARIFICATION ON USAGE OF SELECTION SCREEN - IN SCREEN PAINTER. ANY EXAMPLE FROM MENU ,SCREEN,SELECTION SCREEN AND LIST. MY MAIL ID IS mshannu@yahoo.com

Anonymous said...

Hi Alionzo,

I am new to screen painter though i already have a background in hr abap. unfortunately since i was in a support project, doing programs from scratch is such a pain in the ass for me. especially screen painter.

i am enhancing an infotype at the moment, but, i am stucked at 1 push button that doesnt seem to work. everytime i test my modification in pa30, i get this error that the function is not possible.

so.. my question is:
how am i going to make make a pop up screen?
i already created the screens.. but, when i call them in my program.. it cant display the output i desired.

here is the piece of my code:
MODULE user_command INPUT.
IF sy-ucomm = 'RNE'.
CALL SCREEN 201 STARTING AT gc_x1 gc_y1 ENDING AT gc_x2 gc_y2.
ENDif.
ENDMODULE.

thanks for you future reply.

pls email me your answer:
mythalar@gmail.com


thanks a lot in advance once again.

Unknown said...

Hi,
this is great blog.
how can I update custom table (insert, delete) on click of the pushbutton?
for example I have two fields, when user fills them and presses button they should be written in custom table, how?
and how to call FM under pushbutton?

Thanks in advance
Nihad

Anonymous said...

How can I move some of the objects and convert them into a tab to make the screen not so cluttered. I tried the tab wizard but no luck. There is items that needs to be put into tabs. How can I do that?

premjit said...

hi, can u mail me sap abap material.
my id - yourpremjit@gmail.com.

aleem said...

hi sir can you mail me sap abap material pls sir.
thanks.my mail id is
mdaleem138@gmail.com

google said...

WExcellent Online Resource for SAP EP and SAP Web Dynpro ABAP. Visit Learn SAP Online

for Free


SAP Enterprise Portal Application

in NWDS

SAP and Their Produstcs - SMB Customer - SAP

Business One

What is SAP ?
Architecture of SAP Business One

Application

Navigation in SAP Business One
SMB Portal and its Functionality
Netweaver Administrator Day to

Day Work

SAP Business Intelligence
Business Partners in SAP Business

One

Continuous Stock System in SAP

business one

How to make WDJ Component

available on SAP EP


And Many Morte Topics

google said...

Excellent Online Resource for SAP EP and SAP Web Dynpro ABAP. Visit Learn SAP Online

for Free


SAP Enterprise Portal Application

in NWDS

SAP and Their Produstcs - SMB Customer - SAP

Business One

What is SAP ?
Architecture of SAP Business One

Application

Navigation in SAP Business One
SMB Portal and its Functionality
Netweaver Administrator Day to

Day Work

SAP Business Intelligence
Business Partners in SAP Business

One

Continuous Stock System in SAP

business one

How to make WDJ Component

available on SAP EP


And Many Morte Topics

shankar said...

I created a table in ABAP dictionary. how to display complete structure of an table in ABAP editor.

seenu said...

Hi All,
I am new to SAP (ABAP) technology,
I request all to mail me some e-books, or PDF formats file including the basic topics such as- SELECTION SCREEN,
SCREEN PAINTERS, DATA-DICTIONARY.
My mail ID- srikarthik.atp@gmail.com

kodyaz said...

Thank you for providing the brief and useful information about dynpro programming basics. I would like to get more detail about ON HELP-REQUEST and ON VALUE-REQUEST processes take place in flow logic of the program.
I'll be soon publishing a tutorial for ABAP programmers for processing dynpro controls on PBO and PAI at SAP and ABAP tutorials
Thank you

Rustam Sayal said...

Vendor management ChefMod: Professionally managed restaurant purchasing solution for foodservice. Simple to use ordering and receiving platform. EZRecipe for recipe management and live costing

Unknown said...

I have been a blogger too but you post much technical details. Thank you for sharing your knowledge. The creating experts was my first trainer in SAP ABAP got in depth learning from them

http://thecreatingexperts.com/selenium-training-in-chennai/


contact +91-08122241286

Unknown said...



Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.
sap staffing services in north america

QuickBooks Payroll Support said...

Nice Blog Quickbooks is the one of the best accounting software. We are providing technical support in Quickbooks Support Phone Number 1800 -986-4607. if you are facing any trouble in Quickbooks dial our Toll free number +1-800-986-4607 for quick response. Our executive is available 24*7.

Quickbooks Expert said...

Nice Blog ! Quickbooks 2019 Support Phone Number offers robust solutions related to the financial issues for the smooth running of an organization. For any details, queries or issues regarding this Call us 1-800-986-4607.

thomas said...

Nice Blog!
Worried about QuickBooks error and glitch Just make a call to get instant solution.
Dial QuickBooks Customer Service Number +1-844-908-0801.

PDF and Software said...

Prepare4Test Avaya 7693X PDF is designed with the latest 7693X exam material. All questions are planned and verified by Avaya certified experts.

BCom 2nd Year Admit Card said...

I am really really impressed with your writing skills as well as with the layout on your blog.