2007 Mar 30 9:37 AM
Hi all,
1) Is it posible to use a loop a inside a sap script editor..if program symbol is internal table with text how to display that..
2) How to create dynamic variables
Thank you,
Hi,
You can't use LOOP... ENDLOOP inside script editor.
Only in program you have to use them and that loop data will come to Script.
You can define variable like:
/: DEFINE &V_TEXT& = 'SAPSCRIPT'
write
/ &V_TEXT&
reward if useful
regards,
Anji
2007 Mar 30 9:39 AM
Hi,
It is not possible to use a LOOP inside the script, insted, you can write a PERFORM and ENDPERFORM using a PROGRAM, and inside that Program you can use the LOOP statment.
you can create a Dynamic Varible using DEFINE statment
Regards
Sudheer
2007 Mar 30 9:40 AM
Hi,
You can't use LOOP... ENDLOOP inside script editor.
Only in program you have to use them and that loop data will come to Script.
You can define variable like:
/: DEFINE &V_TEXT& = 'SAPSCRIPT'
write
/ &V_TEXT&
reward if useful
regards,
Anji
2007 Mar 30 9:41 AM
Hi Haritha,
Yes it is possible to do so.
LOOP
...
...
...
..
..
..
ENDLOOP.
Dynamic Varible also using DEFINE statement in script.
<b>Reward if helpful.</b>
Regards,
V.Raghavender.
2007 Mar 30 10:13 AM
Hai,
Here is the solution for ur problem.
In your Print Program(REPORT) write like:
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
DEVICE = 'PRINTER'
DIALOG = 'X'
FORM = 'YH650_060203'
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. " IF SY-SUBRC <> 0.
<b>LOOP AT T_EMP INTO FS_EMP.</b>
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DATA'
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. " IF SY-SUBRC <> 0.
ADD FS_EMP-SALARY TO W_F_TOTAL.
ADD FS_EMP-SALARY TO W_P_TOTAL.
ADD FS_EMP-SALARY TO W_G_TOTAL.
<b>ENDLOOP. </b> " LOOP AT T_EMP INTO FS_EMP.
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. " IF SY-SUBRC <> 0.
In your script write:
/: &FS_EMP-FIELD1& &FS_EMP-FIELD2& &FS_EMP-FIELD3& ...
OR &W_TOTAL& = &W_TOTAL& + &FS_EMP-FIELD1& etc what ever you want...
So now you can work with all the internal table data.
Hope you got solution.
<b>Reward points if it helps you.</b>
Regds,
Rama.Pammi
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |