Ansicht
Dokumentation
SCP_CONVERT_A_BYTE - Setze ein einzelnes Byte von einem Zeichensatz in einen anderen um
General Data in Customer Master General Data in Customer MasterDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
SCP_REPLACE_STRANGE_CHARS wandelt einen Text so um, daß er nur noch einfache Zeichen enthält. Sonderzeichen und nationale Zeichen werden dabei so ersetzt, daß der Text einigermaßen lesbar bleibt.
Standardmäßig wird hierfür der Zeichensatz 1146 benutzt. In diesem Fall wird z.B. folgendermaßen ersetzt:
<225> ==> AE (AE)
<257> ==> A (Acircumflex)
<258> ==> Ae (Adieresis)
<163> ==> L (sterling)
Generell ist zu beachten, daß der neue Text länger als der alte sein kann.
Die Parameter im einzelnen:
INTEXT enthält den vorhandenen, zu bearbeitenden Text. Der übergebene Parameter muß TYPE C haben.
In OUTTEXT wird das Ergebnis hineingeschrieben. (TYPE C)
In OUTUSED wird die Länge des Ausgabetextes hineingeschriben. Falls OUTTEXT länger ist, wird der Rest mit SPACE gefüllt.
In OUTOVERFLOW wird ein 'X' geschrieben, wenn der Ausgabetext nicht vollständig in OUTTEXT hineingepaßt hat. Sonst ein Leerzeichen.
Mit IN_CP kann man anmelden, daß die Daten in INTEXT nicht im Systemzeichensatz vorliegen, sondert im Zeichensatz IN_CP codiert sind.
Mit INTER_CP kan man einen anderen Zeichensatz bestimmen, der für die Ersetzungen benutzt werden soll. Defaultmäßig wird 1146 benutzt.
Falls es Zeichen gibt, die in einer der beiden beteiligten Zeichensätzen nicht vorkommen, so werden Sie durch einen Punkt (".") ersetzt. Dies kann man über den Parameter REPLACEMENT umprogrammieren. Anzugeben ist eine SAP-Zeichennummer! Eine 0 bedeutet, daß gar nicht ersetzt werden soll. In solch einem Fall würde dann die Ausnahmen CANNOT_CONVERT ausgelöst.
Ausnahmen (EXCEPTIONS)
CANNOT_CONVERT bedeutet, daß in den Daten ein Zeichen vorkam, daß nicht umgesetzt werden konnte und gleichzeitig über REPLACEMENT die Ersetzung verboten war.
Wenn man bei IN_CP oder INTER_CP einen Zeichensatz angibt, den es gar nicht gibt, so erhält man INVALID_CODEPAGE.
Es wird geprüft, daß die beiden beteiligten Zeichensätze ähnlich (z.B. beide ASCII) sind. Andernfalls gibt es CODEPAGE_MISMATCH.
Wenn INTEXT oder OUTTEXT nicht vom Type C (echtes Textfeld) sind, kann der Funktionsbaustein sie nicht bearbeiten und meldet ein FIELDS_NOT_TYPE_C.
INTERNAL_ERROR sollte nie vorkommen.
Hinweise
Wenn nur große Buchstaben gewünscht werden, sollte zuerst SCP_REPLACE_STRANGE_CHARS und danach TRANSLATE TO UPPER CASE aufgerufen werden. Beispiel
Ä ==> Ae ==> AE
Weiterführende Informationen
RSCP0007 ist ein Testrahmen.
Parameter
CTRLCODEINBYTE
INCODE
METHOD
OUTBUFF
OUTBYTE
OUTCODE
OUTUSED
OUT_AS_CHAR4
Ausnahmen
CANNOT_CONVERTFIELDS_BAD_TYPE
INTERNAL_ERROR
INVALID_CODEPAGE
Funktionsgruppe
SCP7Fill RESBD Structure from EBP Component Structure RFUMSV00 - Advance Return for Tax on Sales/Purchases
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 4193 Date: 20240605 Time: 154047 sap01-206 ( 71 ms )