cancel
Showing results for 
Search instead for 
Did you mean: 

merep_sbuilder doubt

Former Member
0 Kudos

TYPE : T01

In documentation : GetList && GetDetail is compulsory

If i create a SYNCBO without GetDetail i will receive error, but in my case i dont need GetDetail....

Just


GetList -- zBapi_GetList
GetDetail -- null
Modify --- zBapi_Modify

how does it effect the JSP if i put zBapi_GetDetail and dont ?

Accepted Solutions (1)

Accepted Solutions (1)

raghavendra_sn
Explorer
0 Kudos

1. yes you will not call GETDETAIL in Modify.

2. yeah, the tables parameter should be one and the same in GETDETAIL ,MODIFY and CREATE.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

There would be no effect if there is no Getdetail bapiwrapper.

JSP would show only the header data information, as there is no getdetail bapi.

Initial screen will show the syncbo types and second level show the header data (getlist), when you click on on getlist header , it would show the same data as there is no child items to that header (no get deatail).

Cheers,

Karthick

Former Member
0 Kudos

YET, when i try to create a syncBO in merep_sbuilder

"Make an entry for all required field" and the cursor is point to getDetail

AjithC
Employee
Employee
0 Kudos

Hi Yzme,

For a read only SyncBO (no Modify/Create/Delete from client) only GetList is mandatory. Getdetail is not required if the syncBO don't have any items. (In the UI the mandatory check box is present only for Getlist)

But if the syncBO needs to be created/modified/deleted from client, then GetDetail is required. This is becasue after calling Modify/Create/Delete, the GetDetail is called to get the actual created/updated data in the backend.

Regards

Ajith Chandran

Former Member
0 Kudos

1)In the Modify Wrapper : MEREP_CONTACT_MODIFY

i dont see it call the Merep_contact_getdetail...

Can you clarify on this.

2) Tables parameters in GetDetails must be same as Tables Parameters in MODIFY , right...?


MEREP_CONTACT_MODIFY.abap

--------------------------------------------------------------------------------

FUNCTION merep_contact_modify .
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(PERSON) LIKE  MEREP_PERSON STRUCTURE  MEREP_PERSON
*"  EXPORTING
*"     VALUE(RETURN) LIKE  BAPIRET2 STRUCTURE  BAPIRET2
*"  TABLES
*"      ADDRESS STRUCTURE  MEREP_ADDRESS
*"      E_MAIL STRUCTURE  MEREP_E_MAIL
*"----------------------------------------------------------------------

  DATA:
      ldf_persnumber            LIKE merep_person-persnumber,
      lds_address               LIKE merep_address,
      lds_e_mail                LIKE merep_e_mail,
      lds_return                LIKE bapireturn1,
      lds_person                LIKE merep_person.

  CLEAR return.

  IF person-last_name IS INITIAL.

*   - Last name is mandatory
    lds_return-type       = 'E'.
    lds_return-id         = 'MEREP_SAMPLE_APPL1'.
    lds_return-number     = '004'.

    CALL FUNCTION 'MEREP_RETURN_GET'
      EXPORTING
        type   = lds_return-type
        id     = lds_return-id
        number = lds_return-number
      IMPORTING
        return = lds_return.

    MOVE-CORRESPONDING lds_return TO return.

    EXIT.

  ENDIF.

  SELECT SINGLE * FROM merep_person INTO lds_person
                         WHERE persnumber = person-persnumber.

  IF sy-subrc = 0.

    person-credat = lds_person-credat.
    person-crenam = lds_person-crenam.
    person-cretim = lds_person-cretim.
    person-chgdat = sy-datum.
    person-chgnam = sy-uname.
    person-chgtim = sy-uzeit.

    UPDATE merep_person FROM person.

  ELSE.

*   - DB update failed (Table name = &, Key = &)
    lds_return-type       = 'E'.
    lds_return-id         = 'MEREP_SAMPLE_APPL1'.
    lds_return-number     = '002'.
    lds_return-message_v1 = 'MEREP_PERSON'.
    lds_return-message_v2 = person-persnumber.

    CALL FUNCTION 'MEREP_RETURN_GET'
      EXPORTING
        type   = lds_return-type
        id     = lds_return-id
        number = lds_return-number
        par1   = lds_return-message_v1
        par2   = lds_return-message_v2
      IMPORTING
        return = lds_return.

    MOVE-CORRESPONDING lds_return TO return.

    EXIT.
  ENDIF.

  DELETE FROM merep_address
              WHERE persnumber = person-persnumber.

  DELETE FROM merep_e_mail
              WHERE persnumber = person-persnumber.

  LOOP AT address INTO lds_address.

    lds_address-persnumber = person-persnumber.
    MODIFY address FROM lds_address.

  ENDLOOP.

  LOOP AT e_mail INTO lds_e_mail.

    lds_e_mail-persnumber = person-persnumber.
    MODIFY e_mail FROM lds_e_mail.

  ENDLOOP.

  IF NOT address[] IS INITIAL.

    INSERT merep_address FROM TABLE address.

    IF sy-subrc <> 0.

*   - DB update failed (Table name = &)
      lds_return-type       = 'E'.
      lds_return-id         = 'MEREP_SAMPLE_APPL1'.
      lds_return-number     = '002'.
      lds_return-message_v1 = 'MEREP_ADDRESS'.

      CALL FUNCTION 'MEREP_RETURN_GET'
        EXPORTING
          type   = lds_return-type
          id     = lds_return-id
          number = lds_return-number
          par1   = lds_return-message_v1
        IMPORTING
          return = lds_return.

      MOVE-CORRESPONDING lds_return TO return.

      ROLLBACK WORK.

      EXIT.
    ENDIF.

  ENDIF.

  IF NOT e_mail[] IS INITIAL.

    INSERT merep_e_mail FROM TABLE e_mail.

    IF sy-subrc <> 0.

*   - DB update failed (Table name = &, Key = &)
      lds_return-type       = 'E'.
      lds_return-id         = 'MEREP_SAMPLE_APPL1'.
      lds_return-number     = '002'.
      lds_return-message_v1 = 'MEREP_E_MAIL'.
      lds_return-message_v2 = person-persnumber.

      CALL FUNCTION 'MEREP_RETURN_GET'
        EXPORTING
          type   = lds_return-type
          id     = lds_return-id
          number = lds_return-number
          par1   = lds_return-message_v1
          par2   = lds_return-message_v2
        IMPORTING
          return = lds_return.

      MOVE-CORRESPONDING lds_return TO return.

      ROLLBACK WORK.

      EXIT.
    ENDIF.

  ENDIF.

  COMMIT WORK.

* - Person changed successfully (Persnumber=&)
  lds_return-type       = 'S'.
  lds_return-id         = 'MEREP_SAMPLE_APPL1'.
  lds_return-number     = '006'.
  lds_return-message_v1 = person-persnumber.

  CALL FUNCTION 'MEREP_RETURN_GET'
    EXPORTING
      type   = lds_return-type
      id     = lds_return-id
      number = lds_return-number
      par1   = lds_return-message_v1
    IMPORTING
      return = lds_return.

  MOVE-CORRESPONDING lds_return TO return.

ENDFUNCTION.



AjithC
Employee
Employee
0 Kudos

Hi Yzme,

The call for GetDetail is not from inside the Modify bapi wrapper, but the generated code for the SyncBO will call GetDetail after sucessfully calling Modify/create.

Regards

Ajith Chandran

Former Member
0 Kudos

thanks for your explaination......

it is very hard for a person to start without any assits....

this forum seems very less ppl to reply to the post......