Documente Academic
Documente Profesional
Documente Cultură
REPORT Z_NOTE_1871755_MSG.
TYPES: t_switch_id TYPE char30, "sfw_switch_id does not exist in SAP_BASIS 640
t_bfunction TYPE char30, "sfw_bfunction does not exist in SAP_BASIS 640
BEGIN OF t_bf_sw, "sfw_bf_sw
switch_id TYPE t_switch_id,
version,
bfunction TYPE t_bfunction,
no_check,
END OF t_bf_sw,
BEGIN OF
dd43v,typename(30),seckeyname(30),ddlanguage,seckeyunique,accessmode,kind,keydescri
ption(80),END OF dd43v.
*&---------------------------------------------------------------------*
*& Form bal_callback_ucomm
*&---------------------------------------------------------------------*
* called from ballog, e.g. during double click
*----------------------------------------------------------------------*
FORM bal_callback_ucomm CHANGING c_state TYPE bal_s_cbuc. "#EC CALLED
DATA: ls_msg TYPE bal_s_msg,
l_date(8),
ls_tadir TYPE adir_key.
CASE c_state-ucomm.
WHEN '%LONGTEXT' OR '&IC1'.
CALL FUNCTION 'BAL_LOG_MSG_READ'
EXPORTING
i_s_msg_handle = c_state-list_msgh
IMPORTING
e_s_msg = ls_msg
EXCEPTIONS
log_not_found = 1
msg_not_found = 2
OTHERS = 3.
IF ls_msg-msgid EQ 'DO' AND ls_msg-msgno EQ '626'.
"MESSAGE i626(do) WITH 'Click this message to view' 'detailed activation
logs with name' l_logname INTO sy-lisel. "#EC *
SPLIT ls_msg-msgv3 AT ':' INTO sy-lisel l_date.
SUBMIT radprotb WITH protname EQ ls_msg-msgv3
WITH date EQ l_date
* with TIME
* with USER
AND RETURN.
c_state-ucomm_exec = 'X'.
ELSEIF c_state-ucomm EQ '&IC1'.
ls_tadir = ls_msg-context-value.
CHECK ls_tadir-object IS NOT INITIAL.
CALL FUNCTION 'RS_TOOL_ACCESS'
EXPORTING
operation = 'SHOW'
object_name = ls_tadir-obj_name
object_type = ls_tadir-object
EXCEPTIONS
OTHERS = 1.
CHECK sy-subrc EQ 0.
c_state-ucomm_exec = 'X'.
ENDIF.
ENDCASE.
ENDFORM. "bal_callback_ucomm
*&---------------------------------------------------------------------*
*& Form bdc_field
*&---------------------------------------------------------------------*
DEFINE bdc_field.
clear: ls_bdc.
ls_bdc-fnam = &1.
ls_bdc-fval = &2.
append ls_bdc to lt_bdc.
END-OF-DEFINITION.
*&---------------------------------------------------------------------*
*& Form bdc_field
*&---------------------------------------------------------------------*
DEFINE bdc_screen.
clear ls_bdc.
ls_bdc-program = &1.
ls_bdc-dynpro = &2.
ls_bdc-dynbegin = 'X'.
append ls_bdc to lt_bdc.
END-OF-DEFINITION.
*----------------------------------------------------------------------*
* CLASS lcl_wb DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_wb DEFINITION.
PUBLIC SECTION.
CLASS-METHODS init
IMPORTING
value(i_note) TYPE clike OPTIONAL "note which indicates that report
is not needed anymore
value(i_cinst) TYPE cwbcialeid OPTIONAL "correction instruction which
describes the validity of the report
EXCEPTIONS
stop_processing.
CLASS-METHODS get_object_text
IMPORTING
i_object TYPE e071-object "e.g. TABD
i_obj_name TYPE c OPTIONAL "for DOCU
RETURNING value(r_text) TYPE string.
CLASS-METHODS create_dtel
IMPORTING
i_rollname TYPE rollname
i_domname TYPE domname
i_datatype TYPE dd04v-domname OPTIONAL "only needed if domain is
initial
i_decimals TYPE dd04v-decimals OPTIONAL "only needed if rollname is
initial
i_leng TYPE dd04v-leng OPTIONAL "only needed if domain is
initial
i_devclass TYPE devclass
i_logflag TYPE logflag DEFAULT 'X'
i_memoryid TYPE dd04v-memoryid OPTIONAL
i_headlen TYPE dd04v-headlen OPTIONAL "defaulted with fieldlen
i_scrlen1 TYPE dd04v-scrlen1 DEFAULT 10
i_scrlen2 TYPE dd04v-scrlen2 DEFAULT 15
i_scrlen3 TYPE dd04v-scrlen3 DEFAULT 20
i_langu TYPE sylangu
i_ddtext TYPE ddtext
i_reptext TYPE reptext OPTIONAL
i_scrtext_m TYPE scrtext_m
i_scrtext_l TYPE scrtext_l
i_scrtext_s TYPE scrtext_s
i_shlpname TYPE shlpname OPTIONAL
i_shlpfield TYPE shlpfield OPTIONAL
i_deffdname TYPE deffdname OPTIONAL
i_proxytype TYPE ddproxyty OPTIONAL.
CLASS-METHODS create_message
IMPORTING
i_msgid TYPE msgid
i_msgno TYPE msgno
i_langu TYPE sylangu DEFAULT 'E' "Default EN
i_text TYPE natxt
i_selfdef TYPE doku_selfd DEFAULT 'X'.
CLASS-METHODS create_dtel_docu
IMPORTING
i_rollname TYPE rollname
i_langu TYPE sylangu DEFAULT 'E' "Default EN
i_line TYPE string OPTIONAL "all lines get collected until i_line is
omitted
EXPORTING
et_lines TYPE tline_tab.
CLASS-METHODS create_mess_docu
IMPORTING
i_msgid TYPE msgid
i_msgno TYPE msgno
i_langu TYPE sylangu DEFAULT 'E' "Default EN
i_line TYPE string OPTIONAL "all lines get collected until i_line is
omitted
EXPORTING
et_lines TYPE tline_tab.
CLASS-METHODS add_to_transport
IMPORTING
i_object TYPE e071-object "TABD
i_obj_name TYPE c "flexible number of characters
i_devclass TYPE devclass OPTIONAL
i_langu TYPE sylangu OPTIONAL
EXCEPTIONS
error
simulation.
CLASS-METHODS register_inactive_object
IMPORTING
i_objtype TYPE e071-object
i_treetype TYPE e071-object OPTIONAL "space = do not update tree,
optionally different type in tree, e.g. TABL vs. CDS
i_objname TYPE c.
CLASS-METHODS log_message.
CLASS-METHODS display_log.
CLASS-METHODS set_context
IMPORTING i_object TYPE e071-object
i_obj_name TYPE c
i_obj_name2 TYPE c OPTIONAL
i_text TYPE c OPTIONAL
i_langu TYPE sylangu.
CLASS-METHODS activate
IMPORTING i_result_auth_check TYPE sysubrc OPTIONAL.
CLASS-METHODS mass_activation
IMPORTING
i_step TYPE i DEFAULT 1
i_inactive TYPE c OPTIONAL
i_ddmode TYPE ddmode DEFAULT 'O'
i_logname TYPE c
EXCEPTIONS
error.
ENDCLASS. "lcl_wb DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_dcm_to_po_bridge IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS lcl_wb IMPLEMENTATION.
METHOD init.
CLEAR gv_errors_occured.
"Main check: Last changed by SAP -> Report came via SP / Upgrade
"==> no execution anymore.
IF sy-repid NE 'SAP_LOCAL_DOWNPORT_ASSISTANT' AND sy-repid(1) NE '%'.
SELECT SINGLE prog FROM d010sinf INTO sy-lisel
WHERE prog EQ sy-repid
AND ( unam EQ 'SAP' OR cnam EQ 'SAP' ).
IF sy-subrc EQ 0.
MESSAGE w666(01) WITH 'The neccessary changes already came' 'via support
package.' 'Report execution not required anymore.' INTO sy-lisel. "#EC *
CALL METHOD log_message.
CALL METHOD display_log.
RAISE stop_processing.
ENDIF.
ENDIF.
IF testrun IS INITIAL.
MESSAGE i666(01) WITH 'Running in Update Mode' INTO sy-lisel. "#EC *
ELSE.
MESSAGE w666(01) WITH 'Running in Test Mode' INTO sy-lisel. "#EC *
ENDIF.
CALL METHOD log_message.
ENDMETHOD. "init
METHOD get_object_text.
IF lt_object_text IS INITIAL.
CALL FUNCTION 'TR_OBJECT_TABLE'
TABLES
wt_object_text = lt_object_text.
SORT lt_object_text BY object.
IF i_object EQ 'DOCU'.
READ TABLE lt_doktypes INTO ls_doktype BINARY SEARCH
WITH KEY domvalue_l = i_obj_name(2).
IF sy-subrc EQ 0.
CONCATENATE 'Documentation' ls_doktype-ddtext INTO r_text SEPARATED BY
space. "#EC NOTEXT
ELSE.
r_text = 'Documentation'. "#EC NOTEXT
ENDIF.
ELSEIF i_object IS NOT INITIAL.
READ TABLE lt_object_text INTO ls_object_text BINARY SEARCH
WITH KEY object = i_object. "ignore PGMID!
IF sy-subrc EQ 0.
r_text = ls_object_text-text.
ENDIF.
ENDIF.
ENDMETHOD. "get_object_text
METHOD create_dtel.
DATA: ls_dd04v TYPE dd04v,
l_gotstate,
ls_rollname LIKE LINE OF gr_domname VALUE 'IEQ'.
ls_rollname-low = i_rollname.
COLLECT ls_rollname INTO gr_rollname.
ls_dd04v-ddlanguage = i_langu.
ls_dd04v-ddtext = i_ddtext.
ls_dd04v-scrtext_s = i_scrtext_s.
ls_dd04v-scrlen1 = i_scrlen1.
ls_dd04v-scrtext_m = i_scrtext_m.
ls_dd04v-scrlen2 = i_scrlen2.
ls_dd04v-scrtext_l = i_scrtext_l.
ls_dd04v-scrlen3 = i_scrlen3.
IF i_reptext IS NOT INITIAL.
ls_dd04v-reptext = i_reptext.
IF i_headlen IS INITIAL.
ls_dd04v-headlen = strlen( i_reptext ).
ELSE.
ls_dd04v-headlen = i_headlen.
ENDIF.
ENDIF.
IF gv_copy_translation IS INITIAL.
ls_dd04v-rollname = i_rollname.
ls_dd04v-domname = i_domname.
IF ls_dd04v-domname IS INITIAL.
ls_dd04v-datatype = i_datatype.
ls_dd04v-decimals = i_decimals.
ls_dd04v-leng = i_leng.
ENDIF.
ls_dd04v-shlpname = i_shlpname.
ls_dd04v-shlpfield = i_shlpfield.
ls_dd04v-deffdname = i_deffdname.
ls_dd04v-logflag = i_logflag.
ls_dd04v-memoryid = i_memoryid.
ls_dd04v-proxytype = i_proxytype.
IF sy-subrc NE 0.
CALL METHOD log_message.
RETURN.
ELSE.
MESSAGE i666(01) WITH 'Update successful' INTO sy-lisel. "#EC *
CALL METHOD log_message.
ENDIF.
ELSE.
DATA: ls_dd04l TYPE dd04l,
ls_dd04t TYPE dd04t,
lt_dd04t TYPE TABLE OF dd04t.
MOVE-CORRESPONDING ls_dd04v TO: ls_dd04l, ls_dd04t.
APPEND ls_dd04t TO lt_dd04t.
TRANSLATE l_gotstate USING 'MN'.
CALL FUNCTION 'DD_DTEL_PUT'
EXPORTING
dd04l_wa = ls_dd04l
prid = -2 "no_log
put_state = l_gotstate
rollname = ls_dd04v-rollname
TABLES
dd04t_tab = lt_dd04t
EXCEPTIONS
object_inconsistent = 1
OTHERS = 2.
ENDIF.
ENDMETHOD. "create_dtel
METHOD activate.
IF testrun IS INITIAL.
MESSAGE s357(scwn).
CALL FUNCTION 'RS_WORKING_OBJECT_ACTIVATE'
EXPORTING
dictionary_only = 'X'
TABLES
objects = lt_dwinactiv
EXCEPTIONS
OTHERS = 5.
ENDIF.
CLEAR l_message.
IF sy-subrc EQ 0.
LOOP AT gr_dbtabname INTO ls_tabname WHERE low IS NOT INITIAL.
"make a test SELECT * FROM table UP TP 1 ROWS to see whether it is
really consistent
"go via RFC to have the chance to catch short dumps
CALL FUNCTION 'RFC_READ_TABLE' DESTINATION 'NONE' "#EC FB_PAR_MIS
EXPORTING
query_table = ls_tabname-low
rowcount = 1
EXCEPTIONS
system_failure = 1 MESSAGE l_message
table_not_available = 0
OTHERS = 0.
IF sy-subrc <> 0.
MESSAGE e666(01) WITH l_message INTO sy-lisel. "#EC *
CALL METHOD log_message.
ENDIF.
ENDLOOP.
IF sy-subrc EQ 0.
MESSAGE s666(01) WITH 'DDIC activation successful' INTO sy-lisel. "#EC *
CALL METHOD log_message.
MESSAGE i626(do) WITH 'Click this message to view' 'detailed activation
logs with name' l_logname INTO sy-lisel. "#EC *
CALL METHOD log_message.
ELSE.
"make sure that the objects appear as inactive; corresponding are removed
by DDIC activation phase 1 although phase 2 or 3 may fail.
MODIFY dwinactiv FROM TABLE lt_dwinactiv_ddic.
MESSAGE e626(do) WITH 'Click this message to view' 'detailed activation
logs with name' l_logname INTO sy-lisel. "#EC *
CALL METHOD log_message.
ENDIF.
METHOD mass_activation.
AND RETURN.
ENDMETHOD. "mass_activation
METHOD add_to_transport.
STATICS: s_object LIKE i_object,
s_obj_name TYPE string,
s_subrc TYPE sysubrc.
CLEAR sy-subrc.
CHECK gv_copy_translation IS INITIAL.
CHECK testrun IS INITIAL.
IF i_object NE s_object OR
i_obj_name NE s_obj_name.
s_object = i_object.
s_obj_name = i_obj_name.
CASE i_object.
WHEN 'REPT' OR 'FUNC' OR 'CUAD' OR 'DOCU'.
l_object_class = i_object.
l_object_name = i_obj_name.
WHEN 'DOCV' OR 'DOCT' OR 'DSYS' OR 'STCS' OR 'MSAG'
OR 'SFRN' OR 'OSOD'. "logical transport object
l_object_class = i_object.
l_object_name = i_obj_name.
l_global_lock = 'X'.
l_extend = 'X'.
l_tadir_name = i_obj_name.
WHEN 'MESS'.
l_object_class = 'T100'.
l_object_name = i_obj_name.
WHEN 'CLAS' OR 'FUGR' OR 'PARA' OR 'VCLS' OR 'AUTH'.
l_object_class = i_object.
l_object_name = i_obj_name.
l_tadir_name = i_obj_name.
l_global_lock = 'X'.
WHEN 'DOMA' OR 'DTEL' OR 'TABL' OR 'VIEW' OR 'INDX' OR 'TTYP' OR 'SHLP'.
l_object_class = 'DICT'.
CONCATENATE i_object i_obj_name
INTO l_object_name.
l_tadir_name = i_obj_name.
WHEN OTHERS.
l_object_class = i_object.
l_object_name = i_obj_name.
ENDCASE.
ENDIF.
IF s_subrc NE 0.
MESSAGE e666(01) WITH 'Could not add to transport request' INTO sy-lisel.
"#EC *
CALL METHOD log_message.
RAISE error.
ENDIF.
ENDMETHOD. "add_to_transport
METHOD register_inactive_object.
l_obj_name = i_objname.
CALL FUNCTION 'RS_INSERT_INTO_WORKING_AREA'
EXPORTING
object = i_objtype
obj_name = l_obj_name
EXCEPTIONS
wrong_object_name = 1
OTHERS = 2.
IF i_treetype IS SUPPLIED.
CHECK i_treetype NE space.
CALL FUNCTION 'RS_TREE_OBJECT_PLACEMENT'
EXPORTING
type = i_treetype
object = l_obj_name.
ELSE.
CALL FUNCTION 'RS_TREE_OBJECT_PLACEMENT'
EXPORTING
type = i_objtype
object = l_obj_name.
ENDIF.
ENDMETHOD. "register_inactive_object
METHOD create_message.
ls_msg_class-low = i_msgid.
COLLECT ls_msg_class INTO gr_msg_class.
CALL METHOD set_context
EXPORTING
i_langu = i_langu
i_object = 'MESS'
i_obj_name = i_msgid
i_obj_name2 = i_msgno.
* ls_bdc-fnam = 'BDC_CURSOR'.
* ls_bdc-fval = 'MSG_NUMMER'.
* APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'RSDAG-ARBGB'.
ls_bdc-fval = i_msgid.
APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'MSG_NUMMER'.
ls_bdc-fval = i_msgno.
APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'RSDAG-MSGFLAG'.
ls_bdc-fval = 'X'.
APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'BDC_OKCODE'.
ls_bdc-fval = '=WB_EDIT'.
APPEND ls_bdc TO lt_bdc.
"-------------------------------------------
ls_bdcp-dynpro = '1000'.
ls_bdcp-dynbegin = 'X'.
APPEND ls_bdcp TO lt_bdc.
ls_bdc-fnam = 'BDC_SUBSCR'.
ls_bdc-fval = 'SAPLWBMESSAGES 0101SUB'.
APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'T100-TEXT(01)'.
ls_bdc-fval = i_text.
APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'LISTTAB-DOKU_FLAG(01)'.
IF i_selfdef IS INITIAL.
ls_bdc-fval = ' '.
ELSE.
ls_bdc-fval = 'X'.
ENDIF.
APPEND ls_bdc TO lt_bdc.
ls_bdc-fnam = 'BDC_OKCODE'.
ls_bdc-fval = '=WB_SAVE'.
APPEND ls_bdc TO lt_bdc.
"-------------------------------------------
ls_bdcp-dynpro = '1000'.
ls_bdcp-dynbegin = 'X'.
APPEND ls_bdcp TO lt_bdc.
ls_bdc-fnam = 'BDC_OKCODE'.
ls_bdc-fval = '=WB_BACK'.
APPEND ls_bdc TO lt_bdc.
"-------------------------------------------
ls_bdcp-dynpro = '0100'.
ls_bdcp-dynbegin = 'X'.
APPEND ls_bdcp TO lt_bdc.
ls_bdc-fnam = 'BDC_OKCODE'.
ls_bdc-fval = '=WB_BACK'.
APPEND ls_bdc TO lt_bdc.
ls_opt-dismode = 'E'.
ls_opt-racommit = 'X'.
ls_opt-nobinpt = 'X'.
ls_opt-nobiend = 'X'.
"-------------------------------------------
CALL TRANSACTION 'SE91' USING lt_bdc OPTIONS FROM ls_opt.
ELSE.
"update translation only
ls_t100-arbgb = i_msgid.
ls_t100-msgnr = i_msgno.
ls_t100-sprsl = i_langu.
ls_t100-text = i_text.
MODIFY t100 FROM ls_t100. "no activation needed
ENDIF.
MESSAGE i666(01) WITH 'Update successful' INTO sy-lisel. "#EC *
CALL METHOD log_message.
gv_translation = 'X'.
gv_repository_changed = 'X'.
ENDMETHOD. "create_message
METHOD create_mess_docu.
ls_head-tdobject = 'DOKU'.
CONCATENATE i_msgid i_msgno INTO ls_head-tdname.
ls_head-tdid = 'NA'. "Nachricht/Message
ls_head-tdspras = i_langu.
ls_head-tdform = 'S_DOCU_SHOW'.
ls_head-tdstyle = 'S_DOCUS1'.
IF et_lines IS SUPPLIED.
et_lines[] = lt_line[] = lt_line_old[].
RETURN.
ENDIF.
IF lt_line_old[] EQ lt_line.
REFRESH lt_line.
"no update necessary
MESSAGE i666(01) WITH 'No update necessary' INTO sy-lisel. "#EC *
CALL METHOD log_message.
RETURN.
ENDIF.
IF testrun IS INITIAL.
ls_head-tdfdate = sy-datum.
ls_head-tdftime = sy-uzeit.
ls_head-tdfuser = sy-uname.
ls_head-tdldate = sy-datum.
ls_head-tdltime = sy-uzeit.
ls_head-tdluser = sy-uname.
ENDMETHOD. "create_mess_docu
METHOD create_dtel_docu.
ls_head-tdobject = 'DOKU'.
ls_head-tdname = i_rollname.
ls_head-tdid = 'DE'. "Data element
ls_head-tdspras = i_langu.
ls_head-tdform = 'S_DOCU_SHOW'.
ls_head-tdstyle = 'S_DOCUS1'.
IF et_lines IS SUPPLIED.
et_lines[] = lt_line[] = lt_line_old[].
RETURN.
ENDIF.
IF lt_line_old[] EQ lt_line.
REFRESH lt_line.
"no update necessary
MESSAGE i666(01) WITH 'No update necessary' INTO sy-lisel. "#EC *
CALL METHOD log_message.
RETURN.
ENDIF.
IF testrun IS INITIAL.
ls_head-tdfdate = sy-datum.
ls_head-tdftime = sy-uzeit.
ls_head-tdfuser = sy-uname.
ls_head-tdldate = sy-datum.
ls_head-tdltime = sy-uzeit.
ls_head-tdluser = sy-uname.
ENDMETHOD. "create_dtel_docu
METHOD log_message.
IF ls_msg-msgty CA 'EA'.
gv_errors_occured = 'X'.
ENDIF.
ENDMETHOD. "log_message
METHOD display_log.
IF gv_log_handle IS INITIAL.
lr_filter-sign = 'I'.
lr_filter-option = 'EQ'.
lr_filter-low = c_bal_subobj.
APPEND lr_filter TO ls_filter-subobject.
IF 1 = 1.
"grid
CALL FUNCTION 'BAL_DSP_PROFILE_SINGLE_LOG_GET'
IMPORTING
e_s_display_profile = ls_profile
EXCEPTIONS
OTHERS = 0.
"Set profile
ls_profile-show_all = abap_on.
ls_profile-use_grid = abap_on.
ls_profile-tree_ontop = abap_on.
ls_profile-exp_level = 1.
ls_profile-mess_mark = abap_on.
ELSE.
"tree
CALL FUNCTION 'BAL_DSP_PROFILE_DETLEVEL_GET'
IMPORTING
e_s_display_profile = ls_profile
EXCEPTIONS
OTHERS = 0.
ENDIF.
ls_profile-clbk_ucbf-userexitp = sy-repid.
ls_profile-clbk_ucbf-userexitf = 'BAL_CALLBACK_UCOMM'.
* ls_profile-clbk_ucom-userexitp = sy-repid.
* ls_profile-clbk_ucom-userexitf = 'BAL_CALLBACK_UCOMM'.
* ls_profile-ext_push1-active = 'X'.
* ls_profile-ext_push1-def-text = 'DDIC'.
* ls_profile-ext_push1-def-icon_id = icon_history.
* ls_profile-ext_push1-def-icon_text = 'DDIC'.
* ls_profile-ext_push1-def-quickinfo = 'DDIC Activation log'.
ENDMETHOD. "display_log
METHOD set_context.
ls_key-i_object = i_object.
ls_key-i_obj_name = i_obj_name.
ls_key-i_obj_name2 = i_obj_name2.
ls_key-i_text = i_text.
ls_key-i_langu = i_langu.
IF ls_key EQ lss_key. "check last key
"avoid double message like "add field to table"
RETURN.
ELSE.
lss_key = ls_key.
ENDIF.
ls_context-object = i_object.
CONCATENATE i_obj_name i_obj_name2 INTO ls_context-obj_name.
ls_msg_defaults-log_handle = gv_log_handle.
ls_msg_defaults-context-value = ls_context.
ls_msg_defaults-context-tabname = c_bal_context.
IF ls_tadir IS INITIAL.
l_mode = 'Create'. "#EC NOTEXT
ELSE.
l_mode = 'Change'. "#EC NOTEXT
"check if object has been manually modified by customer.
SELECT COUNT( * ) FROM adiraccess WHERE pgmid EQ ls_tadir-pgmid
AND object EQ ls_tadir-object
AND obj_name EQ ls_tadir-obj_name.
IF sy-dbcnt NE 0.
MESSAGE w666(01) WITH ls_tadir-object ls_tadir-obj_name 'was manually
changed before.' 'Please adjust manually afterwards' INTO sy-lisel. "#EC *
CALL METHOD log_message.
ENDIF.
ENDIF.
ENDIF.
IF i_text IS INITIAL.
CALL METHOD get_object_text
EXPORTING
i_object = i_object
i_obj_name = i_obj_name
RECEIVING
r_text = l_text.
ENDMETHOD. "set_context
ENDCLASS. "lcl_wb IMPLEMENTATION
START-OF-SELECTION.
PERFORM action.
*&---------------------------------------------------------------------*
FORM action.
*
*"-- LIMU DOCU NA/FSPAM/_PYMT_ADV058 (language: EN , source: FHD )
* CALL METHOD lcl_wb=>create_mess_docu "#EC *
* EXPORTING
* i_msgid = '/FSPAM/_PYMT_ADV'
* i_msgno = '058'
* i_langu = 'E'
* i_line =:'U1 &CAUSE&',
"#EC NOTEXT
* 'AS Payment Advice Category &SYST-MSGV1& is not
customizied', "#EC NOTEXT
* 'U1 &SYSTEM_RESPONSE&',
"#EC NOTEXT
* 'AS PPO is created with Business Process ''/FSPAM''',
"#EC NOTEXT
* 'U1 &WHAT_TO_DO&',
"#EC NOTEXT
* 'AS Customize your payment advice category in the following
link', "#EC NOTEXT
* '= <DS:SIMG./FSPAM/_V_PAC>Define Payment Advice
Category</>', "#EC NOTEXT
* 'U1 &SYS_ADMIN&',
"#EC NOTEXT
* 'AS',
"#EC NOTEXT
* space.
ENDIF.