2006 Sep 13 8:33 PM
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
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.
2006 Sep 13 8:38 PM
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.
2006 Sep 13 8:39 PM
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.
2006 Sep 13 8:40 PM
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.
2006 Sep 13 8:51 PM
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
2006 Sep 13 8:53 PM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |