SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Дебитор Картинки скопировать в Смартформ (SЕ78)



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
autohandel7
Участник
Участник



Joined: 17 Sep 2014
Posts: 1

PostPosted: Wed Sep 17, 2014 1:13 pm    Post subject: Дебитор Картинки скопировать в Смартформ (SЕ78) Reply with quote

Добрий день спецам,

у меня есть следующая задача:
у Дебитора есть свои личные документы (транс: VD03 смотри фото), в моем случае ето картинки, так вот я делаю Смартформ , куда мне надо ети картинки вставлять.
Для этого мне надо ети картинки скопировать в таблицу STXBITMAPS.
Принзип следующий, я генерурую смартформ смотру по таблице есть ли подxодясчая фотка, если нет ещу ее у дебитора и сохраняю в STXBITMAPS.
Первый раз в жизни работаю с картинками, не понимаю какие атрибуты нужны.
Нашел в инете пример, сделал, читаю каки ето данные :

Code:
REPORT  ZSE78_MASS
MESSAGE-ID ZX.

 TYPES
   : BEGIN OF gys_key
   ,   foltp TYPE so_fol_tp
   ,   folyr TYPE so_fol_yr
   ,   folno TYPE so_fol_no
   ,   objtp TYPE so_obj_tp
   ,   objyr TYPE so_obj_yr
   ,   objno TYPE so_obj_no
   ,   forwarder TYPE so_usr_nam
   , END OF gys_key
   .

 DATA:
     " Schlüssel des Business-Objekts
    gs_object   TYPE sibflporb,

     " Verknüpfungen zum Objekt
    gt_links    TYPE obl_t_link,
    gs_links    TYPE obl_s_link,

     " Verknüpfungsoptionen
    gt_relopt   TYPE obl_t_relt,
    gs_relopt   TYPE obl_s_relt,

     " Schlüssel einer Verknüpfung
    gs_key      TYPE gys_key,

     " Dokumenten-ID
    gd_doc_id   TYPE so_entryid,

     " Dokumenten-Grunddaten
    gs_doc_data TYPE sofolenti1,

     " Dokumenteninhalt Text und Binär
    gt_contx    TYPE solix_tab,
    gt_cont     TYPE soli_tab,

    gt_para type SOPARAI1 OCCURS 0 WITH HEADER LINE,
    gt_atlist TYPE SOATTLSTI1 OCCURS 1 WITH HEADER LINE,
    gt_reclist TYPE SORECLSTI1 OCCURS 5 WITH HEADER LINE,
    gt_OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE
*OBJECT_HEADER  LIKE  SOLISTI1
*OBJECT_CONTENT LIKE  SOLISTI1
*OBJECT_PARA  LIKE  SOPARAI1
*OBJECT_PARB  LIKE  SOPARBI1
*ATTACHMENT_LIST  LIKE  SOATTLSTI1
*RECEIVER_LIST  LIKE  SORECLSTI1
*CONTENTS_HEX LIKE  SOLIX
   .

 PARAMETERS
     " Eingabefelder für die ID des Business-Objekts
   : p_instid    TYPE sibfboriid OBLIGATORY DEFAULT '8500000020'
   , p_typeid    TYPE sibftypeid OBLIGATORY DEFAULT 'KNA1'
   , p_catid     TYPE sibfcatid  OBLIGATORY DEFAULT 'BO'
   .

 START-OF-SELECTION.

   " Businessobjekt-ID übernehmen
   gs_object-instid  = p_instid.
   gs_object-typeid  = p_typeid.
   gs_object-catid   = p_catid.

   " Verknüpfungstypen:
   gs_relopt-sign = 'I'.
   gs_relopt-option = 'EQ'.

   " Anhänge
   gs_relopt-low = 'ATTA'.
   APPEND gs_relopt TO gt_relopt.
   " Notizen
   gs_relopt-low = 'NOTE'.
   APPEND gs_relopt TO gt_relopt.
   " URLs
   gs_relopt-low = 'URL'.
   APPEND gs_relopt TO gt_relopt.

   TRY.
       " Verknüpfungen zum Objekt lesen
       cl_binary_relation=>read_links_of_binrels(
         EXPORTING
           is_object           = gs_object
           it_relation_options = gt_relopt
           ip_role             = 'GOSAPPLOBJ'
         IMPORTING
           et_links            = gt_links ).
       LOOP AT gt_links INTO gs_links WHERE typeid_b = 'MESSAGE'.
         " Optional: Schlüsselkomponenten extrahieren
         gs_key = gs_links-instid_b.
         WRITE: / 'foltp', gs_key-foltp
              , / 'folyr', gs_key-folyr
              , / 'folno', gs_key-folno
              , / 'objtp', gs_key-objtp
              , / 'objyr', gs_key-objyr
              , / 'objno', gs_key-objno
              .
         " Die Dokumenten-ID für SAPOffice entspricht der ermittelten
         "   Instanz-ID
         gd_doc_id = gs_links-instid_b.

         " Dokumenteninhalte löschen
         CLEAR
           : gt_cont
           , gt_contx
           .
         " Dokument lesen
         CALL FUNCTION 'SO_DOCUMENT_READ_API1'
           EXPORTING
             document_id                = gd_doc_id
           IMPORTING
             document_data              = gs_doc_data
           TABLES
             object_content             = gt_cont
             contents_hex               = gt_contx
             OBJECT_PARA                = gt_para
             ATTACHMENT_LIST            = gt_atlist
             RECEIVER_LIST              = gt_reclist
             OBJECT_HEADER              = gt_OBJHEAD

           EXCEPTIONS
             document_id_not_exist      = 1
             operation_no_authorization = 2
             x_error                    = 3
             OTHERS                     = 4.
         IF sy-subrc <> 0.
           " Fehlerbehandlung: Lesen des Dokuments
         ELSE.
            "Ausgabe einiger Kopfdaten
           WRITE: /  gs_doc_data-object_id
                ,    gs_doc_data-obj_type
                ,    gs_doc_data-obj_name
                ,    gs_doc_data-obj_descr
                ,    gs_doc_data-CREAT_NAME
                ,    gt_OBJHEAD-line
                .
         ENDIF.
         SKIP.
         IF NOT gt_cont[] IS INITIAL.
           " Es gibt Inhalt im Textformat
           WRITE: 7 'TXT'.
         ENDIF.
         IF NOT gt_contx[] IS INITIAL.
           " Es gibt Inhalt im Binärformat
           WRITE: 14 'BIN'.
         ENDIF.
       ENDLOOP.

     CATCH cx_obl_parameter_error cx_obl_internal_error cx_obl_model_error.
       " Fehlerbehandlung: Lesen der Verknüpfungen
   ENDTRY.

----------------------------------------
Нашел в инете пример ка сохранять, сделал, с пц данные сохраняет(если картинка на пц), но мне надо с одной таблици в другую, вопроц как соеденить две программы или ест другое решение?


-----------------------------------------2-----------------------
Code:
parameters: p_file type localfile default 'C:file.bmp'.
 parameters: p_image type stxbitmaps-tdname.

data: imagename type stxbitmaps-tdname.

at selection-screen on value-request for p_file.
 call function 'KD_GET_FILENAME_ON_F4'
 exporting
 static    = 'X'
 changing
 file_name = p_file.

start-of-selection.

imagename = p_image.

perform import_bitmap using p_file
 imagename  'Test Image'. "Beschreibung, man kann Debitornummer benutzen


************************************************************************
*       FORM import_Bitmap                                             *
************************************************************************
 form import_bitmap using filename
 name
 title.

data: l_resolution  type stxbitmaps-resolution.
 data: l_docid     type stxbitmaps-docid.
 l_resolution = 000.
 perform import_bitmap_bds
 in program saplstxbitmaps
 using    filename
 name
 'GRAPHICS'     "Object
 'BMAP'         "ID
 'BCOL'         "B/W or color
 'BMP'          "Extension
 title
 space
 'X'
 ''
 changing l_docid
 l_resolution.

imagename = name.

endform.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.