<?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 Re: Business objects link in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/business-objects-link/m-p/3811089#M916732</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at the guide &lt;A href="http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/0e6b0d95-0a01-0010-4696-ca0a48de5fb3"&gt;How to Attach Documents to Any Custom Program Using Generic Object Services&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the standard transaction like &lt;STRONG&gt;CLM3&lt;/STRONG&gt; (Display Claim) the GOS manager is defined in include &lt;STRONG&gt;LIQS0TPQ&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
...
* Objektdefinition generische Objektdienste
DATA: GO_NOTOBJECT TYPE REF TO CL_GOS_MANAGER.
DATA: G_OBJECT_GOS TYPE BORIDENT.
DATA: GV_CALL_BY_GOS(1)   type c value ' '.                  "818559
* note 881166
DATA: BEGIN OF GS_GOS,
        QMNUM LIKE VIQMEL-QMNUM,
        GO_NOTOBJECT TYPE REF TO CL_GOS_MANAGER,
        G_OBJECT_GOS TYPE BORIDENT,
      END   OF GS_GOS.
DATA: GT_GOS like GS_GOS occurs 0.
...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and instantiated in FORM routine &lt;STRONG&gt;OBJECT_PUBLISH_F70&lt;/STRONG&gt; (include &lt;STRONG&gt;LIQS0F70&lt;/STRONG&gt; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OBJECT_PUBLISH_F70
*&amp;amp;---------------------------------------------------------------------*
* Objekte bekanntmachen zur Nutzung der Generischen Dienste
*----------------------------------------------------------------------*
FORM OBJECT_PUBLISH_F70.

  DATA: L_OBJECT   LIKE TOAOM-SAP_OBJECT.
  DATA: L_QMNUM    LIKE QMEL-QMNUM.
  DATA: L_QMNUM_H  LIKE QMEL-QMNUM.
  DATA: L_MANUM    LIKE QMSM-MANUM.
  DATA: L_MANUM_H  LIKE QMSM-MANUM.
  DATA: L_OBJKEY   LIKE SWEINSTCOU-OBJKEY.
  DATA: L_OBJID    LIKE SY-MSGV1.
  DATA: L_DIA_STAT LIKE QMEL-KZLOESCH.

*--- Funktion nicht prozessieren im BAPI-Modus
  CALL FUNCTION 'DIALOG_GET_STATUS'
    IMPORTING
      DIALOG_STATUS = L_DIA_STAT.
  IF L_DIA_STAT = YX.
    EXIT.
  ENDIF.

*--- Meldungskopf
  CASE TQ8T-QMTYP.
    WHEN YPM_01.
      L_OBJECT = C_BUS2038.
    WHEN YQM_02.
      L_OBJECT = C_BUS2078.
    WHEN YSM_03.
      L_OBJECT = C_BUS2080.
    WHEN YNM_05.
      L_OBJECT = C_BUS7051.
      INCLUDE CLAIM_025.
  ENDCASE.

  if t365-aktyp = YAKTYPH                                  "818559
  and ( TQ8T-QMTYP = YSM_03                                "881166
     or TQ8T-QMTYP = YQM_02 and SFBCALL-XDEFREC = YX ).    "881166
    gv_call_by_gos = 'X'.                                  "818559
  endif.                                                   "818559

*-- Unterscheidung ob Anlegen/ Ändern/ Hinzufügen
* IF T365-AKTYP = YAKTYPV OR T365-AKTYP = YAKTYPA.         "note777981
  IF T365-AKTYP = YAKTYPV OR T365-AKTYP = YAKTYPA           "note777981
   OR ( T365-AKTYP = YAKTYPH AND TQ80-EARLY_NUM = YX        "note777981
        AND SFBCALL-XDEFREC = SPACE                        "note881166
        AND ( TQ8T-QMTYP = YPM_01                          "note917479
           OR TQ8T-QMTYP = YSM_03 ) ).                     "note917479

    CALL FUNCTION 'SWU_OBJECT_PUBLISH'
      EXPORTING
        OBJTYPE = L_OBJECT
        OBJKEY  = VIQMEL-QMNUM.

*--- Maßnahmen
    LOOP AT IVIQMSM WHERE AEKNZ NE YDELT
                      AND AEKNZ NE YDELD.
*--- l_objkey fuellen
      CALL FUNCTION 'OBJECT_IDENTIFICATION_GET'
        EXPORTING
          OBJNR       = IVIQMSM-OBJNR
        IMPORTING
          IDENT_OBJID = L_OBJID
        EXCEPTIONS
          OTHERS      = 1.
      IF SY-SUBRC EQ 0.
* der FB OBJECT_IDENTIFICATION_GET liefert eine externe Darstellung für
* eine Objektnummer. Besitzt das Objekt mehrere Keyfelder, werden diese
* durch ein '/' getrennt.
        SPLIT L_OBJID AT '/' INTO L_QMNUM_H L_MANUM_H.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = L_QMNUM_H
          IMPORTING
            OUTPUT = L_QMNUM.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = L_MANUM_H
          IMPORTING
            OUTPUT = L_MANUM.
        CLEAR L_OBJID.
        MOVE L_QMNUM(12) TO L_OBJID(12).
        MOVE L_MANUM(4)  TO L_OBJID+12(4).
        MOVE L_OBJID TO L_OBJKEY.
        CALL FUNCTION 'SWU_OBJECT_PUBLISH'
          EXPORTING
            OBJTYPE = C_QMSM
            OBJKEY  = L_OBJKEY.
      ENDIF.
    ENDLOOP.
* ELSEIF T365-AKTYP = YAKTYPH.                              "note777981
  ELSEIF T365-AKTYP = YAKTYPH AND TQ8T-QMTYP &amp;lt;&amp;gt; YPM_01      "note777981
                              AND TQ8T-QMTYP &amp;lt;&amp;gt; YSM_03.     "note777981
*   note 881166
    READ TABLE GT_GOS WITH KEY QMNUM = VIQMEL-QMNUM INTO GS_GOS.
    IF SY-SUBRC NE 0.

      G_OBJECT_GOS-OBJTYPE = L_OBJECT.

*     When calling from defect recording, don't create a object to avoid
*     problems with other created notifications or the BOS object of the
*     inspection lot. Using SWU_OBJECT_PUBLISH you get then the
*     selection list and by deactivating the existence check like with
*     note 818559 you have also the same functionality
      IF SFBCALL-XFUNCCALL = YX AND SFBCALL-XDEFREC = YX.
        G_OBJECT_GOS-OBJKEY  = VIQMEL-QMNUM.
        CALL FUNCTION 'SWU_OBJECT_PUBLISH'
          EXPORTING
            OBJTYPE = L_OBJECT
            OBJKEY  = VIQMEL-QMNUM.
      ELSE.
*     do it like before with all possibilities, but here no selection
*     list is possible, so dangerous, if other objects are published too

        CREATE OBJECT GO_NOTOBJECT
                      EXPORTING  IS_OBJECT      = G_OBJECT_GOS
                                 IP_NO_INSTANCE = YX
*                                 IP_NO_COMMIT   = yx
                      EXCEPTIONS OTHERS         = 1.
      ENDIF.

      GS_GOS-QMNUM = VIQMEL-QMNUM.
      GS_GOS-GO_NOTOBJECT = GO_NOTOBJECT.
      GS_GOS-G_OBJECT_GOS = G_OBJECT_GOS.
      APPEND GS_GOS TO GT_GOS.
    ELSE.
      GO_NOTOBJECT = GS_GOS-GO_NOTOBJECT.
      G_OBJECT_GOS = GS_GOS-G_OBJECT_GOS.
    ENDIF.
  ENDIF.
...

ENDFORM.                               " OBJECT_PUBLISH_F70
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably you have to make a similar logic known to your custom transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 May 2008 03:42:50 GMT</pubDate>
    <dc:creator>uwe_schieferstein</dc:creator>
    <dc:date>2008-05-09T03:42:50Z</dc:date>
    <item>
      <title>Business objects link</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/business-objects-link/m-p/3811088#M916731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am new to the Business objects. I got one requirement on business object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My SAP version is ECC 5.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the situation:&lt;/P&gt;&lt;P&gt;I am attaching customer and claim documents through OAOR transaction (Business Document Navigator) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attaching files are working fine in both customer and claim objects. i mean I can able to see those attached documentsin "Business Document Navigator).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a standard transaction to see claim documents. i.e WTYSE.&lt;/P&gt;&lt;P&gt;and we are using custom transaction to see customer documents. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can able to see claim documents in WTYSE. But I am not able to see customer documents in ztransaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you pls help me ... some where we are missing link between business objects and object key number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any way to maintain link? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope you understood my issue. pls help me .&lt;/P&gt;&lt;P&gt;This is very urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 May 2008 15:28:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/business-objects-link/m-p/3811088#M916731</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-08T15:28:48Z</dc:date>
    </item>
    <item>
      <title>Re: Business objects link</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/business-objects-link/m-p/3811089#M916732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at the guide &lt;A href="http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/0e6b0d95-0a01-0010-4696-ca0a48de5fb3"&gt;How to Attach Documents to Any Custom Program Using Generic Object Services&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the standard transaction like &lt;STRONG&gt;CLM3&lt;/STRONG&gt; (Display Claim) the GOS manager is defined in include &lt;STRONG&gt;LIQS0TPQ&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
...
* Objektdefinition generische Objektdienste
DATA: GO_NOTOBJECT TYPE REF TO CL_GOS_MANAGER.
DATA: G_OBJECT_GOS TYPE BORIDENT.
DATA: GV_CALL_BY_GOS(1)   type c value ' '.                  "818559
* note 881166
DATA: BEGIN OF GS_GOS,
        QMNUM LIKE VIQMEL-QMNUM,
        GO_NOTOBJECT TYPE REF TO CL_GOS_MANAGER,
        G_OBJECT_GOS TYPE BORIDENT,
      END   OF GS_GOS.
DATA: GT_GOS like GS_GOS occurs 0.
...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and instantiated in FORM routine &lt;STRONG&gt;OBJECT_PUBLISH_F70&lt;/STRONG&gt; (include &lt;STRONG&gt;LIQS0F70&lt;/STRONG&gt; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OBJECT_PUBLISH_F70
*&amp;amp;---------------------------------------------------------------------*
* Objekte bekanntmachen zur Nutzung der Generischen Dienste
*----------------------------------------------------------------------*
FORM OBJECT_PUBLISH_F70.

  DATA: L_OBJECT   LIKE TOAOM-SAP_OBJECT.
  DATA: L_QMNUM    LIKE QMEL-QMNUM.
  DATA: L_QMNUM_H  LIKE QMEL-QMNUM.
  DATA: L_MANUM    LIKE QMSM-MANUM.
  DATA: L_MANUM_H  LIKE QMSM-MANUM.
  DATA: L_OBJKEY   LIKE SWEINSTCOU-OBJKEY.
  DATA: L_OBJID    LIKE SY-MSGV1.
  DATA: L_DIA_STAT LIKE QMEL-KZLOESCH.

*--- Funktion nicht prozessieren im BAPI-Modus
  CALL FUNCTION 'DIALOG_GET_STATUS'
    IMPORTING
      DIALOG_STATUS = L_DIA_STAT.
  IF L_DIA_STAT = YX.
    EXIT.
  ENDIF.

*--- Meldungskopf
  CASE TQ8T-QMTYP.
    WHEN YPM_01.
      L_OBJECT = C_BUS2038.
    WHEN YQM_02.
      L_OBJECT = C_BUS2078.
    WHEN YSM_03.
      L_OBJECT = C_BUS2080.
    WHEN YNM_05.
      L_OBJECT = C_BUS7051.
      INCLUDE CLAIM_025.
  ENDCASE.

  if t365-aktyp = YAKTYPH                                  "818559
  and ( TQ8T-QMTYP = YSM_03                                "881166
     or TQ8T-QMTYP = YQM_02 and SFBCALL-XDEFREC = YX ).    "881166
    gv_call_by_gos = 'X'.                                  "818559
  endif.                                                   "818559

*-- Unterscheidung ob Anlegen/ Ändern/ Hinzufügen
* IF T365-AKTYP = YAKTYPV OR T365-AKTYP = YAKTYPA.         "note777981
  IF T365-AKTYP = YAKTYPV OR T365-AKTYP = YAKTYPA           "note777981
   OR ( T365-AKTYP = YAKTYPH AND TQ80-EARLY_NUM = YX        "note777981
        AND SFBCALL-XDEFREC = SPACE                        "note881166
        AND ( TQ8T-QMTYP = YPM_01                          "note917479
           OR TQ8T-QMTYP = YSM_03 ) ).                     "note917479

    CALL FUNCTION 'SWU_OBJECT_PUBLISH'
      EXPORTING
        OBJTYPE = L_OBJECT
        OBJKEY  = VIQMEL-QMNUM.

*--- Maßnahmen
    LOOP AT IVIQMSM WHERE AEKNZ NE YDELT
                      AND AEKNZ NE YDELD.
*--- l_objkey fuellen
      CALL FUNCTION 'OBJECT_IDENTIFICATION_GET'
        EXPORTING
          OBJNR       = IVIQMSM-OBJNR
        IMPORTING
          IDENT_OBJID = L_OBJID
        EXCEPTIONS
          OTHERS      = 1.
      IF SY-SUBRC EQ 0.
* der FB OBJECT_IDENTIFICATION_GET liefert eine externe Darstellung für
* eine Objektnummer. Besitzt das Objekt mehrere Keyfelder, werden diese
* durch ein '/' getrennt.
        SPLIT L_OBJID AT '/' INTO L_QMNUM_H L_MANUM_H.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = L_QMNUM_H
          IMPORTING
            OUTPUT = L_QMNUM.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = L_MANUM_H
          IMPORTING
            OUTPUT = L_MANUM.
        CLEAR L_OBJID.
        MOVE L_QMNUM(12) TO L_OBJID(12).
        MOVE L_MANUM(4)  TO L_OBJID+12(4).
        MOVE L_OBJID TO L_OBJKEY.
        CALL FUNCTION 'SWU_OBJECT_PUBLISH'
          EXPORTING
            OBJTYPE = C_QMSM
            OBJKEY  = L_OBJKEY.
      ENDIF.
    ENDLOOP.
* ELSEIF T365-AKTYP = YAKTYPH.                              "note777981
  ELSEIF T365-AKTYP = YAKTYPH AND TQ8T-QMTYP &amp;lt;&amp;gt; YPM_01      "note777981
                              AND TQ8T-QMTYP &amp;lt;&amp;gt; YSM_03.     "note777981
*   note 881166
    READ TABLE GT_GOS WITH KEY QMNUM = VIQMEL-QMNUM INTO GS_GOS.
    IF SY-SUBRC NE 0.

      G_OBJECT_GOS-OBJTYPE = L_OBJECT.

*     When calling from defect recording, don't create a object to avoid
*     problems with other created notifications or the BOS object of the
*     inspection lot. Using SWU_OBJECT_PUBLISH you get then the
*     selection list and by deactivating the existence check like with
*     note 818559 you have also the same functionality
      IF SFBCALL-XFUNCCALL = YX AND SFBCALL-XDEFREC = YX.
        G_OBJECT_GOS-OBJKEY  = VIQMEL-QMNUM.
        CALL FUNCTION 'SWU_OBJECT_PUBLISH'
          EXPORTING
            OBJTYPE = L_OBJECT
            OBJKEY  = VIQMEL-QMNUM.
      ELSE.
*     do it like before with all possibilities, but here no selection
*     list is possible, so dangerous, if other objects are published too

        CREATE OBJECT GO_NOTOBJECT
                      EXPORTING  IS_OBJECT      = G_OBJECT_GOS
                                 IP_NO_INSTANCE = YX
*                                 IP_NO_COMMIT   = yx
                      EXCEPTIONS OTHERS         = 1.
      ENDIF.

      GS_GOS-QMNUM = VIQMEL-QMNUM.
      GS_GOS-GO_NOTOBJECT = GO_NOTOBJECT.
      GS_GOS-G_OBJECT_GOS = G_OBJECT_GOS.
      APPEND GS_GOS TO GT_GOS.
    ELSE.
      GO_NOTOBJECT = GS_GOS-GO_NOTOBJECT.
      G_OBJECT_GOS = GS_GOS-G_OBJECT_GOS.
    ENDIF.
  ENDIF.
...

ENDFORM.                               " OBJECT_PUBLISH_F70
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably you have to make a similar logic known to your custom transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 May 2008 03:42:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/business-objects-link/m-p/3811089#M916732</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-05-09T03:42:50Z</dc:date>
    </item>
  </channel>
</rss>

