21/12/2021
I SAP-udvikling er administration af ændringer og transport af objekter mellem forskellige systemer en central del af processen. Dette sikrer, at tilpasninger og nye funktioner udviklet i et system (f.eks. et udviklingssystem) kan flyttes sikkert og effektivt til andre systemer (f.eks. test- eller produktionssystemer). Kernen i denne proces er transportanmodninger, som fungerer som beholdere for de objekter, der skal flyttes. Men udviklere støder ofte på en specifik udfordring, især når de arbejder med brugerdefinerede objekter, der tilhører såkaldte Z-pakker (eller Y-pakker) – nemlig fejlen "Kun rediger objekter fra pakken i lokale anmodninger". Denne fejl kan være frustrerende og stoppe udviklingsarbejdet, men den er typisk et tegn på en specifik konfiguration i systemets Transport Management System (TMS).

Forståelse af denne fejl og dens underliggende årsager er afgørende for enhver SAP-udvikler eller systemadministrator. Artiklen vil dykke ned i, hvad denne fejl betyder, hvorfor den opstår, og vigtigst af alt, hvordan man løser den. Vi vil udforske både midlertidige løsninger for specifikke situationer og permanente løsninger, der involverer korrekt konfiguration af dine transportruter og transportlag i SAP. Ved at følge de trin og anbefalinger, der præsenteres her, kan du sikre, at dine Z-pakke objekter kan transporteres effektivt og uden unødige forhindringer, hvilket understøtter en smidig og robust udviklingslivscyklus i dit SAP-miljø.
- Forståelse af Fejlen "Kun rediger objekter fra pakken i lokale anmodninger" (Meddelelse TK332)
- Hvorfor opstår denne begrænsning? Transportlag og TMS
- Løsningsmuligheder: Fra Engangs-Transport til Permanent Konfiguration
- Lokale Anmodninger i Kvalitetssystemer (QA/QAS)
- Sammenligning af Løsningsstrategier
- Ofte Stillede Spørgsmål (FAQ)
- Konklusion
Forståelse af Fejlen "Kun rediger objekter fra pakken i lokale anmodninger" (Meddelelse TK332)
Denne specifikke fejlmeddelelse, ofte ledsaget af meddelelsesnummer TK332, opstår, når du forsøger at redigere et objekt, der tilhører en bestemt pakke (i dette tilfælde ZXXXXX), i en transportabel Workbench-anmodning i det aktuelle SAP-system. Systemet reagerer ved at afvise handlingen og angiver, at "Objekter i pakken ZXXXXX kan ikke redigeres i transportable Workbench-anmodninger i det aktuelle system SID." Dette skyldes, at transportruterne er konfigureret på en måde, så objekter fra den pågældende pakke kun må redigeres i lokale Workbench-anmodninger. Konsekvensen er, at den funktion, du forsøger at udføre – typisk at gemme ændringer til et objekt – afbrydes, og du kan ikke fortsætte med dit udviklingsarbejde på den ønskede måde.
En lokal anmodning (også kendt som en "unrecorded task" eller "local change request") er en transportanmodning, der ikke er beregnet til at blive eksporteret fra det aktuelle system. Den forbliver inden for systemets grænser og bruges typisk til midlertidige ændringer, test eller udvikling i et system, der ikke er en del af en transportkæde (f.eks. et rent sandkassesystem eller et testsystem, hvor man ikke ønsker at ændringer skal transporteres videre). I modsætning hertil er en transportabel anmodning designet til at flytte objekter fra et system til et andet. Når du arbejder i et udviklingssystem, er målet næsten altid at oprette transportable anmodninger, så dine ændringer kan flyttes til test, kvalitetssikring og til sidst produktion.
Fejlen indikerer altså en uoverensstemmelse mellem din intention (at oprette en transportabel anmodning) og systemets konfiguration for den specifikke pakke, du arbejder med. Det er ikke en fejl i dit kode eller dine ændringer, men derimod en systemmæssig begrænsning baseret på de definerede transportruter. For at løse problemet skal man derfor dykke ned i, hvordan transportlag og pakker er tildelt i SAP's Transport Management System (TMS).
Hvorfor opstår denne begrænsning? Transportlag og TMS
Kernen i denne begrænsning ligger i SAP's Transport Management System (TMS), som styrer, hvordan objekter flyttes mellem systemer. TMS definerer transportlag (transport layers) og transportruter (transport routes). Hvert objekt i SAP er tildelt en pakke, og hver pakke er igen tildelt et transportlag. Det er transportlaget, der bestemmer, om ændringer til objekter i den pågældende pakke skal registreres i en lokal eller en transportabel anmodning.

Typisk er et udviklingssystem konfigureret med mindst to hovedtransportlag:
- SAP-laget: Dette lag er for standard SAP-objekter. Ændringer til disse objekter er normalt stærkt begrænset eller kræver særlige nøgler og er typisk ikke beregnet til at blive transporteret som brugerdefinerede ændringer.
- Z-laget (eller et lignende kundespecifikt lag): Dette lag er for brugerdefinerede objekter, der tilhører pakker, der starter med 'Z' eller 'Y' (f.eks. ZXXXXX). Disse objekter er udviklet af kunden og skal normalt transporteres til andre systemer.
Fejlen opstår, når pakken ZXXXXX (eller den specifikke Z-pakke, du arbejder med) ikke er korrekt tildelt et transportlag, der er forbundet med en transportrute, der tillader transportable anmodninger. Det kan betyde, at pakken enten er tildelt et lokalt transportlag (som standard ikke transporteres), eller at dens transportlag slet ikke er korrekt forbundet med transportruter i TMS.
Du kan verificere pakkenes tildeling via transaktionskode SE21 (Object Navigator) eller SPRO (Implementation Guide) under "SAP NetWeaver -> Application Server -> System Administration -> Change and Transport System -> Transport Organizer -> Configure Transport Organizer". I SE21 kan du indtaste pakkenavnet og se, hvilket transportlag den er tildelt. Derefter skal du i STMS (Transport Management System) dobbeltklikke på dit Z-transportlag for at se, hvilke pakker der er opført under det, og om det er korrekt forbundet til de ønskede transportruter.
Korrekt konfiguration af transportlagene i STMS er afgørende for at sikre, at dine rettelser og udviklinger er transportable. Hvis transportlagene ikke er konfigureret korrekt, vil systemet antage, at objekter i den pågældende pakke kun skal behandles lokalt.
Løsningsmuligheder: Fra Engangs-Transport til Permanent Konfiguration
Når du står over for TK332-fejlen, har du primært to veje at gå, afhængigt af omfanget og permanenten af dit behov for at transportere objekterne.
Mulighed 1: Engangs-Transport med "Transport of Copies"
Hvis du kun ønsker at transportere objekter i pakken ZXXXXX til et destinationssystem (SID) én gang, uden at ændre den grundlæggende konfiguration af transportruterne, kan du oprette en "Transport of Copies" (Transport af Kopier). Denne type transportanmodning er specielt designet til at transportere et udvalg af objekter, uanset deres oprindelige pakke- og transportlagstildeling. Den opretter en kopi af objekterne og tillader deres transport, selvom pakken normalt ville være begrænset til lokale anmodninger.
Trin til at oprette en Transport of Copies:
- Gå til transaktion SE01 (Transport Organizer - Extended View).
- I anmodningsoversigten skal du vælge menupunktet "Anmodning/Opgave" (Request/task) -> "Opret" (Create).
- Vælg "Transport af kopier" (Transport of Copies) som anmodningstype.
- Angiv en kort beskrivelse og gem anmodningen.
- Når anmodningen er oprettet, skal du vælge den og derefter gå til menupunktet "Anmodning/Opgave" (Request/task) -> "Objektliste" (Object list) -> "Inkluder objekter" (Include objects).
- Her kan du manuelt tilføje de objekter (f.eks. programmer, tabeller, datatyper osv.), som du ønsker at transportere. Du skal angive objektets type (f.eks. R3TR PROG for et program, R3TR TABL for en tabel) og dets navn.
- Efter at have tilføjet alle de nødvendige objekter, kan du frigive "Transport of Copies" og importere den til destinationssystemet som enhver anden transportanmodning.
Denne metode er ideel til hotfixes, specifikke engangs-transporter eller når du venter på, at den permanente TMS-konfiguration bliver rettet. Den omgår den normale pakke- og transportlagsbegrænsning, men løser ikke den underliggende konfigurationsfejl.

Mulighed 2: Permanent Løsning via TMS-Konfiguration
Hvis du ønsker, at objekter i pakken ZXXXXX generelt skal kunne transporteres til destinationssystemet SID (og alle efterfølgende systemer i transportkæden), er den permanente løsning at korrigere konfigurationen af transportruterne i TMS. Dette kræver typisk indgriben fra en transportadministrator, da ændringer i TMS kan have vidtrækkende konsekvenser for hele systemlandskabet.
Hvad skal transportadministratoren gøre?
- Kontroller pakke og transportlag: Administratoren skal først sikre, at pakken ZXXXXX er tildelt det korrekte transportlag, som er beregnet til transportable Z-objekter. Dette gøres typisk i transaktion SE21.
- Verificer transportruter i STMS: Derefter skal administratoren i transaktion STMS kontrollere, at det pågældende transportlag (f.eks. dit Z-lag) er korrekt forbundet med de ønskede transportruter. Dette indebærer at sikre, at der er en gyldig transportrute defineret fra udviklingssystemet til de efterfølgende systemer (test, QA, produktion), og at transportlaget er inkluderet i denne rute.
- Justering af transportruter: Hvis transportruterne eller lagtildelingen er forkert, skal administratoren justere dem. Dette kan indebære at ændre transportlagsdefinitioner, oprette nye ruter eller omarrangere eksisterende ruter for at inkludere det relevante Z-transportlag.
Denne løsning sikrer, at alle fremtidige ændringer til objekter i pakken ZXXXXX automatisk opretter transportable Workbench-anmodninger, hvilket strømliner udviklingsprocessen. Det er den anbefalede tilgang for et stabilt og vedvarende udviklingsmiljø.
For yderligere detaljer kan du henvise til SAP Note 2209967 – "Only edit objects from package in local requests", som giver dybere indsigt i problematikken og løsningerne.
Lokale Anmodninger i Kvalitetssystemer (QA/QAS)
En ofte stillet spørgsmål er, hvorfor man nogle gange får lokale anmodninger, når man udfører udviklingsaktiviteter i et kvalitetssystem (QA-system). Svaret ligger i systemernes rolle i TMS-opsætningen. Et kvalitetssystem er typisk ikke konfigureret som et udviklingssystem. Dets primære formål er at teste de ændringer, der er transporteret fra udviklingssystemet, ikke at være et sted for ny udvikling, der skal transporteres videre.
Hvis du udfører udviklingsaktiviteter direkte i et QA-system, vil systemet, da det ikke er defineret som et "udviklingssystem" i TMS (typisk ingen transportrute ud derfra), automatisk oprette lokale anmodninger. Dette er en sikkerhedsforanstaltning for at forhindre utilsigtet transport af ændringer, der ikke har gennemgået den korrekte udviklings- og testproces i udviklingssystemet.

Den eneste løsning, hvis du absolut skal have transportable anmodninger fra et QA-system (hvilket generelt ikke anbefales som standardpraksis), er at ændre QA-systemets rolle i TMS-opsætningen, så det fungerer som et udviklingssystem med udgående transportruter. Dette er en signifikant ændring, der bør diskuteres grundigt med din SAP-administrator og kan have alvorlige konsekvenser for din transportstrategi.
Sammenligning af Løsningsstrategier
Her er en oversigt over de to primære løsningsstrategier:
| Kriterium | Engangs-Transport (Transport of Copies) | Permanent Løsning (TMS-Konfiguration) |
|---|---|---|
| Formål | Overførsel af specifikke objekter én gang, f.eks. hotfix. | Sikring af at alle fremtidige ændringer i pakken er transportable. |
| Løser underliggende problem? | Nej, omgår begrænsningen. | Ja, korrigerer systemkonfigurationen. |
| Kræver administrator? | Typisk ikke for oprettelse, men for import til produktionssystemer. | Ja, kræver typisk en transportadministrator. |
| Indvirkning på fremtidig udvikling | Ingen, problemet vil gentage sig. | Strømliner processen, da anmodninger automatisk bliver transportable. |
| Kompleksitet | Moderat (manuel tilføjelse af objekter). | Høj (ændringer i systemlandskabets konfiguration). |
| Anbefales til | Akutte, isolerede transporter. | Standardudvikling og langsigtet stabilitet. |
Ofte Stillede Spørgsmål (FAQ)
Kan Z-pakker transporteres?
Ja, absolut. Z-pakker er netop designet til at indeholde kundespecifikke udviklinger, som skal kunne transporteres mellem forskellige SAP-systemer (udvikling, test, produktion). Problemet opstår kun, når den specifikke Z-pakke ikke er korrekt tildelt et transportlag, der er forbundet med en transportrute, der tillader transportable anmodninger i TMS. Med den korrekte konfiguration er Z-pakker fuldt ud transportable.
Hvordan ændrer man en lokal transportanmodning til en transportabel transportanmodning?
Du kan generelt ikke direkte ændre en eksisterende lokal transportanmodning til en transportabel. Når en anmodning er oprettet som lokal, er den bundet til systemets konfiguration på det tidspunkt. Hvis du har objekter i en lokal anmodning, som du nu ønsker at transportere, skal du enten oprette en ny transportabel anmodning (efter at have rettet den underliggende TMS-konfiguration for pakken) og inkludere objekterne der, eller bruge en "Transport of Copies" som beskrevet ovenfor. Det er vigtigt at forstå, at problemet sjældent ligger i selve anmodningen, men i den pakke, objekterne tilhører, og systemets transportkonfiguration.
Er det muligt at udvikle direkte i et QA-system og få transportable anmodninger?
Teknisk set er det muligt at konfigurere et QA-system til at fungere som et udviklingssystem med udgående transportruter, men dette er stærkt frarådes som standardpraksis. QA-systemer er beregnet til test og kvalitetssikring af kode, der er udviklet og frigivet fra et dedikeret udviklingssystem. At udføre udvikling direkte i QA kan føre til uforudsete afhængigheder, manglende versionering og vanskeligheder med at spore ændringer. Det bryder med bedste praksis for en robust transportstrategi i SAP.
Konklusion
Fejlen "Kun rediger objekter fra pakken i lokale anmodninger" er en almindelig udfordring i SAP-udvikling, men den er løsbar. Uanset om du vælger den hurtige engangsløsning med "Transport of Copies" eller den mere grundlæggende og permanente løsning gennem korrektion af TMS-konfigurationen, er det afgørende at forstå de underliggende principper for transportlag og transportruter. En veldefineret og korrekt konfigureret TMS er rygraden i et effektivt SAP-landskab, der sikrer, at dine udviklinger kan flyttes problemfrit og sikkert fra udvikling til produktion. Ved at arbejde tæt sammen med din transportadministrator kan du sikre, at dine Z-pakke objekter altid er klar til transport, hvilket optimerer din udviklingsproces og minimerer forsinkelser.
Hvis du vil læse andre artikler, der ligner SAP Transport Anmodninger: Løsninger for Z-pakker, kan du besøge kategorien Mobil.
