..3 Printing program

Here is the nugget to install objects via SAPLINK .

Create a report Z_HIDECOLUMNS and paste below code into it:


REPORT z_hidecolumns .


* selection-screen parameters

PARAMETERS:

show_d TYPE flag DEFAULT 'X' ,

show_e TYPE flag DEFAULT 'X' ,

show_f TYPE flag DEFAULT 'X' .


* declare the context

DATA gs_context TYPE zcontext_hidecolumns .


* fill the context

PERFORM fill_context .


* call the form

CALL FUNCTION 'ZXLWB_CALLFORM'

EXPORTING

iv_formname = 'HIDECOLUMNS'

iv_context_ref = gs_context

EXCEPTIONS

process_terminated = 1

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 .


*&---------------------------------------------------------------------*

*& Form fill_context

*&---------------------------------------------------------------------*

FORM fill_context .

DATA:

ls_line TYPE zcontext_hidecolumns_line ,

lv_index_char TYPE char10 .


* table header

gs_context-header_show_d = show_d .

gs_context-header_show_e = show_e .

gs_context-header_show_f = show_f .


* table positions

DO 10 TIMES .

lv_index_char = sy-index . CONDENSE lv_index_char NO-GAPS .

CLEAR ls_line .

CONCATENATE 'A' lv_index_char INTO ls_line-a SEPARATED BY space .

CONCATENATE 'B' lv_index_char INTO ls_line-b SEPARATED BY space .

CONCATENATE 'C' lv_index_char INTO ls_line-c SEPARATED BY space .

CONCATENATE 'D' lv_index_char INTO ls_line-d SEPARATED BY space .

CONCATENATE 'E' lv_index_char INTO ls_line-e SEPARATED BY space .

CONCATENATE 'F' lv_index_char INTO ls_line-f SEPARATED BY space .

ls_line-show_d = show_d .

ls_line-show_e = show_e .

ls_line-show_f = show_f .

APPEND ls_line TO gs_context-table .

ENDDO .


ENDFORM . "fill_context

Result of the printing program execution: