Alle berichten van René

How to transport a locked ABAP object

Sometimes you need to have an ABAP Workbench object transported to another environment, but it is locked with other objects in transport requests that you do not want to release, yet. How could this be solved?

  1.  Release the tasks that contain the object that you want to transport, but do not release the transport request.
  2. Create a new transport request with the object you want to transport to the other environment. This could be done by creating a new transport request with e.g. SE01, but it could also be done from within the editor, editing the object concerning. Make sure any changes you do not want to go with this transport request are set to comment.
  3. Release the newly created task and transport request, and import it into the desired environment / system. Check the log; if any errors come up, go to step 2, and correct the mistakes.
  4. Unrelease the tasks that have been released in step 1. This could be done using SE16(N), or with a ‘tool’, like described here below. Pick up your development work; do not forget to uncomment the lines you possibly have set to comment at step 2.

Here is the essential part of the ‘tool’. Indentation is not picked up by WordPress, so you have to redo that (at least partially, Pretty Printer will take care of that). And, of course, you have to write the code piece with the parameter that should be transferred to IV_TRKORR.


*&———————————————————————*
*&      Form  UNRELEASE_TASK
*&———————————————————————*
FORM unrelease_task
USING    iv_trkor           TYPE e070trkorr.

DATA:
ls_e070 TYPE e070.

CONSTANTS:
lc_trfunction_cust TYPE e070trfunction VALUE ‘Q’,
lc_trfunction_dev  TYPE e070trfunction VALUE ‘S’,
lc_trfunction_rep  TYPE e070trfunction VALUE ‘R’,
lc_trstatus_mod    TYPE e070trstatus   VALUE ‘D’,
lc_trstatus_rel    TYPE e070trstatus   VALUE ‘R’.

* Processing
* ==========

SELECT SINGLE *
FROM e070
WHERE trkorr EQ @pa_trkor
AND   trfunction EQ @lc_trfunction_cust OR
trfunction EQ @lc_trfunction_rep  OR
trfunction EQ @lc_trfunction_dev )
AND   trstatus EQ @lc_trstatus_rel
INTO @ls_e070.
IF sysubrc NE 0.

WRITE‘Task’(002),
pa_trkor,
‘not found.’(001).

RETURN.
ENDIF.

ls_e070trstatus :lc_trstatus_mod.

UPDATE e070
FROM ls_e070.
IF sysubrc EQ 0.

WRITE‘Task’(002),
pa_trkor,
‘has been reset to Modifiable.’(003).
ELSE.
WRITE‘Task’(002),
pa_trkor,
‘could not be reset to Modifiable.’(004).
ENDIF.

ENDFORM.                    ” UNRELEASE_TASK

Addertje

AddertjeVanochtend vroeg, toen het nog niet zo lang licht was, wandelde ik door de Engbertsdijksvenen, en op een gegeven moment zag ik een addertje op het pad liggen. Vermoedelijk ‘hoopte’ het diertje dat de zon al gauw zou gaan schijnen, dan kon-ie zich snel opladen. Maar gelukkig voor mij had het beestje weinig energie, vandaar deze foto. Grotere adders had ik op andere plekken in dit gebied weleens gezien, maar zo’n kleintje nog nooit.

smartforms – deactivate Word as editor

The company I am working with works with SAP_BASIS 740 and SAP_ABA 740. For older versions, and for S4/HANA, it is possible to deactivate Microsoft Word as editor in smartforms – you could find lots of information about that using a search engine. But not for 740.

Why do I want to do that in 740 as well? Because every time when I tick a ‘text’ in smartforms, and I forgot to choose another ‘tab’, e.g. Conditions, it lasts some 10 seconds (I do not want to exaggerate…) before I have access to the ‘text’; and usually, I just have to click through to the details editor. All together, a lot of time lost.

Hence, I was very eager to find a solution for 740, since I couldn’t find one out on the internet. And, I would not have written this post if I hadn’t found one myself.

Solution

Display SAPLSTXB, form CREATE_EDITOR_CONTROL.

Choose Program -> Enhance, then Edit -> Enhancement Operations -> Show Implicit Enhancement Operations.

Just under ‘form create_editor_control’, create your enhancement, name it e.g. ‘Z_EDITOR_NOT_WORD’.

Copy the text of the original form into your enhancement. Rename the fields l_* to lv_*, to prevent double definitions, adapt your code accordingly (fields l_adjustment and l_ret aren’t used…). Note the arrows (⇐) for the changes w.r.t. original code. Do not forget the ‘return’ at the end of your code. You could also just download my code and paste it at the correct place.

(Download the code.)

data: lv_adjustment type i,
lv_repid  like sy-repid,
lv_dynnr  like sy-dynnr,
lv_ret(1).

* initialization of control variables
lv_repid = sy-repid.
lv_dynnr = sy-dynnr.
noflush = true.

* create custom container object in dynpro
create object textedit_custom_container
exporting  container_name             = ‘EDITOR_CUSTOM_CONTROL’
exceptions cntl_error                  = 1
cntl_system_error           = 2
create_error                = 3
lifetime_error              = 4
lifetime_dynpro_dynpro_link = 5.
if sy-subrc <> 0.
message e101.
endif.

clear: word_error. “⇐

* check if Word must be used
if oi_ed_checked eq false or
word_error    eq true.
oi_editor  = false.
word_error = false.
try.
call function ‘NLS_WORD_ENABLE’
exporting
langu        = language
importing
ex_oi_editor = oi_editor.
catch cx_sy_dyn_call_illegal_func.
endtry.
oi_ed_checked = true.
endif.

clear: oi_editor, “⇐
word_error. “⇐
if oi_editor = true.
try.
create object word_editor
exporting
editor_container = textedit_custom_container
toolbar_visible  = true.

catch cx_word_sapscript_editor.
*      message e101.
*      screen_invisible ‘EDITOR_CUSTOM_CONTROL’.

endtry.
* TODO          Error handling
else.      ” PC Editor
*   create editor object and link the control to the custom container
create object text_editor
exporting
parent                 = textedit_custom_container
caption_list           = g_appl_captionlist
use_caption            = g_appl_use_caption
*       lifetime               =
*       style                  =
exceptions
error_cntl_create      = 1
others                 = 2.

if sy-subrc <> 0.
message e101.
endif.

*   Set drop handler for editor
set handler h_application->handle_symbol_drop for text_editor.
endif.
return. “⇐

Politiek correct? Het mag wat kosten!

Terwijl ik een stukje schreef voor een andere website vond ik deze uitspraak: “Het gaat zelfs zo ver dat de invloed van een alleenstaande werkende moeder die veel van huis is niet alleen bij haar eigen zoon of dochter spijbelgedrag in de hand werkt, maar ook bij de klasgenoten van haar kind.“. Bron: Economische beslissingen onder invloed van de drang om ‘erbij te horen’.

Dit is toch wel een verschrikkelijk politiek incorrecte uitspraak! Ik ben benieuwd hoelang die er nog blijft staan… maar goed, ik houd van complotten en onzin (dat is niet hetzelfde, daar kom ik bij leven en welzijn wellicht nog eens op terug).

StruisvogelIk chargeer: de overheid vindt het zó belangrijk dat die moeder werkt dat zij (de overheid, dus) de (toekomstige) (maatschappelijke) kosten van die spijbelkinderen voor lief neemt.

Kijk, míjn visie op wetenschap komt aardig overeen met die van Oriana Fallaci: “De wetenschap bestaat niet, de wetenschap is een mening. En hij toont helemaal niets aan, zeker niet het leven en de dood.” (citaat uit haar boek ‘Een man’). Maar van de overheid mag je toch wat anders verwachten?

Op scholen moet de evolutietheorie worden onderwezen. Terwijl die geen wetenschap is, want de gebeurtenissen van destijds zijn niet herhaalbaar.

Goed, zo gaan we er niet uitkomen.

Dan probeer ik het op een andere (politiek incorrecte) manier: is het doordrammen van jouw (politiek correcte) standpunt zoveel (toekomstige) ellende waard?

Zou je willen overwegen de keuze aan (de) mensen zèlf over te laten? Stel dat die alleenstaande moeder dat onderzoek óók kent, zou het dan niet fijn zijn als ze steun van de overheid had om haar kinderen goed op te voeden? Hebben we daar als maatschappij niet veel meer aan dan dat die moeder nu ‘haar eigen broek kan ophouden’ maar we later met een veel grotere rekening geconfronteerd worden?

Een hek erom!

“Alcohol moet verboden worden in vliegtuigen.” Dat las ik net op Facebook. Zo’n peiling waarbij je je mening kunt geven.

Waarom zou alcohol verboden moeten worden in vliegtuigen? Er zijn mensen die zich niet weten te gedragen als ze daar het een en ander van op hebben. Ja, en? Dan straf je die toch voor hun wangedrag? We zijn er inmiddels toch wel overheen dat alcoholconsumptie een verzachtende omstandigheid is bij wangedrag?

Mensen misdragen zich op stations, in treinen; er zijn er die zwart rijden… dus: poortjes!

We zetten dus een hek om die ruim 99 procent goedwillende mensen, om die kleine 1 procent niet te hoeven straffen en/of (her)opvoeden.

En zo zijn er vast nog wel meer zaken te bedenken. Wie weet zet ik ze hier nog eens bij of kom er op een andere manier op terug.

Maar we zouden mensen uiteraard ook kunnen gaan belonen als ze zich niet misdragen! Zie Hou je in, dan krijg je wat.

Soms wel een beetje een raar land, Nederland…

Hou je in, dan krijg je wat

In Wijk bij Duurstede kreeg ‘de jeugd’ een beloning als er geen vernielingen zouden zijn met Oud en Nieuw. Verstandige aanpak? Er wordt heel verschillend over gedacht. Veel mensen vinden het geen goed idee. Het hek van de dam, en zo…

Bedrijven, organisaties en mensen met veel geld stellen de belastingdienst voor om met minder belasting genoegen te nemen dan waar de fiscus wettelijk recht op heeft, onder ‘bedreiging’ met verhuizing. De meeste mensen vinden het logisch dat de belastingdienst dit soort lieden hun zin geeft. Beter één vogel in de hand… toch?

Mis ik iets?

Laten we eens nadenken over macht.

Doe dit om het aantal keren dat u wordt gevraagd om u aan te melden te verminderen

Microsoft wil mij graag helpen. Niet alleen van mijn geld af, maar ook … – o, die is wel héél flauw.

Als ik mij wil aanmelden, krijg ik dit scherm te zien (het e-mailadres van mijn werk heb ik ff weggepoetst):

Microsoft aanmelden

Uiteraard zet ik dan een vinkje bij ‘Dit niet opnieuw weergeven’ (rood omcirkeld). Maar ongeacht of ik dan voor ‘Ja’ of ‘Nee’ kies, komt dit schermpje toch iedere keer weer terug… Dat is vreemd, want mijn ‘credentials’ heb ik dan al aangeleverd.

Goed naar klanten luisteren is een kunst.

Hallo witte mensen

Dat is de titel van een boek van Anousha Nzume (informatie over haar op Wikipedia). Ik wist niet eens dat het bestond tot ik het in de plaatselijke bibliotheek zag staan. Aangezien ik ‘wit’ ben leek het mij wel nuttig dit boek te lezen. Ik heb het min of meer in één ruk uitgelezen. Ik weet niet of ik het ermee eens ben, maar wat de schrijfster over ‘wit privilege’ (naar dit begrip zoeken met Google) schrijft vind ik in ieder geval voor iedere ‘witte’ de moeite waard om kennis van te nemen. Ik durf niet te beweren dat ik het (helemaal) begrijp, maar ik ben nog niet te oud om te leren. In ieder geval leg ik het een tijdje ‘in de week’.

Na elk hoofdstuk staan aanbevelingen om te lezen en te kijken. Maar op een link in een boek klikken is zo lastig… Dus dacht ik, laat ik eens kijken of iemand die links al eens ergens heeft neergezet. Dat was niet het geval, daarom geef ik er hier een stuk of wat. (Niet dat ik ze allemaal op het moment dat ik dit schrijf gelezen of bekeken heb…)

Rapporten over discriminatie en racisme in Nederland:

ECRI Report on the Netherlands (published 15 October 2013)

Op afkomst afgewezen

Discriminatiemonitor niet-westerse migranten op de arbeidsmarkt 2010

Liever Mark dan Mohammed

Discriminatie werkt niet! Advies over het tegengaan van discriminatie bij de arbeid

Etnisch profileren (de link zoals die in het boek staat werkte niet op het moment dat ik dit schreef, ik verwijs hier naar een andere pagina van Amnesty International over hetzelfde onderwerp)

Bevindingen uit onderzoek ‘Een witte of een zwarte school’

Kansenongelijkheid neemt sterk toe in het voortgezet onderwijs

MDI Jaarverslag 2015

Film(pje)s:

Ongekeerd racisme door Aamer Rahman (engelstalig)

White Fetish door Joy Regullano

Over films:

The White Savior Film (eerste hoofdstuk vanaf die website te lezen)

Andere lees- en kijktips:

Het boek verwijst naar een tekenfilmpje over microagressie, maar ik heb het niet zo op verwijzen naar zaken waarin gevloekt wordt. Daarom hierbij een link naar informatie over microagressie (engelstalig) op Wikipedia.

Schulden afbetalen aan Frankrijk‘ – voormalige kolonies beta(a)l(d)en jarenlang bedragen aan Frankrijk om vernietiging te voorkomen.

Confessions Of A (Former) White Savior
Als klikken op een link niks oplevert, en je kunt het betreffende object met een zoekmachine ook niet vinden, en je denkt/hoopt dat ik dat wel kan 🙂 – neem dan contact op.

Blackface!

Zwarte Piet… weet je wat? Ga zelf eens op zoek. Mij persoonlijk lijkt het geen pretje om als ‘kind van kleur’ met Zwarte Piet te worden vergeleken, maar me er echt in inleven kan ik niet, ik ben wit… (Hier nog een stukje van iemand die wit is.)

ketikotitafel

De effecten van culturele toe-eigening (engelstalig)

I mean, I posted a trailer for a movie about a black girl with black issues. Surely that showed my exceptional non-racist-ness.

Janice Erlbaum (citaat van Confessions Of A (Former) White Savior)

Tja, dat zou een reden kunnen zijn waarom ik dit stukje niet had moeten schrijven. Gelukkig mag ik zelf kiezen.

Laten we eens nadenken of we Ketikoti (de slavernij werd door Nederland op 1 juli 1863 officieel afgeschaft) jaarlijks zouden kunnen herdenken/vieren… In plaats van Tweede Pinksterdag?

Achteraf gewaarschuwd

Als ik een eindje ga fietsen maak ik wel eens gebruik van het pontje bij de Zwieseborg. Het gaat een stuk sneller dan het pontje bij Rheeze.

Bord bij pontje bij ZwieseborgZoals gebruikelijk staat er een bord bij. En ook zoals gebruikelijk, staat er minstens één taalfout op.

Ik blijf me erover verbazen dat mensen die zo’n matige taalbeheersing hebben zomaar hun teksten op openbare borden mogen zetten. Zou dat tot vermaak bedoeld zijn van degenen die de taal een klein beetje beter beheersen?

Wel fijn dat die pontjes er zijn!

Gehobbel op ’t spoor

Bij het opruimen van mijn e-mail vond ik nog een oud exemplaar van Prorail, waarvan ik hieronder een stukje laat zien:

Geachte heer <mijn achternaam>,

Hierbij bevestigen wij de ontvangst van uw webformulier d.d. 15-5-2009 inzake uw idee om het optillen van de rails om ballast te strooien te verminderen.

Uw opmerking is door ons geregistreerd onder referentienummer PRO-20808-Z7L63T; u ontvangt hierop een reactie van ons. Wij verzoeken u in al uw eventuele vervolgcorrespondentie met betrekking tot deze aanvraag dit referentienummer te vermelden.

Wij hopen u hiermee voorlopig voldoende geïnformeerd te hebben.

Met vriendelijke groet,

Mevrouw <voorletter achternaam>
Medewerker Publiekscontacten
Tel: 0900 – 776 72 45

Die ‘reactie van ons‘ is er nooit gekomen. En dat vind ik vreemd, want het probleem van hobbelende treinen ter hoogte van overwegen is er nog steeds. Dat komt omdat de rails bij een overweg op vaster materiaal liggen dan op andere plaatsen.

Misschien heb je het zelf weleens meegemaakt tijdens een treinreis. Vooral in gebieden met zachte grond rijdt de trein als het ware een stukje omhoog bij een overweg, en daarna weer naar beneden. Niet erg comfortabel.

En het kost de spoorbeheerder geld: er moet steeds opnieuw ballast worden gestort.

Bij wegen heb je dat ook: waar viaducten en hellingen op elkaar aansluiten, zakt de helling vaak in vlakbij het viaduct, en dat geeft onaangename hobbels. Op dit moment is een bekend voorbeeld het viaduct over de beide dubbelsporen bij Lelystad-Noord. Je kunt er natuurlijk meer asfalt overheen doen, maar het blijft inzakken.

Ik heb er een vrij eenvoudige oplossing voor bedacht, die wellicht nog enig testwerk vereist, want het is een theoretische oplossing… al heb ik vroeger wel wat testjes in de zandbak gedaan, en daar werkte het idee… 🙂

Mocht er nog interesse zijn van spoorbeheerders en/of wegbeheerders: laat het me weten.

De oplossing kan veel geld besparen… het lijkt me een goed idee dat een klein deel daarvan aan mij wordt gegeven als beloning.