<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic COM &amp; ABAP in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165793#M121734</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using COM objects in ABAP/4. But I want to ask very basic question. Such as there is a function which's signature is:&lt;/P&gt;&lt;P&gt;bool app.doEvent();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And the corresponding code of this signature in ABAP/4 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: RESULT TYPE I VALUE 9.&lt;/P&gt;&lt;P&gt;DATA: APP TYPE OLE2_OBJECT.&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;CALL METHOD OF APP 'doEvent' = RESULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, I see that RESULT is initial, not changed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shortly, how can I see the result of any method?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 21 Jan 2006 23:14:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-01-21T23:14:27Z</dc:date>
    <item>
      <title>COM &amp; ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165793#M121734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using COM objects in ABAP/4. But I want to ask very basic question. Such as there is a function which's signature is:&lt;/P&gt;&lt;P&gt;bool app.doEvent();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And the corresponding code of this signature in ABAP/4 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: RESULT TYPE I VALUE 9.&lt;/P&gt;&lt;P&gt;DATA: APP TYPE OLE2_OBJECT.&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;CALL METHOD OF APP 'doEvent' = RESULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, I see that RESULT is initial, not changed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shortly, how can I see the result of any method?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jan 2006 23:14:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165793#M121734</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-01-21T23:14:27Z</dc:date>
    </item>
    <item>
      <title>Re: COM &amp; ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165794#M121735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  I wish that it will help you as follow code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT RSDEMO01 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;this report demonstrates how to send some ABAP data to an&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEL sheet using OLE automation.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INCLUDE OLE2INCL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;handles for OLE objects&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: H_EXCEL TYPE OLE2_OBJECT,        " Excel object&lt;/P&gt;&lt;P&gt;      H_MAPL TYPE OLE2_OBJECT,         " list of workbooks&lt;/P&gt;&lt;P&gt;      H_MAP TYPE OLE2_OBJECT,          " workbook&lt;/P&gt;&lt;P&gt;      H_ZL TYPE OLE2_OBJECT,           " cell&lt;/P&gt;&lt;P&gt;      H_F TYPE OLE2_OBJECT.            " font&lt;/P&gt;&lt;P&gt;TABLES: SPFLI.&lt;/P&gt;&lt;P&gt;DATA  H TYPE I.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table of flights&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Event START-OF-SELECTION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read flights&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;display header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ULINE (61).&lt;/P&gt;&lt;P&gt;  WRITE: /     SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;          (3)  'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;          (4)  'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;          (20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;          (20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;          (8)  'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP.&lt;/P&gt;&lt;P&gt;  ULINE (61).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;display flights&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_SPFLI.&lt;/P&gt;&lt;P&gt;  WRITE: / SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;           IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;           IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;           IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;           IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,&lt;/P&gt;&lt;P&gt;           IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  ULINE (61).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tell user what is going on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          PERCENTAGE = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           TEXT       = TEXT-007&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS     = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;start Excel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;P&gt;  SET PROPERTY OF H_EXCEL  'Visible' = 1.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tell user what is going on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          PERCENTAGE = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           TEXT       = TEXT-008&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS     = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get list of workbooks, initially empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add a new workbook&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD OF H_MAPL 'Add' = H_MAP.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tell user what is going on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          PERCENTAGE = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           TEXT       = TEXT-009&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS     = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;output column headings to active Excel sheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM FILL_CELL USING 1 1 1 'Flug'(001).&lt;/P&gt;&lt;P&gt;  PERFORM FILL_CELL USING 1 2 1 'Nr'(002).&lt;/P&gt;&lt;P&gt;  PERFORM FILL_CELL USING 1 3 1 'Von'(003).&lt;/P&gt;&lt;P&gt;  PERFORM FILL_CELL USING 1 4 1 'Nach'(004).&lt;/P&gt;&lt;P&gt;  PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).&lt;/P&gt;&lt;P&gt;  LOOP AT IT_SPFLI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;copy flights to active EXCEL sheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    H = SY-TABIX + 1.&lt;/P&gt;&lt;P&gt;    PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.&lt;/P&gt;&lt;P&gt;    PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.&lt;/P&gt;&lt;P&gt;    PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.&lt;/P&gt;&lt;P&gt;    PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.&lt;/P&gt;&lt;P&gt;    PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;disconnect from Excel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FREE OBJECT H_EXCEL.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM FILL_CELL                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      sets cell at coordinates i,j to value val boldtype bold       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_CELL USING I J BOLD VAL.&lt;/P&gt;&lt;P&gt;  CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;P&gt;  SET PROPERTY OF H_ZL 'Value' = VAL .&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;P&gt;  GET PROPERTY OF H_ZL 'Font' = H_F.&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;P&gt;  SET PROPERTY OF H_F 'Bold' = BOLD .&lt;/P&gt;&lt;P&gt;  PERFORM ERR_HDL.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ERR_HDL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      outputs OLE error if any                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ERR_HDL.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC.&lt;/P&gt;&lt;P&gt;  STOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERR_HDL&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2006 02:37:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165794#M121735</guid>
      <dc:creator>com_2018</dc:creator>
      <dc:date>2006-01-22T02:37:07Z</dc:date>
    </item>
    <item>
      <title>Re: COM &amp; ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165795#M121736</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, sometime the COM method will have [in]/[out] parameter. and the [out] parameter will return result from COM call.&lt;/P&gt;&lt;P&gt;You can check the interface definition of your COM in some tools offer in VS.  E.G. a tools named like 'OLE view'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example.&lt;/P&gt;&lt;P&gt;method A definition like this:  &lt;/P&gt;&lt;P&gt;HResult A([in]P1, [in/out]p2, [out]P3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    
   CALL METHOD CALL_METHOD
        EXPORTING
                  METHOD = 'A'
                  P_COUNT = 3
                  P1     = P1
                  P2     = P2
                  P3     = P3
                  RESULT = LC_Result
                  .......
         EXCEPTIONS OTHERS = 1.
    IF SY-SUBRC NE 0.
      RAISE ERROR.
    ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;P1 is input parameter&lt;/P&gt;&lt;P&gt;you should set somthing in P2, and if success, it will be changed&lt;/P&gt;&lt;P&gt;P3 is output parameter, if success, it will return something&lt;/P&gt;&lt;P&gt;LC_Result is the HResult COM method return. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And please also aware that CALL_METHOD is a protected method of CL_GUI_OBJECT. so you should envelop you COM in a CL_GUI_OBJECT class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For you problem method. bool app.doEvent();&lt;/P&gt;&lt;P&gt;It looks has no [out] parameter, only one return value.&lt;/P&gt;&lt;P&gt;And if it return initial, it return 0 to a boolean, so it means you call method is failure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2006 02:41:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165795#M121736</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-01-22T02:41:10Z</dc:date>
    </item>
    <item>
      <title>Re: COM &amp; ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165796#M121737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What I formerly input is for OO method.&lt;/P&gt;&lt;P&gt;It looks that you are using a OLE object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So try this way&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD OF APP 'doEvent' = RESULT NO FLUSH.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2006 03:58:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/com-abap/m-p/1165796#M121737</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-01-22T03:58:52Z</dc:date>
    </item>
  </channel>
</rss>

