‎2008 Jan 22 9:09 AM
Hi,
Basically using TCode SHDB I'm trying to record a transaction (CJ06) that requires saving of a "long text" field. When I tried to save my recording it seems that the "long text" field was not captured. Is there a technique to do this?
Will greatly appreaciate feedback. Thanks!
‎2008 Jan 22 9:20 AM
Hi Jackie,
While recording the long text in the long text screen go-to menu -detials -> long text , then the text editor will appear, then in the menu click on go-to-->change editor.
and then insert the text .... then the recording of the write text will be possible,
u might use the logic like this.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXVB'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(02)'
'*'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(03)'
'*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(02)'
wa_itab-htext1.
PERFORM bdc_field USING 'RSTXT-TXLINE(03)'
wa_itab-htext2.
.
regards,
Santosh Thorat
‎2008 Jan 22 9:43 AM
Hi,
In your code:
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(02)' '*'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(03)' '*'.
what's the purpose of 02, 03 and *?
Just to show you how our long text field looks like here's the link to the image.
[Longtext|http://i32.photobucket.com/albums/d50/pbbaddict/longtext1.jpg]
[Long text after change of editor|http://i32.photobucket.com/albums/d50/pbbaddict/longtext2.jpg]
Thanks for helping.
‎2008 Jan 22 10:32 AM
Hi,
02 means the 2 row in the screen of the particular text, and 03 means the 3 row ....and so on.
I had and requirement that only two lines of text should be updated so the code for the 2 and 3 rows
was written..
regards,
Santosh
‎2008 Jan 22 9:33 AM
RUN THIS CODE IN DEBUGGING MODE THEN U WILL KNOW HOW TO SOLVE UR PROBLEM.
DONT FORGET TO REWARD POINTS
----
TYPE-POOLS: slis.
"All the definitions of internal tables, structures and constants are de
"fined in type-pool SLIS
----
TABLES *
----
TABLES: t134,mara.
----
DECLARING STRUCUTURES *
----
*&--defining types for structure T_MARA
TYPES: BEGIN OF t_mara,
matnr TYPE matnr,
mtart TYPE mtart,
meins TYPE meins,
tline(132),
v_lights(4),
v_box(1),
long_text(70),
END OF t_mara.
----
Data Declaration
----
DATA: n TYPE n.
DATA: c TYPE c.
DATA: v_var(50).
DATA: wa_mara TYPE t_mara.
DATA: it_tab LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: it_mara TYPE STANDARD TABLE OF t_mara.
DATA: bildsequence LIKE t133a-bilds.
DATA: pass_tab LIKE mbildtab OCCURS 0 WITH HEADER LINE.
DATA: wa_pass_tab TYPE mbildtab.
DATA: t_object(10).
DATA: t_name(70).
DATA: t_id(4).
DATA: t_spras(1).
DATA: wa_layout TYPE slis_layout_alv.
DATA: t130m LIKE t130m.
DATA: wa_str TYPE tline.
DATA: str LIKE tline OCCURS 0 WITH HEADER LINE.
DATA: it_long TYPE STANDARD TABLE OF tline.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
i_eventcat TYPE slis_t_event,
i_eventcat1 TYPE slis_t_event,
i_fieldcat1 TYPE slis_t_fieldcat_alv.
DATA : wa_fieldcat1 TYPE slis_fieldcat_alv.
DATA: r_ucomm LIKE sy-ucomm.
DATA: it_listheader TYPE slis_t_listheader.
DATA: reply(1).
DATA: v_path TYPE string. "Temp variable for quantity
DATA : IT_VARIANT LIKE DISVARIANT,
IT_VARIANT1 LIKE DISVARIANT.
----
define macros *
----
DEFINE macro_fieldcat.
add 1 to l_fieldcat-col_pos.
l_fieldcat-fieldname = &1.
l_fieldcat-ref_tabname = &2.
l_fieldcat-outputlen = &3.
l_fieldcat-edit = &4.
l_fieldcat-input = &5.
l_fieldcat-seltext_l = &6.
append l_fieldcat to i_fieldcat.
END-OF-DEFINITION.
*defining local workarea
DATA: l_fieldcat TYPE slis_fieldcat_alv.
macro_fieldcat 'V_LIGHTS' 'IT_MARA' '4' '' '' 'T_LITE'.
macro_fieldcat 'MATNR' 'IT_MARA' '18' '' '' 'MATERIAL NO.'.
macro_fieldcat 'MTART' 'IT_MARA' '4' '' '' 'MATERIAL TYPE'.
macro_fieldcat 'LONG_TEXT' 'IT_MARA' '132' 'X' 'X' 'LONG TEXT'.
"use 00 for default
----
INITIALIZATION EVENT *
----
*CLEARING THE BODY OF INTERNAL TABLES
REFRESH : it_tab.
*CLEARING THE WORK AREA
CLEAR : wa_mara.
perform check_p_var.
----
SELECTION-SCREEN
----
*****
*****SELECTION-SCREEN COMMENT /40(80) text-002.
*****SELECTION-SCREEN SKIP 9.
*****
*****SELECTION-SCREEN BEGIN OF BLOCK charly WITH FRAME TITLE text-001.
*****
*****SELECT-OPTIONS: k_matnr FOR wa_mara-matnr OBLIGATORY.
*****
*****SELECTION-SCREEN END OF BLOCK charly.
*****
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: alv-list RADIOBUTTON GROUP gp1 DEFAULT 'X' USER-COMMAND chk,
alv-grid RADIOBUTTON GROUP gp1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: s_matnr TYPE mara-matnr MODIF ID g1.
SELECT-OPTIONS: k_matnr FOR mara-matnr MODIF ID g2.
SELECTION-SCREEN END OF BLOCK b2.
*FILE PATH
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_path(128) TYPE c.
SELECTION-SCREEN END OF BLOCK b3.
PARAMETERS: p_var TYPE slis_vari.
----
At Selection-Screen(output)
----
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF alv-list = 'X' AND screen-group1 = 'G1'.
screen-active = 0.
*screen-intensified = '1'.
MODIFY SCREEN.
ENDIF.
IF alv-grid = 'X' AND screen-group1 = 'G2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
----
At Selection-Screen(VALIDATIONS)
----
AT SELECTION-SCREEN.
**
LOOP AT k_matnr.
**
IF k_matnr-low = c AND k_matnr-high = n.
**
message e017.
**
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
Display a list of various variants of the report when the
user presses F4 key in the variant field
PERFORM variant_f4. "USING FM REUSE_ALV_VARIANT_F4
SELECT SINGLE matnr INTO wa_mara-matnr FROM mara
WHERE matnr IN k_matnr.
IF sy-subrc <> 0.
"If record not found
MESSAGE 'Enter Valid Material Number' TYPE 'E'.
ENDIF.
----
Start-of-selection
----
START-OF-SELECTION.
REFRESH it_mara.
CLEAR wa_mara.
IF alv-list = 'X'.
SELECT matnr mtart meins INTO wa_mara FROM mara
WHERE
matnr IN k_matnr.
APPEND wa_mara TO it_mara. "Uploading work area to the internal table
ENDSELECT.
ELSEIF alv-grid = 'X'.
SELECT matnr mtart meins INTO wa_mara FROM mara
WHERE
matnr EQ s_matnr.
APPEND wa_mara TO it_mara. "Uploading work area to the internal table
ENDSELECT.
ENDIF.
----
END-OF-SELECTION
----
END-OF-SELECTION.
----
Declaration of All performs
----
PERFORM ZF_BUILD_FIELDCAT USING I_FIELDCAT.
PERFORM zf_top_of_page.
PERFORM zf_build_listheader USING it_listheader.
PERFORM zf_layout.
PERFORM zf_final_layout. " For populating Layout
PERFORM zf_build_eventcat USING i_eventcat.
" For populating eventcatalog
IF alv-grid = 'X'.
PERFORM zf_display_alv_grid. " For displaying GRID ALV
ELSEIF alv-list = 'X'.
PERFORM zf_display_alv_list.
ENDIF.
PERFORM zf_download.
&----
*& Form zf_build_eventcat
&----
text
----
-->P_I_EVENTCAT text
----
FORM zf_build_eventcat USING p_i_eventcat TYPE slis_t_event.
DATA: l_eventcat TYPE slis_alv_event.
CLEAR l_eventcat.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_i_eventcat
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Top-of-page
CLEAR l_eventcat.
READ TABLE p_i_eventcat INTO l_eventcat WITH KEY name =
slis_ev_top_of_page.
IF sy-subrc = 0.
MOVE 'ZF_TOP_OF_PAGE' TO l_eventcat-form.
MODIFY p_i_eventcat FROM l_eventcat INDEX sy-tabix
TRANSPORTING form.
ENDIF.
USER_COMMAND FROM
CLEAR l_eventcat.
READ TABLE p_i_eventcat INTO l_eventcat WITH KEY name =
slis_ev_user_command.
IF sy-subrc = 0.
MOVE 'ZF_USER_COMMAND' TO l_eventcat-form.
MODIFY p_i_eventcat FROM l_eventcat INDEX sy-tabix TRANSPORTING form
.
ENDIF.
*pf_status_set form
CLEAR l_eventcat.
READ TABLE p_i_eventcat INTO l_eventcat WITH KEY name =
slis_ev_pf_status_set.
IF sy-subrc = 0.
MOVE 'ZF_PF_STATUS' TO l_eventcat-form.
MODIFY p_i_eventcat FROM l_eventcat INDEX sy-tabix TRANSPORTING form
.
ENDIF.
ENDFORM. " zf_build_eventcat
&----
*& Form zf_user_command
&----
text
----
--> p1 text
<-- p2 text
----
FORM ZF_USER_COMMAND USING r_ucomm type sy-ucomm rs_selfield TYPE
slis_selfield.
DATA: v_mat TYPE matnr.
CASE r_ucomm.
WHEN 'BACK'.
LEAVE TO LIST-PROCESSING.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = ' '
DIAGNOSE_OBJECT = ' '
text_question = 'Do u want to leave'
TEXT_BUTTON_1 = 'YES'(001)
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = 'NO'(002)
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '2'
DISPLAY_CANCEL_BUTTON = 'X'
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
ANSWER = reply
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
leave screen.
leave to list-processing and return to screen selection-screen.
*
*if reply = '1'.
*
*leave to screen 1000.
*
*endif.
WHEN 'SAVE'.
IF rs_selfield-fieldname = 'MATNR'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = rs_selfield-value
IMPORTING
output = v_mat.
LOOP AT it_mara INTO wa_mara WHERE matnr = v_mat.
SELECT SINGLE * FROM t134 WHERE mtart = wa_mara-mtart.
CALL FUNCTION 'MATERIAL_INIT'
EXPORTING
tcode = 'MM02'
kz_berprf = 'X'
KZRFB = ' '
HERKUNFT = ' '
FLG_RETAIL = ' '
IMPORTING
it130m = t130m
KSTATUS =
TKSTATUS =
KZDCH =
EXCEPTIONS
no_authority = 1
wrong_call = 2
kstatus_empty = 3
tkstatus_empty = 4
aktyp_tcode_mismatch = 5
tcode_not_found = 6
material_article_mismatch = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'BILDSEQUENZ_IDENTIFY'
EXPORTING
BRANCHE = ' '
materialart = wa_mara-mtart
tcode_ref = t130m-trref
KZRFB = ' '
IMPORTING
bildsequenz = bildsequence
KZ_BILDS_CHANGED =
EXCEPTIONS
wrong_call = 1
not_found = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'SELECTION_VIEWS_FIND'
EXPORTING
bildsequenz = bildsequence
pflegestatus = t130m-pstat
TABLES
bildtab = pass_tab
EXCEPTIONS
call_wrong = 1
empty_selection = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT pass_tab INTO wa_pass_tab WHERE guifu = 'SP01'.
CONCATENATE 'MSICHTAUSW-KZSEL(' pass_tab-idxbd ')' INTO
v_var.
MODIFY pass_tab FROM wa_pass_tab.
ENDLOOP.
LOOP AT pass_tab.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM bdc_field USING 'RMMG1-MATNR'
wa_mara-matnr.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING v_var
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PB26'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'test kushagra test data'.
PERFORM bdc_field USING 'MARA-MEINS'
wa_mara-meins.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
'NORM'.
PERFORM bdc_field USING 'DESC_LANGU_GDTXT'
'E'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=LTEX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'test kushagra test data'.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(03)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXVB'.
PERFORM bdc_field USING 'RSTXT-TXLINE(03)'
wa_mara-long_text.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSTXT-TXLINE(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=TXBA'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BABA'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'test kushagra test data'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'test kushagra test data'.
PERFORM bdc_field USING 'MARA-MEINS'
'CAR'.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
'NORM'.
PERFORM bdc_field USING 'DESC_LANGU_GDTXT'
'E'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
CALL TRANSACTION 'MM02' USING it_tab MODE 'A'.
EXIT.
ENDLOOP.
ENDLOOP.
ENDIF.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'MATNR'.
*set parameter id 'MAT' field rs_selfield-value.
*call transaction 'MM03' AND SKIP FIRST SCREEN.
message i023 with rs_selfield-value.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = rs_selfield-value
IMPORTING
output = v_mat.
t_object = 'MATERIAL'.
t_id = 'GRUN'.
t_name = v_mat.
t_spras = 'EN'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = t_id
language = t_spras
name = t_name
object = t_object
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
lines = str
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF sy-subrc = 0.
REFRESH i_fieldcat1.
wa_fieldcat1-col_pos = '1'.
"POSITION OF THE COLUMN
wa_fieldcat1-fieldname = 'TDLINE'. "FIELD NAME
wa_fieldcat1-tabname = 'STR'. "NAME OF INTERNAL TABLE
WA_FIELDCAT-ref_tabname = 'MARA'. "FOR REFERENCE
*WA_FIELDCAT-key = 'X'. "MAKING FIELD AS KEY FIELD
wa_fieldcat1-emphasize = 'C210'.
wa_fieldcat1-outputlen = 72.
"OUTPUT LENGTH FOR FIELD
wa_fieldcat1-seltext_s = 'LONG TEXT'. "SHORT TEXT FOR HEADER
WA_FIELDCAT-hotspot = 'X'.
APPEND wa_fieldcat1 TO i_fieldcat1.
"APPEND NEW LINE AT THE END
CLEAR wa_fieldcat1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = i_fieldcat1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = i_eventcat1
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = str
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDIF.
*endif.
ENDCASE.
ENDFORM. " zf_user_command
&----
*& Form zf_display_alv_grid
&----
text
----
--> p1 text
<-- p2 text
----
FORM zf_display_alv_grid .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
i_callback_pf_status_set = 'ZF_PF_STATUS'
i_callback_user_command = 'ZF_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = wa_layout
it_fieldcat = i_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = it_variant1
it_events = i_eventcat
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_mara
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " zf_display_alv_grid
&----
*& Form zf_layout
&----
text
----
--> p1 text
<-- p2 text
----
FORM zf_layout .
CLEAR wa_layout.
wa_layout-zebra = 'X'.
wa_layout-lights_fieldname = 'V_LIGHTS'.
wa_layout-lights_tabname = 'IT_MARA'.
wa_layout-box_fieldname = 'V_BOX'.
wa_layout-box_tabname = 'IT_MARA'.
ENDFORM. " zf_layout
&----
*& Form zf_final_layout
&----
text
----
--> p1 text
<-- p2 text
----
FORM zf_final_layout .
LOOP AT it_mara INTO wa_mara.
DATA: v_mat TYPE matnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = wa_mara-matnr
IMPORTING
output = v_mat.
t_object = 'MATERIAL'.
t_id = 'GRUN'.
t_name = v_mat.
t_spras = 'EN'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
id = t_id
language = t_spras
name = t_name
object = t_object
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
lines = str
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sy-subrc = 0.
READ TABLE str INDEX 1 INTO wa_str-tdline.
IF wa_str-tdline = '* IMPORTANT'.
wa_mara-v_lights = '3'.
MODIFY it_mara FROM wa_mara TRANSPORTING v_lights.
ELSE.
wa_mara-v_lights = '2'.
MODIFY it_mara FROM wa_mara TRANSPORTING v_lights.
ENDIF.
ELSE.
wa_mara-v_lights = '1'.
MODIFY it_mara FROM wa_mara TRANSPORTING v_lights.
ENDIF.
ENDLOOP.
ENDFORM. " zf_final_layout
&----
*& Form bdc_dynpro
&----
text
----
-->P_0610 text
-->P_0611 text
----
FORM bdc_dynpro USING program dynpro.
CLEAR it_tab.
it_tab-program = program.
it_tab-dynpro = dynpro.
it_tab-dynbegin = 'X'.
APPEND it_tab.
ENDFORM. " bdc_dynpro
&----
*& Form bdc_field
&----
text
----
-->P_0624 text
-->P_0625 text
----
FORM bdc_field USING fnam fval.
CLEAR it_tab.
it_tab-fnam = fnam.
it_tab-fval = fval.
APPEND it_tab.
ENDFORM. " bdc_field
&----
*& Form zf_top_of_page
&----
text
----
--> p1 text
<-- p2 text
----
FORM zf_top_of_page .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheader
i_logo = 'ENJOYSAP_LOGO'
I_END_OF_LIST_GRID =
.
ENDFORM. " zf_top_of_page
&----
*& Form ZF_BUILD_LISTHEADER
&----
text
----
-->P_IT_LISTHEADER text
----
FORM zf_build_listheader USING p_it_listheader TYPE
slis_t_listheader.
DATA: l_listheader TYPE slis_listheader.
REFRESH p_it_listheader.
CLEAR l_listheader.
l_listheader-typ = 'H'. "Header
l_listheader-key = 'FCIL,INDIA'. "Ignored for "Header" Type
l_listheader-info = 'FUJITSU CONSULTING INDIA LIMITED'.
APPEND l_listheader TO p_it_listheader.
CLEAR l_listheader.
l_listheader-typ = 'S'.
l_listheader-key = 'DATE'.
l_listheader-info = sy-datum.
APPEND l_listheader TO p_it_listheader.
CLEAR l_listheader.
l_listheader-typ = 'S'.
l_listheader-key = 'TIME'.
l_listheader-info = sy-uzeit.
APPEND l_listheader TO p_it_listheader.
CLEAR l_listheader.
l_listheader-typ = 'S'.
l_listheader-key = 'COMMENT'."Ignored for "action" Type
l_listheader-info = 'Possibilities are infinite'.
APPEND l_listheader TO p_it_listheader.
ENDFORM. " ZF_BUILD_LISTHEADER
&----
*& Form zf_pf_status
&----
text
----
--> p1 text
<-- p2 text
----
FORM ZF_PF_STATUS USING rt_extab TYPE slis_t_extab .
SET PF-STATUS 'KUSH_MENU1'.
ENDFORM. " zf_pf_status
&----
*& Form zf_display_alv_list
&----
text
----
--> p1 text
<-- p2 text
----
FORM zf_display_alv_list .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
is_layout = wa_layout
it_fieldcat = i_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = i_eventcat
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_mara
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " zf_display_alv_list
***&----
****& Form ZF_DOWNLOAD
***&----
text
***----
--> p1 text
<-- p2 text
***----
***FORM zf_download .
v_path = p_path.
***
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = 'C:\DOCUMENTS AND SETTINGS\KUSHARMA\DESKTOP\TEST.DOC'
filetype = 'DOC'
append = 'X'
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = it_mara
FIELDNAMES =
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
***ENDFORM. " ZF_DOWNLOAD
&----
*& Form VARIANT_F4
&----
text
----
--> p1 text
<-- p2 text
----
FORM variant_f4 .
it_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = it_variant
I_TABNAME_HEADER =
I_TABNAME_ITEM =
IT_DEFAULT_FIELDCAT =
i_save = 'A'
i_display_via_grid = 'X'
IMPORTING
E_EXIT =
es_variant = it_variant1
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3
.
IF sy-subrc = 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
p_var = it_variant1-variant.
ELSE.
CLEAR it_variant1.
ENDIF.
ENDFORM. " VARIANT_F4
&----
*& Form check_p_var
&----
text
----
--> p1 text
<-- p2 text
----
form check_p_var .
IF NOT P_VAR IS INITIAL.
IT_VARIANT-REPORT = SY-REPID.
IT_VARIANT-VARIANT = P_VAR.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = 'A'
CHANGING
cs_variant = IT_VARIANT
EXCEPTIONS
WRONG_INPUT = 1
NOT_FOUND = 2
PROGRAM_ERROR = 3
OTHERS = 4
.
IF sy-subrc = 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
CLEAR IT_VARIANT1.
MOVE P_VAR TO IT_VARIANT1-VARIANT.
MOVE SY-REPID TO IT_VARIANT1-REPORT.
ENDIF.
Else.
clear it_variant.
endif.
endform. " check_p_var