Site-ul consultantilor SAP din Romania
http://www.sap-consulting.ro/phpbb/

cheie primara / camp de tip GUID
http://www.sap-consulting.ro/phpbb/viewtopic.php?f=1&t=50
Pagina 1 din 1

Autor:  Mihai [ Mar, 09-Dec-2003 13:23 ]
Subiectul mesajului:  cheie primara / camp de tip GUID

Salut,

Vreau sa creez o tabela si am cateva nelamuriri:

1. Cum pot sa creez un camp de tip GUID a.i sa formez cu campul MANDT o cheie primara - cand se selecteaza flag Key pt. un camp inseamna ca se defineste cheia primara, nu ? (adevarul ca nu prea am inteles din Help :
"The smallest possible combination of fields that can uniquely identify each line of the table is called the key*. Each table must have at least one key, and each table has one key that is defined as its primary key."
* deci aceasta este cheia primara - key = primary key - ce rost mai are "and each table has one key that is defined as its primary key", pot sa existe 2 chei dintre care numai una sa fie definita ca primary key ?! )

As vrea ca valoarea pt. acest camp sa se genereze automat cand se introduce o noua inregistrare . Este posibil, ceva de genul Identity din SQL Server ?

2. Cineva mi-a sugerat functia 'GUID_CREATE' care este se pare exact ce am nevoie. Am testat-o si am cateva nelamuriri

CALL FUNCTION 'GUID_CREATE'
IMPORTING
* EV_GUID_16 =
* EV_GUID_22 =
EV_GUID_32 =

EV_GUID_16 = EV_GUID_32 !?! desi EV_GUID_16 este de tip GUID_16 care are lengh=16 dar output length=32 (de fapt domeniul SYSUUID). Ce inseamna de fapt acest output length ?

Multumesc,
Mihai

Autor:  Costin Albu [ Mar, 09-Dec-2003 16:32 ]
Subiectul mesajului: 

Multe intrebari ...

Citat:
Cum pot sa creez un camp de tip GUID [...] ?
Pur si simplu are data element de tip GUID_16.

Citat:
cand se selecteaza flag Key pt. un camp inseamna ca se defineste cheia primara, nu ?
Da, corect.

Referitor la primary key, este vorba de definitia clasica din teoria bazelor de date relationale: cheia primara trebuie sa identifice o linie din tabela (sau tupla).

Citat:
Este posibil, ceva de genul Identity din SQL Server ?
Nu.

Referitor la GUID_CREATE: functia intoarce un identificator unic de 16 octeti (bytes) (EV_GUID_16).

In momentul in care este afisat un astfel de cod, cum nu se poate afisa intotdeauna un octet pe un caracter, se va afisa codul hexazecimal pe 2 caractere. De exemplu octetul cu valoare 254, va fi afisat ca doua caractere: un F si un E => FE. Asadar un cod hexazecimal de 16 octeti se va afisa pe 32 de caractere.

EV_GUID_32 intoarce acelasi cod dar deja convertit in notatia hexazecimala si va ocupa 32 de octeti.

EV_GUID_22 intoarce acelasi cod dar codat UUENCODE si va ocupa 22 de octeti.

Pagina 1 din 1 Ora este UTC + 2 [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/