Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Main Window problem in Sap Script

Former Member
0 Likes
665

Hi ,

I two windows First and Main windows.

i am using these two windows in Page Page1.

the problem here is the text element i have defined in main window is repeating twice.

i need to print it only once in the form.

can anyone let me know the where the issues is .

Thanks in advance.

Regards,

Roby

5 REPLIES 5
Read only

Former Member
0 Likes
618

May be the text element is being called more than once from the program using write_form funciton module.

If you want to print the information only once, you can create a window and put the information with out any text elements.

Read only

Former Member
0 Likes
618

Hi,

Go through the sample code,

&----


*& Report ZPROSCR05081 *

*& *

&----


*& *

*& *

&----


REPORT ZPROSCR05081 .

TABLES : VBUK , VBAP , VBAK .

data : BEGIN OF ITab OCCURS 0 ,

VBELN LIKE VBAK-VBELN , "Sales Document

VKORG LIKE VBAK-VKORG , "Sales Organization

POSNR LIKE VBAP-POSNR , "Sales Document Item

MATNR LIKE VBAP-MATNR , "Material Number

MEINS LIKE VBAP-MEINS , "Base Unit of Measure

SPART LIKE VBAK-SPART , "Division

VTWEG LIKE VBAK-VTWEG , "Distribution Channel

KUNNR LIKE VBAK-KUNNR , "Sold-to party 1

END OF ITAB .

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : V_VBELN FOR VBUK-VBELN .

SELECTION-SCREEN END OF BLOCK B1.

AT SELECTION-SCREEN.

PERFORM CHECK_VBELN .

START-OF-SELECTION .

PERFORM EXTRACT_SALES .

CALL FUNCTION 'OPEN_FORM'

EXPORTING

  • APPLICATION = 'TX'

  • ARCHIVE_INDEX =

  • ARCHIVE_PARAMS =

  • DEVICE = 'PRINTER'

  • DIALOG = 'X'

FORM = 'ZSCR05081'

  • LANGUAGE = SY-LANGU

  • OPTIONS =

  • MAIL_SENDER =

  • MAIL_RECIPIENT =

  • MAIL_APPL_OBJECT =

  • RAW_DATA_INTERFACE = '*'

  • SPONUMIV =

  • IMPORTING

  • LANGUAGE =

  • NEW_ARCHIVE_PARAMS =

  • RESULT =

  • EXCEPTIONS

  • CANCELED = 1

  • DEVICE = 2

  • FORM = 3

  • OPTIONS = 4

  • UNCLOSED = 5

  • MAIL_OPTIONS = 6

  • ARCHIVE_ERROR = 7

  • INVALID_FAX_NUMBER = 8

  • MORE_PARAMS_NEEDED_IN_BATCH = 9

  • SPOOL_ERROR = 10

  • CODEPAGE = 11

  • OTHERS = 12

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

****************************WRITE FORM FOR MAIN WINDOW*************

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'FIRST'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'MAIN'

  • IMPORTING

  • PENDING_LINES =

  • EXCEPTIONS

  • ELEMENT = 1

  • FUNCTION = 2

  • TYPE = 3

  • UNOPENED = 4

  • UNSTARTED = 5

  • WINDOW = 6

  • BAD_PAGEFORMAT_FOR_PRINT = 7

  • SPOOL_ERROR = 8

  • CODEPAGE = 9

  • OTHERS = 10

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*****************************WRITE FORM FOR SALES WINDOW**************

LOOP AT ITAB.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'ELSALES'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'SALES'

  • IMPORTING

  • PENDING_LINES =

EXCEPTIONS

ELEMENT = 1

FUNCTION = 2

TYPE = 3

UNOPENED = 4

UNSTARTED = 5

WINDOW = 6

BAD_PAGEFORMAT_FOR_PRINT = 7

SPOOL_ERROR = 8

CODEPAGE = 9

OTHERS = 10

.

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

ELEMENT = 'SECOND'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'MAIN'

  • IMPORTING

  • PENDING_LINES =

EXCEPTIONS

ELEMENT = 1

FUNCTION = 2

TYPE = 3

UNOPENED = 4

UNSTARTED = 5

WINDOW = 6

BAD_PAGEFORMAT_FOR_PRINT = 7

SPOOL_ERROR = 8

CODEPAGE = 9

OTHERS = 10

.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'

  • IMPORTING

  • RESULT =

  • RDI_RESULT =

  • TABLES

  • OTFDATA =

  • EXCEPTIONS

  • UNOPENED = 1

  • BAD_PAGEFORMAT_FOR_PRINT = 2

  • SEND_ERROR = 3

  • SPOOL_ERROR = 4

  • CODEPAGE = 5

  • OTHERS = 6

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

&----


*& Form CHECK_VBELN

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form CHECK_VBELN .

SELECT SINGLE VBELN

FROM VBUK

INTO V_VBELN

WHERE VBELN = VBUK-VBELN.

endform. " CHECK_VBELN

&----


*& Form EXTRACT_SALES

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form EXTRACT_SALES .

SELECT VBAK~VBELN

VBAK~VKORG

VBAP~POSNR

VBAP~MATNR

VBAP~MEINS

VBAK~SPART

VBAK~VTWEG

VBAK~KUNNR

INTO TABLE ITAB

FROM VBAK INNER JOIN VBAP ON VBAKVBELN = VBAPVBELN

WHERE VBAK~VBELN IN V_VBELN.

ENDFORM.

regards,

Azaz Ali.

Read only

Former Member
0 Likes
618

It can be either due to the fact that you have the same element in both windows...

or

you are calling the text element twice.

Read only

Former Member
0 Likes
618

Hi Roby,

The problem may have one of the following reasons.

1) You are using text element in both windows ie ( in FIRST and MAIN window )

2) Your MAIN window may be in a LOOP...ENDLOOP.

3) You are repeating the text element twice in MAIN window with the call of WRITE_FORM.

To resolve this issue, put your text element in between TOP...ENDTOP in MAIN window.

Thanks,

Vinay

Read only

Former Member
0 Likes
618

Hi all,

Thanks for the inputs , solved my issue.

Regards,

Roby