Skip to Content
avatar image
Former Member

showing the text at first page only.

hi,

i need to add in some text field into my PO form using script. however, that windows was shared for all pages. which mean, if i add that text field in to the first page, all the following page will be show. however, i only want it to be show under the first page only, is there a way to do it?

i dont want to have a new windows purposely for this, because the text field need to be at the items display level, which is impossible to add in a new windows.

please advice. thanks very much

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Nov 12, 2007 at 06:32 AM

    Hi

    Try like this

    Calling ABAP Subroutines: PERFORM

    You can use the PERFORM command to call an ABAP subroutine (form) from

    any program, subject to the normal ABAP runtime authorization

    checking. You can use such calls to subroutines for carrying out

    calculations, for obtaining data from the database that is needed at

    display or print time, for formatting data, and so on.

    PERFORM commands, like all control commands, are executed when a

    document is formatted for display or printing. Communication between a

    subroutine that you call and the document is by way of symbols whose

    values are set in the subroutine.

    The system does not execute the PERFORM command within SAPscript

    replace modules, such as TEXT_SYMBOL_REPLACE or TEXT_INCLUDE_REPLACE.

    The replace modules can only replace symbol values or resolve include

    texts, but not interpret SAPscript control commands.

    Syntax in a form window:

    /: PERFORM <form> IN PROGRAM <prog>

    /: USING &INVAR1&

    /: USING &INVAR2&

    ......

    /: CHANGING &OUTVAR1&

    /: CHANGING &OUTVAR2&

    ......

    /: ENDPERFORM

    INVAR1 and INVAR2 are variable symbols and may be of any of the four

    SAPscript symbol types.

    OUTVAR1 and OUTVAR2 are local text symbols and must therefore be

    character strings.

    The ABAP subroutine called via the command line stated above must be

    defined in the ABAP report prog as follows:

    FORM <form> TABLES IN_TAB STRUCTURE ITCSY

    OUT_TAB STRUCTURE ITCSY.

    ...

    ENDFORM.

    The values of the SAPscript symbols passed with /: USING... are now

    stored in the internal table IN_TAB . Note that the system passes the

    values as character string to the subroutine, since the field Feld

    VALUE in structure ITCSY has the domain TDSYMVALUE (CHAR 80). See the

    example below on how to access the variables.

    The internal table OUT_TAB contains names and values of the CHANGING

    parameters in the PERFORM statement. These parameters are local text

    symbols, that is, character fields. See the example below on how to

    return the variables within the subroutine.

    From within a SAPscript form, a subroutine GET_BARCODE in the ABAP

    program QCJPERFO is called. Then the simple barcode contained there

    ('First page', 'Next page', 'Last page') is printed as local variable

    symbol.

    Definition in the SAPscript form:

    /: PERFORM GET_TEXT IN PROGRAM QCJPERFO
    /: USING &PAGE&
    /: USING &NEXTPAGE&
    /: CHANGING &TEXT&
    /: ENDPERFORM
    /
    / &TEXT&
    

    Coding of the calling ABAP program:

    REPORT QCJPERFO.
    
    FORM GET_BARCODE TABLES IN_PAR STUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
    
    DATA: PAGNUM LIKE SY-TABIX, "page number
    
    NEXTPAGE LIKE SY-TABIX. "number of next page
    
    READ TABLE IN_PAR WITH KEY 'PAGE'.
    CHECK SY-SUBRC = 0.
    PAGNUM = IN_PAR-VALUE.
    
    READ TABLE IN_PAR WITH KEY 'NEXTPAGE'.
    CHECK SY-SUBRC = 0.
    NEXTPAGE = IN_PAR-VALUE.
    
    READ TABLE OUT_PAR WITH KEY 'TEXT'.<-- Define your text here
    CHECK SY-SUBRC = 0.
    IF PAGNUM = 1.
    OUT_PAR-VALUE = '|'. "First page
    
    ELSE.
    OUT_PAR-VALUE = '||'. "Next page
    
    ENDIF.
    
    IF NEXTPAGE = 0.
    OUT_PAR-VALUE+2 = 'L'. "Flag: last page
    ENDIF.
    
    MODIFY OUT_PAR INDEX SY-TABIX.
    
    ENDFORM.

    Regards

    Pavan

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 12, 2007 at 01:09 PM

    give some condition and print like

    if sfsy-pageno = 1

    code

    endif.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 13, 2007 at 03:49 AM

    In the condition tab of your item, you could check "Only on First Page" under "And Additional Event".

    No extra coding is needed.

    Cheers =)

    Add comment
    10|10000 characters needed characters exceeded