REPORT gos_update_url .
TABLES : kna1.
SELECTION-SCREEN : BEGIN OF BLOCK sel WITH FRAME TITLE text-001.
SELECT-OPTIONS : p_key FOR kna1-kunnr.
SELECTION-SCREEN : END OF BLOCK sel.
DATA: BEGIN OF itab_wa,
kunnr LIKE kna1-kunnr,
END OF itab_wa.
DATA: itab LIKE itab_wa OCCURS 0 WITH HEADER LINE.
DATA :p_bo TYPE swotentry-objtype.
DATA :p_url TYPE soli .
p_url = 'www.sdn.sap.com'.
p_bo = 'KNA1'.
DATA: lv_object_a TYPE sibflporb,
lv_object_b TYPE sibflporb,
lv_reltyp TYPE mdoblrel-reltype,
lv_folder TYPE soodk,
lv_doc TYPE soodk,
lv_object TYPE sood1,
lv_file TYPE rlgrap-filename,
lv_name TYPE sood-objdes,
lv_type TYPE sood-file_ext,
lv_filename TYPE filep,
lv_fileextn TYPE dappl,
lv_length TYPE i,
lv_offset TYPE i,
lv_full_lines TYPE i,
lv_last_length TYPE i,
lv_tdname LIKE thead-tdname,
lt_tline TYPE TABLE OF tline,
wa_tline TYPE tline,
lt_links TYPE TABLE OF bapi_doc_drad_select,
wa_links TYPE bapi_doc_drad_select,
lv_dktxt TYPE dktxt,
lv_ltxin TYPE ltxin,
it_content TYPE STANDARD TABLE OF soli,
URL_content TYPE STANDARD TABLE OF soli,
wa_content TYPE soli.
DATA : lt_srgbtbrel TYPE srgbtbrel OCCURS 10.
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
region = 'B'
IMPORTING
folder_id = lv_folder
EXCEPTIONS
communication_failure = 1
owner_not_exist = 2
system_failure = 3
x_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
ENDIF.
lv_object-objla = 'EN'.
lv_object-objnam = 'MESSAGE'.
lv_object-objdes = 'test'.
break developer.
*CONCATENATE '&KEY&' p_url INTO wa_content-line.
APPEND wa_content TO it_content.
PERFORM populate_itab.
CALL FUNCTION 'SO_DOCUMENT_INSERT'
EXPORTING
parent_id = lv_folder
object_hd_change = lv_object
document_type = 'URL'
IMPORTING
document_id = lv_doc
TABLES
objcont_text = it_content
EXCEPTIONS
active_user_not_exist = 1
dl_name_exist = 2
folder_not_exist = 3
folder_no_authorization = 4
object_type_not_exist = 5
operation_no_authorization = 6
owner_not_exist = 7
parameter_error = 8
substitute_not_active = 9
substitute_not_defined = 10
x_error = 11
OTHERS = 12.
IF sy-subrc EQ 0.
LOOP AT itab.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE lt_srgbtbrel
FROM srgbtbrel
WHERE instid_a = itab-kunnr
AND typeid_a = p_bo
AND reltype = 'URL'.
IF LINES( lt_srgbtbrel ) IS INITIAL.
MOVE: itab-kunnr TO lv_object_a-instid,
p_bo TO lv_object_a-typeid,
'BO' TO lv_object_a-catid.
CONCATENATE lv_folder-objtp lv_folder-objyr lv_folder-objno
lv_doc-objtp lv_doc-objyr lv_doc-objno
INTO lv_object_b-instid.
lv_object_b-typeid = 'MESSAGE'.
lv_object_b-catid = 'BO'.
TRY.
CALL METHOD cl_binary_relation=>create_link
EXPORTING
is_object_a = lv_object_a
is_object_b = lv_object_b
ip_reltype = 'URL'.
CATCH cx_obl_parameter_error .
CATCH cx_obl_model_error .
CATCH cx_obl_internal_error .
ENDTRY.
ELSE.
SKIP .
ENDIF.
ENDLOOP.
COMMIT WORK.
REFRESH : itab, it_content.
CLEAR : itab, it_content.
SET SCREEN 0.
ENDIF.
*&---------------------------------------------------------------------*
*& Form POPULATE_ITAB
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM populate_itab .
LOOP AT p_key .
IF p_key-sign = 'I'.
IF p_key-option = 'EQ'.
itab_wa-kunnr = p_key-low.
APPEND itab_wa TO itab.
ELSEIF p_key-option = 'BT'.
DO.
itab_wa-kunnr = p_key-low.
APPEND itab_wa TO itab.
IF p_key-low EQ p_key-high.
EXIT.
ELSE.
ENDIF.
ENDDO.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " POPULATE_ITAB
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment