quinta-feira, 12 de novembro de 2015

Exemplo: SAP - RFC para Integração de Funcionário (Dados mestre HR)

Depois de muito pesquisar enfim cheguei em uma "solução" para o desenvolvimento de uma RFC para Integração de Funcionário (Dados mestre HR), então venho aqui compartilhar a codificação para que talvez possa servir de auxílio para alguém:



FUNCTION ZHR_INTER_FUNC.
*"----------------------------------------------------------------------
*"*"Interface local:
*"  IMPORTING
*"     VALUE(FUNC) TYPE  ZHRE_INTER_FUNC
*"  TABLES
*"      RETORNO STRUCTURE  BAPIRETURN1
*"----------------------------------------------------------------------

  DATAv_dialog_mode TYPE VALUE '0'"1 - Exibir tela com erro
        it_return1 LIKE bapireturn1,
        it_pv TYPE STANDARD TABLE OF pprop,
        wa_pv LIKE LINE OF it_pv.

  wa_pv-infty '0002'.

  wa_pv-fname 'P0002-ANRED'.
  wa_pv-fval func-anred.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-NACHN'.
  wa_pv-fval func-nachn.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-VORNA'.
  wa_pv-fval func-vorna.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-CNAME'.
  wa_pv-fval func-cname.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-GBDAT'.
  wa_pv-fval func-gbdat.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-GESCH'.
  wa_pv-fval func-gesch.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-SPRSL'.
  wa_pv-fval func-sprsl.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0002-NATIO'.
  wa_pv-fval func-natio.
  APPEND wa_pv TO it_pv.

  wa_pv-infty '0001'.

  wa_pv-fname 'P0001-BTRTL'.
  wa_pv-fval func-btrtl.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0001-KOSTL'.
  wa_pv-fval func-kostl.
*  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0001-GSBER'.
  wa_pv-fval func-gsber.
*  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0001-ABKRS'.
  wa_pv-fval func-abkrs.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0001-PLANS'.
  wa_pv-fval func-plans.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0001-VDSK1'.
  wa_pv-fval func-vdsk1.
  APPEND wa_pv TO it_pv.

  wa_pv-infty '0017'.

  wa_pv-fname 'P0017-ERKLA'.
  wa_pv-fval '1'.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0017-ERGRU'.
  wa_pv-fval '1'.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0017-SPEBE'.
  wa_pv-fval '1'.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0017-PTZUO'.
  wa_pv-fval '1'.
  APPEND wa_pv TO it_pv.

  wa_pv-fname 'P0017-PKWRG'.
  wa_pv-fval '1'.
  APPEND wa_pv TO it_pv.

  CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
    EXPORTING
      PERNR              func-pernr
      MASSN              '56'
      ACTIO              'INS'
      TCLAS              'A'
      BEGDA              func-begda
*      ENDDA             = '99991231'
*      OBJPS             =
*      SEQNR             =
*      SPRPS             =
*      SUBTY             = ' '
      WERKS              func-werks
      PERSG              func-persg
      PERSK              func-persk
      PLANS              func-plans
      DIALOG_MODE        v_dialog_mode
      LUW_MODE           '1'
      NO_EXISTENCE_CHECK 'X'
      NO_ENQUEUE         ' '
    IMPORTING
*      RETURN             =
      RETURN1            it_return1
*      HR_RETURN          =
     TABLES
       PROPOSED_VALUES   it_pv.
*       MODIFIED_KEYS    =

  IF it_return1-type NE 'E'.
    CLEAR it_return1.
    it_return1-type 'S'.
    it_return1-message 'Funcionário integrado com sucesso!'.
  ENDIF.

  APPEND it_return1 TO retorno.

ENDFUNCTION.

Nenhum comentário:

Postar um comentário