cancel
Showing results for 
Search instead for 
Did you mean: 

CALCULATION IN THE HEADER IN SAP SCRIPT!

Former Member
0 Kudos

friends...

i have designed a form z_pm_common..which i have copied from standard.pm_common. i have made some changes to the layout.

now at the header i have a field :

DURATION OF JOB :&AFVGD-ARBEI& &AFVGD-ARBEH&

AFVGD-ARBEI IS WORK DURATION.I.E 6.3

AFVGD-ARBEH IS UNIT. IN HOURS.

THE WORK ENTERED IN IW33 ARE 1.0 , 2.0 , 6.3 AND UNIT IS H(hours)

WHEN IAM USING &AFVGD-ARBEI& &AFVGD-ARBEH&

IAM GETTING ONLY THE LAST WORK I.E ( 6.3 H ).

WHT I WANT TO DO IS CALCULATE 1.0 + 2.0 + 6.3 = 9.3. AND I WANT THE UNIT TO BE IN MINUTES. I.E THE O/P SHOULD BE LIKE 09:03 M(MINUTES).

NOW HOW DO I MAKE THIS POSSIBLE ALSO HOW DO I PERFORM SUBROUTINE IN THIS CASE..PLZ TELL ME THE COMPLETE STEPS WITH CODING.

I GUESS IT WOULD BE PERFORM Z_PM_COMMON IN PROGRAM ZPMINCLUDE USING &WHAT& CHANGING &WHAT?&

THEN IN SUBROUTINE IT WOULD BE

FORM Z_PM_COMMON WORKCONV_UNIT

TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.

NOW WHT DO I DO....

PLEASE SEND ME THE COMPLETE CODE....WHICH WORKS.......I WOULD BE GREATFULLL.

I'LL GIVE U FULL POINTS IF I GET THE RIGHT SOLUTION..PLEASE HURRY.

REGARDS

ESSAM (essamsaud@yahoo.co.in)

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi

You can try the following

Code in Sapscript

-


PERFORM Z_PM_COMMON IN PROGRAM ZPMINCLUDE USING &AFVGD-ARBEI& CHANGING &AFVGD-ARBEI& &AFVGD-ARBEH&..

&AFVGD-ARBEI& &AFVGD-ARBEH&.

code inside the perform

-


data : temp type AFVGD-ARBEI,

value type AFVGD-ARBEI.

clear temp.

FORM Z_PM_COMMON tables int_cond structure itcsy

out_cond structure itcsy.

Read int_cond table with KEY name = AFVGD-ARBEI.

clear value.

value = int_cond-value.

temp = temp + value.

Read out_cond table with KEY name = AFVGD-ARBEI.

out_cond-value = temp.

Modify out_cond index 1.

Read out_cond table with KEY name = AFVGD-ARBEH.

out_cond-value = 'M'.

Modify out_cond index 2.

ENDFORM.

-


If your query is resolved kindly close the thread and award points

cheers

shafiq

Former Member
0 Kudos

buddy wht fields do i take for

USING &<field name>& ?

/:USING &<Field name1>& ?

/:CHANGING &<field name2& ?

former_member196280
Active Contributor
0 Kudos

FIELDNAME = AFVGD-ARBEI

Fieldname1 " DEFINE it in your SAPSCRIPT

fieldname2 " DEFINE it in your SAPSCRIPT

Display fieldname2 in your FORM.

Regards,

SaiRam

former_member196280
Active Contributor
0 Kudos

Try to call sub-routine in your program and do the summation,

Ex,

Go through this example

Ex.

/: PERFORM <Subroutine name> IN PROGRAM <subroutine prog name>

/:USING &<field name>&

/:USING &<Field name1>&

/:CHANGING &<field name2&

/:ENDPERFORM

/: fieldname1 = fieldname2.

Now to print the units in M, remove, AFVGD-ARBEH and hardcode with "M" , but I think what the unit getting printer is correct, we always call 9.03 hrs.. if we call it as 9.03 mins meaning gets changed..

Then create subroutine pool program and you have to write the code.

FORM ><subroutine name> tables int_cond structure itcsy

outt_cond structure itcsy.

Read int_cond table with KEY 'field name'

value = int_cond-value.

Read int_cond table with KEY 'field name1'

value1 = int_cond-value.

vlaue2 = value + value1.

Read outt_cond table KEY 'field name2'.

outt_cond-value = value2.

Modify outt_cond index 1.

ENDFORM.

Just rough idea given above.

I hope you can solve basing on this idea.

Regards,

Sairam

Former Member
0 Kudos

PERFORM Z_PM_COMMON IN PROGRAM ZPMINCLUDE

USING &AFVGD-ARBEI&

CHANGING &AFVGD-ARBEI&

CHANGING &AFVGD-ARBEH&..

ENDPERFORM.

DATA : TEMP TYPE AFVGD-ARBEI, "WORK INVOLVED IN THE ACTIVITY

VALUE TYPE AFVGD-ARBEI. "WORK INVOLVED IN THE ACTIVITY

CLEAR TEMP.

FORM YE_PM_COMMON_WORK TABLES IN_TAB STRUCTURE ITCSY

OUT_TAB STRUCTURE ITCSY.

READ TABLE IN_TAB WITH KEY NAME = AFVGD-ARBEI.

CLEAR VALUE.

VALUE = iIN_TAB-VALUE.

TEMP = TEMP + VALUE.

READ TABLE OUT_TAB WITH KEY NAME = AFVGD-ARBEI.

OUT_TAB-VALUE = TEMP.

MODIFY OUT_TAB INDEX 1.

READ TABLE OUT_TAB WITH KEY NAME = AFVGD-ARBEH.

OUT_TAB-VALUE = 'M'.

MODIFY OUT_TAB INDEX 2.

ENDFORM.

IT IS GIVING ERRORS THAT STMT CLEAR TEMP INCORRECT.

ALSO ITS NOT RECOGNISING IN_TAB N OUT_TAB ALSO IT IS SAYING

THAT READ TABLE OUT_TAB WITH KEY NAME = AFVGD-ARBEH.

INCORRECT..WHT WOULD BE THE KEY NAME ?PLEASE WRITE IN PROPER CODE.

THX

ESSAM