cancel
Showing results for 
Search instead for 
Did you mean: 

ADRS Text swaps in SAPscript Debugger

Former Member
0 Kudos

Can somebody explain this to me?

Execute form F110_IN_AVIS in the SAPScript debugger (Activate the debugger then execute a printing test)

Why do all the ADRS text ID includes change?

Here is a trace snippet:

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window FOOTER Func. SET BODY

WRITE_FORM_LINES Lines Window HEADER Func. SET BODY

WRITE_FORM_LINES Lines Window ADDRESS Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

/: INCLUDE ADRS_SENDER OBJECT TEXT ID ADRS

W TD439 INCLUDE TEXT ,ADRS_SENDER ,ADRS,D is not available

/: INCLUDE ADRS_FOOTER OBJECT TEXT ID ADRS

W TD439 INCLUDE TEXT ,ADRS_FOOTER ,ADRS,D is not available

/: INCLUDE ADRS_HEADER OBJECT TEXT ID ADRS

W TD439 INCLUDE TEXT ,ADRS_HEADER ,ADRS,D is not available

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

WRITE_FORM_LINES Lines Window MAIN Func. SET BODY

ND_FORM

See the ADRS_SENDER, FOOTER and HEADERs, these are nowhere in the form itself:

INCLUDE &REGUD-TXTFU& OBJECT TEXT ID ADRS that is the footer

INCLUDE &REGUD-TXTKO& OBJECT TEXT ID ADRS that is the header

INCLUDE &REGUD-TXTAB& OBJECT TEXT ID ADRS here is the sender

It swaps these out for ADRS_SENDER, ADRS_HEADER and ADRS_FOOTER. Why and how is that? I actually changed the header to a real text element with an ADRS ID and it still changes to ADRS_HEADER.

Try it out and experience my frustration.

Thank You

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Here's why:

The program which runs when you select printing test:

RSTXFPR1

Has a form called:

SET_DEFAULT_CONTENT

Which scans includes for ADRS and replaces it with ADRS_window_name.

Amazing, but how am I supposed to test that my headers will work if it changes the names on me???

*....... Set dummy-contents for windows................................

*....... HEADER, FOOTER, ADDRESS(SENDER) ...............................

*----


FORM SET_DEFAULT_CONTENT USING SD_WINDOW.

DATA: BEGIN OF SD_LINES OCCURS 0.

INCLUDE STRUCTURE TLINE.

DATA: END OF SD_LINES.

DATA:

SD_TEMPLATE LIKE TLINE-TDLINE

VALUE 'INCLUDE ADRS_<name> OBJECT TEXT ID ADRS'. "#EC NOTEXT

CALL FUNCTION 'READ_FORM_LINES'

EXPORTING WINDOW = SD_WINDOW

ELEMENT = SPACE

TABLES LINES = SD_LINES

EXCEPTIONS UNOPENED = 1

OTHERS = 9.

IF SY-SUBRC = 0.

LOOP AT SD_LINES. CHECK SD_LINES-TDFORMAT = '/:'.

SHIFT SD_LINES-TDLINE LEFT

DELETING LEADING SPACE.

IF SD_LINES-TDLINE(8) = 'INCLUDE '.

IF SD_LINES-TDLINE CS 'ADRS'.

SD_LINES-TDLINE = SD_TEMPLATE.

IF SD_WINDOW = 'ADDRESS'.

REPLACE '<name>' WITH 'SENDER'

INTO SD_LINES-TDLINE.

ELSE.

REPLACE '<name>' WITH SD_WINDOW

INTO SD_LINES-TDLINE.

ENDIF.

MODIFY SD_LINES.

ENDIF.

ENDIF.

ENDLOOP.

ENDIF.