<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sapwiki.cl/wiki/index.php?action=history&amp;feed=atom&amp;title=SAP_ABAP_CLASES_CL_FITV_GOS</id>
	<title>SAP ABAP CLASES CL FITV GOS - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sapwiki.cl/wiki/index.php?action=history&amp;feed=atom&amp;title=SAP_ABAP_CLASES_CL_FITV_GOS"/>
	<link rel="alternate" type="text/html" href="https://sapwiki.cl/wiki/index.php?title=SAP_ABAP_CLASES_CL_FITV_GOS&amp;action=history"/>
	<updated>2026-10-26T12:49:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://sapwiki.cl/wiki/index.php?title=SAP_ABAP_CLASES_CL_FITV_GOS&amp;diff=1781&amp;oldid=prev</id>
		<title>WikiSysop: Created page with &quot; &lt;nowiki&gt; *&amp;---------------------------------------------------------------------* *&amp; Report  YTESTURL *&amp; *&amp;-------------------------------------------------------------------...&quot;</title>
		<link rel="alternate" type="text/html" href="https://sapwiki.cl/wiki/index.php?title=SAP_ABAP_CLASES_CL_FITV_GOS&amp;diff=1781&amp;oldid=prev"/>
		<updated>2026-06-26T01:25:57Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; &amp;lt;nowiki&amp;gt; *&amp;amp;---------------------------------------------------------------------* *&amp;amp; Report  YTESTURL *&amp;amp; *&amp;amp;-------------------------------------------------------------------...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &amp;lt;nowiki&amp;gt;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp; Report  YTESTURL&lt;br /&gt;
*&amp;amp;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp;&lt;br /&gt;
*&amp;amp;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
&lt;br /&gt;
REPORT  ytestjpg.&lt;br /&gt;
&lt;br /&gt;
types: begin of t_file_line,&lt;br /&gt;
           data(2550) type X,&lt;br /&gt;
       end of t_file_line.&lt;br /&gt;
&lt;br /&gt;
   data    lt_file_table type TABLE OF t_file_line.&lt;br /&gt;
     DATA: l_file_length    TYPE i.&lt;br /&gt;
     data lv_content type XSTRING.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       DATA: it_content  LIKE STANDARD TABLE OF soli,&lt;br /&gt;
        wa_content  LIKE soli.&lt;br /&gt;
&lt;br /&gt;
       data ls_lporb type sibflporb.&lt;br /&gt;
data lv_objtyp type so_obj_tp.&lt;br /&gt;
data lt_return_attach type bapirettab.&lt;br /&gt;
&lt;br /&gt;
DATA gt_data TYPE TABLE OF string.&lt;br /&gt;
&lt;br /&gt;
DATA folder_id    TYPE sofdk.&lt;br /&gt;
DATA l_title      TYPE sood-objdes.&lt;br /&gt;
DATA l_url        TYPE so_url.&lt;br /&gt;
DATA rel_doc      TYPE borident.&lt;br /&gt;
DATA document_id  TYPE sofmk.&lt;br /&gt;
DATA ls_objcont   TYPE soli.&lt;br /&gt;
DATA l_tab_size   TYPE i.&lt;br /&gt;
DATA l_url_id     TYPE so_url.&lt;br /&gt;
DATA l_obj_id     TYPE soodk.&lt;br /&gt;
DATA l_obj_data   TYPE sood1.&lt;br /&gt;
&lt;br /&gt;
DATA lt_objhead   TYPE STANDARD TABLE OF soli.&lt;br /&gt;
DATA lt_objcont   TYPE STANDARD TABLE OF soli.&lt;br /&gt;
DATA lt_urltab    TYPE STANDARD TABLE OF sood-objdes.&lt;br /&gt;
DATA ls_borid TYPE borident.&lt;br /&gt;
&lt;br /&gt;
*--------------------------------------------------------------------*&lt;br /&gt;
*&lt;br /&gt;
*--------------------------------------------------------------------*&lt;br /&gt;
PARAMETERS p_file TYPE string LOWER CASE OBLIGATORY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*--------------------------------------------------------------------*&lt;br /&gt;
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;br /&gt;
*--------------------------------------------------------------------*&lt;br /&gt;
  PERFORM get_file USING p_file.&lt;br /&gt;
&lt;br /&gt;
START-OF-SELECTION.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &amp;#039;GUI_UPLOAD&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      filename                      = p_file&lt;br /&gt;
   FILETYPE                      = &amp;#039;BIN&amp;#039;&lt;br /&gt;
*   HAS_FIELD_SEPARATOR           = &amp;#039; &amp;#039;&lt;br /&gt;
*   HEADER_LENGTH                 = 0&lt;br /&gt;
*   READ_BY_LINE                  = &amp;#039;X&amp;#039;&lt;br /&gt;
*   DAT_MODE                      = &amp;#039; &amp;#039;&lt;br /&gt;
*   CODEPAGE                      = &amp;#039; &amp;#039;&lt;br /&gt;
*   IGNORE_CERR                   = ABAP_TRUE&lt;br /&gt;
*   REPLACEMENT                   = &amp;#039;#&amp;#039;&lt;br /&gt;
*   CHECK_BOM                     = &amp;#039; &amp;#039;&lt;br /&gt;
*   VIRUS_SCAN_PROFILE            =&lt;br /&gt;
*   NO_AUTH_CHECK                 = &amp;#039; &amp;#039;&lt;br /&gt;
 IMPORTING&lt;br /&gt;
   FILELENGTH                    =  l_file_length&lt;br /&gt;
*   HEADER                        =&lt;br /&gt;
    TABLES&lt;br /&gt;
      data_tab                      = it_content&lt;br /&gt;
 EXCEPTIONS&lt;br /&gt;
   file_open_error               = 1&lt;br /&gt;
   file_read_error               = 2&lt;br /&gt;
   no_batch                      = 3&lt;br /&gt;
   gui_refuse_filetransfer       = 4&lt;br /&gt;
   invalid_type                  = 5&lt;br /&gt;
   no_authority                  = 6&lt;br /&gt;
   unknown_error                 = 7&lt;br /&gt;
   bad_data_format               = 8&lt;br /&gt;
   header_not_allowed            = 9&lt;br /&gt;
   separator_not_allowed         = 10&lt;br /&gt;
   header_too_long               = 11&lt;br /&gt;
   unknown_dp_error              = 12&lt;br /&gt;
   access_denied                 = 13&lt;br /&gt;
   dp_out_of_memory              = 14&lt;br /&gt;
   disk_full                     = 15&lt;br /&gt;
   dp_timeout                    = 16&lt;br /&gt;
   OTHERS                        = 17&lt;br /&gt;
            .&lt;br /&gt;
  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;br /&gt;
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
data ld_filename(200).&lt;br /&gt;
data: lt_url_tab        TYPE TABLE OF so_url,&lt;br /&gt;
         ld_url_tab_size   TYPE sytabix.&lt;br /&gt;
&lt;br /&gt;
data l_file_ext type SO_FILEEXT.&lt;br /&gt;
&lt;br /&gt;
      CALL FUNCTION &amp;#039;SO_SPLIT_FILE_AND_PATH&amp;#039;&lt;br /&gt;
      EXPORTING&lt;br /&gt;
        full_name     = p_file&lt;br /&gt;
      IMPORTING&lt;br /&gt;
        stripped_name = ld_filename.&lt;br /&gt;
&lt;br /&gt;
       SPLIT ld_filename AT &amp;#039;.&amp;#039; INTO TABLE lt_url_tab.&lt;br /&gt;
&lt;br /&gt;
     DESCRIBE TABLE lt_url_tab LINES ld_url_tab_size.&lt;br /&gt;
    IF ld_url_tab_size GT 1.&lt;br /&gt;
      READ TABLE lt_url_tab INDEX ld_url_tab_size INTO l_file_ext.&lt;br /&gt;
    else.&lt;br /&gt;
        clear l_file_ext.&lt;br /&gt;
    Endif.&lt;br /&gt;
&lt;br /&gt;
  DATA ld_xstring TYPE xstring.&lt;br /&gt;
  DATA lv_buffer TYPE xstring.&lt;br /&gt;
&lt;br /&gt;
*  EXPORT my_data = l_string TO DATA BUFFER lv_buffer.&lt;br /&gt;
*  IMPORT my_data TO ld_xstring FROM DATA BUFFER lv_buffer IN CHAR-TO-HEX MODE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  DATA: lt_data TYPE TABLE OF x255.&lt;br /&gt;
*data lt_data type standard table of solix.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &amp;#039;SCMS_BINARY_TO_XSTRING&amp;#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    input_length       = l_file_length&lt;br /&gt;
*   FIRST_LINE         = 0&lt;br /&gt;
*   LAST_LINE          = 0&lt;br /&gt;
 IMPORTING&lt;br /&gt;
   BUFFER             = lv_content&lt;br /&gt;
  tables&lt;br /&gt;
    binary_tab         = it_content&lt;br /&gt;
 EXCEPTIONS&lt;br /&gt;
   FAILED             = 1&lt;br /&gt;
   OTHERS             = 2&lt;br /&gt;
          .&lt;br /&gt;
IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;br /&gt;
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;br /&gt;
ENDIF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*CALL FUNCTION &amp;#039;SCMS_XSTRING_TO_BINARY&amp;#039;&lt;br /&gt;
*EXPORTING&lt;br /&gt;
*  BUFFER        = ld_xstring&lt;br /&gt;
**     APPEND_TO_TABLE       = &amp;#039; &amp;#039;&lt;br /&gt;
*IMPORTING&lt;br /&gt;
*  output_length = l_file_length&lt;br /&gt;
*TABLES&lt;br /&gt;
*  binary_tab    = it_content[] .  &amp;quot;lt_data[].&lt;br /&gt;
&lt;br /&gt;
*CALL FUNCTION &amp;#039;SO_SOLIXTAB_TO_SOLITAB&amp;#039;&lt;br /&gt;
*EXPORTING&lt;br /&gt;
*  ip_solixtab = lt_data&lt;br /&gt;
*IMPORTING&lt;br /&gt;
*  ep_solitab  = it_content[].&lt;br /&gt;
&lt;br /&gt;
*CALL FUNCTION &amp;#039;SO_CONVERT_CONTENTS_BIN&amp;#039;       &amp;quot; Call the Function Module for Converts into Bin&lt;br /&gt;
*EXPORTING&lt;br /&gt;
*  it_contents_bin = it_content[]&lt;br /&gt;
*IMPORTING&lt;br /&gt;
*  et_contents_bin = it_content[].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  lv_objtyp = &amp;#039;EXT&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
ls_lporb-instid = &amp;#039;0090000866&amp;#039;.&lt;br /&gt;
ls_lporb-typeid = &amp;#039;VBRK&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
data lv_name type string.&lt;br /&gt;
&lt;br /&gt;
lv_name = p_file.&lt;br /&gt;
&lt;br /&gt;
call method cl_fitv_gos=&amp;gt;save&lt;br /&gt;
exporting&lt;br /&gt;
iv_name = lv_name&lt;br /&gt;
iv_content_hex = lv_content&lt;br /&gt;
is_lporb = ls_lporb&lt;br /&gt;
iv_objtp = lv_objtyp&lt;br /&gt;
receiving&lt;br /&gt;
rt_messages = lt_return_attach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return. &amp;quot;------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ls_borid-objkey  = &amp;#039;0090000866&amp;#039;.  &amp;quot;factura&lt;br /&gt;
  ls_borid-objtype = &amp;#039;VBRK&amp;#039;.  &amp;quot;LIKP-&amp;gt;entrega&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &amp;#039;SO_FOLDER_ROOT_ID_GET&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      region    = &amp;#039;B&amp;#039;&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      folder_id = folder_id&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      OTHERS    = 1.&lt;br /&gt;
&lt;br /&gt;
  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
    EXIT.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
*  clear url.&lt;br /&gt;
  l_title = &amp;#039;Archivo carga&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
*l_obj_data-objsns    = &amp;#039;O&amp;#039;.&lt;br /&gt;
  l_obj_data-objla     = sy-langu.&lt;br /&gt;
  l_obj_data-objdes    = l_title.&lt;br /&gt;
  l_obj_data-file_ext  = l_file_ext .  &amp;quot;&amp;#039;JPG&amp;#039;.&lt;br /&gt;
  l_obj_data-objlen    = l_file_length.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &amp;#039;SO_OBJECT_INSERT&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      folder_id             = folder_id&lt;br /&gt;
      object_type           = &amp;#039;EXT&amp;#039;&lt;br /&gt;
      object_hd_change      = l_obj_data&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      object_id             = l_obj_id&lt;br /&gt;
    TABLES&lt;br /&gt;
      objhead               = lt_objhead&lt;br /&gt;
      objcont               = it_content  &amp;quot;lt_objcont&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      active_user_not_exist = 35&lt;br /&gt;
      folder_not_exist      = 6&lt;br /&gt;
      object_type_not_exist = 17&lt;br /&gt;
      owner_not_exist       = 22&lt;br /&gt;
      parameter_error       = 23&lt;br /&gt;
      OTHERS                = 1000.&lt;br /&gt;
&lt;br /&gt;
  IF sy-subrc = 0.&lt;br /&gt;
    document_id-foltp = folder_id-foltp.&lt;br /&gt;
    document_id-folyr = folder_id-folyr.&lt;br /&gt;
    document_id-folno = folder_id-folno.&lt;br /&gt;
    document_id-doctp = l_obj_id-objtp.&lt;br /&gt;
    document_id-docyr = l_obj_id-objyr.&lt;br /&gt;
    document_id-docno = l_obj_id-objno.&lt;br /&gt;
  ELSE.&lt;br /&gt;
    EXIT.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
  IF NOT ls_borid-objkey IS INITIAL.&lt;br /&gt;
    IF NOT document_id IS INITIAL.&lt;br /&gt;
      CLEAR rel_doc.&lt;br /&gt;
      rel_doc-objkey  = document_id.&lt;br /&gt;
      rel_doc-objtype = &amp;#039;MESSAGE&amp;#039;.&lt;br /&gt;
      CALL FUNCTION &amp;#039;BINARY_RELATION_CREATE&amp;#039;&lt;br /&gt;
        EXPORTING&lt;br /&gt;
          obj_rolea    = ls_borid&lt;br /&gt;
          obj_roleb    = rel_doc&lt;br /&gt;
          relationtype = &amp;#039;ATTA&amp;#039;&lt;br /&gt;
        EXCEPTIONS&lt;br /&gt;
          OTHERS       = 1.&lt;br /&gt;
      IF sy-subrc = 0.&lt;br /&gt;
*        ep_url_key = document_id.&lt;br /&gt;
        COMMIT WORK AND WAIT. &amp;quot;??&lt;br /&gt;
        WRITE: &amp;#039;OK&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
      ELSE.&lt;br /&gt;
*        mac_msg_add_sy.&lt;br /&gt;
*        RAISE failed.&lt;br /&gt;
      ENDIF.&lt;br /&gt;
    ENDIF.&lt;br /&gt;
  ELSE.&lt;br /&gt;
*    ep_url_key = document_id.&lt;br /&gt;
    WRITE: &amp;#039;OK&amp;#039;.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp;      Form  get_file&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*       text&lt;br /&gt;
*----------------------------------------------------------------------*&lt;br /&gt;
*      --&amp;gt;P_FILE     text&lt;br /&gt;
*----------------------------------------------------------------------*&lt;br /&gt;
FORM get_file CHANGING p_file.&lt;br /&gt;
  DATA: lt_files TYPE filetable,&lt;br /&gt;
        ls_files TYPE file_table,&lt;br /&gt;
        l_rc    LIKE sy-subrc.&lt;br /&gt;
&lt;br /&gt;
  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;br /&gt;
  CHANGING&lt;br /&gt;
    file_table              = lt_files&lt;br /&gt;
    rc                      = l_rc&lt;br /&gt;
  EXCEPTIONS&lt;br /&gt;
    file_open_dialog_failed = 1&lt;br /&gt;
    cntl_error              = 2&lt;br /&gt;
    error_no_gui            = 3&lt;br /&gt;
*     not_supported_by_gui    = 4&lt;br /&gt;
    OTHERS                  = 5.&lt;br /&gt;
  IF sy-subrc &amp;lt;&amp;gt; 0 OR l_rc &amp;lt; 0.&lt;br /&gt;
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;br /&gt;
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;br /&gt;
  ELSE.&lt;br /&gt;
    READ TABLE lt_files INDEX 1 INTO ls_files.&lt;br /&gt;
    p_file = ls_files-filename.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ENDFORM.                    &amp;quot;get_file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*FORM decode_base_64x USING p_xstring TYPE xstring&lt;br /&gt;
*CHANGING p_string_base64 TYPE string.&lt;br /&gt;
*  DATA: l_http_utility TYPE REF TO cl_http_utility.&lt;br /&gt;
*  DATA: l_string TYPE string.&lt;br /&gt;
*  CREATE OBJECT l_http_utility.&lt;br /&gt;
*  CALL METHOD l_http_utility-&amp;gt;encode_x_base64&lt;br /&gt;
*  EXPORTING&lt;br /&gt;
*    unencoded = p_xstring&lt;br /&gt;
*    RECEIVING&lt;br /&gt;
*    encoded   = p_string_base64.&lt;br /&gt;
*&lt;br /&gt;
*ENDFORM.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
</feed>