Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

external subroutine in sapscript

Former Member
0 Likes
496

hi all

can anyone explain me how to handle an external subroutine in a script with a simple example.

rg

sandeep

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
425

Hi Sandeep,

Try this :

Use PERFORM from SAPSCRIPT

/: PERFORM BIN_LOCATION IN PROGRAM Z_SAPSCRIPT_PERFORMS

/: USING &RESBD-MATNR&

/: USING &CAUFVD-IWERK&

/: USING &RESBD-LGORT&

/: CHANGING &MARD-LGPBE&

/: ENDPERFORM

-


REPORT z_sapscript_performs.

*----


  • SUBROUTINES FOR CALLING FROM SAPSCRIPTS

*----


FORM bin_location TABLES in_tab STRUCTURE itcsy

out_tab STRUCTURE itcsy.

*----


  • get default bin location from MARD for this material/plant/storage *

  • location

*----


DATA: l_matnr TYPE matnr, "material

l_werks TYPE werks, "plant

l_lgort TYPE lgort, "storage location

l_lgpbe TYPE lgpbe. "bin location

  • Get first parameter in input table.

READ TABLE in_tab INDEX 1.

WRITE in_tab-value TO l_matnr .

  • Get second parameter in input table

READ TABLE in_tab INDEX 2.

MOVE in_tab-value TO l_werks.

  • Get third parameter in input table

READ TABLE in_tab INDEX 3.

MOVE in_tab-value TO l_lgort.

  • read bin location

SELECT SINGLE lgpbe INTO l_lgpbe FROM mard

WHERE matnr = l_matnr

AND werks = l_werks

AND lgort = l_lgort.

IF l_LGPBE IS INITIAL.

l_LGPBE = 'NONE'.

ENDIF.

  • read & update only parameter in output table

READ TABLE out_tab INDEX 1.

out_tab-value = l_lgpbe.

MODIFY out_tab INDEX 1.

ENDFORM.

Regards,

Lanka

2 REPLIES 2
Read only

Former Member
0 Likes
426

Hi Sandeep,

Try this :

Use PERFORM from SAPSCRIPT

/: PERFORM BIN_LOCATION IN PROGRAM Z_SAPSCRIPT_PERFORMS

/: USING &RESBD-MATNR&

/: USING &CAUFVD-IWERK&

/: USING &RESBD-LGORT&

/: CHANGING &MARD-LGPBE&

/: ENDPERFORM

-


REPORT z_sapscript_performs.

*----


  • SUBROUTINES FOR CALLING FROM SAPSCRIPTS

*----


FORM bin_location TABLES in_tab STRUCTURE itcsy

out_tab STRUCTURE itcsy.

*----


  • get default bin location from MARD for this material/plant/storage *

  • location

*----


DATA: l_matnr TYPE matnr, "material

l_werks TYPE werks, "plant

l_lgort TYPE lgort, "storage location

l_lgpbe TYPE lgpbe. "bin location

  • Get first parameter in input table.

READ TABLE in_tab INDEX 1.

WRITE in_tab-value TO l_matnr .

  • Get second parameter in input table

READ TABLE in_tab INDEX 2.

MOVE in_tab-value TO l_werks.

  • Get third parameter in input table

READ TABLE in_tab INDEX 3.

MOVE in_tab-value TO l_lgort.

  • read bin location

SELECT SINGLE lgpbe INTO l_lgpbe FROM mard

WHERE matnr = l_matnr

AND werks = l_werks

AND lgort = l_lgort.

IF l_LGPBE IS INITIAL.

l_LGPBE = 'NONE'.

ENDIF.

  • read & update only parameter in output table

READ TABLE out_tab INDEX 1.

out_tab-value = l_lgpbe.

MODIFY out_tab INDEX 1.

ENDFORM.

Regards,

Lanka

Read only

0 Likes
425

hi lanka,

thank you very much

appreciate ur help

rg

sandeep