Bagikan melalui


Jenis Data SAP Dasar

Jenis parameter yang didukung Microsoft BizTalk Adapter untuk mySAP Business Suite diatur oleh:

  • Jenis data ABAP yang didukung SAP

  • Jenis data database yang didukung SAP

    Bagian ini menyajikan pemetaan antara abap dan jenis data database, dan jenis skema .NET dan XML yang sesuai.

Catatan

Informasi di bagian ini berlaku untuk RFC, tRFC, dan BAPI. Jenis data SAP selalu direpresentasikan sebagai string (xsd:string) di IDOC. Ini untuk mendukung pengurai file datar BizTalk Server.

Jenis Data ABAP yang Didukung

Adapter Microsoft BizTalk untuk mySAP Business Suite mendukung pengetikan yang aman untuk beberapa jenis data ABAP. Saat pengetikan aman diaktifkan, jenis data ini direpresentasikan sebagai string. Anda mengonfigurasi pengetikan aman dengan mengatur properti pengikatan EnableSafeTyping . Pengetikan aman dinonaktifkan secara default. Untuk informasi selengkapnya tentang properti pengikatan adaptor SAP, lihat Membaca tentang adaptor BizTalk untuk properti pengikatan mySAP Business Suite.

Tabel berikut ini memperlihatkan bagaimana jenis data ABAP muncul saat pengetikan aman tidak diaktifkan. (EnableSafeTyping adalah false). Jenis data yang muncul secara berbeda saat pengetikan aman diaktifkan ditandai dengan tanda bintang (*).

Tipe Data ABAP Jenis RFC Jenis XSD Jenis .NET Memformat untai (karakter)
I (Bilangan bulat) RFC_INT xsd:int Int32 -
Internal (RFC_INT1) RFC_INT1 xsd:unsignedByte Byte -
Internal (RFC_INT2) RFC_INT2 xsd:short Int16 -
F (Float) RFC_FLOAT xsd:double Ganda -
P (nomor BCD) RFC_BCD xsd:desimal jika panjang <= 28
xsd:string jika panjang > 28
Desimal
String
Angka desimal. dengan 0 tempat desimal
Angka desimal. dengan >0 tempat desimal
C (Karakter) RFC_CHAR xsd:string String -
D (Tanggal: YYYYMMDD)* RFC_DATE xsd:dateTime DateTime Secara internal, adaptor mendeserialisasi nilai ke dalam objek DateTime . Kemudian memanggil metode DateTime.ToUniversalTime untuk mengonversi nilai objek ini ke UTC. Akhirnya komponen tanggal (DateTime.Date) digunakan untuk membuat nilai yang dikirim ke sistem SAP. Sistem SAP memperlakukan nilai tanggal ini sebagai waktu setempat.

Anda harus menentukan nilai tanggal sebagai UTC untuk menghindari konversi.

- Untuk xsd:dateTime, pola berikut disarankan: "(\d\d\d\d-\d\d-\d)T(00:00:00)(.*)Z".
- Untuk objek DateTime diatur DateTime.Kind ke DateTimeKind.Utc.
T (Waktu: HHMMSS)* RFC_TIME xsd:dateTime DateTime Secara internal, adaptor mendeserialisasi nilai ke dalam objek DateTime . Kemudian memanggil metode DateTime.ToUniversalTime untuk mengonversi nilai objek ini ke UTC. Akhirnya komponen waktu (DateTime.Time) digunakan untuk membuat nilai yang dikirim ke sistem SAP. Sistem SAP memperlakukan nilai waktu ini sebagai waktu setempat.

Anda harus menentukan nilai waktu sebagai UTC untuk menghindari konversi.

- Untuk xsd:dateTime, pola berikut disarankan: "(0001-01-01)T(\d\d:\d\d:\d)(.*)".
- Untuk objek DateTime diatur DateTime.Kind ke DateTimeKind.Utc.

Misalnya, jika waktu lokal Anda adalah 09:15 pagi, ekspres ini sebagai "(001-01-01)T(09:15:00)Z"
N (String numerik)* RFC_NUM xsd:int jika lenrth <= 9
xsd:long jika panjang > 9 dan <= 19
xsd:string jika panjang > 19
Int32
long
String
-
X (Byte) RFC_BYTE xsd:base64Binary Byte[] -
STRING RFC_STRING xsd:string String -
XSTRING RFC_BYTE xsd:base64Binary Byte[] -

*Menunjukkan bahwa jenis data muncul secara berbeda ketika pengetikan aman diaktifkan.

Pengetikan Aman Diaktifkan

Tabel berikut menunjukkan jenis data ABAP yang muncul secara berbeda saat pengetikan aman diaktifkan (properti pengikatan EnableSafeTyping adalah benar).

Tipe Data ABAP Jenis RFC Jenis XSD Jenis .NET Memformat untai (karakter)
D (Tanggal: YYYYMMDD) RFC_DATE xsd:string String Format tanggal SAP: YYYYMMDD.

Karakter diperbolehkan untuk digit tanggal, sehingga nilai pada dasarnya adalah string delapan karakter
T (Waktu: HHMMSS) RFC_TIME xsd:string String Format waktu SAP: HHMMSS.

Karakter diperbolehkan untuk digit waktu, sehingga nilainya pada dasarnya adalah enam string karakter
N (String numerik) RFC_NUM xsd:string String String karakter n; where n = length of the numc field.

Jenis data ABAP yang tidak ada dalam tabel ini muncul dengan cara yang sama seperti ketika pengetikan yang aman tidak diaktifkan.

Dukungan untuk Bidang Tanggal dan Waktu

Ketika pengetikan aman tidak diaktifkan, jenis Tanggal (D) dan Waktu (T) ABAP muncul sebagai xsd:dateTime; namun, faset pola yang muncul untuk jenis Tanggal dan Waktu berbeda.

  • Faset pola untuk Tanggal adalah: (\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)

    Misalnya, 7 Juli 2007 (2007-07-07) dinyatakan sebagai:

    (2007-07-07)T(00:00:00).

  • Faset pola untuk Waktu adalah: (0001-01-01)T(\d\d:\d\d:\d\d)(.*)

    Misalnya, 18:30:30 (18:30 dan 30 detik) dinyatakan sebagai:

    (0001-01-01)T(18:30:30).

Bagaimana Adapter Mewakili Nilai Waktu Minimum dan Maksimum pada Pesan Masuk (dari SAP)?

Adaptor SAP menggunakan panduan berikut saat menerima nilai waktu dari sistem SAP:

  • Adaptor memperlakukan 000000 (hhmmss) dan 240000 (hhmmss) sebagai 0 jam, 0 menit, dan 0 detik.

Jenis Data Database yang Didukung

Cara Adapter Microsoft BizTalk untuk mySAP Business Suite menampilkan jenis data database juga bergantung pada apakah pengetikan aman diaktifkan. Tabel berikut ini memperlihatkan bagaimana adaptor menampilkan jenis data database saat pengetikan aman tidak diaktifkan (properti pengikatan EnableSafeTyping salah). Jenis data yang muncul secara berbeda saat pengetikan aman diaktifkan ditandai dengan tanda bintang (*).

Tipe Data Database Jenis RFC XSD Jenis .NET
ACCP (Periode Posting)* RFC_NUM xsd:int Int32
CHAR RFC_CHAR xsd:string String
CLNT (Klien) RFC_CHAR xsd:string String
CURR (Bidang mata uang) RFC_BCD xsd:decimal Note: Adaptor SAP membulatkan nilai desimal berdasarkan definisi parameter DECIMAL. Misalnya, jika parameter DECIMAL dapat menerima hingga lima digit setelah titik desimal, nilai seperti 4,000028 dibulatkan ke 4,00003. Desimal
CUKY (Kunci Mata Uang) RFC_CHAR xsd:string String
DATS (Bidang tanggal)* RFC_DATE xsd:dateTime

Secara internal, adaptor mendeserialisasi nilai ke dalam objek DateTime . Kemudian memanggil metode DateTime.ToUniversalTime untuk mengonversi nilai objek ini ke UTC. Akhirnya komponen tanggal (DateTime.Date) digunakan untuk membuat nilai yang dikirim ke sistem SAP. Sistem SAP memperlakukan nilai tanggal ini sebagai waktu setempat.

Anda harus menentukan nilai tanggal sebagai UTC untuk menghindari konversi. Pola berikut direkomendasikan: "(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)Z".
DateTime

Anda harus menentukan nilai tanggal sebagai UTC (DateTime.Kind = DateTimeKind.Utc) untuk menghindari konversi.
DEC (Jumlah) RFC_BCD xsd:decimal Note: Adaptor SAP membulatkan nilai desimal berdasarkan definisi parameter DECIMAL. Misalnya, jika parameter DECIMAL dapat menerima hingga lima digit setelah titik desimal, nilai seperti 4,000028 dibulatkan ke 4,00003. Desimal
FLTP (Floating point) RFC_FLOAT xsd:double Double
INT1 RFC_INT1 xsd:unsignedbyte Byte
INT2 RFC_INT2 xsd:short Int16
INT4 RFC_INT xsd:int Int32
LANG (Kunci Bahasa) RFC_CHAR xsd:string String
LCHR RFC_STRING xsd:string String
LRAW (byte seq panjang) RFC_BYTE xsd:base64binary Byte[]
NUMC* RFC_NUM xsd:int
xsd:long
xsd:string
Int32 jika panjang <=9
Int64 jika panjang >9 dan <=19
String jika panjang > 19
PREC (Akurasi) RFC_INT2 xsd:short Int16
QUAN (Kuantitas) RFC_BCD xsd:decimal Note: Adaptor SAP membulatkan nilai desimal berdasarkan definisi parameter DECIMAL. Misalnya, jika parameter DECIMAL dapat menerima hingga lima digit setelah titik desimal, nilai seperti 4,000028 dibulatkan ke 4,00003. Desimal
RAW (urutan byte) RFC_BYTE xsd:base64binary Byte[]
RAWSTRING (panjang variabel) RFC_BYTE xsd:base64binary Byte[]
STRING (panjang variabel) RFC_STRING xsd:string String
TIMS (Bidang waktu)* RFC_TIME xsd:datetime

Secara internal, adaptor mendeserialisasi nilai ke dalam objek DateTime . Kemudian memanggil metode DateTime.ToUniversalTime untuk mengonversi nilai objek ini ke UTC. Akhirnya komponen waktu (DateTime.Time) digunakan untuk membuat nilai yang dikirim ke sistem SAP. Sistem SAP memperlakukan nilai waktu ini sebagai waktu setempat.

Anda harus menentukan nilai waktu sebagai UTC untuk menghindari konversi. Pola berikut disarankan: "(0001-01-01)T(\d\d:\d\d:\d)(.*)Z".

Misalnya, jika waktu lokal Anda adalah 09:15 pagi, ekspres ini sebagai "(001-01-01)T(09:15:00)Z"
DateTime

Anda harus menentukan nilai waktu sebagai UTC (DateTime.Kind = DateTimeKind.Utc) untuk menghindari konversi.
UNIT (Unit untuk Qty) RFC_CHAR xsd:string String
[Tidak didukung] -- -- String

*Menunjukkan bahwa adaptor menampilkan jenis data secara berbeda saat pengetikan aman diaktifkan.

Pengetikan Aman Diaktifkan

Tabel berikut ini memperlihatkan tipe data database yang muncul secara berbeda saat pengetikan aman diaktifkan (properti pengikatan EnableSafeTyping adalah benar).

Tipe Data Database Jenis RFC XSD Jenis .NET Format Nilai String
ACCP (Periode Posting) RFC_NUM xsd:string String String karakter
NUMC RFC_NUM xsd:string String String karakter
DATS (Bidang tanggal) RFC_DATE xsd:string String YYYYMMDD
TIMS (Bidang waktu) RFC_TIME xsd:string String HHMMSS

Jenis data yang tidak ada dalam tabel ini muncul dengan cara yang sama seperti ketika pengetikan yang aman tidak diaktifkan.

Faset XSD yang didukung

Adaptor SAP mendukung faset XSD berikut.

Jenis RFC XSD Facet (EnableSafeTyping = false) XSD Facet (EnableSafeTyping = true)
RFC_BCD Faset pola XSD

Tempat desimal nol:"([\\-]{0,1})(([0-9]{1,"+ digitsBeforeDecimal +"}))"

Satu atau beberapa tempat desimal:"([\\-]{0,1})(([0-9]{0," + digitsBeforeDecimal +``"}\\.[0-9]{0,"``+ digitsAfterDecimal +``"})&#124;([0-9]{1,"``+ digitsBeforeDecimal +``"}))"
same
RFC_NUM Faset XSD totalDigits jika panjang <=19

Faset pola XSD jika panjang > 19
Faset XSD maxLength (tergantung pada panjang nilai pada SAP)
RFC_DATE Faset pola XSD

"(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)"

Pola berisi waktu 00:00:00 untuk kompatibel dengan xsd:datetime
Faset XSD maxLength = 8
RFC_TIME Faset pola XSD

"(0001-01-01)T(\d\d:\d\d:\d\d)(.*)"

Pola berisi tanggal 0001-01-01 untuk kompatibel dengan xsd:datetime
Faset maxLength XSD = 6
RFC_CHAR Faset XSD maxLength same

Tipe Data yang Tidak Didukung

Adaptor SAP tidak mendukung jenis data berikut:

  • Jenis tabel ITAB II (hierarkis)