1.
Go to
transaction SE71.
2.
Enter the use of your program in meaning text
box. It is mainly useful for understanding what the program does. Now SAVE your program clicking on Save
button.
3. Before
proceeding further first ensure by going to Settings>
Form Painter under the SAPScript Tab
both Form Painter and PC editor checkbox are unchecked. If not, uncheck them.
4.
Now goto Paragraph Formats Tab and create a
paragraph. Give all the Font and alignment settings you want for your output
here. If you wish to have more than one paragraph formats for your script
create another one. Save the script.
Don’t forget to press Enter Key after you create your paragraph as the Enter Key works as submit in SAP. Many people face issues due to this.
5.
Now goto Pages Tab. Create a Page with any page name and give it
some description. If your output is long and wont come in a single page and you
wish to show the remaining part in another page (probably with different page
settings) then you need to give the description of same in NEXT PAGE text box.
By default, the same page would be used to display the output. Save the script.
6.
After creating Pages we need to create Windows.
Please note that on a single Page there could be multiple windows. Goto Windows
tab for creating Windows. By default you could see that a MAIN window is
already been given by SAP. For every
page there could possibly be only one MAIN window. Therefore, for further divisions of a page SAP
provides us with 2 other window types other than MAIN window :- Constant and Variable.
-The width of the main window remains the same on each form page in which it appears. "Continuous" text is output in the main window (text which covers several pages).
-Constant windows are the same size and have the same contents on all form pages in which they appear. They therefore only need to be edited once when output. The text editing process is quicker if a window is defined as constant.
-Variable windows, on the other hand, can be various sizes and have different contents on different pages.
Now create one header window by entering details as shown below. Also assign default paragraph to Header window as well as Page Window.
-The width of the main window remains the same on each form page in which it appears. "Continuous" text is output in the main window (text which covers several pages).
-Constant windows are the same size and have the same contents on all form pages in which they appear. They therefore only need to be edited once when output. The text editing process is quicker if a window is defined as constant.
-Variable windows, on the other hand, can be various sizes and have different contents on different pages.
Now create one header window by entering details as shown below. Also assign default paragraph to Header window as well as Page Window.
MAIN Window Attributes:-
7.
As of now we have created Paragraphs, Page and
windows. Now we will assign the window
to the page we have created. For that goto Page Windows tab. At the Tab goto Edit
> Create Elements
Now, double click on HEADER window. At the Standard Attributes block give some values for windows width and height. We will change it later as per our suitability. Repeat the Same Procedure for MAIN window and Save the script.
Also, if you want you can use your MAIN window multiple times in a single page, while other windows VAR or CONST could only be used once.
Now, double click on HEADER window. At the Standard Attributes block give some values for windows width and height. We will change it later as per our suitability. Repeat the Same Procedure for MAIN window and Save the script.
Also, if you want you can use your MAIN window multiple times in a single page, while other windows VAR or CONST could only be used once.
8.
Now, goto Settings > Form Painter and then go
on SAPScript tab. The Form Painter and PC Editor Checkbox which we unchecked at
starting of program, check them now and click on OK.
9.
A Form
Painter window will appear where you could see the page we have created. On the
page you could also see the windows we created. Now adjust the page windows as
per your requirement. After adjusting
the windows just save the Script. And again Uncheck the Form Painter and PC
editor checkboxes by going to System > Form Painter.
10.
Now, Suppose we have to display the Sales
Details in our Script. For that first we would create Text Elements in our MAIN
window. Now go to Page Windows point cursor on MAIN window. Then goto Edit >
Text Elements. Write the code as shown
click on back button. Then click on Save.
click on back button. Then click on Save.
11.
Similarly, do it for header window
click on back button. Then click on Save.
click on back button. Then click on Save.
12.
Now click
on
Header button. After that click on
In the window that appears, fill in details about Default Para and First Page.
In the window that appears, fill in details about Default Para and First Page.
13.
Save your script. And goto Form to Activate it.
14.
Now we need to create a report to call our
Script. For that goto SE38 transaction and create a report.
*&---------------------------------------------------------------------*
*& Report ZTEST_PARTH
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST_PARTH.
TABLES: VBAP, VBAK, KNA1.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN no-extension no intervals.
DATA: P_KUNNR TYPE VBAK-KUNNR,
P_VBELN TYPE VBAP-VBELN.
TYPES: BEGIN OF IT_KNA1,
NAME1 TYPE KNA1-NAME1,
NAME2 TYPE KNA1-NAME2,
ADRNR TYPE KNA1-ADRNR,
TELF1 TYPE KNA1-TELF1,
END OF IT_KNA1,
BEGIN OF IT_VBAP,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
PMATN TYPE VBAP-PMATN,
VRKME TYPE VBAP-VRKME,
END OF IT_VBAP.
DATA: GT_KNA1 TYPE IT_KNA1, "OCCURS 0 with header line,
GT_VBAP TYPE IT_VBAP. "OCCURS 0 with header line.
AT SELECTION-SCREEN.
SELECT KUNNR VBELN FROM VBAK INTO (P_KUNNR, P_VBELN) WHERE VBELN IN S_VBELN.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE ID 'zparthmessage' TYPE 'E' NUMBER '002' WITH 'erooorrr'.
ENDIF.
START-OF-SELECTION.
SELECT NAME1 NAME2 ADRNR TELF1 FROM KNA1 INTO CORRESPONDING FIELDS OF GT_KNA1
WHERE KUNNR = P_KUNNR.
endselect.
IF SY-SUBRC <> 0.
MESSAGE ID 'zparthmessage' TYPE 'E' NUMBER '002' WITH 'erooorrr kna1'.
ENDIF.
SELECT VBELN POSNR MATNR PMATN VRKME
INTO CORRESPONDING FIELDS OF GT_VBAP
FROM VBAP
WHERE VBELN = P_VBELN.
endselect.
IF SY-SUBRC <> 0.
MESSAGE ID 'zparthmessage' TYPE 'E' NUMBER '002' WITH 'erooorrr vbap'.
ENDIF.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = 'ZTEST_DEMO12'
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'START_FORM'
EXPORTING
* ARCHIVE_INDEX =
FORM = 'ZTEST_DEMO12'
* LANGUAGE = ' '
* STARTPAGE = ' '
PROGRAM = 'ZTEST_PARTH'
* MAIL_APPL_OBJECT =
* IMPORTING
* LANGUAGE =
EXCEPTIONS
* FORM = 1
* FORMAT = 2
* UNENDED = 3
* UNOPENED = 4
* UNUSED = 5
* SPOOL_ERROR = 6
* CODEPAGE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'HEADER'
ELEMENT = 'CUST_DETAILS'
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'MAIN'
ELEMENT = 'E1'
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'CLOSE_FORM'.
RUN the Report.
Output |
You have successfully created your first SAPScript. And you can run it through your Report.
Thanks so much for the screen shots. this was timely help! http://www.onlinesolvers.com/sap-abap-online-training.html
ReplyDeletethanks.....its really nice........
ReplyDeleteHi there,
ReplyDeleteThank you so much for the detailed tutorial. I tried to make my 1st sap script followed by your tutorial step by step. However finally only the manual text are displaying while the data received from database are not. I tried to debug, there is no problem before OPEN_FORM. Could you help me?
Many thanks
Hi,
DeleteIt seems like you are passing the wrong element value.. Please check it once
even im facing the same issue, debugging gives proper values in internal tables, but its not displayed in script output. pls help
Delete:-(
Your Blog is amazing and a perfect guide for beginners like me. Thank you parth!!
ReplyDeletePlease keep posting:)