..3 Printing program

Modify the code of the report Z_SHIPPING_LABEL follows.

·         In the beginning of program, open workbook bundle, performing VIEWER_BUNDLE_OPEN in the function group ZXLWB.

·         Several times repeat context filling and calling the function module 'ZXLWB_CALLFORM', thus adding the form to bundle.

·         In the end of program, finalize workbook bundle, performing VIEWER_BUNDLE_CLOSE in the function group ZXLWB.



Final look of the printing program:


REPORT z_shipping_labels_3.

* declare the context
DATA:
  gs_context      
TYPE zcontext_shipping_label .

* open workbooks bundle
PERFORM viewer_bundle_open IN PROGRAM saplzxlwb .

DO 4 TIMES .

* fill the context
  
CLEAR gs_context .

  
CASE sy-index .
    
WHEN 1 .
      gs_context-to_name    = 
'Dan Tedford' .
      gs_context-to_street  = 
'811 Alworth Avenue' .
      gs_context-to_town    = 
'Middlefield' .
      gs_context-to_state   = 
'CA' .
      gs_context-to_zip     = 
'98567' .
    
WHEN 2 .
      gs_context-to_name    = 
'Shane Hamby' .
      gs_context-to_street  = 
'852 Ocean View Rd.' .
      gs_context-to_town    = 
'Bayshore' .
      gs_context-to_state   = 
'CA' .
      gs_context-to_zip     = 
'94123' .
    
WHEN 3 .
      gs_context-to_name    = 
'Dr.Henry Albrecht' .
      gs_context-to_street  = 
'522 Ravenswood' .
      gs_context-to_town    = 
'East Bayshore' .
      gs_context-to_state   = 
'CA' .
      gs_context-to_zip     = 
'93327' .
    
WHEN 4 .
      gs_context-to_name    = 
'Hugh Molotsi' .
      gs_context-to_street  = 
'1980 N.Stonecrest Rd.' .
      gs_context-to_town    = 
'West Middlefield' .
      gs_context-to_state   = 
'CA' .
      gs_context-to_zip     = 
'12384' .
  
ENDCASE .

* add form (workbook) to bundle
  
CALL FUNCTION 'ZXLWB_CALLFORM'
    
EXPORTING
      iv_formname             = 
'SHIPPING_LABEL'
      iv_context_ref          = gs_context
      iv_viewer_title         = gs_context-to_name  
" -->> title by name of recipient
    
EXCEPTIONS
      
OTHERS                  = 2.
  
IF sy-subrc NE 0 .
    
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 .
  
ENDIF .

ENDDO .

* close and show bundle
PERFORM viewer_bundle_close IN PROGRAM saplzxlwb .



 


Result of the printing program execution: