Calling Sub Routines from a SapScript form

This example shows how to to read a customer name from a script using a form in an abap program

Code in the SapScript form

/:DEFINE &CUST& = '00000021'.
/:PERFORM GET_NAME IN PROGRAM Z_BC460_EX4_HF
/: USING &CUST&
/: CHANGING &NAME&
/:ENDPERFORM.

Dear &NAME&

 

Code in the ABAP program

IMPORTANT: The structure itcsy must be used for the parameters.

REPORT Z_HENRIKF_SCRIPT_FORM .
  tables scustom.
  form get_name tables in_tab structure itcsy
                       out_tab structure itcsy.



  read table in_tab index 1.

  select single * from scustom
    where id = in_tab-value.


  if sy-subrc = 0.
    read table out_tab index 1.
    move 'NAME' to out_tab-name.
    move scustom-name to out_tab-value.
    modify out_tab index sy-tabix.
  else.
    read table out_tab index 1.
    move 'No name' to out_tab-value.
    modify out_tab index sy-tabix.
  endif.

**  You could also fill the ouput parameter table this way
*    READ TABLE out_par WITH KEY 'NAME1'.

*    out_par-value = l_name1.
*    MODIFY out_par INDEX sy-tabix.


endform.



Note: If you use more than one parameter you must use Using or Changing before every parameter !

/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
......
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
......
/: ENDPERFORM
Converted from CHM to HTML with chm2web Standard 2.7 (unicode)