‎2007 Jun 13 7:40 AM
Hi,
I have to add 3 values for this i have written a perform in text element of main window as follows.
/: DEFINE &DO_TOT& := '0'.
/: PERFORM DO_TOTAL IN PROGRAM Z_1IEXCP_OUTPUT
/: USING &J_1IEXCHDR-EXBED&
/: USING &J_1IEXCHDR-ECS&
/: USING &J_1IEXCHDR-EXADDTAX1&
/: CHANGING &DO_TOT&
and in print program i have written the code as follows
FORM DO_TOTAL TABLES IN_VAR
OUT_VAR.
DATA : IN_VAR1 TYPE STANDARD TABLE OF ITCSY WITH HEADER LINE,
OUT_VAR1 TYPE STANDARD TABLE OF ITCSY WITH HEADER LINE.
DATA : VAL1 TYPE I ,
VAL2 TYPE I,
VAL3 TYPE I.
IN_VAR1[] = IN_VAR[].
OUT_VAR1[] = OUT_VAR[].
READ TABLE IN_VAR1 WITH KEY NAME = 'J_1IEXCHDR-EXBED'.
VAL1 = IN_VAR1-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = IN_VAR1-VALUE
IMPORTING
NUMCSTR = VAL1.
.
READ TABLE IN_VAR1 WITH KEY NAME = 'J_1IEXCHDR-ECS'.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = IN_VAR1-VALUE
IMPORTING
NUMCSTR = VAL2.
READ TABLE IN_VAR1 WITH KEY NAME ='J_1IEXCHDR-EXADDTAX1'.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = IN_VAR1-VALUE
IMPORTING
NUMCSTR = VAL3.
DATA X TYPE I.
DATA C_X(255) TYPE C.
X = VAL1 + VAL2 + VAL3.
C_X = X.
OUT_VAR1-VALUE = C_X.
OUT_VAR[] = OUT_VAR1[].
ENDFORM.
but I am not getting the values into &DO_TOT&
can you please correct the error. its urgent
Thanks in advance
‎2007 Jun 13 7:47 AM
Befor to this code
OUT_VAR1-VALUE = C_X.
OUT_VAR[] = OUT_VAR1[].
Read internal table out_var for field &DO_TOT& and modify internal table accordingly.
Thanks,
Saida Rao
Message was edited by:
Saida Rao Devarasetty
‎2007 Jun 13 7:50 AM
Hi,
FORM DO_TOTAL TABLES IN_VAR
OUT_VAR.
DATA : IN_VAR1 TYPE STANDARD TABLE OF ITCSY WITH HEADER LINE,
OUT_VAR1 TYPE STANDARD TABLE OF ITCSY WITH HEADER LINE.
DATA : VAL1 TYPE I ,
VAL2 TYPE I,
VAL3 TYPE I.
IN_VAR1[] = IN_VAR[].
OUT_VAR1[] = OUT_VAR[].
READ TABLE IN_VAR1 WITH KEY NAME = 'J_1IEXCHDR-EXBED'.
VAL1 = IN_VAR1-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = IN_VAR1-VALUE
IMPORTING
NUMCSTR = VAL1.
.
READ TABLE IN_VAR1 WITH KEY NAME = 'J_1IEXCHDR-ECS'.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = IN_VAR1-VALUE
IMPORTING
NUMCSTR = VAL2.
READ TABLE IN_VAR1 WITH KEY NAME ='J_1IEXCHDR-EXADDTAX1'.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = IN_VAR1-VALUE
IMPORTING
NUMCSTR = VAL3.
DATA X TYPE I.
DATA C_X(255) TYPE C.
X = VAL1 + VAL2 + VAL3.
C_X = X.
OUT_VAR1-VALUE = C_X.
OUT_VAR[] = OUT_VAR1[].
" Use the Modify statment for OUT_VAR to modify the line
ENDFORM.Regards
Sudheer
‎2007 Jun 13 7:57 AM
Hi,
Do this way.
READ TABLE OUT_VAR1 WITH KEY NAME = 'DO_TOT'.
modify table out_var1 with field OUT_VAR1-VALUE = C_X.
Regards,
Richa
‎2007 Jun 13 7:59 AM
HI,
<b>I CORRECTED YOUR MISTAKES. JUST COPY AND PASTE</b>
FORM DO_TOTAL TABLES IN_VAR structure itcsy
OUT_VAR structure itcsy.
DATA : VAL1 TYPE I ,
VAL2 TYPE I,
VAL3 TYPE I.
DATA X TYPE I.
DATA C_X(255) TYPE C.
constants : c_cons1(16) type c value 'J_1IEXCHDR-EXBED',
c_cons2(15) type c value 'J_1IEXCHDR-ECS',
c_cons3(21) type c value 'J_1IEXCHDR-EXADDTAX1',
c_cons4(6) TYPE c VALUE 'DO_TOT'.
READ TABLE IN_VAR WITH KEY c_cons1.
if sy-subrc = 0.
VAL1 = IN_VAR-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = VAL1
IMPORTING
NUMCSTR = VAL1.
endif .
READ TABLE IN_VAR WITH KEY c_cons2.
if sy-subrc = 0.
VAL2 = IN_VAR-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = VAL2
IMPORTING
NUMCSTR = VAL2.
endif .
READ TABLE IN_VAR WITH KEY c_cons3.
if sy-subrc = 0.
VAL3 = IN_VAR-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = VAL3
IMPORTING
NUMCSTR = VAL3.
endif .
X = VAL1 + VAL2 + VAL3.
C_X = X.
read table out_var with key c_cons4. "#EC *
if sy-subrc = 0.
OUT_VAR-VALUE = C_X.
endif.
ENDFORM.
Regards,
Sooness
‎2007 Jun 13 8:01 AM
Hi,
addition
FORM DO_TOTAL TABLES IN_VAR structure itcsy
OUT_VAR structure itcsy.
DATA : VAL1 TYPE I ,
VAL2 TYPE I,
VAL3 TYPE I.
DATA X TYPE I.
DATA C_X(255) TYPE C.
constants : c_cons1(16) type c value 'J_1IEXCHDR-EXBED',
c_cons2(15) type c value 'J_1IEXCHDR-ECS',
c_cons3(21) type c value 'J_1IEXCHDR-EXADDTAX1',
c_cons4(6) TYPE c VALUE 'DO_TOT'.
READ TABLE IN_VAR WITH KEY c_cons1.
if sy-subrc = 0.
VAL1 = IN_VAR-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = VAL1
IMPORTING
NUMCSTR = VAL1.
endif .
READ TABLE IN_VAR WITH KEY c_cons2.
if sy-subrc = 0.
VAL2 = IN_VAR-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = VAL2
IMPORTING
NUMCSTR = VAL2.
endif .
READ TABLE IN_VAR WITH KEY c_cons3.
if sy-subrc = 0.
VAL3 = IN_VAR-VALUE.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = VAL3
IMPORTING
NUMCSTR = VAL3.
endif .
X = VAL1 + VAL2 + VAL3.
C_X = X.
read table out_var with key c_cons4. "#EC *
if sy-subrc = 0.
OUT_VAR-VALUE = C_X.
<b>modify out_var index sy-tabix.</b>
endif.
ENDFORM.
‎2007 Jun 13 8:26 AM
Hi Sooness Munogee,
Actualy out_var is not an internal table, it is just a char type. In this case we cant use Modify.
and more over I have changed out_var in debugging mode , but it is not comming into script.
‎2007 Jun 13 8:38 AM
Hi,
i think that there is a misunderstanding!!!!
OUT_VAR IS A TABLE!!
<b>proof:</b>
FORM DO_TOTAL <b>TABLES</b> IN_VAR structure itcsy
OUT_VAR structure itcsy.
Note; Everything sent and received in sapscripts are sent and received in tables!
So, the 3 variables sent from sapscript will be found in table IN_VAR,
and the variable received will be sent in table OUT_VAR.
So, you may use the routine i've modified.
Revert back in case of doubts,
Regards,
Sooness.
‎2007 Jun 13 8:42 AM
Hi,
Also,
/: DEFINE &DO_TOT& := '0'.
/: PERFORM DO_TOTAL IN PROGRAM Z_1IEXCP_OUTPUT
/: USING &J_1IEXCHDR-EXBED&
/: USING &J_1IEXCHDR-ECS&
/: USING &J_1IEXCHDR-EXADDTAX1&
/: CHANGING &DO_TOT&
its missing the /: ENDPERFORM statement.
Regards,
Sooness.
‎2007 Jun 21 12:44 PM