IDOC INPUT GLMAST

De wikiSAP
Ir a la navegación Ir a la búsqueda

Campo MSGFN

'003' Delete: Message contains objects to be deleted
'004' Change: Message contains changes
'005' Replace: This message replaces previous messages
'009' Original: First message for process
'023' Wait/Adjust: Data should not be imported
'018' Resend


EDIDC-IDOCTP = 'GLMAST01'.
EDIDC-MESTYP = 'GLMAST'.


Ejemplo:

  DATA lta_idoc_contrl TYPE TABLE OF EDIDC.
  DATA lwa_idoc_contrl TYPE EDIDC.
  DATA lta_IDOC_DATA TYPE TABLE OF EDIDD.
  DATA lwa_IDOC_DATA TYPE EDIDD.
  DATA lta_IDOC_STATUS TYPE TABLE OF BDIDOCSTAT.
  DATA lta_RETURN_VARIABLES TYPE TABLE OF BDWFRETVAR.
  DATA lta_SERIALIZATION_INFO TYPE TABLE OF BDI_SER.

  DATA lwa_E1SKA1M TYPE E1SKA1M.
  DATA lwa_E1SKATM TYPE E1SKATM.
  DATA lwa_E1SKB1M TYPE E1SKB1M.

* Cabecera
  CLEAR lwa_idoc_contrl.
*  lwa_idoc_contrl-RCVPOR = . "Receiver Port
  lwa_idoc_contrl-MESTYP = 'GLMAST'. "Message type
  lwa_idoc_contrl-IDOCTP = 'GLMAST01'. "Basic IDOC type
*  lwa_idoc_contrl-RCVPRT = . "Partner type of receiver
*  lwa_idoc_contrl-RCVPRN = . "Partner number of receiver
*  lwa_idoc_contrl-SNDPRT = . "Sender Partner type
*  lwa_idoc_contrl-SNDPRN = . "Sender Partner Number
  APPEND lwa_idoc_contrl TO lta_idoc_contrl.

* Datos
  CLEAR lwa_E1SKA1M.
  lwa_E1SKA1M-MSGFN = '009'. " Crear
  lwa_E1SKA1M-KTOPL = 'PCGT'.
  lwa_E1SKA1M-SAKNR = '52010A'.
  lwa_E1SKA1M-KTOKS = 'ZTRD'.
  lwa_E1SKA1M-XBILK = 'X'.

  CLEAR lwa_IDOC_DATA.
  lwa_IDOC_DATA-SEGNAM = 'E1SKA1M'.
  lwa_IDOC_DATA-SDATA  = lwa_E1SKA1M.
  APPEND lwa_IDOC_DATA TO lta_IDOC_DATA.

  CLEAR lwa_E1SKATM.
  lwa_E1SKATM-MSGFN = '009'. " Crear
  lwa_E1SKATM-SPRAS = sy-langu.
  lwa_E1SKATM-TXT20 = 'Pruebas iDoc A'.
  lwa_E1SKATM-TXT50 = 'Pruebas iDoc A LARGO'.

  CLEAR lwa_IDOC_DATA.
  lwa_IDOC_DATA-SEGNAM = 'E1SKATM'.
  lwa_IDOC_DATA-SDATA  = lwa_E1SKATM.
  APPEND lwa_IDOC_DATA TO lta_IDOC_DATA.

  CLEAR lwa_E1SKB1M.
  lwa_E1SKB1M-MSGFN = '009'. " Crear
  lwa_E1SKB1M-BUKRS = '1102'.
  lwa_E1SKB1M-FDLEV = 'B0'.
  lwa_E1SKB1M-FSTAG = 'G005'.
  lwa_E1SKB1M-HBKID = 'EB001'.
  lwa_E1SKB1M-HKTID = '10210'.
  lwa_E1SKB1M-WAERS	= 'EUR'.
  lwa_E1SKB1M-XGKON = 'X'.
  lwa_E1SKB1M-XKRES = 'X'.
  lwa_E1SKB1M-XOPVW = 'X'.
  lwa_E1SKB1M-ZUAWA	 = '027'.
*  lwa_E1SKB1M-ALTKT = '520020000A'

  CLEAR lwa_IDOC_DATA.
  lwa_IDOC_DATA-SEGNAM = 'E1SKB1M'.
  lwa_IDOC_DATA-SDATA  = lwa_E1SKB1M.
  APPEND lwa_IDOC_DATA TO lta_IDOC_DATA.

* funcion receptora de iDoc y creadora de cuenta
  CALL FUNCTION 'IDOC_INPUT_GLMAST'
    EXPORTING
      input_method                = SPACE
      mass_processing             = SPACE
*   IMPORTING
*     WORKFLOW_RESULT             =
*     APPLICATION_VARIABLE        =
*     IN_UPDATE_TASK              =
*     CALL_TRANSACTION_DONE       =
    tables
      idoc_contrl                 = lta_idoc_contrl
      idoc_data                   = lta_IDOC_DATA
      idoc_status                 = lta_IDOC_STATUS
      return_variables            = lta_RETURN_VARIABLES
      serialization_info          = lta_SERIALIZATION_INFO
    EXCEPTIONS
      WRONG_FUNCTION_CALLED       = 1
      OTHERS                      = 2
            .
  IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
     EXPORTING
       WAIT          = 'X'
*     IMPORTING
*       RETURN        =
              .

  ENDIF.