cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_DOCUMENT_CREATE2 does not check-in files via DotNet Connector

0 Kudos

Hi Experts,

<p>

I need to call attach a Document/File to technical place via RFC (DotNet Connector). So i created FB Z_ATTACH_DOCUMENT), which calls BAPI_DOCUMENT_CREATE2.<br>

I dont want to call BAPI_DOCUMENT_CREATE2 directly from my .net app, because there will be some ABAP code added in future.

<p>

Function below works OK when i call it via SE37. But when i call it via DotNet Connector from vb.net, the Document Info Record is not created (BAPI_DOCUMENT_CREATE2 returns no document number) and i get this from return parameter:<p>

Field: ""<br>

Id: "26"<br>

Log_Msg_No: "000000"<br>

Log_No: ""<br>

Message: "Fehler beim Einchecken und Ablegen von C:
temp
temp.lec"<br>

Message_V1: "C:
temp
temp.lec"<br>

Message_V2: ""<br>

Message_V3: ""<br>

Message_V4: ""<br>

Number: "253"<br>

Parameter: ""<br>

Row: 0<br>

System: "T01CLNT001"<br>

Type: "E"<br>

<p>

Problem seems to be with StorageCategory. If i leave f-Storagecategory blank while calling BAPI_DOCUMENT_CREATE2, the DIR will be created and linked with the technical place, but the original file won't get checked in.

I fond note 504692, and tried to first create the DIR and then check-in the file via CVAPI_DOC_CHECKIN, but the error remains the same.

<p>

I connect via DotNec Connector with same user login as with SAP GUI, so there should be no problems with permissions.

<p>

We use SAP/R3 ECC6.0

<P>

<tt><br>

FUNCTION Z_ATTACH_DOCUMENT.<br>

*"----


<br>

""Lokale Schnittstelle:<br>

*" IMPORTING<br>

*" VALUE(MANDT) TYPE MANDT<br>

*" VALUE(DOC) TYPE BAPI_DOC_DRAW2<br>

*" EXPORTING<br>

*" VALUE(LF_DOCTYPE) TYPE BAPI_DOC_DRAW2-DOCUMENTTYPE<br>

*" VALUE(LF_DOCNUMBER) TYPE BAPI_DOC_DRAW2-DOCUMENTNUMBER<br>

*" VALUE(LF_DOCPART) TYPE BAPI_DOC_DRAW2-DOCUMENTPART<br>

*" VALUE(LF_DOCVERSION) TYPE BAPI_DOC_DRAW2-DOCUMENTVERSION<br>

*" VALUE(RETURN) TYPE BAPIRET2<br>

*" TABLES<br>

*" ITABTEXTS STRUCTURE BAPI_DOC_DRAT<br>

*" ITABFILES STRUCTURE BAPI_DOC_FILES2<br>

*" ITABOBJECTLINKS STRUCTURE BAPI_DOC_DRAD<br>

*"----


<br>

<br>

    • Dokumentendaten<br>

DATA: ls_doc LIKE bapi_doc_draw2.<br>

ls_doc = doc.<br>

<br>

    • Bapi-Returnstruktur<br>

*DATA ls_return LIKE bapiret2.<br>

return-type = 'S'.<br>

<br>

  • ********************************<br>

CLEAR ls_doc.<br>

ls_doc-Documenttype = 'LEC'.<br>

ls_doc-Documentversion = '00'.<br>

ls_doc-Documentpart = '001'.<br>

ls_doc-Laboratory = '001'.<br>

<br>

CLEAR ITABTEXTS.<br>

REFRESH ITABTEXTS.<br>

<br>

DATA t TYPE BAPI_DOC_DRAT.<br>

t-Language = 'D'.<br>

t-Description = 'LPK-Export 21067007'.<br>

APPEND t TO ITABTEXTS.<br>

<br>

CLEAR ITABFILES.<br>

REFRESH ITABFILES.<br>

<br>

DATA f TYPE BAPI_DOC_FILES2.<br>

f-Storagecategory = 'ZINTERN'.<br>

f-DocFile = 'C:\temp\temp.lec'.<br>

f-Wsapplication = 'LEC'.<br>

APPEND f to ITABFILES.<br>

<br>

<br>

CLEAR ITABOBJECTLINKS.<br>

REFRESH ITABOBJECTLINKS.<br>

<br>

DATA o TYPE BAPI_DOC_DRAD.<br>

o-Objecttype = 'IFLOT'.<br>

o-Objectkey = 'DE-73035-00001'.<br>

APPEND o TO ITABOBJECTLINKS.<br>

<br>

*o-Objecttype = 'EQUI'.<br>

*o-Objectkey = '000000000010006770'.<br>

*APPEND o TO ITABOBJECTLINKS.<br>

  • ********************************<br>

<br>

**************************************************************<br>

    • Dokument anlegen<br>

**************************************************************<br>

CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'<br>

EXPORTING<br>

documentdata = ls_doc<br>

IMPORTING<br>

documenttype = lf_doctype<br>

documentnumber = lf_docnumber<br>

documentpart = lf_docpart<br>

documentversion = lf_docversion<br>

return = return<br>

TABLES<br>

documentdescriptions = ITABTEXTS <br>

objectlinks = ITABOBJECTLINKS <br>

documentfiles = ITABFILES. <br>

.<br>

<br>

IF NOT return-type CA 'EA'.<br>

commit work.<br>

ENDIF.<br>

<br>

END FUNCTION.<br>

</tt>

<p>

Kindest regards,<br>

Peter Herweg

Accepted Solutions (1)

Accepted Solutions (1)

Hi,

the solution was to add parameters hostname and pf_ftp_dest (hostname specifies the host, where the calling process runs).


  CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
    EXPORTING
      documentdata = ls_doc
      hostname        = hostname
      pf_ftp_dest     = 'SAPFTPA'
*      pf_http_dest    = 'SAPHTTP'
    IMPORTING
      documenttype    = lf_doctype
      documentnumber  = lf_docnumber
      documentpart    = lf_docpart
      documentversion = lf_docversion
      return = return
    TABLES
      documentdescriptions = itabtexts
      objectlinks = itabobjectlinks
      documentfiles = itabfiles.
  .

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi, what is meant with hostname exactly?

- my local machine name which starts the rfc?

- the application server name which uses the rfc?